PostgreSQL数据导出导入COPY

[postgres@DELL-R720 bin]$ ./psql -p 6432
psql (9.4.5)
Type "help" for help.

postgres=# 
postgres=# \h copy
Command: COPY
Description: copy data between a file and a table
Syntax:
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'

postgres=# \d+
List of relations
Schema | Name | Type | Owner | Size | Description 
--------+------------+-------+--------------+----------+-------------
public | customer | table | benchmarksql | 1772 MB | 
public | district | table | benchmarksql | 152 kB | 
public | history | table | benchmarksql | 250 MB | 
public | item | table | benchmarksql | 10184 kB | 
public | new_order | table | benchmarksql | 38 MB | 
public | oorder | table | benchmarksql | 198 MB | 
public | order_line | table | benchmarksql | 3000 MB | 
public | stock | table | benchmarksql | 3392 MB | 
public | warehouse | table | benchmarksql | 40 kB | 
(9 rows)

postgres=# copy stock to '/tmp/stock.sql';
COPY 10000000
postgres=# truncate stock ;
TRUNCATE TABLE
postgres=# \d+
List of relations
Schema | Name | Type | Owner | Size | Description 
--------+------------+-------+--------------+----------+-------------
public | customer | table | benchmarksql | 1772 MB | 
public | district | table | benchmarksql | 152 kB | 
public | history | table | benchmarksql | 250 MB | 
public | item | table | benchmarksql | 10184 kB | 
public | new_order | table | benchmarksql | 38 MB | 
public | oorder | table | benchmarksql | 198 MB | 
public | order_line | table | benchmarksql | 3000 MB | 
public | stock | table | benchmarksql | 0 bytes | 
public | warehouse | table | benchmarksql | 40 kB | 
(9 rows)

postgres=# copy stock from /tmp/stock.sql ;
ERROR: syntax error at or near "/" at character 18
STATEMENT: copy stock from /tmp/stock.sql ;
ERROR: syntax error at or near "/"
LINE 1: copy stock from /tmp/stock.sql ;
^
postgres=# copy stock from '/tmp/stock.sql' ;
COPY 10000000
postgres=# \d+
List of relations
Schema | Name | Type | Owner | Size | Description 
--------+------------+-------+--------------+----------+-------------
public | customer | table | benchmarksql | 1772 MB | 
public | district | table | benchmarksql | 152 kB | 
public | history | table | benchmarksql | 250 MB | 
public | item | table | benchmarksql | 10184 kB | 
public | new_order | table | benchmarksql | 38 MB | 
public | oorder | table | benchmarksql | 198 MB | 
public | order_line | table | benchmarksql | 3000 MB | 
public | stock | table | benchmarksql | 3392 MB | 
public | warehouse | table | benchmarksql | 40 kB | 
(9 rows)

posted @ 2017-01-13 22:33  行动派大鹏  阅读(2396)  评论(0编辑  收藏  举报