[РЕШЕНО] Как создать пользователя с правами на чтения для бэкапов (база PostgreSQL)

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
Ответить
[РЕШЕНО] Как создать пользователя с правами на чтения для бэкапов (база PostgreSQL)
Как создать пользователя с правами на чтения для бэкапов (база PostgreSQL)
Нашел ваш прекрасный скрипт для создания бэкапов под Windows баз postgressql
https://www.linuxshop.ru/articles/a26710778-rezervnoe_kopirovanie_postgresql_na_windows

Но никак не могу создать пользователя для бэкапов, не хочу использовать пользователя: postgres

Хочу специального с урезаными правами только на чтение, чтобы я не делал у меня всегла ошибки:

Код
pg_dump: reading schemas
pg_dump: reading user-defined tables
pg_dump: [archiver (db)] query failed: ERROR:  permission denied for relation ibversion
pg_dump: [archiver (db)] query was: LOCK TABLE public.ibversion IN ACCESS SHARE MODE



или вот такие:
Код
pg_dump: reading publication membership for table "public.dbschema"
pg_dump: reading subscriptions
pg_dump: reading large objects
pg_dump: reading dependency data
pg_dump: saving encoding = UTF8
pg_dump: saving standard_conforming_strings = on
pg_dump: saving search_path = 
pg_dump: saving database definition
pg_dump: [archiver (db)] query failed: ERROR:  permission denied for 
relation _dbcopiesinitiallast__blocknum_seq
pg_dump: [archiver (db)] query was: SEL ECT last_value, is_called FR 
OM public._dbcopiesinitiallast__blocknum_seq


повтарюсь из под postgres  пользователя все ок
Добавлю к статье как создавать пользователя только для чтения для бэкапа postgresSQL.
т.к вы из под Windows забудьет PGADMIN
все сделаем из консоли и я покажу как:

POSTGRESSQL Read_Only_User

1. cmd
2. "С:\Program Files\PostgreSQL\1XXXXXXXX.1C\bin\psql.exe" -Upostgres
3. вводим пароль
4. Создаем пользователя с ограниченными правами и "бесконечным" паролем.
CREATE ROLE backup_user WITH LOGIN PASSWORD 'TPASgt&67h4'
NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION VALID UNTIL 'infinity';

5. Разрешаем возможность подключения к базе (база в ковычках иначе будет ошибка, что база не найдена)
GRANT CONNECT ON DATABASE "YourDatabaseName" TO backup_user;
6.  \c YourDatabaseName
7.
GRANT USAGE ON SCHEMA public TO backup_user;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO backup_user;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO backup_user;


8. самое важное даем права на все вновь созданные таблицы в этой базе:

ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO backup_user;
Услуги Системного Администратора - Работаю только с Юр. Лицами по договору обслуживания.
Страницы: 1
Ответить
Форма ответов
Текст сообщения*
:) ;) :D 8-) :( :| :cry: :evil: :o :oops: :{} :?: :!: :idea:
Защита от автоматических сообщений. Введите символы, изображенные на этой картинке в поле ввода &quote;Код подтверждения&quote;.