Я хочу знать, как AWS postgres RDS выполняет репликацию, когда я переименовываю схемы, чтобы «поменять» их в экземпляре чтения / записи базы данных.
Копирует ли это действие в реплики чтенияотправив команды переименования "alter schema", которые я дал моему экземпляру для чтения / записи? Или после моих переименований, он видит совершенно разные наборы данных в схемах и делает новую копию каждого из них для реплик чтения?
Например ...
В моем экземпляре RDS у меня есть экземпляр для чтения / записи "my_mega_database", к которому я хочу создать реплики для чтения для моих приложений для подключения.
Как правило, в "my_mega_database" есть две схемы "my_data"и" my_data_old ", при этом" my_data "содержит данные, которые были доставлены прошлой ночью, а" my_data_old "содержит данные предыдущей ночи. Каждая содержит много таблиц и огромное количество данных.
Если бы я сделал следующее ...
ALTER SCHEMA my_data_old RENAME TO my_data_tmp;
ALTER SCHEMA my_data RENAME TO my_data_old;
ALTER SCHEMA my_data_tmp RENAME TO my_data;
... Я аффективно поменял их местами.
Я ожидаю, что эти действия будут реплицированы через WAL postgres (то есть: он отправляет команды переименования в реплики), и репликация AWS RDS не будет пытаться тратить время на копирование огромных объемов данных повсюду.
Это правильно?