下面是一个示例的 docker-compose.yml 文件,可以用于部署 PostgreSQL 12.8 和 pgAdmin 4:

version: '3'

services:
  postgres:
    image: postgres:12.8
    container_name: postgres
    restart: always
    volumes:
      - '/data01/postgres-data:/var/lib/postgresql/data'
    environment:
      POSTGRES_USER: root
      POSTGRES_PASSWORD: 'vzNS2rmcLJhMKQCL'
      PGDATA: '/var/lib/postgresql/data/pgdata'
      PGPORT: '5432'
    ports:
      - '5432:5432'
    networks:
      - postgres_network

  pgadmin:
    image: dpage/pgadmin4
    container_name: pgadmin
    restart: always
    environment:
      PGADMIN_DEFAULT_EMAIL: admin@admin.com
      PGADMIN_DEFAULT_PASSWORD: admin
    ports:
      - '8080:80'
    networks:
      - postgres_network

networks:
  postgres_network:

这个文件定义了两个服务:postgres 和 pgadmin。postgres 服务使用官方的 PostgreSQL 12.8 镜像,并将数据目录挂载到本地的 /data01/postgres-data 目录。同时设置了用户名和密码,并将容器的 5432 端口映射到本地的 5432 端口。pgadmin 服务使用 dpage/pgadmin4 镜像,启动一个基于 Web 的管理工具,将容器的 80 端口映射到本地的 8080 端口。

此外,我们还定义了一个名为 postgres_network 的网络,用于将两个服务连接在一起。

要部署这个配置文件,只需在命令行中切换到包含 docker-compose.yml 文件的目录,并运行以下命令:

docker-compose up -d

这将启动两个服务,并在后台运行。

为了优化 PostgreSQL 的性能,可以使用以下建议:

  1. 配置适当的内存和 CPU 资源,以避免资源瓶颈。
  2. 启用 WAL 日志,以确保数据持久性和故障恢复。
  3. 配置适当的缓存大小,以提高查询性能。
  4. 使用连接池来管理数据库连接,并避免连接泄漏和过多的连接数。
  5. 定期进行 VACUUM 和 ANALYZE 操作,以优化表格性能和查询计划。
  6. 避免使用不必要的索引和触发器,以提高写入性能。
  7. 在部署时使用最新版本的 PostgreSQL 和相关工具,并定期更新。
  8. 使用合适的存储引擎和分区策略,以适应特定的应用场景。

尽管 PostgreSQL 可以支持高并发,但也需要根据实际情况进行优化和调整,以达到最佳性能和可靠性。

CentOS7.6 Docker 部署 PostgreSQL 12.8 和 pgAdmin 4:数据挂载、性能优化及高并发支持

原文地址: https://www.cveoy.top/t/topic/nkgU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录