Postgresql PostreSQL服务器到CSV文件-Ubuntu

Postgresql PostreSQL服务器到CSV文件-Ubuntu,postgresql,csv,ubuntu-14.04,Postgresql,Csv,Ubuntu 14.04,因此,我的同事提供了一个运行postgresql数据库的服务器(物理mashine)。这个数据库非常庞大(大约1TB的数据)。现在,我必须获得该服务器的数据库,并将所有内容转换为CSV 我可以用他给我的SQL命令来完成。但是通过网络/互联网,这需要花费大量的数据。现在我在想,是否有办法获取pgSQL数据库的数据并将其导出到该计算机上的CSV 计算机正在运行Ubuntu 14.04 LTS 最大的问题是,我甚至找不到磁盘上的数据。如果我能找到以文件形式复制的实际数据库,那可能会有所帮助。但是一开始

因此,我的同事提供了一个运行postgresql数据库的服务器(物理mashine)。这个数据库非常庞大(大约1TB的数据)。现在,我必须获得该服务器的数据库,并将所有内容转换为CSV

我可以用他给我的SQL命令来完成。但是通过网络/互联网,这需要花费大量的数据。现在我在想,是否有办法获取pgSQL数据库的数据并将其导出到该计算机上的CSV

计算机正在运行Ubuntu 14.04 LTS

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


任何帮助或想法都将不胜感激

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

pg_dump db_name | gzip -9 > dump.tar.gz
pg_dump
是一个PostGres实用程序,用于转储数据库内容,应该在数据库计算机上的PostGres用户下可用。通过将其直接输送到
gzip-9
可以实现最佳压缩

在此之后,您可以下载该文件并在另一台Linux机器上重新创建数据库,该机器上安装了相同版本的Postgres,使用:

tar -xzvf dump.tar.gz
psql target_db_name postgres_user_name < dump.sql > import.log 2>&1
tar-xzvf dump.tar.gz
psql目标\u db\u name postgres\u用户名import.log 2>&1
在目标计算机上创建数据库“target_db_name”后,也应该发生这种情况


您也可以使用Windows作为目标机器,但在那里您必须使用一些工具,如7-Zip来提取
dump.tar.gz

的内容,使用SSIS来完成这项工作听起来不错。一个小问题是我现在没有postgres用户的密码。明天我得问问我的同事。好的,现在正在运行。但这需要很长时间我不清楚以后如何从转储中获取CSV文件。嗯,有很多方法。我用Talend Open Studio来做这个。这是一个ETL工具,可以加速这类作业。