PostgreSQL 服务器到 CSV 文件 - Ubuntu

PostreSQL Server to CSV files - Ubuntu

所以我的同事给了一个服务器(物理机器)运行 一个 postgresql 数据库。该数据库非常庞大(大约 1TB 的数据)。现在我必须获取该服务器的数据库并将所有内容转换为 CSV。

我本可以用他给我的 SQL 命令来完成。但是在 network/internet 上处理如此大量的数据需要很长时间。现在我在想是否有办法获取 pgSQL 数据库的这些数据并将其导出到该计算机上的 CSV?

计算机是 运行 Ubuntu 14.04 LTS。

最大的问题是,我连磁盘上的数据都找不到。如果我能找到要复制的文件形式的实际数据库,那可能会有所帮助。但是一开始就找不到那个东西...

感谢任何帮助或想法!

我建议您先将数据以压缩格式转储到数据库计算机本身。当然,您必须有足够的磁盘 space 来转储数据。我将在数据库所在的数据库计算机上使用的命令是:

pg_dump db_name | gzip -9 > dump.tar.gz

pg_dump 是一个转储数据库内容的 PostGres 实用程序,应该在数据库计算机上的 postgres 用户下可用。通过将其直接传输到 gzip -9,您可以使用尽可能好的压缩率进行压缩。

之后你可以下载文件和re-create数据库到另一台安装了相同版本 Postgres 的 Linux 机器上:

tar -xzvf dump.tar.gz
psql target_db_name postgres_user_name < dump.sql > import.log 2>&1

这也应该在您在目标计算机上创建数据库 "target_db_name" 后发生。

您也可以使用 Windows 作为目标机器,但是您必须使用 7-Zip 等工具来提取 dump.tar.gz.

的内容