в COPY отказано в разрешении, логическая репликация для postgres на ec2 до postgres rds - PullRequest
0 голосов
/ 22 марта 2020

У меня есть экземпляр postgres (11.7) на EC2, который я копирую в Postgres 11 на RDS. Я начал это вчера, но заметил, что никакие записи не появляются. Я просмотрел таблицы, но ни одна из них, похоже, не содержит данных после 14 часов репликации.

Я начал репликацию так:

В источнике:

CREATE ROLE replrds;
ALTER ROLE replrds WITH NOSUPERUSER INHERIT NOCREATEROLE NOCREATEDB LOGIN REPLICATION NOBYPASSRLS CONNECT PASSWORD 'xxxxx';
GRANT ALL PRIVILEGES ON DATABASE db_name to replrds;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO replrds;
CREATE PUBLICATION rds_pub FOR ALL TABLES;

В цели: CREATE SUBSCRIPTION rds_subscription CONNECTION 'host=10.x.x.x port=5432 password=pw user=us dbname=db_name' PUBLICATION rds_pub;

В мастере я вижу это в logs:

2020-03-22 17:21:20.264 UTC,"replrds","db_name",4539,"10.x.x.x:40648",5e779e90.11bb,4,"COPY",2020-03-22 17:21:20 UTC,3/2292853,0,ERROR,42501,"permission denied for schema public",,,,,,"COPY public.tablea TO STDOUT",,,"rds_subscription_40974_sync_30288"

Мне кажется, что я правильно настроил разрешение, но не уверен, почему я продолжаю видеть это ...

----------- ---- РЕДАКТИРОВАТЬ --------------

Так что я заставил это работать, назначив superuser пользователю replrds на источнике, но я догадываясь, что это способ разрешить, а не правильный ответ ... Я не могу понять, какие разрешения предоставить этому пользователю ...

1 Ответ

0 голосов
/ 22 марта 2020

Я думаю, что сообщение об ошибке здесь довольно диагностическое c:

В схеме запрещены права доступа c

По умолчанию у вашего пользователя уже должны быть те разрешения. Либо вы сделали все возможное, чтобы отозвать их, либо Аврора покинула сообщество PostgreSQL (Если позже, то было довольно сложно найти его в документации). В db_name вы можете сделать:

GRANT USAGE on schema public to replrds;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...