此问题的简短版本:
我想从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脚本中的一个支持选项。
完成此操作的最佳方法是什么?
谢谢!
答案 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"
以上所有命令均在一个批处理文件中。