如何在postgres数据库中创build单个表的备份?

有没有办法使用postgres在数据库中创build单个表的备份? 如何? 这是否也适用于pg_dump命令?

使用--table来告诉pg_dump它需要备份哪个表:

pg_dump --host localhost --port 5432 --username postgres --format plain --ignore-version --verbose --file "C:\temp\filename.backup" --table public.tablename dbname

如果你在Ubuntu上,

  1. login到您的postgres用户sudo su postgres
  2. pg_dump -d <database_name> -t <table_name> > file.sql

确保你正在执行postgres用户有写权限的命令(例如: /tmp

编辑

如果您想在另一台计算机上转储.sql,则可能需要考虑将所有者信息保存到.sql文件中。

你可以使用pg_dump --no-owner -d <database_name> -t <table_name> > file.sql

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

你可以采取一个单一的表的备份,但我会build议采取整个数据库的备份,然后恢复任何你需要的表。 有整个数据库的备份总是好的。

9种使用pg_dump的方法

如果您更喜欢graphics用户界面,则可以使用pgAdmin III(Linux / Windows / OS X)。 只需右键点击您select的表格,然后“备份”。 它会为你创build一个pg_dump命令。

在这里输入图像说明

在这里输入图像说明

在这里输入图像说明