在 Windows 上定期将 PostgreSQL 数据导出到本地文件的最快方法是什么?

Chu*_*uck 3 postgresql windows

我可以访问需要从另一个系统获取数据的 PostgreSQL 数据库。另一个系统运行的是 Windows 7,并且(还?)没有安装 PostgreSQL。

理想情况下,我希望将一些查询的结果保存到本地文本文件中,然后我可以根据需要进行解析,但是如果 SQL 转储一切正常,我也可以接受。

虽然我有数据库和编程方面的经验,但我对 Windows 或 PostgreSQL 都不擅长。

我应该在这台 Windows 机器上安装 PostgreSQL 并使用命令行工具来创建批处理文件吗?或者有更好的选择吗?

Nei*_*gan 5

安装psql客户端(我相信它在 pgAdmin III install 中)。将其添加到您的PATH.

将以下内容放入%appdata%\postgresql\pgpass.conf(您可能需要创建该文件):

hostname:port:database:username:password

cmd

psql -c "\copy (select * from foo) to 'fooLocal.txt';" --host $hostname --dbname $dbname --user $username

thenfooLocal.txt将是查询输出的制表符分隔表示。

\copy(相对于COPY)可以从远程服务器复制数据并且不需要超级用户权限。

如果您想按计划运行该 psql 命令,您可以使用 Task Scheduler (GUI) 或schtasks(CLI),这有点类似于cronWindows。