转储RDS Postgres查询的内容

时间:2018-10-23 14:09:09

标签: postgresql amazon-rds pg-dump

此问题的简短版本:

我想从Shell脚本内RDS中托管的数据库实例中转储Postgres查询的内容。

完整版本:

现在,我正在编写一个shell脚本,该脚本希望将查询的内容从源数据库转储到.dump文件中,并在目标数据库实例上运行转储文件。这两个数据库实例都托管在RDS中。

MySQL允许您使用mysqldump tool来执行此操作,但是在Postgres中对此问题的推荐答案似乎是使用COPY command。但是,COPY command isn't available in RDS instances。在这种情况下,推荐的解决方案似乎是使用'\ copy'命令,该命令使用psql工具在本地执行相同的操作。但是,像这样的it doesn't seem是shell脚本中的一个支持选项。

完成此操作的最佳方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

我不熟悉shell,但是我在Windows中使用了批处理文件将查询的输出转储到文件中,并将该文件导入另一个实例中。

这是我以前从Postgres RDS导出到Windows上的文件的内容。

SET PGPASSWORD=your_password
cd "C:\Program Files (x86)\pgAdmin 4\v3\runtime"
psql -h your_host -U your_username -d your_databasename -c "\copy (your_query) TO 
path\file_name.sql"

以上所有命令均在一个批处理文件中。