待分类·

PostgreSQL数据库

15817744063

15817744063

110 1

PostgreSQL 是一个功能强大的开源对象关系型数据库系统,拥有超过 35 年的活跃开发历史,在可靠性、功能健壮性和性能方面赢得了良好的声誉。

有大量的资料介绍了如何通过官方文档安装使用 PostgreSQL。开源社区提供了许多有用的场所,可以帮助您熟悉 PostgreSQL,了解其工作原理并找到职业机会。了解更多关于如何参与社区的信息。

操作步骤

以下是使用 Docker Compose 部署 PostgreSQL 的步骤,包含指定数据目录、日志目录、密码配置和远程访问设置:

创建目录结构

mkdir -p postgres/{data,logs,config}
cd postgres

创建自定义配置文件

config/postgresql.conf

# 监听所有 IP 地址
listen_addresses = '*'

# 日志配置
logging_collector = on
log_directory = '/var/log/postgresql'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_rotation_age = 1d
log_rotation_size = 100MB

# 内存配置
shared_buffers = 2GB # 例如设置为 2GB,根据你的实际可用内存调整 25%--40%
work_mem = 64MB     # 例如设置为 64MB,根据你的需求调整 16MB--128MB

config/pg_hba.conf

# 允许所有远程连接使用密码认证
host all all 0.0.0.0/0 md5

创建 docker-compose.yml

services:
  postgres:
    image: postgres:17-alpine
    container_name: postgres
    restart: unless-stopped
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres2025.rymcu#
      POSTGRES_DB: postgres
    ports:
      - "5432:5432"
    volumes:
      - ./data:/var/lib/postgresql/data
      - ./logs:/var/log/postgresql
      - ./config/postgresql.conf:/etc/postgresql/postgresql.conf
      - ./config/pg_hba.conf:/etc/postgresql/pg_hba.conf
    command: 
      - "postgres"
      - "-c"
      - "config_file=/etc/postgresql/postgresql.conf"

文件权限处理

sudo chmod 777 /postgres/logs
sudo chmod 777 /postgres/data

启动容器

docker compose up -d

验证连接

# 本地连接验证
docker exec -it postgres psql -U postgres -d postgres

# 远程连接验证(从其他机器)
psql -h <服务器IP> -p 5432 -U postgres -d postgres
  1. 数据持久化 通过 volume 挂载将容器内的 /var/lib/postgresql/data 映射到宿主机的 ./data 目录
  2. 日志配置
    • 日志存储在 /var/log/postgresql 目录
    • 每天轮转日志文件,保留 1 天的日志
    • 单个日志文件最大 100MB
  3. 远程访问
    • listen_addresses = '*' 监听所有网络接口
    • pg_hba.conf 允许所有 IP 通过密码认证访问
  4. 安全建议
    • 生产环境应使用更强密码(建议 12 位以上包含大小写字母、数字和符号)
    • 可限制 IP 范围,修改 pg_hba.conf 为: host all all 192.168.1.0/24 md5

常用管理命令

# 查看日志
docker logs postgres

# 进入容器
docker exec -it postgres bash

# 停止服务
docker compose down

# 备份数据库
docker exec postgres pg_dump -U postgres postgres > backup.sql







https://zq.zhaopin.com/moment/24193270
https://zq.zhaopin.com/moment/24193268
https://zq.zhaopin.com/moment/24193265
https://zq.zhaopin.com/moment/24193257
https://zq.zhaopin.com/moment/24193109
https://zq.zhaopin.com/moment/24193096
https://zq.zhaopin.com/moment/24193111
https://zq.zhaopin.com/moment/24193109
https://zq.zhaopin.com/moment/24193106
https://zq.zhaopin.com/moment/24193103
https://zq.zhaopin.com/moment/24193099
https://zq.zhaopin.com/moment/24193091
https://zq.zhaopin.com/moment/24193090
https://zq.zhaopin.com/moment/24193088
https://zq.zhaopin.com/moment/24193083
https://zq.zhaopin.com/moment/24193082
https://zq.zhaopin.com/moment/24193081
https://zq.zhaopin.com/moment/24193079
https://zq.zhaopin.com/moment/24193073
https://zq.zhaopin.com/moment/24193068
https://zq.zhaopin.com/moment/24193063
https://zq.zhaopin.com/moment/24193061
https://zq.zhaopin.com/moment/24193056
https://zq.zhaopin.com/moment/24193053
https://zq.zhaopin.com/moment/24193043
https://zq.zhaopin.com/moment/24193037
https://zq.zhaopin.com/moment/24193033
https://zq.zhaopin.com/moment/24192943
https://zq.zhaopin.com/moment/24192940
https://zq.zhaopin.com/moment/24192933
https://zq.zhaopin.com/moment/24192911
https://zq.zhaopin.com/moment/24207964
https://zq.zhaopin.com/moment/24207970
https://zq.zhaopin.com/moment/24207972
https://zq.zhaopin.com/moment/24207979
https://zq.zhaopin.com/moment/24207981
https://zq.zhaopin.com/moment/24207981
https://zq.zhaopin.com/moment/24207983
https://zq.zhaopin.com/moment/24207995
https://zq.zhaopin.com/moment/24207998
https://zq.zhaopin.com/moment/24208002
https://zq.zhaopin.com/moment/24208004
https://zq.zhaopin.com/moment/24208006
https://zq.zhaopin.com/moment/24208010
https://zq.zhaopin.com/moment/24208016
https://zq.zhaopin.com/moment/24208024
https://zq.zhaopin.com/moment/24208031
https://zq.zhaopin.com/moment/24208042
https://zq.zhaopin.com/moment/24208047
https://zq.zhaopin.com/moment/24208051
https://zq.zhaopin.com/moment/24208055
https://zq.zhaopin.com/moment/24208061
https://zq.zhaopin.com/moment/24208074
https://zq.zhaopin.com/moment/24208084
https://zq.zhaopin.com/moment/24208086
https://zq.zhaopin.com/moment/24208096
https://zq.zhaopin.com/moment/24208098
https://zq.zhaopin.com/moment/24208100
https://zq.zhaopin.com/moment/24208103
https://zq.zhaopin.com/moment/24208112
https://zq.zhaopin.com/moment/24208114
https://zq.zhaopin.com/moment/24208117
https://zq.zhaopin.com/moment/24208118
https://zq.zhaopin.com/moment/24208120
https://zq.zhaopin.com/moment/24208122
https://zq.zhaopin.com/moment/24208123

相关文章

优先推荐同专题、同标签和同作者内容,补足热门文章。

评论 1

登录 后参与评论

评论 1

Hugh
Hugh11月27日 10:28

正好刷到有了mySQL为什么还需要PostgreSQL的视频😁