pgAdmin 生成的 CREATE 语句中的 GRANT
如果我在 Postgres 中创建以下序列:
CREATE SEQUENCE test
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 1
CACHE 1;
GRANT ALL ON SEQUENCE test TO testuser;
GRANT SELECT ON SEQUENCE test TO testuser2;
然后在 pgAdmin 中选择该序列,单击鼠标右键 -> CREATE 脚本,我得到:
CREATE SEQUENCE test
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 1
CACHE 1;
ALTER TABLE test
OWNER TO testuser;
GRANT ALL ON TABLE test TO testuser;
GRANT SELECT ON TABLE test TO testuser2;
所以在 GRANT 语句中我看到关键字“TABLE”而不是“SEQUENCE”
- 这是为什么?
- pgAdmin 如何生成 DDL 提取?
这个问题与我的其他问题之一相关:
查询授予 postgres 中序列的 GRANTS
If I create the following sequence in Postgres:
CREATE SEQUENCE test
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 1
CACHE 1;
GRANT ALL ON SEQUENCE test TO testuser;
GRANT SELECT ON SEQUENCE test TO testuser2;
And then select the sequence in pgAdmin, right mouse click -> CREATE script, I get:
CREATE SEQUENCE test
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 1
CACHE 1;
ALTER TABLE test
OWNER TO testuser;
GRANT ALL ON TABLE test TO testuser;
GRANT SELECT ON TABLE test TO testuser2;
So in the GRANT statements I see the keyword "TABLE" and not "SEQUENCE"
- Why is that?
- How is pgAdmin generating the DDL extract?
This question is related to one of my other questions here:
Query GRANTS granted to a sequence in postgres
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 PostgreSQL 中,序列有点像表。
pg_class 的 PostgreSQL 文档,系统目录之一(系统表)
In PostgreSQL, sequences are kind of like tables.
PostgreSQL docs for pg_class, one of the system catalogs (system tables)