如何卸载 pg_table_def table 到 s3

How to unload pg_table_def table to s3

我想转储 redshift 模式并在不同环境之间进行一些比较。

unload('select * from pg_table_def') 
to 's3://blah/blah/stage.txt' 
credentials 'aws_access_key_id=XXXXX;aws_secret_access_key=XXXXXX' 
parallel off allowoverwrite manifest;

但是上面的代码抛出以下错误。

INFO:  Function "format_type(oid,integer)" not supported.
INFO:  Function "pg_table_is_visible(oid)" not supported.
ERROR:  Specified types or functions (one per INFO message) not supported on Redshift tables.

知道如何进行这项工作吗?或者有没有其他方法可以获取架构。我还需要知道 sort key 和 dist key 信息。

Redshift 在领导节点的特殊区域保留某些信息,而 UNLOAD 命令在每个切片 (AFAIK) 上处理,因此不能仅使用领导节点功能。

您可能需要使用 psql.

从外部机器中提取它