使用社区版本pg_dump 逻辑备份导出 EDB PPAS(Oracle 兼容版) 的风险

less than 1 minute read

背景

阿里云的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。

Flag Counter

digoal’s 大量PostgreSQL文章入口