Есть один вкладыш , который выдает SELECT , разрешения на новый пользовательский PostgreSQL?
Что-то, что могло бы реализовать следующий псевдокод:
GRANT SELECT ON TABLE * TO my_new_user;
permissions
sql
postgresql
user-management
Адам Матан
источник
источник
default privileges
схеме, где вы создаете таблицу: postgresql.org/docs/current/static/…public
для текущей БД, к которой вы подключены.Мое (не однострочное) решение:
Запуск от привилегированного пользователя, это работает как шарм.
источник
Это можно сделать в два этапа.
Запустите этот запрос:
Замены:
$foo
= имя пользователя, для которого вы хотите предоставить разрешения$bar
,$baz
= схемы, для которых вы хотите предоставить разрешения (может быть просто "общедоступным")Это даст вам список запросов, которые будут генерировать необходимые разрешения. Скопируйте вывод, вставьте его в другой запрос и выполните.
источник
Это то, что я использовал:
Я чувствую, что это более естественно делать форматирование и где-предложения в SQL ..
источник
Я закончил тем, что делал это , и это работало:
источник
Я работаю с postgres 8.4 и для предоставления всех привилегий пользователю сделайте следующее:
источник
Один из способов исправить это - написать хранимую процедуру. к сожалению, не существует команды «предоставить все для всех таблиц» или около того. Вы действительно нуждаетесь в процедуре или некотором внешнем сценарии оболочки, возможно, чтобы заставить это работать.
источник
Сценарий (однострочное решение) Адама Матана великолепен, когда имеется много схем, но он не работает, когда имена схем или таблиц содержат заглавные буквы или специальные символы.
Модифицированная версия:
источник