使用社区版本pg_dump 逻辑备份导出 EDB PPAS(Oracle 兼容版) 的风险
背景
阿里云的PPAS产品是一个高度兼容Oracle数据库的产品,有些用户在使用的时候,会有将数据逻辑备份到本地,然后倒入到本地库的需求。
但是PPAS既兼容PostgreSQL又兼容Oracle,用户使用PostgreSQL社区自带的pg_dump导出工具也能导出PPAS的数据。
那么问题来了,使用pg_dump导出会有什么问题吗?
PPAS为了兼容Oracle,自带了一些系统表,这些系统表在PostgreSQL中并不是系统表,pg_dump会把这些表的数据导出。
例如dual表
sys | dual | table | pg746347
使用pg_dump导出的备份文件,导入到EDB PPAS中,dual表的记录也会导进去,这样就出问题了,dual表变成了2条记录。
除了dual表的问题,还可能会有其他的问题。
因此建议PPAS的用户,如果要对数据库进行逻辑的导出和导入,建议使用ppas提供的逻辑导出和导入工具,而不要使用PostgreSQL社区版本的pg_dump和pg_restore。