Rol*_*and 398 csv postgresql heading export-to-csv postgresql-copy
我正在尝试通过命令行将带有标题的PostgreSQL表导出到CSV文件,但是我将其导出到CSV文件但没有标题.我也需要那些标题.我的代码如下所示
COPY products_273 to '/tmp/products_199.csv' delimiters',';
Run Code Online (Sandbox Code Playgroud)
Mil*_*dev 575
COPY products_273 TO '/tmp/products_199.csv' WITH (FORMAT CSV, HEADER);
Run Code Online (Sandbox Code Playgroud)
如手册中所述.
Lau*_*con 208
从psql命令行:
\COPY my_table TO 'filename' CSV HEADER
Run Code Online (Sandbox Code Playgroud)
最后没有分号.
Dhr*_*ker 115
而不仅仅是表名,您还可以编写查询以仅获取选定的列数据.
COPY (select id,name from tablename) TO 'filepath/aa.csv' DELIMITER ',' CSV HEADER;
Run Code Online (Sandbox Code Playgroud)
具有管理员权限
\COPY (select id,name from tablename) TO 'filepath/aa.csv' DELIMITER ',' CSV HEADER;
Run Code Online (Sandbox Code Playgroud)
小智 93
当我没有从Postgres写出文件的权限时,我发现我可以从命令行运行查询.
psql -U user -d db_name -c "Copy (Select * From foo_table LIMIT 10) To STDOUT With CSV HEADER DELIMITER ',';" > foo_data.csv
Run Code Online (Sandbox Code Playgroud)
小智 33
这有效
psql dbname -F , --no-align -c "SELECT * FROM TABLE"
Run Code Online (Sandbox Code Playgroud)
对于我使用的版本9.5,它将是这样的:
COPY products_273 TO '/tmp/products_199.csv' WITH (FORMAT CSV, HEADER);
Run Code Online (Sandbox Code Playgroud)
最简单的方法(使用psql)似乎是使用--csv标志:
psql --csv -c "SELECT * FROM products_273" > '/tmp/products_199.csv'
Run Code Online (Sandbox Code Playgroud)
这个解决方案适合我使用\copy.
psql -h <host> -U <user> -d <dbname> -c "\copy <table_name> FROM '<path to csvfile/file.csv>' with (format csv,header true, delimiter ',');"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
415812 次 |
| 最近记录: |