如何在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上,
- login到您的postgres用户
sudo su postgres
-
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
命令。