У меня есть база данных PosgresQL (10.3). База данных создается user_owner, имеет полную структуру, но без данных строк.
Я хочу получить удаленный доступ к базе данных. С user_owner я могу получить удаленный доступ к базе данных без проблем.
Но я создал вторичного пользователя user_remote. Я хочу использовать этого пользователя вместо user_owner, потому что я дам ему временный удаленный доступ, а user_owner используется для внутреннего кода.
Для этого пользователя я даю права:
GRANT ALL PRIVILEGES ON DATABASE name_db TO remote_user;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO remote_user;
Когда я пытаюсь подключиться с удаленным user_remote, я могу подключиться к базе данных, но если я пытаюсь сделать что-то еще, например SELECT, я получаю ошибку:
[42501] ERROR: permission denied for relation table_name
Если я подключусь к базе данных и дам привилегии для таблицы, с помощью:
ПРЕДОСТАВИТЬ ВСЕ НА имя_таблицы ДЛЯ user_remote;
работает.
Но у меня есть много таблиц, и я хочу достичь:
1) предоставить доступ user_remote ко всем таблицам за один / несколько шагов, а не по таблице
2) Я не хочу, чтобы user_remote имел все привилегии, а просто выполнял операции со строками (удаление, обновление, вставка)