Ubuntu 安装 Postgres 单节点
PostgreSQL 是一款功能强大、稳定可靠的开源关系型数据库,具备高并发处理能力和完善的事务机制,被广泛应用于各类数据密集型系统中。
通用 #DBA#PostgreSQL#Ubuntu#Docker#数据库部署#General
前言
PostgreSQL 是一款功能强大、稳定可靠的开源关系型数据库,具备高并发处理能力和完善的事务机制,被广泛应用于各类数据密集型系统中.
在实际生产与开发过程中,单节点部署因其架构简单、部署快速、运维成本低,常用于开发测试环境或中小规模业务场景。
本文基于 Ubuntu 系统,详细介绍 PostgreSQL 单节点的安装与基础配置流程,帮助读者快速完成数据库环境搭建,为后续业务接入或高可用架构扩展提供基础。
前期准备
创建目录
创建项目目录并进入项目目录
<b>mkdir -p /data/workspace/install-postgres && cd /data/workspace/install-postgres</b>
开始部署
准备文件
以下是需要的 docker-compose.yaml 文件
- 需要打开postgressql.log
- 需要打开postgres_backup 轮周备份
<b># version: "3.8"</b>
<b>services:</b>
<b> postgres:</b>
<b> image: postgres:18 </b>
<b> container_name: pg-enterprise</b>
<b> restart: unless-stopped</b>
<b> environment:</b>
<b> POSTGRES_USER: postgres</b>
<b> POSTGRES_PASSWORD: postgres@!QAZxsw2</b>
<b> POSTGRES_DB: postgres</b>
<b> ports:</b>
<b> - "5432:5432"</b>
<b> volumes:</b>
<b> # 关键修正:只挂到 /var/lib/postgresql,让镜像自己建 18/main 子目录</b>
<b> - pg_data:/var/lib/postgresql</b>
<b> # 其余企业参数、健康检查、command 等保持不动</b>
<b> command: ></b>
<b> postgres</b>
<b> -c max_connections=200</b>
<b> -c shared_buffers=256MB</b>
<b> -c effective_cache_size=1GB</b>
<b> -c statement_timeout=30s</b>
<b> -c log_min_duration_statement=1000</b>
<b> -c password_encryption=scram-sha-256</b>
<b> healthcheck:</b>
<b> test: ["CMD-SHELL", "pg_isready -U postgres"]</b>
<b> interval: 10s</b>
<b> timeout: 5s</b>
<b> retries: 5</b>
<b> start_period: 30s</b>
<b>volumes:</b>
<b> pg_data:</b>
编辑文件
切换到项目目录并 vim 编写 docker-compose.yaml
<b>cd /data/workspace/install-postgres && vim docker-compose.yaml</b>
将上面的 docker-compose.yaml 文件插入到当前编写的文件中
启动服务
执行启动命令
<b>cd /data/workspace/install-postgres && docker-compose up -d</b>
查看日志
<b>docker ps</b>
<b>docker logs -f <containerd id></b>
验证部署
测试连接:用自带的 pg_isready 检测端口、用 psql 执行简单 SQL 并打印版本/时间
<b>docker exec -it pg-enterprise psql -U postgres -c "select version(); select current_timestamp; select 'Hello from PG' as msg;"</b>
预计输出:
<b> version </b>
<b>--------------------------------------------------------------------------------------------------------------------</b>
<b> PostgreSQL 18.1 (Debian 18.1-1.pgdg13+2) on x86_64-pc-linux-gnu, compiled by gcc (Debian 14.2.0-19) 14.2.0, 64-bit</b>
<b>(1 row)</b>
<b> current_timestamp </b>
<b>-------------------------------</b>
<b> 2025-11-21 07:24:12.303782+00</b>
<b>(1 row)</b>
<b> msg </b>
<b>---------------</b>
<b> Hello from PG</b>
<b>(1 row)</b> 下一篇
暂无