Ant*_*ods 6 postgresql pg-dump
pg_dump --table=export_view --data-only --column-inserts mydb > export_view.sql
pg_dump (PostgreSQL) 10.7 (Ubuntu 10.7-1.pgdg18.04+1)
将 PostgreSQL 表中的特定行作为 INSERT SQL 脚本导出,postgresql 文档 ( https://www.postgresql.org/docs/10/app-pgdump.html ) 表明可以pg_dump
从带有--table
标志的视图中导出。如果我直接从表中导出,我会得到预期的结果(即,数据被导出)。如果我从 psql 中的视图中选择,我会得到预期的结果。但是,无论我是创建视图还是物化视图,然后尝试 和pg_dump
,我都只得到正常的pg_dump
标题而没有数据。评论者(/sf/users/142529481/)在上述 SO 问题中似乎也遇到了同样的问题,但没有给出解决方案。
如果我CREATE TABLE blah AS SELECT x, y, z FROM MYTABLE
那么我可以很好地导出。如果我CREATE VIEW blah AS SELECT x, y, z FROM MYTABLE
那么出口是空的。
我究竟做错了什么?
正如 @bugmenot 指出的那样,版本 13(及以上?) - 撰写此答案时的当前版本 -确实对转储的内容进行了澄清:
除了表之外,此选项还可用于转储 匹配视图、物化视图、外部表和序列的 定义。它不会转储视图或物化视图的内容,并且仅当使用--include-foreign-data指定相应的外部服务器时才会转储外部表的内容。
(强调已添加)。
所以(对我自己)答案是:“你没有做任何错事,只是你错误地解释了 Postgres <=12 的文档。你想做的事是不可能的。”
归档时间: |
|
查看次数: |
995 次 |
最近记录: |