postgreSQL支持数据表的导入和导出,格式如下:
COPY table_name [ ( column_name [, ...] ) ]
FROM { 'filename' | PROGRAM 'command' | STDIN }
[ [ WITH ] ( option [, ...] ) ]
COPY { table_name [ ( column_name [, ...] ) ] | ( query ) }
TO { 'filename' | PROGRAM 'command' | STDOUT }
[ [ WITH ] ( option [, ...] ) ]
where option can be one of:
FORMAT format_name
OIDS [ boolean ]
FREEZE [ boolean ]
DELIMITER 'delimiter_character'
NULL 'null_string'
HEADER [ boolean ]
QUOTE 'quote_character'
ESCAPE 'escape_character'
FORCE_QUOTE { ( column_name [, ...] ) | * }
FORCE_NOT_NULL ( column_name [, ...] )
FORCE_NULL ( column_name [, ...] )
ENCODING 'encoding_name'
实例1:将文件event.csv文件中的数据导入到表event中
event.csv格式如下:
23e72fae-46b4-11e6-94fc-8bc70d0576dc,1.1.1.2,2.2.2.1,5000,80,http服务,10
23e979a1-46b4-11e6-ae32-8bc70d0576dc,1.1.1.2,2.2.2.1,5000,80,http服务,10
23e979a2-46b4-11e6-bfd4-8bc70d0576dc,1.1.1.2,2.2.2.1,5000,80,http服务,10
23e979a3-46b4-11e6-a48c-8bc70d0576dc,1.1.1.2,2.2.2.1,5000,80,http服务,10
23e979a4-46b4-11e6-89ff-8bc70d0576dc,1.1.1.2,2.2.2.1,5000,80,http服务,10
23e979a5-46b4-11e6-8a68-8bc70d0576dc,1.1.1.2,2.2.2.1,5000,80,http服务,10
表event数据结构如下:
create table event(
id uuid primary key,
sip inet,
dip inet,
sport integer,
dport integer,
namex varchar(256),
last_times integer
);
导入命令:
copy event(id, sip, dip, sport, dport, namex, last_times) from 'D:\event.csv' delimiter ',' encoding 'utf8';
结果如下:
实例2:将表event的数据导出到文件event.csv中
导出命令:copy event to 'D:\event.csv' delimiter ',';
注意:
1. 事务支持copy操作
2. copy本身就是一个事务