首页 文章

将PostgreSQL表导出为带有 Headers 的CSV文件

提问于
浏览
348

我正在尝试通过命令行将带有 Headers 的PostgreSQL表导出到CSV文件,但是我将其导出到CSV文件但没有 Headers . 我也需要那些 Headers . 我的代码如下所示

COPY products_273 to '/tmp/products_199.csv' delimiters',';

9 回答

  • 512
    COPY products_273 TO '/tmp/products_199.csv' WITH (FORMAT CSV, HEADER);
    

    manual中所述 .

  • 2

    从psql命令行:

    \COPY my_table TO 'filename' CSV HEADER
    

    最后没有分号 .

  • 91

    而不仅仅是表名,您还可以编写查询以仅获取选定的列数据 .

    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;
    
  • 8

    当我没有从Postgres写出文件的权限时,我发现我可以从命令行运行查询 .

    psql -U user -d db_name -c "Copy (Select * From foo_table LIMIT 10) To STDOUT With CSV HEADER DELIMITER ',';" > foo_data.csv
    
  • 0

    这有效

    psql dbname -F , --no-align -c "SELECT * FROM TABLE"
    
  • 182

    对于我使用的版本9.5,它将是这样的:

    COPY products_273 TO '/tmp/products_199.csv' WITH (FORMAT CSV, HEADER);
    
  • 31

    以下是我如何使用pgsl连接到Heroku PG数据库的工作电源shell:

    我必须先将客户端编码更改为utf8,如下所示: \encoding UTF8

    然后将数据转储到CSV文件:

    \copy (SELECT * FROM my_table) TO  C://wamp64/www/spider/chebi2/dump.csv CSV DELIMITER '~'
    

    我使用〜作为分隔符因为我不允许添加'\t'作为分隔符,所以我使用了 ~ 因为它是一个很少使用的characeter .

  • 3

    这个解决方案使用 \copy 为我工作 .

    psql -h <host> -U <user> -d <dbname> -c "\copy <table_name> FROM '<path to csvfile/file.csv>' with (format csv,header true, delimiter ',');"
    
  • 69

    将(anysql query datawanttoexport)复制到'fileablsoutepathwihname'分隔符','csv header;

    使用它你也可以导出数据 .

相关问题