是否有一种方法可以使用postgres在数据库中创建单个表的备份?以及如何?这也适用于pg_dump命令吗?


当前回答

使用——table告诉pg_dump需要备份哪个表:

pg_dump --host localhost --port 5432 --username postgres --format plain --verbose --file "<abstract_file_path>" --table public.tablename dbname

其他回答

如果您更喜欢图形用户界面,您可以使用pgAdmin III (Linux/Windows/OS X),只需右键单击您选择的表,然后“备份”。它将为您创建一个pg_dump命令。

使用——table告诉pg_dump需要备份哪个表:

pg_dump --host localhost --port 5432 --username postgres --format plain --verbose --file "<abstract_file_path>" --table public.tablename dbname

我是这样做的。

pg-dump -h localhost -U postgres -p 5432 -t table database  > path/to/store/name.sql

像这样运行

 psql -h localhost -U postgres -p 5432 database < path/to/store/name.sql

pg_dump -h localhost -p 5432 -U postgres -d mydb -t my_table > backup.sql

您可以对单个表进行备份,但我建议对整个数据库进行备份,然后恢复您需要的任何一个表。对整个数据库进行备份总是好的。

9种使用pg_dump的方法

作为Frank Heiken回答的补充,如果你希望使用INSERT语句而不是从stdin复制,那么你应该指定——inserts标志

Pg_dump——host localhost——port 5432——username postgres——format plain——verbose——file "<abstract_file_path>"——table public。表名——插入dbname

注意,我省略了——ignore-version标志,因为它已弃用。