PostgreSQL源码安装

下载并提取源码

    1. 使用wget命令,下载源码
      wget http://ftp.postgresql.org/pub/source/v9.5.10/postgresql-9.5.10.tar.gz
    1. 使用tar命令,提取源码
      tar -xvf postgresql-9.5.10.tar.gz
    1. 检查源码内容
      cd postgresql-9.5.10
      find ./ -maxdepth 1 -type d

编译源码的各种依赖

    1. 编译器,借助 gmake -vgcc -v查看编译器是否满足需求(需要3.8或者更高版本的GUN Make)
    1. .configure文件为一个shell脚本,会运行各种测试来确定系统相关的各个变量.
    1. –prefix 选项可用来指定安装文件目录
      ./configure --prefix=/opt/pg/9.5

建立可执行文件

    1. 编译所有源文件,并生成可执行文件
      gmake world

初始化集群

    1. 添加一个OS用户,该用户将用于启动/停止/重启数据库
      sudo adduser postgres
    1. 创建新集群存储目录,标准的存储路径可以为/usr/local/pgsql/data
      mkdir -p /pgdata/9.5
      chown postgres /pgdata/9.5 切换用户到postgres
    1. 使用创建的标准用户postgres 初始化集群
    • 添加环境变量,postgres用户下的.bashrc文件中添加如下内容:
      PATH=$PATH:/opt/pg/bin
      export PATH
    • 执行如下命令做集群初始化
      initdb --pgdata=/pgdata/9.5

部分文件目录简释

    1. src : 该目录包含大部分核心代码,如:后台进程、优化器、存储、客户端工具及实现复制功能的相关代码等
    1. doc : 该目录包含在DocBook中编写的文档的源代码DocBook是标准通用的标记语言(SGML)的一个应用
    1. contrib : 该目录包含许多扩展程序, 如:当我们想要从表对服务器文件内容进行访问时,可以使用file_fdw扩展
    1. config : 该目录包含一些宏定义,可以帮助你配置和编译软件包
    1. base : 数据库用户创建的各个数据库
    1. global : 集群范围的各个表单
    1. pg_clog : 事务提交状态数据
    1. pg_multixact : 多事务状态数据(等待锁定的并发事务)
    1. pg_notify : LISTEN/NOTIFY状态数据
    1. pg_serial : 已提交的序列化事务的有关信息
    1. pg_snapshots : 导出的快照
    1. pg_stat_tmp : 统计子系统的临时文件
    1. pg_subtrans : 子事务状态数据
    1. pg_tblspc : 表空间的符号链接
    1. pg_twophase : 预备事务的状态文件
    1. pg_xlog : 预写日表(Write Ahead Log WAL)文件
    原文作者:羽恒
    原文地址: https://www.jianshu.com/p/9c39dd52119f
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞