推荐使用copy命令导出导入文本文件,文件分割建议采用csv格式。
推荐使用telesql工具导出导入表结构和SQL语句。
批量数据导入
如果是单表数据导入,推荐使用copy 命令,例如:
\copy 表名 from '/data/.../表名.txt';
如果是SQL 文件导入,推荐使用 psql –f 文件.sql 导入,例如:
telesql -h ip -p 端口 -U 用户 -d 数据库 -f /data/xxx/导入文件.sql
批量数据导出
如果是单表数据导出,推荐使用copy 命令,例如:
\copy 表名 to '/data/.../表名.txt';
如果是要导出表结构、或者多个表、或者整库,则推荐使用pg_dump 工具,例如:
- 导出全库ddl 和数据
pg_dump -h ip -p 端口 -U 用户 -d 数据库 >/data/.../导出文件.sql
- 导出某个表的ddl 和数据
pg_dump -h ip -p 端口 -U 用户 -d 数据库 -t 表 >/data/.../导出文件.sql
- 导出某个表结构
pg_dump -h ip -p 端口 -U 用户 -d 数据库 -t 表 -s >/data/.../导出文件.sql
- 导出某个表数据
pg_dump -h ip -p 端口 -U 用户 -d 数据库 -t 表 -a >/data/.../导出文件.sql