PostgreSQL导入导出CSV

需求:在代码中用pgsql命令导入海量csv数据。因为数据量大,用传统insert的方式效率太低,所以这里采用psql命令在登录下用 PostgreSQL 的 COPY 命令导入CSV, 命令如下,具体到每个命令的意思,大家自行搜索哈。

# 导入 copy from 
PGPASSWORD=123456 psql -h 127.0.0.1 -p 5432 -d db_name -U postgres -c "\copy tab_name FROM './test.csv' WITH csv header delimiter ',' encoding 'UTF8'";


# 指定字段
PGPASSWORD=123456 psql -h 127.0.0.1 -p 5432 -d db_name -U postgres -c "\copy tab_name(id,name,age) FROM './test.csv' WITH csv header delimiter ',' encoding 'UTF8'";



# 导出 copy to
PGPASSWORD=123456 psql -h 127.0.0.1 -p 5432 -d db_name -U postgres -c "\copy (SELECT * FROM tab_name ) to './test.csv' WITH csv header delimiter ',' encoding 'UTF8'";

你可能感兴趣的:(postgresql,csv)