是否有一种方法可以使用postgres在数据库中创建单个表的备份?以及如何?这也适用于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标志,因为它已弃用。

其他回答

如果你用的是Ubuntu,

登录到你的postgres用户sudo su postgres Pg_dump -d <database_name> -t <table_name> > file.sql

确保执行的命令是postgres用户有写权限的(例如:/tmp)。

Edit

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

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

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

使用以下命令获取表转储的压缩版本:

pg_dump -h localhost -p 5432 -U <username> -d <dbname> -t <tablename> -Fc -f backup.out

作为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标志,因为它已弃用。

您可以使用该命令

pg_dump --table=yourTable --data-only --column-inserts yourDataBase > file.sql

你应该改变你的表,你的数据库到你的情况