使用 psql 的复制语句时如何压缩数据?



我的目标是高效地将大量数据导入Postgres数据库。原则上,原始数据可以压缩约20倍(例如使用gzip)。

COPY语句似乎是批量导入的最佳选择。

除了sslcompression(在数据加密后应用),是否有一种方法可以压缩在客户端和服务器之间传输的实际数据(内容),或者甚至是默认内置的?

许多谢谢。

(应该不重要,但我正在使用golang)。

COPY [TO|FROM] PROGRAM允许使用gzip作为程序,如果它安装在postgres服务器进程可访问的地方:https://www.postgresql.org/docs/current/sql-copy.html#id-1.9.3.55.10.

您也可以使用COPY TO|FROM STDIN并在客户端执行解压缩。

如果您的瓶颈是网络吞吐量,您将希望使用scp或ssh之类的东西将压缩数据发送(复制或流式传输)到数据库机器,然后在运行数据库服务器的同一台机器上的客户机上运行copy。有许多方法可以实现这一点,但它们都有libpq/PostgreSQL以外的东西作为管弦乐队的指挥。

相关内容

  • 没有找到相关文章