PostgreSQL源码编译安装详细教程(linux环境)

Dear 丶 2024-03-27 16:32 147阅读 0赞

文章目录

  • 前言
  • 一、下载指定版本的源码安装包
  • 二、安装依赖包
  • 三、安装PostgreSQL数据库
  • 三、配置服务
  • 四、设置PostgreSQL开机自启动
  • 五、开放端口并启动数据库
  • 总结

前言

本文采用make源码编译安装PostgreSQL方式,尽管相较于yum安装方式,该方式略微复杂,但为了便于管理和维护(例如:便于指定数据库安装目录、修改参数、安装扩展等),故以下详细介绍该安装方式。

一、下载指定版本的源码安装包

源码安装包下载地址:http://www.postgresql.org/ftp/source/
如下图,本文以下载14.7版本为例
在这里插入图片描述

二、安装依赖包

1、连网环境安装

  1. yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake

2、离线环境安装

连网环境采用以下方式下载包,然后copy至离线环境即可。
离线依赖包下载地址:https://pkgs.org/

  1. # 使用yumdownloader下载
  2. # 安装yum-utils包,内部包含yumdownloader等命令
  3. yum install yum-utils
  4. # 例如下载docker.x86_64包
  5. yumdownloader --resolve --destdir=/pack docker.x86_64
  6. # 离线环境使用下面命令安装包
  7. rpm -ivh *.rpm --nodeps --force

三、安装PostgreSQL数据库

1、创建安装目录并解压安装包

  1. # 创建安装目录
  2. mkdir -p /pgsql/postgresql
  3. # 上传至安装目录并解压安装包
  4. tar -zxvf postgresql-14.7.tar.gz

2、配置PostgreSQL源码

  1. # 进入解压后的文件夹
  2. cd postgresql-14.7
  3. # 配置源码
  4. ./configure --prefix=/pgsql/postgresql

该过程可根据需要指定编辑参数,例如参数说明如下:

–prefix=prefix:安装到prefix指向的目录;默认为/usr/local/pgsql
–bindir=dir:安装应用程序到dir;默认为prefix/bin
–with-docdir=dir:安装文档到dir;默认为prefix/doc
–with-pgport=port:设置默认的服务器端网络连接服务TCP端口号
–with-tcl:为服务端提供Tcl存储过程支持
–with-perl:为服务端提供Perl存储过程支持
–with-python:为服务端提供Python存储过程支持
3、编辑安装

  1. # 确保进入解压安装包的目录
  2. cd /pgsql/postgresql/postgresql-14.7
  3. # 编辑安装
  4. make && make install

4、创建用户、组、数据目录
这个数据库主目录可随实际情况而不同,这里我们的主目录是在/pgsql/postgresql/data目录。

  1. # 创建组
  2. groupadd postgres
  3. # 创建用户
  4. useradd -g postgres postgres
  5. # 创建数据目录
  6. mkdir p /pgsql/postgresql/data
  7. # 修改目录归属
  8. chown postgres:postgres /pgsql/postgresql/data

5、配置环境变量
root用户执行以下操作

  1. # 编辑修改.bash_profile文件
  2. vi /home/postgres/.bash_profile

文件末尾增加以下内容:
export PGHOME=/pgsql/postgresql
export PGDATA=/pgsql/postgresql/data
PATH= P A T H : PATH: PATH:HOME/bin:$PGHOME/bin

  1. # 使修改的.bash_profile文件立即生效
  2. source /home/postgres/.bash_profile

6、初始化数据库
出现下图信息表示安装完成。

  1. # 切换至postgres用户
  2. su - postgres
  3. # 使用initdb命令初始化数据库
  4. initdb

在这里插入图片描述

三、配置服务

为了让数据库使用更方便,可以修改/pgsql/postgresql/data目录下的两个文件:
postgresql.conf :配置PostgreSQL数据库服务器的相应的参数。
pg_hba.conf :配置对数据库的访问权限。

  1. vi /pgsql/postgresql/data/postgresql.conf

修改内容:

  1. listen_addresses = '*'

其中,参数“listen_addresses”表示监听的IP地址,默认是在localhost处监听,也就是127.0.0.1的ip地址上监听,只接受来自本机localhost的连接请求,这会让远程的主机无法登陆这台数据库,如果想从其他的机器上登陆这台数据库,需要把监听地址改为实际网络的地址,一种简单的方法是,将行开头的#去掉,把这个地址改为*,表示在本地的所有地址上监听。

  1. vi /pgsql/postgresql/data/pg_hba.conf
  2. # 以下第一条为增加内容
  3. host all all 0.0.0.0/0 trust
  4. host all all 127.0.0.1/32 trust

添加第一条后 ,这样局域网的人才能访问

四、设置PostgreSQL开机自启动

1、修改启动脚本
PostgreSQL的开机自启动脚本位于PostgreSQL源码目录的contrib/start-scripts路径下。
文件名为linux的文件即为linux系统上的启动脚本。

  1. # copt至系统的/etc/init.d/目录并命名为postgresql
  2. cp /pgsql/postgresql-14.7/contrib/start-scripts /etc/init.d/postgresql
  3. # 修改/etc/init.d/postgresql文件的两个变量
  4. vi /etc/init.d/postgresql

修改内容:
prefix设置为postgresql的安装路径:/pgsql/postgresql
PGDATA设置为postgresql的数据目录路径:/pgsql/postgresql/data
在这里插入图片描述

2、设置开机自动动

  1. # 设置postgresql服务开机自启动
  2. chkconfig --add postgresql

五、开放端口并启动数据库

  1. # 开放5432端口
  2. irewall-cmd --zone=public --add-port=5432/tcp --permanent
  3. # 配置立即生效
  4. firewall-cmd --reload
  5. # 启动数据库
  6. pg_ctl start

查看postgresql进程,出现下图信息表示启动成功

  1. ps -ef | grep postgres

在这里插入图片描述

总结

参照本文可以保证安装程序,路径及配置信息可根据自己需要进行修改。

发表评论

表情:
评论列表 (有 0 条评论,147人围观)

还没有评论,来说两句吧...

相关阅读

    相关 详细编译安装httpd介绍

    一、源代码编译概述: 1.使用源代码安装软件的优点 获得最新的软件版本,及时修复bug 根据用户需要,灵活定制软件功能 2.应用场合举例 安装较新版本的应用程序