postgresql数据处理

postgresql数据处理
COPY命令

1.需要具备超级用户权限
2.从数据库服务端主机读取或写入文件数据
3.SQL命令

基本用法
COPY tbale_name[(column_name)] FROM {'filename'|PROGRAM 'command'|STDIN} [WITH (option)]
COPY {table_name[(column_name)]|(query)} TO {'filename'|PROGRAM 'command'|STDOUT}[[WITH(option)]
option的选项
选项描述
format format_namecsv,text
oids boolean复制带上oid
freeze冻结数据,然后执行vacuum freeze
delimiter ‘delimiter_character’分割符
null ‘null_string’指定null的值,默认为的\N
header boolean带上表字段名称
quote ‘quote_character’引用字符
encoding ‘encoding_name’指定编码字符
stdin客户端程序输入流
stdout客户端输出流
导出整个表数
COPY schema.tb_aa TO '/tmp/tb_aa.csv' delimiter ',' WITH csv header encoding 'GBK';
COPY schema.tb_aa TO '/tmp/tb_aa.csv' delimiter ',' quto '"' WITH csv header encoding 'GBK';
导出指定条件数据
COPY (select * from tb_aa where id <=10) TO '/tmp/tb_aa.csv' WITH csv header;

##导入数据
ERROR: invalid input syntax for integer: “id,user_id,status,update_time,create_time”
CONTEXT: COPY tb_aa, line 1, column id: “id,user_id,status,update_time,create_time”

导入数据不包含标题行,仅实用于csv格式
COPY tb_aa FROM '/tmp/tb_aa.csv' csv header;
\copy命令

1.普通用户权限
2.从psql客户端主机读取或写入文件数据
3.元命令

导出指定的数据或者整个表
\copy tb_aa to '/tmp/tb_aa2.csv' with csv header;
\copy tb_aa to '/tmp/tb_aa2.csv' with csv header delimiter ',';
COPY和\copy性能比较:

1.COPY性能比\copy的高
2.COPY适合数据量比较大的表,\copy适合数据量比较小的表

通过-f导入sql文本

psql -h -p database user -f /tmp/aa.sql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值