导出表格
使用pg_dump,需要安装有postgresql,如果安装的是docker的话需要进入到docker内执行
pg_dump -U postgres -h 127.0.0.1 -p 5432 -c -Fp -t public.mytable -E UTF-8 -f /home/mytable_20210415.sql mydatabase
这里面的参数:
- -h host,指定数据库主机名,或者IP
- -p port,指定端口号
- -U user,指定连接使用的用户名
- -W,按提示输入密码
- dbname,指定连接的数据库名称,实际上也是要备份的数据库名称。
- -a,–data-only,只导出数据,不导出表结构
- -c,–clean,是否生成清理该数据库对象的语句,比如drop table
- -C,–create,是否输出一条创建数据库语句
- -f file,–file=file,输出到指定文件中
- -n schema,–schema=schema,只转存匹配schema的模式内容
- -N schema,–exclude-schema=schema,不转存匹配schema的模式内容
- -O,–no-owner,不设置导出对象的所有权
- -s,–schema-only,只导致对象定义模式,不导出数据
- -t table,–table=table,只转存匹配到的表,视图,序列,可以使用多个-t匹配多个表
- -T table,–exclude-table=table,不转存匹配到的表。
- -inserts,使用insert命令形式导出数据,这种方式比默认的copy方式慢很多,但是可用于将数据导入到非PostgreSQL数据库。
- -column-inserts,导出的数据,有显式列名
参考:传送门
导入表格
导入表格就简单多了:
psql -U postgres -W mydatabase -h 127.0.0.1 -p 5432 < /home/mytable_20210415.sql