报错信息显示,PostgreSQL在尝试加载postgis-3.so库时无法找到所需的libboost_date_time-mt.so.1.53.0库。这通常意味着PostgreSQL或PostGIS安装过程中缺少一个依赖库或者该库的路径没有被正确地添加到系统的共享库路径(LD_LIBRARY_PATH)中。要解决这个问题,请尝试以下步骤:

  1. 检查并安装缺失的Boost库:

    • 确保已经安装了与PostGIS兼容的Boost库版本。在这个例子中,系统似乎需要的是libboost_date_time-mt.so.1.53.0
    • 如果还没有安装这个版本的Boost库,请通过包管理器(如apt、yum或zypper等)或者手动下载并编译源代码来安装它。
  2. 更新系统环境变量:

    • 确保PostgreSQL能够找到所需的Boost库文件,你需要将Boost库所在的目录添加到LD_LIBRARY_PATH环境变量中。
    • 在bash shell中,你可以使用以下命令来临时设置环境变量:
      export LD_LIBRARY_PATH=/path/to/boost/lib:$LD_LIBRARY_PATH

      请替换/path/to/boost/lib为实际的Boost库路径。

  3. 永久修改LD_LIBRARY_PATH:

    • 要让这个环境变量更改对所有用户和会话都生效,可以将其添加到系统的配置文件中,例如/etc/environment(对于Debian和Ubuntu),或者/etc/profile.d/myenv.sh(对于CentOS和RHEL)。
    • 编辑相应的文件,然后添加一行如下内容:
      LD_LIBRARY_PATH="/path/to/boost/lib:$LD_LIBRARY_PATH"
  4. 重启数据库服务:

    • 为了使更改生效,可能需要重启PostgreSQL服务。根据你的操作系统和安装方式,你可能需要运行类似于以下的命令:
      sudo systemctl restart postgresql.service# 或者sudo service postgresql restart

完成上述步骤后,再次尝试在PostgreSQL中创建PostGIS扩展,看看问题是否已得到解决。如果问题仍然存在,可能需要进一步检查PostGIS和PostgreSQL的安装,确保所有的依赖项都已经满足,并且所有相关的库和头文件都在正确的路径下。