这几天做pg数据库文件导入和数据导出操作,自己以前也没有具体操作过,中间也遇到不少问题,不过最后还是解决了。下面做一个简单的记录,希望对大家有所帮助。
# psql -h127.0.0.1 -p端口号 -Upostgres
---数据库信息
Password for user postgres:
psql (8.4.20, server 10.5)
一、把csv文件导入pg数据,使用如下命令:
copy pg_table(表字段1,表字段2,表字段3,...,表字段n) from '/home/*/needtoinputfile.csv' delimiter ',' csv header;
----上面语句表示把/home/*/needtoinputfile.csv,home路径下的文件导入到pg数据库的pg_table表中。
----数据导入之后,查看导入表中的内容发现少导入一行。检查了数据表中的内容,发现导入文件的第一行数据没有导入成。自己想了一个临时的办法,在导入前,把*.csv文件中的第一回车,相当于第一行导入空行,这样保证所有行的数据都导入。
二、把pg数据库表中的数据导出到csv文件
copy (select * from pg_table) to '/home/*/newfile.csv' with csv header;
----上面语句表示把从pg_table表中查询到的所有内容导出到/home/*/路径下的newfile.csv文件中。