pg_dump一个自定义数据类型

时间:2015-04-17 19:52:48

标签: postgresql database-backups

我正在将选择表从我的服务器转移到我的笔记本电脑上以便在本地工作。由于笔记本电脑的空间限制,倾倒整个数据库是不可行的。一个表的一列是自定义数据类型,恢复时我收到以下错误:

pg_restore: [archiver (db)] could not execute query: ERROR: type "custom_data_type" does not exist

我有两种方法可以解决这个问题,但我无法在线查找说明:

  1. 确保表所依赖的数据类型包含在`pg_dump
  2. 查找自定义数据类型的创建脚本

1 个答案:

答案 0 :(得分:4)

pg_dump有选项:

  

-s   --schema-仅

     

仅转储对象定义(架构),而不转储数据。

     

此选项与--data-only相反。它类似于,但由于历史原因不同,指定--section = pre-data --section = post-data。

     

(不要将此与--schema选项混淆,后者使用不同含义的“schema”一词。)

除非您的源数据库有大量的DDL,否则应该没问题。如果你的源代码确实有大量的DDL,你可以使用你选择的文本编辑器从pg_dump输出中手动提取类型创建脚本。