• 售前

  • 售后

热门帖子
入门百科

PostgreSQL 序列增编削案例

[复制链接]
倪丹军 显示全部楼层 发表于 2021-10-26 13:34:57 |阅读模式 打印 上一主题 下一主题
创建序列
  1. CREATE SEQUENCE if not exists test_mergetable_id_seq
  2. INCREMENT 1
  3. MINVALUE 1
  4. MAXVALUE 999999999
  5. START 1
  6. CACHE 1;
  7. //或者:
  8. create sequence if not exists test_mergetable_id_seq increment by 1 minvalue 1 no maxvalue start with 1;
复制代码
指定序列(给表的主键指定创建好的序列)
  1. alter table test_mergetable alter column "i_id" set default nextval('test_mergetable_id_seq');
复制代码
设置序列自增长从当前最大值开始
  1. SELECT setval('test_mergetable_id_seq', (SELECT MAX(i_id) FROM test_mergetable));
  2. alter sequence test_mergetable_id_seq start with 12;
复制代码
删除序列
  1. drop sequence IF EXISTS test_mergetable_id_seq
复制代码
检察序列
  1. SELECT nextval('test_mergetable_id_seq')
复制代码
增补:pgsql的schema对用户授权,单个用户跨schema增删改查使用
--创建用户
  1. create user user1;
复制代码
--修改密码
  1. alter user report with password 'password';
复制代码
--授权查询权限
  1. grant usage on schema schema1 to user1;
  2. grant usage on schema schema2 to user1;
复制代码
修改search_path可跨schema使用
  1. set search_path = "$user",user1,user2
复制代码
--授权schema:schema1给user1权限 这个权限太大必要慎用
  1. grant all on schema schema1 to user1;
复制代码
--授权schema的表权限给user1 用户权限太多需慎用
  1. grant all on all tables in schema schema1 to user1;
复制代码
--授权schema的表权限给user1 用户权限太多需慎用
  1. grant all on all tables in schema schema1 to user1;
复制代码
--授权某个schema的单个表查权限
  1. grant select on schema2.table1           to user1;
复制代码
--收回全部授权
  1. revoke all on all tables in schema schema1 from user1;
复制代码
--为某个特定用户设置search_path
  1. alter user user1 set search_path="$user",user1,user2;
复制代码
以上为个人履历,希望能给大家一个参考,也希望大家多多支持草根技术分享。如有错误或未考虑完全的地方,望不吝见教。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作