我想从shell(而不是交互式psql客户端)执行一个查询,并让它将输出的CSV或TSV表示形式打印到STDOUT.如何使用psql
或其中一个PostgreSQL命令行工具来实现这一点?
我想从shell(而不是交互式psql客户端)执行一个查询,并让它将输出的CSV或TSV表示形式打印到STDOUT.如何使用psql
或其中一个PostgreSQL命令行工具来实现这一点?
如果您使用的是PostgreSQL 8.2或更新版本,请将其用于CSV:
psql -c "COPY (<select query>) TO STDOUT WITH CSV"
这是TSV,带有适当的空值:
psql -c "COPY (<select query>) TO STDOUT WITH NULL AS ''"
CSV表单将正确引用任何包含双引号字符的字段.有关复制的更多详细信息和选项,请参阅特定版本的PostgreSQL文档.