В любой поддерживаемой версии PostgreSQL, в сеансе суперпользователя выполним команды:
CREATE ROLE app_owner; -- создаем владельца объектов приложения
CREATE TABLE t (
id int PRIMARY KEY,
parent_id int REFERENCES t(id)
);
ALTER TABLE t OWNER TO app_owner;
REVOKE ALL ON t FROM app_owner; -- никаких действий под владельцем
INSERT INTO t VALUES (1,NULL);
DELETE FROM t;
DROP TABLE t;
Других сеансов нет, синтаксис правильный.
В следующем посте будет опрос. Отметьте в нем команды, которые завершатся ошибкой.
