作者热门文章
- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章PostgreSQL 序列增删改案例由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
创建序列 。
1
2
3
4
5
6
7
8
|
CREATE
SEQUENCE
if
not
exists test_mergetable_id_seq
INCREMENT 1
MINVALUE 1
MAXVALUE 999999999
START 1
CACHE 1;
//或者:
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
2
|
SELECT
setval(
'test_mergetable_id_seq'
, (
SELECT
MAX
(i_id)
FROM
test_mergetable));
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
2
|
grant
usage
on
schema
schema1
to
user1;
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;
|
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我。如有错误或未考虑完全的地方,望不吝赐教.
原文链接:https://blog.csdn.net/fangyu723/article/details/105297255 。
最后此篇关于PostgreSQL 序列增删改案例的文章就讲到这里了,如果你想了解更多关于PostgreSQL 序列增删改案例的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我是一名优秀的程序员,十分优秀!