我想导出一个PostgreSQL表标题,通过命令行的CSV文件,但是我把它导出为CSV文件,但没有标题。 我需要那些标题为好。 我的代码如下
COPY products_273 to '/tmp/products_199.csv' delimiters',';
我想导出一个PostgreSQL表标题,通过命令行的CSV文件,但是我把它导出为CSV文件,但没有标题。 我需要那些标题为好。 我的代码如下
COPY products_273 to '/tmp/products_199.csv' delimiters',';
COPY products_273 TO '/tmp/products_199.csv' WITH (FORMAT CSV, HEADER);
作为中所述手册 。
在psql命令行:
\COPY my_table TO 'filename' CSV HEADER
没有分号结尾。
而不只是表名,你也可以写只获得所选列数据的查询。
COPY (select id,name from tablename) TO 'filepath/aa.csv' DELIMITER ',' CSV HEADER;
用管理员权限
\COPY (select id,name from tablename) TO 'filepath/aa.csv' DELIMITER ',' CSV HEADER;
当我没有权限从Postgres的写入文件出来我发现我可以运行在命令行查询。
psql -U user -d db_name -c "Copy (Select * From foo_table LIMIT 10) To STDOUT With CSV HEADER DELIMITER ',';" > foo_data.csv
这工作
psql dbname -F , --no-align -c "SELECT * FROM TABLE"
9.5我使用的版本,这将是这样的:
COPY products_273 TO '/tmp/products_199.csv' WITH (FORMAT CSV, HEADER);
该解决方案使用为我工作\copy
。
psql -h <host> -U <user> -d <dbname> -c "\copy <table_name> FROM '<path to csvfile/file.csv>' with (format csv,header true, delimiter ',');"
继承人如何我把它用pgsl connnect到Heroku的PG数据库工作电源外壳:
我必须先更改客户端编码为utf8这样的: \encoding UTF8
然后将数据导出到一个CSV文件如下:
\copy (SELECT * FROM my_table) TO C://wamp64/www/spider/chebi2/dump.csv CSV DELIMITER '~'
我用〜作为分隔符,因为我不喜欢CSV文件,我通常使用TSV文件,但它不会让我添加“\ t”作为分隔符,所以我用了〜因为它很少使用characeter。
拷贝(anysql查询datawanttoexport)为 'fileablsoutepathwihname' 分隔符 '' CSV标题;
使用这款U还可以导出数据。