Postgresql Postgres:将多个副本合并到输出到Postgres可导入文件
我的数据库托管在heroku上,我想在单个文件中下载数据库的特定部分,例如表1中id>x的所有行,表2中名称=x的所有行,等等 通过一些研究和提问,似乎某种改进的pg_转储可以解决我的问题。但是,我将无法使用pg_dump,因为我将无法访问命令行基本上我希望能够在我的web应用程序中单击一个按钮,它将生成并下载数据库文件 所以我的新策略是使用postgres命令。我将浏览服务器数据库中的各个表,运行COPY Select*FROM。。。哪里到filename,其中filename只是一个临时文件,完成后我将下载它Postgresql Postgres:将多个副本合并到输出到Postgres可导入文件,postgresql,heroku,import,copy,export,Postgresql,Heroku,Import,Copy,Export,我的数据库托管在heroku上,我想在单个文件中下载数据库的特定部分,例如表1中id>x的所有行,表2中名称=x的所有行,等等 通过一些研究和提问,似乎某种改进的pg_转储可以解决我的问题。但是,我将无法使用pg_dump,因为我将无法访问命令行基本上我希望能够在我的web应用程序中单击一个按钮,它将生成并下载数据库文件 所以我的新策略是使用postgres命令。我将浏览服务器数据库中的各个表,运行COPY Select*FROM。。。哪里到filename,其中filename只是一个临时文件
问题是这个文件名文件将只包含行,所以我不能掉头将其导入pgadmin。假设我设置了一个“空”数据库,模式、索引和内容都已经设置好了,有没有办法格式化我的文件名文件,以便轻松地将其导入postgres db 在我关于发送/发送stdout/stdin的评论的基础上,回答关于在一个文件中包含多个表的实际问题;您可以构造输出文件以交错复制。。。使用实际数据从stdin加载,并通过psql加载。例如,psql将支持如下所示的输入文件:
copy my_table (col1, col2, col3) from stdin;
foo bar baz
fizz buzz bizz
\.
注意后面的\。分离器应为凸耳式;您还可以在copy命令中指定分隔符选项
psql将处理“;”之间的所有内容和“.”作为标准。这本质上模拟了当您导出表数据而不导出模式(例如pg_dump-a-t my_表)时pg_dump所做的操作
产生的负载可以像psqlmydb