从pgAdmin生成的CREATE语句中的GRANT

时间:2011-09-07 23:49:31

标签: sql postgresql sequence grant pgadmin

如果我在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 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”

  1. 为什么?
  2. pgAdmin如何生成DDL提取物?
  3. 这个问题与我的其他问题有关:
    Query GRANTS granted to a sequence in postgres

1 个答案:

答案 0 :(得分:1)

在PostgreSQL中,序列有点像表。

  

目录pg_class对表和大多数其他表进行编目   列或以其他方式类似于表。这包括索引(但是   另请参阅pg_index),序列,视图,复合类型和TOAST   表;见relkind。

PostgreSQL docs for pg_class,系统目录之一(系统表)