源码安装PostgreSQL
- 本文使用的Linux发行版本为AlmaLinux 9.2 64位(CentOS停止更新后的完美替代发行版本)。
- 本文安装的PostgreSQL版本为16.1,其他版本方法类似。
准备工作
- 更新系统。
dnf -y update
- 安装依赖。
dnf -y group install "Development tools" dnf -y install readline-devel libicu libicu-devel
- 创建postgres用户。
groupadd postgres useradd -g postgres postgres
- 创建安装目录并授权。
mkdir -p /usr/local/postgres16.1 chown -R postgres:postgres /usr/local/postgres16.1
- 切换postgres用户,并进入用户目录。
su postgres cd ~
- 修改环境变量配置。
- 编辑
.bash_profile
文件。vim .bash_profile
- 按
i
在# User specific environment and startup programs
后添加如下内容。export PG_HOME=/usr/local/postgres16.1 export PATH=$PG_HOME/bin:$PATH export PGDATA=$PG_HOME/data
- 按
Ecs
输入:wq!
保存并退出。 - 使环境变量生效。
source .bash_profile
- 编辑
源码安装PostgreSQL
- 获取源码链接。
- 进入PostgreSQL官网,单击
Download
。 - 找到目标版本的源码包,右键复制链接。
- 进入PostgreSQL官网,单击
- 下载。
wget https://ftp.postgresql.org/pub/source/v16.1/postgresql-16.1.tar.gz
- 解压。
tar -zxvf postgresql-16.1.tar.gz
- 编译安装。
cd postgresql-16.1 ./configure --prefix=$PG_HOME make make install
- 查看版本验证。
psql --version
- 初始化。
initdb -D $PGDATA
- 启动。
pg_ctl start
- 进入数据库。
psql
- 输入
\password
为postgres管理员用户初始化密码。(需要输入两次) - 输入
\q
退出数据库。
开放外部访问
- 停止服务。
pg_ctl stop
- 修改
postgresql.conf
配置文件。- 编辑
postgresql.conf
配置文件。vim $PGDATA/postgresql.conf
- 按
i
修改如下内容,放开注释。listen_addresses = '*' # what IP address(es) to listen on; # comma-separated list of addresses; # defaults to 'localhost'; use '*' for all # (change requires restart) port = 5432 # (change requires restart)
如果你的PostgreSQL部署在云服务器上,还需要在云服务器上对外开启5432端口。
- 输入
:wq!
保存并退出。
- 编辑
- 修改
pg_hba.conf
配置文件。- 编辑
pg_hba.conf
配置文件。vim $PGDATA/pg_hba.conf
- 找到
# IPv4 local connections:
区域,在该区域下按i
编辑,将原有默认本地连接的配置修改为如下内容。host all all 0.0.0.0/0 md5
- 输入
:wq!
保存并退出。
- 编辑
- 启动服务。
pg_ctl start
- 现在就可以从外部访问PostgreSQL数据库了。
psql -h <服务器IP> -P 5432 -U postgres -d postgres