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


52Hertz
原创
发布时间: 2025-12-20 17:55:49 | 阅读数 0收藏数 0评论数 0
封面
本文详细演示如何在 Ubuntu 或 Debian 系统上从官方源码包完整编译并安装 PostgreSQL 18。涵盖依赖安装、用户与数据目录创建、数据库初始化、systemd 服务配置及开机自启设置,并验证安装结果。
1

下载postgresql

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

# 配置编译选项,指定安装路径为 /opt/postgresql
./configure --prefix=/opt/postgresql

# 编译源码并安装(安装步骤需要 root 权限)
make && sudo make install

说明:

  1. ./configure 会检查系统环境并生成适合当前系统的 Makefile。
  2. make 编译源代码。
  3. sudo make install 将编译好的程序文件安装到 --prefix 指定的目录(即 /opt/postgresql)。
make -j$(nproc) && sudo make install
3

创建用户

# 创建名为 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

# 切换到 postgres 用户,并启动一个 Bash 会话
sudo su - postgres -s /bin/bash

# 初始化数据库
/opt/postgresql/bin/initdb -D /var/lib/postgresql -U postgres -W
5

开机自启

创建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();"

作用说明:

  1. postgres 用户身份运行 psql 客户端;
  2. 连接到默认数据库(通常为 postgres);
  3. 执行 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
禁止 本文未经作者允许授权,禁止转载
猜你喜欢
评论/提问(已发布 0 条)
评论 评论
收藏 收藏
分享 分享
pdf下载 下载
pdf下载 举报