PostgreSQL 序列增删改案例
创建序列
CREATESEQUENCEifnotexiststest_mergetable_id_seq INCREMENT1 MINVALUE1 MAXVALUE999999999 START1 CACHE1; //或者: createsequenceifnotexiststest_mergetable_id_seqincrementby1minvalue1nomaxvaluestartwith1;
指定序列(给表的主键指定创建好的序列)
altertabletest_mergetablealtercolumn"i_id"setdefaultnextval('test_mergetable_id_seq');
设置序列自增长从当前最大值开始
SELECTsetval('test_mergetable_id_seq',(SELECTMAX(i_id)FROMtest_mergetable));
altersequencetest_mergetable_id_seqstartwith12;
删除序列
dropsequenceIFEXISTStest_mergetable_id_seq
查看序列
SELECTnextval('test_mergetable_id_seq')
补充:pgsql的schema对用户授权,单个用户跨schema增删改查操作
--创建用户
createuseruser1;
--修改密码
alteruserreportwithpassword'password';
--授权查询权限
grantusageonschemaschema1touser1; grantusageonschemaschema2touser1;
修改search_path可跨schema操作
setsearch_path="$user",user1,user2
--授权schema:schema1给user1权限这个权限太大需要慎用
grantallonschemaschema1touser1;
--授权schema的表权限给user1用户权限太多需慎用
grantallonalltablesinschemaschema1touser1;
--授权schema的表权限给user1用户权限太多需慎用
grantallonalltablesinschemaschema1touser1;
--授权某个schema的单个表查权限
grantselectonschema2.table1touser1;
--收回所有授权
revokeallonalltablesinschemaschema1fromuser1;
--为某个特定用户设置search_path
alteruseruser1setsearch_path="$user",user1,user2;
以上为个人经验,希望能给大家一个参考,也希望大家多多支持毛票票。如有错误或未考虑完全的地方,望不吝赐教。
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下