在 PostgreSQL 中使用 pg_restore 未恢复分区 table 数据

Partition table data are not restored using pg_restore in PostgreSQL

需要帮助!!

虽然我要恢复分区 table 使用 :

pg_restore -U (username) -d (Database) -p (port_number) -t (partition_table) -f (filename)

结果是成功了,但是那个分区table里的数据没有恢复,有谁能帮我吗?

当指定 -t 时,pg_restore 不会尝试转储所选 table(s) 可能依赖的任何其他数据库对象。因此,不能保证特定分区 table 转储的结果可以成功恢复

但是您可以使用

进行转储

pg_dump --host=主机名 --username=user -t "child_table_*" --data-only --file=dump_out.sql dbname

然后恢复它,这可能是设计决定让分区在 SQL 级别上作为单独的 table 可见的结果。

请参考: https://www.postgresql.org/docs/13/app-pgrestore.html https://www.postgresql.org/docs/11/app-pgdump.html