首页 > 解决方案 > Postgres如何从外部服务器传输所有枚举

问题描述

我有两个数据库,我希望能够在它们之间传输数据,所以我想将一个大型架构从一个数据库导入到另一个数据库,其中有很多枚举。所以我遇到了这里描述的问题SQL: error when created a foreign table that has an enum column

所以我想用“pg_dump enum”之类的东西来获取枚举并将它们传输到另一个数据库。但我不能这样的命令。你能帮助我吗 ?

标签: postgresqlforeign-data-wrapper

解决方案


您可以使用如下查询导出定义:

SELECT format(
          'CREATE TYPE %s AS ENUM (%s);',
          enumtypid::regtype,
          string_agg(quote_literal(enumlabel), ', ')
       )
FROM pg_enum
GROUP BY enumtypid;

推荐阅读