将查询到的postgres数据库数据导入csv

1.sql语句很简单

copy ( select * from table) to 'c:/a/test.csv' with csv header

2.但是会报错,错误信息:

错误:  为了写入, 无法打开文件 "c:/test1.csv": Permission denied

********** 错误 **********

SQL 状态: 42501

意思是用户postgres对c盘没有写入权限。

c盘右键属性-》安全,添加postgres用户拥有所有控制权。

--------------------------------------------

有的电脑右键属性没有安全选项卡,解决方法:

工具-》文件夹选项-》查看,取消选中“使用文件夹简单共享(推荐)”

---------------------------------------------

3.这样的话sql执行成功,但是打开"c:/test1.csv",发现内容是乱码

该情况一般是导出的文件编码问题,在简体中文环境下,EXCEL打开的CSV文件默认是ANSI编码,如果CSV文件的编码方式为utf-8、Unicode等编码可能就会出现乱码的情况。

两种方法解决:

方法一:用记事本打开csv文件,另存为编码ASNI;

方法二:更改数据库编码方式:

执行sql语句

----显示数据库编码

 show client_encoding;

-----设置数据库编码

set client_encoding='GBK';

设置为GBK即可

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值