我使用psql的\dt列出数据库中的所有表,我需要保存结果。

将psql命令的结果导出到文件的语法是什么?


当前回答

COPY tablename TO '/tmp/output.csv' DELIMITER ',' CSV HEADER;

该命令用于将整个表存储为CSV格式

其他回答

我假设存在一些内部的psql命令,但你也可以从util-linux-ng包中运行脚本命令:

描述 脚本使打印在终端上的所有内容的typescript。

使用下面的查询将结果存储在CSV文件中

\copy (your query) to 'file path' csv header;

例子

\copy (select name,date_order from purchase_order) to '/home/ankit/Desktop/result.csv' cvs header;

希望这对你有所帮助。

COPY tablename TO '/tmp/output.csv' DELIMITER ',' CSV HEADER;

该命令用于将整个表存储为CSV格式

docker方法

通过PSQL命令

 docker exec -i %containerid% psql -U %user% -c '\dt' > tables.txt

或从SQL文件查询

docker exec -i %containerid% psql -U %user% < file.sql > data.txt

使用pgsql命令的o参数。

-o,——output=FILENAME将查询结果发送到文件(或|管道)

psql -d DatabaseName -U UserName -c "SELECT * FROM TABLE" -o /root/Desktop/file.txt