У меня есть экземпляр 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
на источнике, но я догадываясь, что это способ разрешить, а не правильный ответ ... Я не могу понять, какие разрешения предоставить этому пользователю ...