参考资料

  1. SimpleDocker 是一个轻量级 Docker 管理工具
  2. Docker Swarm 是 Docker 原生的集群管理工具
  3. SonarQube 是一个开源的代码质量管理平台
  4. TeamSpeak(TS)是一款专为游戏玩家和团队协作设计的语音通信软件
  5. Caddy 是一个现代化的、开源的 Web 服务器和反向代理工具
  6. Open Liberty是由IBM开发的开源轻量级Java应用服务器
  7. Jenkins 是一个开源的持续集成和持续交付(CI/CD)工具
  8. Rocky Linux 是一个开源企业级操作系统

PostgreSQL 是一个开源的关系型数据库管理系统

PostgreSQL 简介

PostgreSQL 是一个开源的关系型数据库管理系统(RDBMS),支持 SQL 标准并扩展了许多高级功能。它以其稳定性、可扩展性和强大的功能集而闻名,适用于各种规模的应用程序。

特点

  1. 开源免费:遵循 PostgreSQL License,可自由使用和修改。

  2. 高度可扩展:支持自定义数据类型、函数、操作符和索引。

  3. ACID 兼容:严格的事务支持,确保数据一致性。

  4. 多版本并发控制(MVCC):高效处理并发读写操作。

  5. 丰富的扩展生态:如 PostGIS(地理空间数据)、pg_partman(分区管理)等。

  6. 跨平台:支持 Linux、Windows、macOS 等操作系统。

最新更新内容及时间

  • 版本 16(2023年9月14日发布):

    • 逻辑复制的并行处理。

    • 新增 pg_stat_io 视图监控 I/O 统计。

    • 增强 JSON/JSONB 处理性能。

    • 改进 vacuum 和 ANALYZE 操作。

下载地址

官网地址

文档地址

Docker 安装示例

# 拉取镜像
docker pull postgres:16

# 运行容器(默认用户 postgres,密码 mypassword)
docker run --name mypostgres \
  -e POSTGRES_PASSWORD=mypassword \
  -p 5432:5432 \
  -d postgres:16

# 进入容器
docker exec -it mypostgres psql -U postgres

YAML 配置示例(如 docker-compose.yml

version: '3'
services:
  postgres:
    image: postgres:16
    environment:
      POSTGRES_USER: admin
      POSTGRES_PASSWORD: secret
      POSTGRES_DB: mydb
    ports:
      - "5432:5432"
    volumes:
      - pgdata:/var/lib/postgresql/data
volumes:
  pgdata:

常见错误及解决

  1. 连接拒绝

    • 检查服务是否启动:systemctl status postgresql

    • 确认 pg_hba.conf 配置允许连接(如 host all all 0.0.0.0/0 md5)。

  2. 端口占用

    • 修改端口或停止冲突服务:netstat -tulnp | grep 5432

  3. 权限不足

    • 确保用户有数据库访问权限:  

      GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
  4. 磁盘空间不足

    • 清理 WAL 日志或扩展存储:VACUUM FULL;

  5. 启动失败

    • 检查日志:journalctl -u postgresql/var/log/postgresql.log