欢迎投稿

今日深度:

postgresql的ALTER常用操作,postgresqlalter

postgresql的ALTER常用操作,postgresqlalter


postgresql版本:psql (9.3.4)

1、增加一列ALTER TABLE table_name ADD column_name datatype;                   
 
2、删除一列
ALTER TABLE table_name DROP  column_name;                             


3、更改列的数据类型
ALTER TABLE table_name ALTER  column_name TYPE datatype;              


4、表的重命名
ALTER TABLE table_name RENAME TO new_name;                           


5、更改列的名字
ALTER TABLE table_name RENAME column_name to new_column_name;          
 
6、字段的not null设置
ALTER TABLE table_name ALTER column_name {SET|DROP} NOT NULL;          


7、给列添加default
ALTER TABLE table_name ALTER column_name SET DEFAULT expression;      


PostgreSQL:怎查询基于用户(role)设置的参数

下面演示下:一 方法一:通过 pg_user 视图查询--1.1 设置用户的 log_statement 参数 postgres=# alter role francs set log_statement="all";ALTER ROLE --1.2 验证 postgres=# select * From pg_user where usename='francs';-[ RECORD 1 ]--------------------usename | francsusesysid | 24920usecreatedb | fusesuper | fusecatupd | fuserepl | fpasswd | ********valuntil | useconfig | {log_statement=all}--1.3 设置用户的 maintenance_work_mem 参数 postgres=# alter role francs set maintenance_work_mem="1GB";ALTER ROLE--1.4 再次验证 postgres=# select * From pg_user where usename='francs';-[ RECORD 1 ]---------------------------------------------usename | francsusesysid | 24920usecreatedb | fusesuper | fusecatupd | fuserepl | fpasswd | ********valuntil | useconfig | {log_statement=all,maintenance_work_mem=1GB} 备注:上面是通过 pg_user.useconfig 查询。二 方法二: 通过 pg_db_role_setting catalog 基表查询--2.1 pg_db_role_setting 表结构 Table "pg_catalog.pg_db_role_setting" Column | Type | Modifiers -------------+--------+----------- setdatabase | oid | not null setrole | oid | not null setconfig | text[] | Indexes: "pg_db_role_setting_databaseid_rol_index" UNIQUE, btree (setdatabase, setrole), tablespace "pg_global"备注:可见 pg_db_role_setting 会针对数据库,用户级别进行记录。--2.2 验证 postgres=# select oid,rolname from pg_authid where rolname='francs'; oid | rolname -------+--------- 24920 | francs(1 row)postgres=# select * From pg_db_role_setting where setrole=24920; setdatabase | setrole | setconfig -----------......余下全文>>
 

postgresql哪个语句可以改变字段名的类型?alert table 表名 alter column 字段名 字段类型 这个是不行的

alter table 表名 alter column 字段名 varchar(50) not null;
或者
alter table 表名 modify column 字段名 varchar(50) not null;
字段类型自定义 ,可以是varchar、int等类型,根据不同的数据库版本,修改指令可能是alter column或modify column
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/2680.html NewsArticle postgresql的ALTER常用操作,postgresqlalter postgresql版本:psql (9.3.4) 1、增加一列ALTER TABLE table_name ADD column_name datatype; 2、删除一列ALTER TABLE table_name DROP column_name; 3、更改列的数据类型ALTER TAB...
评论暂时关闭