七千二百袋水泥
七千二百袋水泥
Published on 2025-09-21 / 2 Visits

超详细教程:NAS上PostgreSQL数据库的Docker Compose部署指南,新手零基础也能轻松上手,包括安装、配置和使用全解析

PostgreSQL 是一款功能强大的开源对象关系数据库管理系统,它以其卓越的性能、高可靠性和出色的可扩展性而著称,广泛应用于企业级应用、大数据处理以及复杂的业务场景中,为用户提供稳定且高效的数据存储解决方案。

Image

部署步骤

使用 Docker Compose 可以简化 PostgreSQL 的安装过程。以下是一个基本的配置示例,帮助您快速启动和运行数据库服务。

services:  
  postgres:  
    image: postgres:latest  
    container_name: postgres  
    ports:  
      - 5432:5432  
    volumes:  
      - /vol1/1000/docker/postgres:/var/lib/postgresql/data  
    environment:  
      - POSTGRES_PASSWORD=password  
    restart: always

参数说明(更多详细信息建议查阅官方文档):

  • POSTGRES_USER(环境变量,可选):用于设置超级管理员用户名,默认值为 postgres。
  • POSTGRES_DB(环境变量,可选):用于设置初始数据库名称,默认值为 postgres。

提示:在部署过程中,请确保映射的目录为空,以避免因现有文件冲突导致的问题。有时使用 Compose 模板时,目录中可能包含其他文件,需要提前清理。

Image

在本示例中,我使用了飞牛部署方式,由于原端口已被占用,我对端口进行了调整,同时修改了数据存储路径以适应实际环境。

![Image](data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='1px' height='1px' viewBox='0 0 1 1' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3E%3C/title%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' fill-opacity='0'%3E%3Cg transform='translate(-249.000000, -126.000000)' fill='%23FFFFFF'%3E%3Crect x='249' y='126' width='1' height='1'%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E "null")

如果日志中没有错误提示,并且对应的映射路径自动创建了相关文件,这表明部署成功,数据库服务已正常启动。

Image

基本操作

一旦部署完成,您可以通过容器的终端界面来管理和操作数据库。首先,打开对应容器的终端。

Image

切换到 postgres 用户,以获取适当的权限执行数据库命令。

su postgres

Image

进入 PostgreSQL 自带的交互式终端工具,开始数据库操作。

psql

Image

创建新数据库,使用以下命令,将“表名”替换为您所需的数据库名称。

create database 表名;

![Image](data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='1px' height='1px' viewBox='0 0 1 1' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3E%3C/title%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' fill-opacity='0'%3E%3Cg transform='translate(-249.000000, -126.000000)' fill='%23FFFFFF'%3E%3Crect x='249' y='126' width='1' height='1'%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E "null")

查看所有现有的数据库列表,使用以下命令。

\list(或\l)

![Image](data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='1px' height='1px' viewBox='0 0 1 1' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3E%3C/title%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' fill-opacity='0'%3E%3Cg transform='translate(-249.000000, -126.000000)' fill='%23FFFFFF'%3E%3Crect x='249' y='126' width='1' height='1'%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E "null")

删除不再需要的数据库,使用以下命令,谨慎操作以避免数据丢失。

drop database 表名;

![Image](data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='1px' height='1px' viewBox='0 0 1 1' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3E%3C/title%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' fill-opacity='0'%3E%3Cg transform='translate(-249.000000, -126.000000)' fill='%23FFFFFF'%3E%3Crect x='249' y='126' width='1' height='1'%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E "null")

总结与评价

本教程简要介绍了 PostgreSQL 数据库的基础部署和使用方法。在实际应用中,PostgreSQL 通常需要与其他软件协同工作,部署前只需设置好管理员账户即可顺利运行。总体而言,这是一个实用且高效的数据库解决方案。

综合推荐:⭐⭐⭐(适用于有特定需求的场景)

使用体验:⭐⭐⭐(依赖与其他应用的集成)

部署难度:⭐⭐(过程相对简单)