Files
TakeoutSaaS.Docs/deploy/postgres/README.md
2026-01-29 01:58:15 +00:00

1.5 KiB
Raw Blame History

PostgreSQL 部署脚本

本目录提供在测试/预发布环境快速拉起 PostgreSQL 的脚本,复用线上同名数据库与账号,方便迁移/恢复。

目录结构

  • create_databases.sql:创建四个业务库与对应角色(可多次执行,存在则跳过)。
  • bootstrap.ps1PowerShell 包装脚本,调用 psql 执行 SQL。

前置条件

  1. 已安装 PostgreSQL 12+,并能以管理员身份访问(默认使用 postgres)。
  2. 本地已配置 psql 可执行命令。

使用方法

cd deploy/postgres
.\bootstrap.ps1 `
  -Host 120.53.222.17 `
  -Port 5432 `
  -AdminUser postgres `
  -AdminPassword "超级管理员密码"

脚本会:

  1. 创建/更新以下角色与库:
    • app_user / takeout_app_db
    • identity_user / takeout_identity_db
    • dictionary_user / takeout_dictionary_db
    • hangfire_user / takeout_hangfire_db
  2. 为库设置 COMMENT授予 Schema public 的 CRUD 权限。
  3. 输出执行日志,失败时终止。

自定义

  • 如需修改密码或新增库,编辑 create_databases.sql 后重新运行脚本。
  • 若在本地拉起测试库,可把 Host 指向 localhost,其余参数保持一致。

常见问题

问题 处理方式
psql : command not found 确认 PostgreSQL bin 目录已加入 PATH。
permission denied to create database 改用具有 CREATEDB 权限的管理员执行脚本。
需要删除库 DROP DATABASE xxx,再运行脚本重新创建。