gpt4 book ai didi

postgresql - Postgres 9.2 pg_largeobject 表空间

转载 作者:行者123 更新时间:2023-12-04 19:38:46 24 4
gpt4 key购买 nike

我目前正在移动一些数据,并且遇到了一个有趣的问题。

我有一个 CentOS 服务器 (6.3) 并在内置磁盘空间有限的服务器上运行 Postgres 9.2;但是,我确实有大量非常可靠的外部网络磁盘空间可用。

我已将表空间设置为我的数据库的存储设备上的一个目录,一切似乎都运行良好,直到...

我意识到我有大量的 BLOB 数据需要存储在 pg_largeobject 中。 .

我一直在研究如何设置 pg_largeobject 的表空间我确实找到了some results ,但它们已经过时了。

我确实找到了 one article这看起来很有希望,但我很犹豫,因为该线程还提到事情将会/应该改变。

我有两个问题...

  • 在理想情况下,我想将所有 postgres(包括 pg_largeobject )移动到这个外部存储上以便于维护。这可能吗?
  • 如果没有,我怎样才能得到pg_largeobject使用我的网络存储?
  • 最佳答案

    正如您所提到的,您最好的选择是将整个 PostgreSQL 移动到远程存储上,假设存储使用可靠的文件网络 block 设备,如 iSCSI、ATAoE 或 NBD。我不建议在 NFS 上运行 Pg,而在 CIFS/SMBFS 上运行它是行不通的。

    只是:

  • 备份
  • 记下 SHOW data_directory; 的输出在 psql
  • 关闭 PostgreSQL
  • 将数据目录(包含 pg_xlogpg_clog 等的文件夹)移动到远程存储
  • 为 datadir 的新位置调整父目录的权限,以确保 postgres用户,postgres ,组或others权限 block 至少有 execute在每个父目录上,以便它可以遍历树。
  • 调整系统启动脚本以将新位置设置为 PostgreSQL 数据目录或将旧数据目录位置(由 SHOW data_directory 输出)符号链接(symbolic link)到新位置。
  • 启动 PostgreSQL

  • 不幸的是,不同的系统和软件包以不同的方式找到 datadir。例如,Debian/Ubuntu 使用 pg_wrapper。

    关于postgresql - Postgres 9.2 pg_largeobject 表空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15490058/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com