Linux CentOS 7.9安装PostgreSQL 15.12
1、下载PostgreSQL,根据操作系统选择对应的源码包或rpm包:
PostgreSQL源码地址:https://www.postgresql.org/ftp/source/
PostgreSQL安装包地址:https://yum.postgresql.org/packages/
2、执行命令安装依赖包
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
如无网络环境,则去阿里云镜像下载rpm一个个安装即可,地址:https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/
3、上传到服务器,解压
tar -zxvf postgresql-12.2.tar.gz
4、编译pgsql源码进行安装
./configure --prefix=/usr/local/pgsql/
说明:
./configure 验证安装环境(此处就会报缺少哪些依赖)
--prefix=/../../ 安装到prefix指定的目录
5、编译
make
6、安装
make install
7、创建postgres用户组,创建postgres用户
groupadd postgres
useradd -g postgres postgres
8、创建pgsql数据库的数据主目录并修改文件权限
cd /usr/local/pgsql/
mkdir data
9、配置环境变量
vi ~/.bashrc
在文件末尾添加以下内容:
export PATH=$PATH:/usr/local/pgsql/bin
export PGDATA=/usr/local/pgsql/data
export PGUSER=postgres
export PGPASSWORD=16899168
10、使环境变量生效
source ~/.bashrc
11、切换到postgres用户初始化数据库
sudo -u postgres /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
12、写一个服务
sudo vi /etc/systemd/system/postgresql.service
编辑
[Unit]
Description=PostgreSQL database server
After=network.target
[Service]
Type=forking
User=postgres
Group=postgres
ExecStart=/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data -l /usr/local/pgsql/data/logfile
ExecStop=/usr/local/pgsql/bin/pg_ctl stop -D /usr/local/pgsql/data
ExecReload=/usr/local/pgsql/bin/pg_ctl reload -D /usr/local/pgsql/data
PrivateTmp=true
[Install]
WantedBy=multi-user.target
保存并退出文件后,重新加载 systemd 配置:
sudo systemctl daemon-reload
13、启动服务
sudo systemctl start postgresql
sudo systemctl status postgresql
14、验证安装
sudo -u postgres /usr/local/pgsql/bin/psql
成功进入命令行界面,说明安装成功。输入 \q 可退出。
15、开放端口访问,需修改两个配置文件:postgresql.conf和pg_hba.conf,都在data目录下
postgresql.conf
listen_addresses = '*' # 允许所有IP连接
pg_hba.conf
把127.0.0.1改成0.0.0.0
重启服务即可。