Ubuntu 下 PostgreSQL 编译安装

在开源数据库领域, PostgreSQL(PG)显然是极其重要的存在(毕竟是"世界上最先进的开源数据库"). 本文是三年前在全新Ubuntu 16.04 LTS (是的, 当时装好Ubuntu正式做的第一件事就是编PG) 下编译安装PG的简要记录.

自己今天再看, 本文无疑显得基础与简单. 但我至今仍记得当时运行起来时自己内心的喜悦 (虽然过程比之在Windows下编译PG要顺利许多, 只可惜Windows的过程当时没有及时总结). 从装个Ubuntu都一波三折到整日与terminal打交道, 美好的大学时光仿佛就在昨日. 选本文作为第一篇博客或许正是内心下意识的一种自发怀念.

  • 配置并编译安装PostgreSQL

    • 配置

      ./configure --prefix=/home/lijun/Applications/PostgreSQL
      库缺失

      本步骤会遇到两个库缺失的问题(readline, zlib),以下以readline为例说明如何加以解决

      • step1:运行 apt-get install readline 出现 "无法定位软件包 readline" 错误
      • step2:apt-get update 无效
      • step3:更换软件源(中国服务器更换至主服务器) 无效
      • step4:下载新立得,并搜索readline运行时库安装 出现下载错误。此时未用代理情况下更换回中国服务器后下载不再出错,但是运行命令仍然出错。
      • step5:新立得中搜索并下载安装redline development(readline-dev) 下载安装后成功
    • 编译安装

      • 配置完毕后进行编译安装
        make && make install
      • 大约2-3分钟后,执行完毕,接下来配置环境变量
        • 将环境变量写入文件持久化(执行下述命令打开文件编辑)
          vi /etc/profile 或 gedit /etc/environment
        • 追加下述内容
          export PATH=/home/lijun/Applications/postgresql/bin:$PATH
        • 最后使修改的环境变量在当前terminal生效
          source /etc/profile
    • 初始化数据库(建立PostgreSQL数据库的目录并初始化数据库)

      • 准备工作:创建目录,更改所有者,更改权限

        mkdir -p /home/lijun/Applications/postgresql/data
        chown lj:postgresql /home/lijun/Applications/postgresql/
        chmod -R 775 /home/lijun/Applications/postgresql/
        权限提醒

        只有lj用户有读写执行权限,其余用户均只有读和执行权限:::

      • 以数据库用户执行初始化

        su lj
        initdb -D /home/lijun/Applications/postgresql/data
  • 其它

    • PostGIS 1.5 编译安装
      apt-get install build-essential libgeos-c1v5 libproj-dev libjson-c-dev libxml2-dev libxml2-utils xsltproc docbook-xsl docbook-mathml