как нормально для постгреса):
подключаюсь основным админом, create user x ...; create database y; grant all on database y to user x;
все проходит без ошибок, но после, когда я логинюсь юзером, у меня нет прав на базу, элементарные select не пашут. Ну и собственно вопрос - как мне дать юзеру полные права на базу, причем так чтоб если он в ней добавляет таблицы или еще что, оно тоже было для него полностью доступным?
Дать права на все схемы и таблицы базы, а потом дефолтные права во всех схемах. Это не даст прав на все функцыи, но это ужэ привилегии суперюзера по факту, так что это и не надо. И да, когда он добавляет таблицу — у него на неё будут все права. Как у владельца. Это дажэ отменить нельзя.
где об этом можно почитать? или если не лень - сами команды.
https://www.postgresql.org/docs/14/ddl-priv.html
Там ещё не описан весёлый вариант (ну, или описан, но не слишком активно) -- когда создаётся роль, ей даётся всё нужное, потом эта роль просто выдаётся каждому страждущему. В базу ужэ есть некоторые дефолтные роли такого типа (в 14, например, есть pg_read_all_data -- можэт читать вообще всё).
ага, я что-то такое нагуглил на stackexchange, но не взлетело
Обсуждают сегодня