我想知道AWS postgres RDS如何进行复制,在这里我将模式重命名以在数据库的读/写实例中“交换”它们。
是否通过发送我给读/写实例的“更改架构”重命名命令将该操作复制到只读副本?还是在我重命名后,它会在模式中看到完全不同的数据集,并将每个数据集的全新副本复制到只读副本吗?
例如...
在我的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;
...我深情地交换了这些内容。
我期望这些操作是通过postgres WAL复制的(即:它将重命名命令发送到副本),并且AWS RDS复制不会浪费时间在整个地方复制大量数据。 / p>
这正确吗?