文章目录 前言 一、下载指定版本的源码安装包 二、安装依赖包 三、安装PostgreSQL数据库 三、配置服务 四、设置PostgreSQL开机自启动 五、开放端口并启动数据库 总结 前言 本文采用make源码编译安装PostgreSQL方式,尽管相较于yum安装方式,该方式略微复杂,但为了便于管理和维护(例如:便于指定数据库安装目录、修改参数、安装扩展等),故以下详细介绍该安装方式。 一、下载指定版本的源码安装包 源码安装包下载地址:http://www.postgresql.org/ftp/source/ 如下图,本文以下载14.7版本为例 二、安装依赖包 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/ # 使用yumdownloader下载 # 安装yum-utils包,内部包含yumdownloader等命令 yum install yum-utils # 例如下载docker.x86_64包 yumdownloader --resolve --destdir=/pack docker.x86_64 # 离线环境使用下面命令安装包 rpm -ivh *.rpm --nodeps --force 三、安装PostgreSQL数据库 1、创建安装目录并解压安装包 # 创建安装目录 mkdir -p /pgsql/postgresql # 上传至安装目录并解压安装包 tar -zxvf postgresql-14.7.tar.gz 2、配置PostgreSQL源码 # 进入解压后的文件夹 cd postgresql-14.7 # 配置源码 ./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、编辑安装 # 确保进入解压安装包的目录 cd /pgsql/postgresql/postgresql-14.7 # 编辑安装 make && make install 4、创建用户、组、数据目录 这个数据库主目录可随实际情况而不同,这里我们的主目录是在/pgsql/postgresql/data目录。 # 创建组 groupadd postgres # 创建用户 useradd -g postgres postgres # 创建数据目录 mkdir –p /pgsql/postgresql/data # 修改目录归属 chown postgres:postgres /pgsql/postgresql/data 5、配置环境变量 root用户执行以下操作 # 编辑修改.bash_profile文件 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 # 使修改的.bash_profile文件立即生效 source /home/postgres/.bash_profile 1 2 6、初始化数据库 出现下图信息表示安装完成。 # 切换至postgres用户 su - postgres # 使用initdb命令初始化数据库 initdb 三、配置服务 为了让数据库使用更方便,可以修改/pgsql/postgresql/data目录下的两个文件: postgresql.conf :配置PostgreSQL数据库服务器的相应的参数。 pg_hba.conf :配置对数据库的访问权限。 vi /pgsql/postgresql/data/postgresql.conf 1 修改内容: listen_addresses = '*' 1 其中,参数“listen_addresses”表示监听的IP地址,默认是在localhost处监听,也就是127.0.0.1的ip地址上监听,只接受来自本机localhost的连接请求,这会让远程的主机无法登陆这台数据库,如果想从其他的机器上登陆这台数据库,需要把监听地址改为实际网络的地址,一种简单的方法是,将行开头的#去掉,把这个地址改为*,表示在本地的所有地址上监听。 vi /pgsql/postgresql/data/pg_hba.conf # 以下第一条为增加内容 host all all 0.0.0.0/0 trust host all all 127.0.0.1/32 trust 添加第一条后 ,这样局域网的人才能访问 四、设置PostgreSQL开机自启动 1、修改启动脚本 PostgreSQL的开机自启动脚本位于PostgreSQL源码目录的contrib/start-scripts路径下。 文件名为linux的文件即为linux系统上的启动脚本。 # copt至系统的/etc/init.d/目录并命名为postgresql cp /pgsql/postgresql-14.7/contrib/start-scripts /etc/init.d/postgresql # 修改/etc/init.d/postgresql文件的两个变量 vi /etc/init.d/postgresql 修改内容: prefix设置为postgresql的安装路径:/pgsql/postgresql PGDATA设置为postgresql的数据目录路径:/pgsql/postgresql/data 2、设置开机自动动 # 设置postgresql服务开机自启动 chkconfig --add postgresql 1 2 五、开放端口并启动数据库 # 开放5432端口 irewall-cmd --zone=public --add-port=5432/tcp --permanent # 配置立即生效 firewall-cmd --reload # 启动数据库 pg_ctl start 查看postgresql进程,出现下图信息表示启动成功 ps -ef | grep postgres 总结 参照本文可以保证安装程序,路径及配置信息可根据自己需要进行修改。 |
|手机版|小黑屋|梦想之都-俊月星空 ( 粤ICP备18056059号 )
GMT+8, 2024-9-20 02:28 , Processed in 0.021899 second(s), 17 queries .
Powered by Discuz! X3.5
© 2001-2024 Discuz! Team.