You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows命令行导出PostgreSQL表:如何转义双引号

解决Windows下psql导出CSV时大小写敏感表名的转义问题

针对你遇到的带双引号的大小写敏感表名在Windows命令行无法正确转义的问题,分CMD和PowerShell两种环境给出非交互式解决方案:

CMD环境

CMD中需要用两个连续双引号来表示一个双引号,同时将整个-c的SQL命令用双引号包裹。示例命令:

./psql.exe -U 你的用户名 -d 目标数据库名 -c "COPY (SELECT * FROM ""MyTable"") TO 'c:/out.csv' WITH (FORMAT CSV, HEADER);"
  • 说明:""MyTable""会被psql解析为"MyTable",符合PostgreSQL大小写敏感表名的要求;WITH (FORMAT CSV, HEADER)可选,用于导出带表头的CSV。

PowerShell环境

PowerShell有两种可行的转义方式:

方式1:用单引号包裹SQL命令

单引号内的双引号无需转义,但单引号本身需要用两个连续单引号转义:

./psql.exe -U 你的用户名 -d 目标数据库名 -c 'COPY (SELECT * FROM "MyTable") TO ''c:/out.csv'' WITH (FORMAT CSV, HEADER);'

方式2:用双引号包裹SQL命令,内部双引号用反引号`转义

./psql.exe -U 你的用户名 -d 目标数据库名 -c "COPY (SELECT * FROM `"MyTable`") TO 'c:/out.csv' WITH (FORMAT CSV, HEADER);"

额外注意事项

  • 必须通过-d指定目标数据库,-U指定用户名,避免连接到默认数据库找不到目标表;
  • 输出路径可以用正斜杠/或双反斜杠\\,PostgreSQL在Windows环境下均支持;
  • 如果不需要表头,可以去掉WITH (FORMAT CSV, HEADER)部分。

内容的提问来源于stack exchange,提问作者Master_T

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 19:46:06