postgresql 数据导入和导出

       最近项目需要用到报表数据,数据需要从计算服务器同步到报表前置机,在同步数据的时候总是报错,但是报表系统又要给客户登录查看报表,实在没办法只能通过数据的导入和导出方式暂时同步下数据。
     PG的数据导入和导出的命令是通过copy来实现的。
     导出数据命令:
      \copy tablename  to 'c:\123.txt' delimiter '|'
     导入数据的命令
     \copy tablename from 'c:\123txt' delimiter '|'
     
     在同步数据时又坑爹的碰到字符集问题,通过psql的控制台我们查看数据库的字符集。

 postgres=> \l

   名称    |  拥有者  | 字元编码 |
            Ctype                  |
-----------+----------+----------+--
-----------------------------------+
 mydb      | postgres | UTF8     | C
ese_People's Republic of China.936 |
 postgres  | postgres | UTF8     | C
ese_People's Republic of China.936 |
 template0 | postgres | UTF8     | C
ese_People's Republic of China.936 |
           |          |          |
                                   |
 template1 | postgres | UTF8     | C
ese_People's Republic of China.936 |
           |          |          |
                                   |
我们看到数据库的字符集是UTF8,
然后我们看下我们的客户端字符集
postgres=> show client_encoding  ;
 client_encoding
-----------------
 GBK
通过命令可以看到我们的客户端字符集是GBK,客户端和服务器的字符集不一致,导致我的数据导入报错,问题的j解决方法很简单。
    修改字符集,然后导入数据。
  修改字符集命令:

postgres=> \encoding UTF8
查看字符集
postgres=> show client_encoding;
 client_encoding
-----------------
 UTF8
(1 行记录)

我们可以看到我们的客户端字符集已经修改完成,然后再通过copy命令导入数据。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16674653/viewspace-766415/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/16674653/viewspace-766415/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值