postgresql 使用psql的copy语句时如何压缩数据?

1rhkuytd  于 2023-04-20  发布在  PostgreSQL
关注(0)|答案(2)|浏览(266)

我的目标是高效地将大量数据导入到Postgres数据库中。原则上,原始数据可以压缩约20倍(例如使用gzip)。
COPY语句似乎是大容量导入的最佳选择。
除了sslcompression(在数据加密后应用)之外,是否有一种方法可以压缩客户端和服务器之间传输的实际数据(内容),或者默认情况下是内置的?
非常感谢。
(应该没关系,但我正在使用golang)。

xriantvc

xriantvc1#

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并执行解压缩/压缩客户端。

62o28rlo

62o28rlo2#

如果你的瓶颈是网络吞吐量,你会想使用类似scp或ssh的东西将压缩数据发送(复制或流式传输)到数据库机器,然后在数据库服务器运行的同一台机器上的客户端运行COPY。有很多方法可以编排,但所有这些都有libpq/PostgreSQL以外的东西作为管弦乐队的指挥。

相关问题