Ubuntu源码编译安装PostgreSQL并配置开机自启

本文详细演示如何在 Ubuntu 或 Debian 系统上从官方源码包完整编译并安装 PostgreSQL 18。涵盖依赖安装、用户与数据目录创建、数据库初始化、systemd 服务配置及开机自启设置,并验证安装结果。
1
下载postgresql






1234
postgresql下载地址。
# 安装编译 PostgreSQL 所需的依赖包
sudo apt install build-essential pkg-config libicu-dev bison flex libreadline-dev zlib1g-dev
# 解压下载的 PostgreSQL 源码包
tar -zxvf postgresql-18.0.tar.gz
# 将解压后的源码目录移动到
/usr/local/ sudo mv postgresql-18.0 /usr/local/
# 进入源码目录
cd /usr/local/postgresql-18.0/
2
编译并安装Postgresql





123
# 配置编译选项,指定安装路径为 /opt/postgresql
./configure --prefix=/opt/postgresql
# 编译源码并安装(安装步骤需要 root 权限)
make && sudo make install
说明:
./configure会检查系统环境并生成适合当前系统的 Makefile。make编译源代码。sudo make install将编译好的程序文件安装到--prefix指定的目录(即/opt/postgresql)。
make -j$(nproc) && sudo make install
3
创建用户






1234
# 创建名为 postgres 的系统用户组
sudo groupadd postgres
# 创建 postgres 用户,并将其加入 postgres 组
sudo useradd -g postgres postgres
# 创建 PostgreSQL 数据存储目录
sudo mkdir -p /var/lib/postgresql
# 将数据目录的所有权赋予 postgres 用户和组
sudo chown -R postgres:postgres /var/lib/postgresql
4
初始化postgresql





123
# 切换到 postgres 用户,并启动一个 Bash 会话
sudo su - postgres -s /bin/bash
# 初始化数据库
/opt/postgresql/bin/initdb -D /var/lib/postgresql -U postgres -W
5
开机自启




12
创建systemd服务文件
sudo vim /etc/systemd/system/postgresql.servicef
复制粘贴以下内容
sudo tee /etc/systemd/system/postgresql.service <<EOF
[Unit]
Description=PostgreSQL 18 database server
After=network.target
[Service]
Type=simple
User=postgres
Group=postgres
ExecStart=/opt/postgresql/bin/postgres -D /var/lib/postgresql
Restart=on-failure
RestartSec=10
TimeoutSec=300
[Install]
WantedBy=multi-user.target
重新加载systemd配置,使文件生效
sudo systemctl daemon-reload
查看当前状态
sudo systemctl status postgresql
设置为开机自启
sudo systemctl enable postgresql
6
查看版本信息

验证PostgreSQ版本
sudo -u postgres /opt/postgresql/bin/psql -c "SELECT version();"
作用说明:
- 以
postgres用户身份运行psql客户端; - 连接到默认数据库(通常为
postgres); - 执行 SQL 命令
SELECT version();,返回 PostgreSQL 的完整版本信息,包括版本号、编译时间、操作系统等。
安装成功会显示以下内容
version
---------------------------------------------------------------------------------------------------------
PostgreSQL 18.0 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 11.4.0-1ubuntu1~22.04.2) 11.4.0, 64-bit
(1 row)
0
0
0
qq空间
微博
复制链接
分享 更多相关项目
猜你喜欢
评论/提问(已发布 0 条)
0