apiSQL 迁移至已有 PG 数据库指南
apiSQL 是一款API管理平台,支持将数据库快速封装为 REST API 与 MCP Server,同时可代理并统一管理已有 API,提供一致的安全认证、访问控制与日志审计能力。
默认情况下,apiSQL 使用内置的 PG 数据库存储系统表。若企业已有 PostgreSQL 数据库,希望集中管理和备份,可按以下步骤对接:
第一步:在新 PostgreSQL 数据库创建用户和数据库
注意:示例密码"123456"仅用于演示,生产环境请使用强密码
sql
-- 1. 创建用户
CREATE ROLE apisql_admin WITH LOGIN PASSWORD '123456';
-- 2. 创建专用数据库
CREATE DATABASE apisql;
-- 3. 授予用户数据库权限
GRANT ALL PRIVILEGES ON DATABASE apisql TO apisql_admin;
-- 4. 设置用户默认搜索路径
ALTER ROLE apisql_admin SET search_path TO main, public;
第二步:数据迁移
bash
# 1. 进入 apiSQL 容器
docker exec -it apisql-ee /bin/bash
# 2. 导出当前数据
pg_dump "postgresql://admin:abcd654321@127.0.0.1:5432/apisql" -Fp -f bak.sql --no-owner
# 3. 导入到新数据库
psql -h 192.168.2.46 -p 5432 -U apisql_admin -d apisql -f bak.sql

第三步:配置 apiSQL 使用新数据库
- 导出配置文件
bash
# 从容器中复制配置文件
docker cp apisql-ee:/config/cc/config.json .

- 修改数据库连接配置
bash
vi config.json
更新数据库连接字符串:
bash
"DBPg": "postgres://apisql_admin:123456@192.168.2.46:5432/apisql?sslmode=disable",

- 映射配置文件
bash
# 编辑 docker-compose.yml 添加配置映射
vi docker-compose.yml
增加:
bash
- ./config.json:/config/cc/config.json

- 重启服务
bash
# 停止服务
docker compose down
# 启动服务
docker compose up -d

- 验证配置
使用原有账号登录系统,确认功能正常。


