GRANT в сгенерированном операторе CREATE из pgAdmin - PullRequest
1 голос
/ 08 сентября 2011

Если я создаю следующую последовательность в 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»

  1. Почему это так?
  2. Как pgAdmin генерирует экстракт DDL?

Этот вопрос связан с одним из моих других вопросов здесь:
Запрос GRANTS, предоставленный последовательности в postgres

1 Ответ

1 голос
/ 08 сентября 2011

В PostgreSQL последовательности похожи на таблицы.

Каталог pg_class каталогизирует таблицы и большинство всего остального, что имеет столбцы или иным образом похож на таблицу. Это включает в себя индексы (но см. также pg_index), последовательности, представления, составные типы и TOAST столы; см. relkind.

Документы PostgreSQL для pg_class , один из системных каталогов (системных таблиц)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...