小编kon*_*ify的帖子

如何移动 PostgreSQL 表空间?

有没有办法将 PostgreSQL 9.3 表空间从 物理移动/old/dir/new/dir?我只想找到mv目录并告诉 PostgreSQL 表空间现在位于/new/dir. 看起来ALTER TABLESPACE只能让你重命名。

我想避免创建一个新的表空间并将数据库移动到它。我认为这将是一个需要大量时间和磁盘空间的缓慢复制过程。我也想避免符号链接/old/dir/new/dir.

postgresql postgresql-9.3

13
推荐指数
1
解决办法
1万
查看次数

移动大型 PostgreSQL/PostGIS 数据库

我需要将一个非常大(约 320 GB)的 PostGIS 数据库从server1(PostgreSQL 9.1,PostGIS 1.5)移动并升级到server2(PostgreSQL 9.3,PostGIS 2.1)。

升级过程有据可查。问题是我在server1上没有足够的空间将文件转储到那里,校验它,然后将它复制到server2并验证总和。我试过:

  • 从管道中转储服务器1Server2上使用nc
  • 直接写入转储文件到服务器2,其安装在文件系统server1的使用sshfs

两次转储文件似乎都已损坏。pg_restore在不同的地方打破了这样的错误:

pg_restore: [compress_io] could not uncompress data: incorrect data check

任何人都可以提出更好的方法来完成此移动和升级吗?

更新:尝试过 NFS(并再次尝试 SSHFS)。很明显,这些远程文件系统无法可靠地传输这么多数据。生成的 SQL 文件中明显缺少块,导致导入过程中出现如下语法错误:

ERROR:  invalid input syntax for integer: "8266UPDATE spatial_ref_sys o set auth_name = n.auth_name, auth_srid = n.auth_srid, srtext = n.srtext, proj4text = n.proj4text FROM _pgis_restore_spatial_ref_sys n …
Run Code Online (Sandbox Code Playgroud)

postgresql migration postgis

8
推荐指数
1
解决办法
1445
查看次数

转储具有“压缩数据已损坏”错误的数据库

我正在使用pg_dump转储大型(396 GB)PostgreSQL 数据库:

pg_dump --clean --create mydatabase
Run Code Online (Sandbox Code Playgroud)

运行一天后,语句失败ERROR: compressed data is corruptpg_dump退出。

100% 的数据完整性不是我的首要任务。这可能只是一个断行阻止我移动或备份一个需要数周时间创建的数据库。输了那行我没问题。

有什么方法可以创建忽略此类数据错误的转储?我在pg_dump文档中什么也没找到。

如果没有,如何查找并删除表中所有损坏的行?其他表中的行指向它们,也需要删除。

postgresql backup postgresql-9.3 pg-dump

6
推荐指数
1
解决办法
2977
查看次数

将整个 PostgreSQL 集群复制到另一个(相同的)服务器

我希望将 PostgreSQL 10 集群从server1克隆到server2,它在相同的硬件上运行相同的 Postgres 版本。目的是负载平衡和 HA。要记住的事情:

  • 数据库非常大(TB 级),网络非常好。我想避免使用中间文件。
  • 克隆实时数据库会很酷,但如果需要,我也可以关闭集群。

我考虑过的选项:

  1. pg_dump | psql 当然,但这需要重新创建索引,并且对于相同系统之间的完整副本来说似乎非常缓慢且效率低下。
  2. 使用server2作为从属设备设置流式复制,等待它与server1同步,然后重新配置两者以再次禁用复制(我不需要它)。似乎一堆毫无意义的配置工作有错误的余地。
  3. 关闭集群、rsync所有 Postgres 文件夹和文件。有这么多数据存在数据损坏的风险,我需要确保我得到了所有东西(大概只有数据目录是不够的)。
  4. 我可以pg_basebackup直接通过管道以pg_receivewal某种方式完成这项工作吗?找不到我的用例的说明。

做到这一点的最佳方法是什么?好像是很常见的情况。

postgresql replication backup write-ahead-logging

2
推荐指数
2
解决办法
702
查看次数