Postgresql 转储postgres数据库、时间和.sql文件的重量

Postgresql 转储postgres数据库、时间和.sql文件的重量,postgresql,dump,Postgresql,Dump,我有一个很大的db(Namingm db,用于地址反向地理编码),大约408gb大 现在,为了向客户提供估计,我想知道导出/重新导入过程需要多长时间,以及.sql转储文件的大小。 我的postgresql版本是9.4,安装在centOS 6.7虚拟机上,具有16gb RAM和500GB磁盘空间 你能帮我吗 谢谢大家的回答,无论如何,要恢复转储的数据库,我不使用命令pg_restore,而是psql-d newdb-f dump.sql(我在官方文档中读到这种方法)。这是因为我必须在另一台机器上设

我有一个很大的db(Namingm db,用于地址反向地理编码),大约408gb大

现在,为了向客户提供估计,我想知道导出/重新导入过程需要多长时间,以及.sql转储文件的大小。 我的postgresql版本是9.4,安装在centOS 6.7虚拟机上,具有16gb RAM和500GB磁盘空间

你能帮我吗

谢谢大家的回答,无论如何,要恢复转储的数据库,我不使用命令
pg_restore
,而是
psql-d newdb-f dump.sql
(我在官方文档中读到这种方法)。这是因为我必须在另一台机器上设置此数据库,以避免Namingm db索引过程!我不知道是否有人知道Namingm(是一款openstreetmap开源产品),但是欧洲地图(15.8GB)的db索引过程,在一台带有16gb内存的CentOS 6.7机器上运行了32天。。。 另一个可能的问题是:
pg_restore
等于
psql-d-f
?哪个更快

再次感谢

如前所述,没有人能够为您的环境提供准确的答案。但这是我用来估算的程序

我通常发现我的数据压缩备份的大小是实时数据库的1/10或更小。您通常还可以从备份大小中扣除索引的磁盘大小。为了得到一个更好的主意。您还可以尝试形成数据库的一个子集,该子集要小得多,并将实时大小与压缩备份进行比较;这可能会给你一个大概的比率。SQL文件是气体和压缩好;不过,Postgres使用的磁盘表示形式似乎更为复杂。性能价格

估计时间的最好方法就是进行一些探索性的运行。根据我的经验,这通常比你预期的要长。我有一个~1 TB的数据库,我敢肯定它需要大约一个月的时间才能恢复,但它也被大量索引。我有几个~20 GB的数据库,可以在大约15分钟内进行备份/恢复。所以这是一个非常可变的变量,但索引会增加时间。如果可以设置类似的服务器,可以尝试备份还原过程,看看需要多长时间。无论如何,我建议你这样做,只是为了在你扣动扳机之前建立信心和解决任何悬而未决的问题

我还建议您尝试(
pg_dump-Fc
),它可以使压缩档案易于使用。

如前所述,没有人能够为您的环境提供准确的答案。但这是我用来估算的程序

我通常发现我的数据压缩备份的大小是实时数据库的1/10或更小。您通常还可以从备份大小中扣除索引的磁盘大小。为了得到一个更好的主意。您还可以尝试形成数据库的一个子集,该子集要小得多,并将实时大小与压缩备份进行比较;这可能会给你一个大概的比率。SQL文件是气体和压缩好;不过,Postgres使用的磁盘表示形式似乎更为复杂。性能价格

估计时间的最好方法就是进行一些探索性的运行。根据我的经验,这通常比你预期的要长。我有一个~1 TB的数据库,我敢肯定它需要大约一个月的时间才能恢复,但它也被大量索引。我有几个~20 GB的数据库,可以在大约15分钟内进行备份/恢复。所以这是一个非常可变的变量,但索引会增加时间。如果可以设置类似的服务器,可以尝试备份还原过程,看看需要多长时间。无论如何,我建议你这样做,只是为了在你扣动扳机之前建立信心和解决任何悬而未决的问题


我还建议您尝试(
pg_dump-Fc
),它可以使压缩档案易于使用。

这取决于太多环境特有的因素,因此根本无法回答。这取决于太多环境特有的因素,所以根本不可能回答。