数据迁移的时候,需要通过文件的方式导出输入,再导入新的数据库,具体操作分以下三步走:
1、登录数据库的服务器端
psql -h 1.1.1.1(ip) -p (端口) -d (库名) --username=用户名
2、导出数据文件
\COPY (select * from schema.table_1) TO '/data/table_1.csv' with delimiter '^' null as '';
这里的文件目录一般是数据库所在服务器上的某目录。分隔符可以采用任何单字节的单个字符,但不能和字段内容中有的字符重复。这里采用^是因为字段中比较少见^,而,:;等符号比较常见,易重复或者存在。
如果全部的分隔符都在字段中包含怎么办呢?建议采用其他同步方式,比如Datax, cloud canal, kettle等。。实在不想弄其他方式呢,有个不是坏办法,就是先把含字符的那一个害群之马字段改掉,同步后再改回去
3、在要导入的目标数据库创建外表映射到服务器上的数据文件
CREATE external TABLE "schema"."table_1" (
"id" int8 ,
"code" varchar(32) ,
"createtime" timestamp(0)
)
location ('gpfdist://目标数据库ip:端口/table_1.csv') format 'csv' (DELIMITER '^');
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。