是否有一种方法可以使用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标志,因为它已弃用。
其他回答
如果您更喜欢图形用户界面,您可以使用pgAdmin III (Linux/Windows/OS X),只需右键单击您选择的表,然后“备份”。它将为您创建一个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
您可以使用该命令
pg_dump --table=yourTable --data-only --column-inserts yourDataBase > file.sql
你应该改变你的表,你的数据库到你的情况
pg_dump -h localhost -p 5432 -U postgres -d mydb -t my_table > backup.sql
您可以对单个表进行备份,但我建议对整个数据库进行备份,然后恢复您需要的任何一个表。对整个数据库进行备份总是好的。
9种使用pg_dump的方法
推荐文章
- PostgreSQL删除所有内容
- SQL Server恢复错误-拒绝访问
- 为什么PostgreSQL要对索引列进行顺序扫描?
- PostgreSQL INSERT ON冲突更新(upsert)使用所有排除的值
- 如何检查一个表是否存在于给定的模式中
- 如何将整数转换为字符串作为PostgreSQL查询的一部分?
- Psycopg2:用一个查询插入多行
- PostgreSQL返回JSON数组的结果集?
- PostgreSQL通配符LIKE用于单词列表中的任何一个
- 检查Postgres JSON数组是否包含字符串
- psql: FATAL: Peer authentication failed for user "dev"
- 如何在Postgres/SQL中获得两个整数的最小/最大值?
- 如何在postgresql中显示函数,过程,触发器源代码?
- 如何用postgres将间隔转换为小时数?
- 在postgresql中将查询结果按月和年分组