Major Changes: - Add StreamingService with OpenAI Compatible format - Upgrade Chat component V2 with Ant Design X integration - Implement AIA module with 12 intelligent agents - Update API routes to unified /api/v1 prefix - Update system documentation Backend (~1300 lines): - common/streaming: OpenAI Compatible adapter - modules/aia: 12 agents, conversation service, streaming integration - Update route versions (RVW, PKB to v1) Frontend (~3500 lines): - modules/aia: AgentHub + ChatWorkspace (100% prototype restoration) - shared/Chat: AIStreamChat, ThinkingBlock, useAIStream Hook - Update API endpoints to v1 Documentation: - AIA module status guide - Universal capabilities catalog - System overview updates - All module documentation sync Tested: Stream response verified, authentication working Status: AIA V2.0 core completed (85%)
1201 lines
26 KiB
Markdown
1201 lines
26 KiB
Markdown
# PostgreSQL 15 <20>唳旿摨㯄<E691A8>蝵脫<E89DB5>雿𨀣<E99BBF><F0A880A3>?
|
||
|
||
**<EFBFBD><EFBFBD>﹝<EFBFBD><EFBFBD>𧋦**: v1.0
|
||
**<EFBFBD>𥕦遣<EFBFBD>園𡢿**: 2025-12-24
|
||
**<EFBFBD><EFBFBD>鍂<EFBFBD>箸艶**: <20>砍𧑐PostgreSQL<51>唳旿摨栞<E691A8>蝘餃<E89D98><E9A483>輸<EFBFBD>鈭駵DS
|
||
**<EFBFBD>唳旿摨梶<EFBFBD><EFBFBD>?*: PostgreSQL 15
|
||
**<EFBFBD>函蔡<EFBFBD>孵<EFBFBD>**: pg_dump<6D>券<EFBFBD>撖澆<E69296>
|
||
**憸<>恣<EFBFBD>園𡢿**: 30<33><30><EFBFBD>
|
||
|
||
---
|
||
|
||
## <20><> <20>桀<EFBFBD>
|
||
|
||
1. [<EFBFBD>函蔡璁<EFBFBD>膩](#1-<2D>函蔡璁<E894A1>膩)
|
||
2. [<5B>滨蔭<E6BBA8>∩辣璉<E8BEA3><E79289>包(#2-<2D>滨蔭<E6BBA8>∩辣璉<E8BEA3><E79289>?
|
||
3. [<EFBFBD>函蔡甇仿炊](#3-<2D>函蔡甇仿炊)
|
||
4. [撉諹<EFBFBD>瘚贝<EFBFBD>](#4-撉諹<E69289>瘚贝<E7989A>)
|
||
5. [摰匧<EFBFBD><EFBFBD>惩𤐄](#5-摰匧<E691B0><E58CA7>惩𤐄)
|
||
6. [撣貉<EFBFBD><EFBFBD>桅<EFBFBD>](#6-撣貉<E692A3><E8B289>桅<EFBFBD>)
|
||
7. [<EFBFBD>墧<EFBFBD><EFBFBD>寞<EFBFBD>](#7-<2D>墧<EFBFBD><E5A2A7>寞<EFBFBD>)
|
||
8. [<5B><>雿喳<E99BBF>頝琶(#8-<2D><>雿喳<E99BBF>頝?
|
||
|
||
---
|
||
|
||
## 1. <20>函蔡璁<E894A1>膩
|
||
|
||
### 1.1 <20>函蔡<E587BD>格<EFBFBD>
|
||
|
||
```yaml
|
||
<EFBFBD>格<EFBFBD>: 撠<EFBFBD>𧋦<EFBFBD>蚤ocker PostgreSQL<51>唳旿摨枏<E691A8><E69E8F>渲<EFBFBD>蝘餃<E89D98><E9A483>輸<EFBFBD>鈭駵DS PostgreSQL 15
|
||
|
||
<EFBFBD>寞<EFBFBD>: pg_dump<EFBFBD>券<EFBFBD>撖澆枂 + psql撖澆<E69296>
|
||
|
||
隡睃飵:
|
||
<EFBFBD>?100%摰峕㟲嚗<E39FB2><E59A97><EFBFBD>?<3F>唳旿+蝝W<E89D9D>+憭㚚睸嚗?
|
||
<EFBFBD>?銝<>甈⊥<E79488>批<EFBFBD><E689B9>?
|
||
<EFBFBD>?<3F>舫<EFBFBD>憭齿<E686AD>銵?
|
||
<EFBFBD>?蝞<><E89D9E>訫虾<E8A8AB>?
|
||
<EFBFBD>?<3F><>鉄pg-boss銵剁<E98AB5>銝漤<E98A9D>閬<EFBFBD><E996AC><EFBFBD>砍<EFBFBD><E7A08D><EFBFBD><EFBFBD>
|
||
```
|
||
|
||
### 1.2 <20>函蔡<E587BD>嗆<EFBFBD>
|
||
|
||
```
|
||
<EFBFBD>砍𧑐<EFBFBD>臬<EFBFBD> <20>輸<EFBFBD>鈭駵DS
|
||
<EFBFBD>𢞖<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <20>𢞖<EFBFBD><F0A29E96><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
|
||
<EFBFBD>? <20>? <20>? <20>?
|
||
<EFBFBD>? Docker <20>? pg_dump撖澆枂 <20>? RDS PostgreSQL <20>?
|
||
<EFBFBD>? PostgreSQL 15 <20>?<3F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>><3E>? 15.14 <20>?
|
||
<EFBFBD>? <20>? psql撖澆<E69296> <20>? <20>?
|
||
<EFBFBD>? 26 MB<4D>唳旿 <20>? <20>? VPC<50><43><EFBFBD> <20>?
|
||
<EFBFBD>? 10銝杵chema <20>? <20>? 2<>?GB <20>?
|
||
<EFBFBD>? 34銝芾” <20>? <20>? 50GB摮睃<E691AE> <20>?
|
||
<EFBFBD>婙<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <20>婙<EFBFBD><E5A999><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
|
||
```
|
||
|
||
### 1.3 <20>唳旿摨㮖縑<E3AE96>?
|
||
|
||
#### <20>砍𧑐<E7A08D>唳旿摨?
|
||
|
||
```yaml
|
||
摰孵膥<EFBFBD>滨妍: ai-clinical-postgres
|
||
<EFBFBD>𨅯<EFBFBD>: postgres:15-alpine
|
||
<EFBFBD>唳旿摨枏<EFBFBD>: ai_clinical_research
|
||
<EFBFBD>冽<EFBFBD><EFBFBD>? postgres
|
||
撖<EFBFBD><EFBFBD>: postgres
|
||
蝡臬藁: 5432
|
||
<EFBFBD>唳旿憭批<EFBFBD>: 蝥?6 MB
|
||
```
|
||
|
||
#### RDS<44>唳旿摨?
|
||
|
||
```yaml
|
||
摰硺<EFBFBD>ID: pgm-2zex1m2y3r23hdn5
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>啣<EFBFBD>: pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432
|
||
<EFBFBD>唳旿摨枏<EFBFBD>: ai_clinical_research
|
||
<EFBFBD>冽<EFBFBD><EFBFBD>? airesearch
|
||
撖<EFBFBD><EFBFBD>: Xibahe@fengzhibo117
|
||
<EFBFBD><EFBFBD>𧋦: PostgreSQL 15.14
|
||
閫<EFBFBD>聢: 2<EFBFBD>?GB
|
||
摮睃<EFBFBD>: 50GB SSD
|
||
<EFBFBD>啣<EFBFBD>: <EFBFBD>𤾸<EFBFBD>2嚗<EFBFBD><EFBFBD>鈭穿<EFBFBD>
|
||
VPC: vpc-2ze055cptkew9c38w4r06 (172.17.0.0/16)
|
||
<EFBFBD>賢<EFBFBD><EFBFBD>? 172.17.0.0/16嚗ĀPC蝵烐挾嚗?
|
||
<EFBFBD>嗅躹: Asia/Shanghai
|
||
```
|
||
|
||
---
|
||
|
||
## 2. <20>滨蔭<E6BBA8>∩辣璉<E8BEA3><E79289>?
|
||
|
||
### 2.1 <20>砍𧑐<E7A08D>臬<EFBFBD>璉<EFBFBD><E79289>?
|
||
|
||
```powershell
|
||
# 1. 璉<><E79289>主ocker<65>臬炏餈鞱<E9A488>
|
||
docker --version
|
||
|
||
# 2. 璉<><E79289>仙ostgreSQL摰孵膥<E5ADB5>嗆<EFBFBD>?
|
||
docker ps --filter "name=ai-clinical-postgres"
|
||
# 憸<><E686B8>颲枏枂: 摰孵膥<E5ADB5>嗆<EFBFBD><E59786>蛹 Up嚗<70><E59A97>摨瑞𠶖<E7919E><F0A0B696>蛹 healthy
|
||
|
||
# 3. 撉諹<E69289><E8ABB9>砍𧑐<E7A08D>唳旿摨栞<E691A8><E6A09E>?
|
||
docker exec ai-clinical-postgres psql -U postgres -d ai_clinical_research -c "SELECT version();"
|
||
# 憸<><E686B8>颲枏枂: PostgreSQL 15.x
|
||
|
||
# 4. 璉<><E79289>交㺭<E4BAA4>桀<EFBFBD>憭批<E686AD>
|
||
docker exec ai-clinical-postgres psql -U postgres -d ai_clinical_research -c "SELECT pg_size_pretty(pg_database_size('ai_clinical_research'));"
|
||
# 憸<><E686B8>颲枏枂: 蝥?6 MB
|
||
```
|
||
|
||
### 2.2 RDS<44>臬<EFBFBD>璉<EFBFBD><E79289>?
|
||
|
||
```yaml
|
||
<EFBFBD>𡢅<EFBFBD> RDS摰硺<E691B0>撌脣<E6928C>撱箔<E692B1>餈鞱<E9A488>銝?
|
||
<EFBFBD>𡢅<EFBFBD> VPC<50>䔶漱<E494B6>X㦤撌脤<E6928C>蝵?
|
||
<EFBFBD>𡢅<EFBFBD> <20>賢<EFBFBD><E8B3A2>訫歇<E8A8AB>滨蔭: 172.17.0.0/16
|
||
<EFBFBD>𡢅<EFBFBD> <20>嗅躹撌脰挽蝵? Asia/Shanghai
|
||
<EFBFBD>𡢅<EFBFBD> <20>唳旿摨梶鍂<E6A2B6>瑕歇<E79195>𥕦遣: airesearch
|
||
<EFBFBD>𡢅<EFBFBD> <20>唳旿摨枏<E691A8><E69E8F><EFBFBD>歇霈啣<E99C88>: Xibahe@fengzhibo117
|
||
```
|
||
|
||
### 2.3 蝵𤑳<E89DB5>餈墧𦻖璉<F0A6BB96><E79289>?
|
||
|
||
```yaml
|
||
<EFBFBD>寞<EFBFBD>A: <EFBFBD><EFBFBD>CS頝單踎<EFBFBD>?
|
||
- <EFBFBD><EFBFBD><EFBFBD>ECS<EFBFBD>祉<EFBFBD>IP
|
||
- <EFBFBD><EFBFBD><EFBFBD>SSH撖<EFBFBD>𤨎<EFBFBD>硋<EFBFBD><EFBFBD>?
|
||
- 蝖桐<EFBFBD>ECS<EFBFBD>典<EFBFBD>銝<EFBFBD>VPC
|
||
|
||
<EFBFBD>寞<EFBFBD>B: 銝湔𧒄憭𣇉<EFBFBD>霈輸䔮嚗<EFBFBD>𧋦<EFBFBD><EFBFBD>﹝<EFBFBD><EFBFBD>鍂嚗?
|
||
- <EFBFBD><EFBFBD>閬<EFBFBD>葩<EFBFBD>嗅<EFBFBD><EFBFBD>爹DS憭𣇉<EFBFBD><EFBFBD>啣<EFBFBD>
|
||
- <EFBFBD><EFBFBD>閬<EFBFBD><EFBFBD>蝵桃蒾<EFBFBD>滚<EFBFBD>嚗<EFBFBD>葩<EFBFBD>嗡蝙<EFBFBD>?.0.0.0/0嚗?
|
||
- <EFBFBD>𩤃<EFBFBD> 摰峕<E691B0><E5B395>𡒊<EFBFBD><F0A1928A>喳<EFBFBD><E596B3>剖<EFBFBD>蝵𤏸挪<F0A48FB8>?
|
||
```
|
||
|
||
---
|
||
|
||
## 3. <20>函蔡甇仿炊
|
||
|
||
### 甇仿炊1: 撖澆枂<E6BE86>砍𧑐<E7A08D>唳旿摨橒<E691A8>5<EFBFBD><35><EFBFBD>嚗?
|
||
|
||
#### 1.1 撖澆枂<E6BE86>唳旿摨?
|
||
|
||
```powershell
|
||
# <20>券★<E588B8>格覔<E6A0BC>桀<EFBFBD><E6A180>扯<EFBFBD>
|
||
cd D:\MyCursor\AIclinicalresearch
|
||
|
||
# 撖澆枂摰峕㟲<E5B395>唳旿摨橒<E691A8><E6A992><EFBFBD>𡠺蝏𤘪<E89D8F><F0A498AA><EFBFBD>㺭<EFBFBD>柴<EFBFBD><E69FB4>揣撘𨰻<E69298><F0A8B0BB><EFBFBD><EFBFBD>殷<EFBFBD>
|
||
docker exec ai-clinical-postgres pg_dump `
|
||
-U postgres `
|
||
-d ai_clinical_research `
|
||
--format=plain `
|
||
--no-owner `
|
||
--no-acl `
|
||
--encoding=UTF8 `
|
||
> "rds_init_$(Get-Date -Format 'yyyyMMdd_HHmmss').sql"
|
||
```
|
||
|
||
**<EFBFBD><EFBFBD>㺭霂湔<EFBFBD>嚗?*
|
||
|
||
```yaml
|
||
-U postgres: 雿輻鍂postgres<EFBFBD>冽<EFBFBD>
|
||
-d ai_clinical_research: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>唳旿摨枏<EFBFBD>
|
||
--format=plain: 蝥舀<EFBFBD><EFBFBD>昤QL<EFBFBD>澆<EFBFBD>
|
||
--no-owner: 銝滚紡<EFBFBD>箸<EFBFBD><EFBFBD>㕑<EFBFBD><EFBFBD>縑<EFBFBD>荔<EFBFBD><EFBFBD>踹<EFBFBD><EFBFBD>冽<EFBFBD><EFBFBD>滚<EFBFBD>蝒<EFBFBD><EFBFBD>
|
||
--no-acl: 銝滚紡<EFBFBD>箸<EFBFBD><EFBFBD>𣂷縑<EFBFBD>荔<EFBFBD>雿輻鍂RDS暺䁅恕<EFBFBD><EFBFBD><EFBFBD>嚗?
|
||
--encoding=UTF8: UTF-8蝻𣇉<E89DBB>嚗<EFBFBD>葉<EFBFBD><E89189>𣈲<EFBFBD><F0A388B2><EFBFBD>
|
||
```
|
||
|
||
#### 1.2 撉諹<E69289>撖澆枂<E6BE86><E69E82>辣
|
||
|
||
```powershell
|
||
# 璉<><E79289>交<EFBFBD>隞嗅之撠誩<E692A0><E8AAA9>𥕦遣<F0A595A6>園𡢿
|
||
Get-ChildItem rds_init_*.sql |
|
||
Sort-Object LastWriteTime -Descending |
|
||
Select-Object -First 1 |
|
||
Format-Table Name, @{Name="Size(MB)";Expression={[math]::Round($_.Length/1MB,2)}}, LastWriteTime -AutoSize
|
||
```
|
||
|
||
**憸<><E686B8>蝏𤘪<E89D8F>嚗?*
|
||
|
||
```
|
||
Name Size(MB) LastWriteTime
|
||
---- -------- -------------
|
||
rds_init_20251224_154529.sql 88.23 2025/12/24 15:45:30
|
||
```
|
||
|
||
**璉<><E79289>亥<EFBFBD><E4BAA5>對<EFBFBD>**
|
||
|
||
```yaml
|
||
<EFBFBD>?<3F><>辣憭批<E686AD><E689B9><EFBFBD><EFBFBD>嚗?0-100 MB嚗?
|
||
<EFBFBD>?<3F><>辣<EFBFBD>𥕦遣<F0A595A6>園𡢿銝箏<E98A9D><E7AE8F>?
|
||
<EFBFBD>?<3F><>辣<EFBFBD>滚<EFBFBD><E6BB9A>急𧒄<E680A5>湔<EFBFBD>
|
||
```
|
||
|
||
---
|
||
|
||
### 甇仿炊2: 撘<><E69298>爹DS憭𣇉<E686AD>霈輸䔮嚗?<3F><><EFBFBD>嚗?
|
||
|
||
<EFBFBD>𩤃<EFBFBD> **<EFBFBD>滩<EFBFBD>摰匧<EFBFBD><EFBFBD>鞟內嚗?* 甇斗郊撉支<E69289>銝湔𧒄撘<F0A79284><E69298>暹㺭<E69AB9>桀<EFBFBD><E6A180><EFBFBD><EFBFBD>蝵𤏸挪<F0A48FB8>殷<EFBFBD>摮睃銁摰匧<E691B0>憌𡡞埯<F0A1A19E><E59FAF><EFBFBD>憿餃銁撖澆<E69296>摰峕<E691B0><E5B395>𡒊<EFBFBD><F0A1928A>喳<EFBFBD><E596B3>哨<EFBFBD>
|
||
|
||
#### 2.1 <20>餃<EFBFBD>RDS<44>批<EFBFBD><E689B9>?
|
||
|
||
```
|
||
霈輸䔮: https://rdsnext.console.aliyun.com/
|
||
<EFBFBD>啣<EFBFBD>: <20>𤾸<EFBFBD>2嚗<32><E59A97>鈭穿<E988AD>
|
||
```
|
||
|
||
#### 2.2 <20>唾窈憭𣇉<E686AD><F0A38789>啣<EFBFBD>
|
||
|
||
1. <20>曉<EFBFBD>摰硺<E691B0>嚗䫤pgm-2zex1m2y3r23hdn5`
|
||
2. <20>孵稬摰硺<E691B0>ID嚗諹<E59A97><E8ABB9>亙<EFBFBD>靘贝祕<E8B49D>?
|
||
3. 撌虫儒<E899AB>𨅯<EFBFBD>嚗?*<2A>唳旿摨栞<E691A8><E6A09E>?* <20>?**<2A>唾窈憭𣇉<E686AD><F0A38789>啣<EFBFBD>**
|
||
4. 蝡臬藁嚗䫤5432`嚗<><E59A97>霈歹<E99C88>
|
||
5. <20>孵稬 **蝖桀<E89D96>**
|
||
6. 蝑匧<E89D91>30-60蝘𡜐<E89D98>憭𣇉<E686AD><F0A38789>啣<EFBFBD><E595A3><EFBFBD><EFBFBD>
|
||
|
||
**<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝵穃𧑐<EFBFBD><EFBFBD>蝷箔<EFBFBD>嚗?*
|
||
|
||
```
|
||
pgm-2zex1m2y3r23hdn5ko.pg.rds.aliyuncs.com
|
||
```
|
||
|
||
<EFBFBD>𩤃<EFBFBD> **霈啣<E99C88>甇文𧑐<E69687><F0A79190>嚗<EFBFBD><E59A97>蝏剜郊撉日<E69289>閬<EFBFBD>蝙<EFBFBD>剁<EFBFBD>**
|
||
|
||
#### 2.3 <20>滨蔭<E6BBA8>賢<EFBFBD><E8B3A2>?
|
||
|
||
**<EFBFBD>輸<EFBFBD>鈭睲<EFBFBD>撘寧<EFBFBD>霂a䔮嚗?*
|
||
|
||
```
|
||
<EFBFBD>臬炏撠?0.0.0.0/0 <20>惩<EFBFBD><E683A9>賢<EFBFBD><E8B3A2>𤏪<EFBFBD>
|
||
```
|
||
|
||
**<EFBFBD>㗇𥋘嚗𡁶<EFBFBD><EFBFBD>颯<EFBFBD>峕糓<EFBFBD>?*
|
||
|
||
**憌𡡞埯霂湔<E99C82>嚗?*
|
||
|
||
```yaml
|
||
憌𡡞埯: <EFBFBD>其<EFBFBD><EFBFBD>䔶遙雿蓥犖<EFBFBD>賢虾隞亙<EFBFBD>霂閗<EFBFBD><EFBFBD>乩<EFBFBD><EFBFBD><EFBFBD>DS
|
||
|
||
蝻栞圾<EFBFBD>芣鴌:
|
||
<EFBFBD>?撖<><E69296>撘箏漲擃矋<E69383>Xibahe@fengzhibo117嚗?
|
||
<EFBFBD>?隞<>鍂10<31><30><EFBFBD>摰峕<E691B0>撖澆<E69296>
|
||
<EFBFBD>?撖澆<E69296><E6BE86>𡒊<EFBFBD><F0A1928A>喳<EFBFBD><E596B3>剖<EFBFBD>蝵𤏸挪<F0A48FB8>?
|
||
<EFBFBD>?摰鮋<E691B0><E9AE8B>湧蠧<E6B9A7>園𡢿<E59C92><F0A1A2BF><EFBFBD>
|
||
|
||
<EFBFBD>舀𦻖<EFBFBD>埈<EFBFBD>? <20>?銝湔𧒄靚<F0A79284><E99D9A>嚗<EFBFBD>虾<EFBFBD>亙<EFBFBD>
|
||
```
|
||
|
||
---
|
||
|
||
### 甇仿炊3: <20>𥕦遣<F0A595A6>唳旿摨橒<E691A8>1<EFBFBD><31><EFBFBD>嚗?
|
||
|
||
#### 3.1 餈墧𦻖<E5A2A7>訌DS
|
||
|
||
```powershell
|
||
# 瘚贝<E7989A>餈墧𦻖嚗<F0A6BB96><E59A97><EFBFBD>亙<EFBFBD>暺䁅恕postgres<65>唳旿摨橒<E691A8>
|
||
docker exec -e PGPASSWORD="Xibahe@fengzhibo117" ai-clinical-postgres psql `
|
||
-h pgm-2zex1m2y3r23hdn5ko.pg.rds.aliyuncs.com `
|
||
-p 5432 `
|
||
-U airesearch `
|
||
-d postgres `
|
||
-c "SELECT version();"
|
||
```
|
||
|
||
**憸<><E686B8>颲枏枂嚗?*
|
||
|
||
```
|
||
version
|
||
------------------------------------------------------------
|
||
PostgreSQL 15.14 on x86_64-pc-linux-gnu, compiled by gcc
|
||
(1 row)
|
||
```
|
||
|
||
#### 3.2 <20>𥕦遣<F0A595A6>唳旿摨?
|
||
|
||
```powershell
|
||
# <20>𥕦遣ai_clinical_research<63>唳旿摨?
|
||
docker exec -e PGPASSWORD="Xibahe@fengzhibo117" ai-clinical-postgres psql `
|
||
-h pgm-2zex1m2y3r23hdn5ko.pg.rds.aliyuncs.com `
|
||
-p 5432 `
|
||
-U airesearch `
|
||
-d postgres `
|
||
-c "CREATE DATABASE ai_clinical_research WITH ENCODING='UTF8' LC_COLLATE='en_US.utf8' LC_CTYPE='en_US.utf8' TEMPLATE=template0;"
|
||
```
|
||
|
||
**憸<><E686B8>颲枏枂嚗?*
|
||
|
||
```
|
||
CREATE DATABASE
|
||
```
|
||
|
||
#### 3.3 撉諹<E69289><E8ABB9>唳旿摨枏<E691A8>撱?
|
||
|
||
```powershell
|
||
# 撉諹<E69289><E8ABB9>唳旿摨枏<E691A8><E69E8F>?
|
||
docker exec -e PGPASSWORD="Xibahe@fengzhibo117" ai-clinical-postgres psql `
|
||
-h pgm-2zex1m2y3r23hdn5ko.pg.rds.aliyuncs.com `
|
||
-p 5432 `
|
||
-U airesearch `
|
||
-d postgres `
|
||
-c "\l ai_clinical_research"
|
||
```
|
||
|
||
---
|
||
|
||
### 甇仿炊4: 撖澆<E69296><E6BE86>唳旿<E594B3>訌DS嚗?-8<><38><EFBFBD>嚗争<E59A97>潃鐥<E6BD83>
|
||
|
||
<EFBFBD>?**餈蹱糓<E8B9B1><E7B393><EFBFBD>喲睸<E596B2><E79DB8>郊撉歹<E69289>霂瑁<E99C82>𣂼<EFBFBD>蝑匧<E89D91>嚗?*
|
||
|
||
#### 4.1 <20>扯<EFBFBD>撖澆<E69296>
|
||
|
||
```powershell
|
||
# <20>朞<EFBFBD>蝞⊿<E89D9E>撠<EFBFBD>QL<51><4C>辣撖澆<E69296>RDS
|
||
$env:PGPASSWORD="Xibahe@fengzhibo117"
|
||
Get-Content "rds_init_20251224_154529.sql" | `
|
||
docker exec -i -e PGPASSWORD="Xibahe@fengzhibo117" ai-clinical-postgres psql `
|
||
-h pgm-2zex1m2y3r23hdn5ko.pg.rds.aliyuncs.com `
|
||
-p 5432 `
|
||
-U airesearch `
|
||
-d ai_clinical_research
|
||
```
|
||
|
||
**瘜冽<E7989C>嚗?* 霂瑕<E99C82><E79195><EFBFBD>辣<EFBFBD>?`rds_init_20251224_154529.sql` <20>踵揢銝箏<E98A9D><E7AE8F><EFBFBD>紡<EFBFBD>箇<EFBFBD><E7AE87><EFBFBD>辣<EFBFBD>溻<EFBFBD>?
|
||
|
||
#### 4.2 撖澆<E69296>餈<EFBFBD><E9A488>颲枏枂蝷箔<E89DB7>
|
||
|
||
```
|
||
SET
|
||
SET
|
||
CREATE SCHEMA
|
||
CREATE SCHEMA
|
||
...嚗<>葉<EFBFBD>渡<EFBFBD><E6B8A1>交㺭<E4BAA4>曇<EFBFBD>嚗?..
|
||
CREATE TABLE
|
||
CREATE TABLE
|
||
COPY 1204 <20>?撖澆<E69296>1204銵峕㺭<E5B395>?
|
||
COPY 783
|
||
COPY 3
|
||
...
|
||
CREATE INDEX
|
||
CREATE INDEX
|
||
ALTER TABLE
|
||
...
|
||
```
|
||
|
||
**撖澆<E69296><E6BE86>園𡢿隡啁<E99AA1>嚗?*
|
||
|
||
```yaml
|
||
<EFBFBD><EFBFBD>辣憭批<EFBFBD>: 88 MB
|
||
憸<EFBFBD>恣<EFBFBD>園𡢿: 5-8 <EFBFBD><EFBFBD><EFBFBD>
|
||
<EFBFBD>硋<EFBFBD>鈭? 蝵𤑳<E89DB5>撣血捐<E8A180>朙DS<44>坔<EFBFBD><E59D94>笔漲
|
||
|
||
餈𥕦漲<EFBFBD><EFBFBD>內:
|
||
- <EFBFBD>见<EFBFBD> CREATE SCHEMA <20>?Schema<6D>𥕦遣銝?
|
||
- <EFBFBD>见<EFBFBD> CREATE TABLE <20>?銵典<E98AB5>撱箔葉
|
||
- <EFBFBD>见<EFBFBD> COPY <20>啣<EFBFBD> <20>?<3F>唳旿撖澆<E69296>銝哨<E98A9D><E593A8>啣<EFBFBD><E595A3>航<EFBFBD><E888AA>堆<EFBFBD>
|
||
- <EFBFBD>见<EFBFBD> CREATE INDEX <20>?蝝W<E89D9D><EFBCB7>𥕦遣銝?
|
||
- <EFBFBD>见<EFBFBD> ALTER TABLE <20>?憭㚚睸<E39A9A>𥕦遣銝?
|
||
```
|
||
|
||
#### 4.3 撖澆<E69296>摰峕<E691B0><E5B395><EFBFBD><EFBFBD>
|
||
|
||
敶枏𦶢隞斗<EFBFBD>銵<EFBFBD><EFBFBD><EFBFBD>鞱<EFBFBD><EFBFBD>墧<EFBFBD>蝷箇泵<EFBFBD>塚<EFBFBD>霂湔<EFBFBD>撖澆<EFBFBD>摰峕<EFBFBD><EFBFBD>?
|
||
|
||
---
|
||
|
||
### 甇仿炊5: 撉諹<E69289>撖澆<E69296>蝏𤘪<E89D8F>嚗?<3F><><EFBFBD>嚗?
|
||
|
||
#### 5.1 撉諹<E69289>Schema
|
||
|
||
```powershell
|
||
# 璉<><E79289>兄chema<6D>圈<EFBFBD>
|
||
docker exec -e PGPASSWORD="Xibahe@fengzhibo117" ai-clinical-postgres psql `
|
||
-h pgm-2zex1m2y3r23hdn5ko.pg.rds.aliyuncs.com `
|
||
-p 5432 `
|
||
-U airesearch `
|
||
-d ai_clinical_research `
|
||
-c "SELECT nspname FROM pg_namespace WHERE nspname LIKE '%_schema' ORDER BY nspname;"
|
||
```
|
||
|
||
**憸<><E686B8>颲枏枂嚗?*
|
||
|
||
```
|
||
nspname
|
||
--------------------
|
||
admin_schema
|
||
aia_schema
|
||
asl_schema
|
||
common_schema
|
||
dc_schema
|
||
pkb_schema
|
||
platform_schema
|
||
rvw_schema
|
||
ssa_schema
|
||
st_schema
|
||
(10 rows)
|
||
```
|
||
|
||
<EFBFBD>?**摨磰砲<E7A3B0>见<EFBFBD>10銝杵chema**
|
||
|
||
#### 5.2 撉諹<E69289>銵冽㺭<E586BD>?
|
||
|
||
```powershell
|
||
# 璉<><E79289>交<EFBFBD>銝杵chema<6D><61>”<EFBFBD>圈<EFBFBD>
|
||
docker exec -e PGPASSWORD="Xibahe@fengzhibo117" ai-clinical-postgres psql `
|
||
-h pgm-2zex1m2y3r23hdn5ko.pg.rds.aliyuncs.com `
|
||
-p 5432 `
|
||
-U airesearch `
|
||
-d ai_clinical_research `
|
||
-c "SELECT schemaname, COUNT(*) as table_count FROM pg_tables WHERE schemaname NOT IN ('pg_catalog', 'information_schema') GROUP BY schemaname ORDER BY schemaname;"
|
||
```
|
||
|
||
**憸<><E686B8>颲枏枂嚗?*
|
||
|
||
```
|
||
schemaname | table_count
|
||
-----------------+-------------
|
||
aia_schema | 5
|
||
asl_schema | 6
|
||
dc_schema | 6
|
||
pkb_schema | 5
|
||
platform_schema | 8
|
||
public | 4
|
||
(6 rows)
|
||
```
|
||
|
||
<EFBFBD>?**<2A>餉恣嚗?4銝芾”**
|
||
|
||
#### 5.3 撉諹<E69289>pg-boss銵剁<E98AB5><E58981>喲睸嚗?
|
||
|
||
```powershell
|
||
# 璉<><E79289>叼g-boss<73>?銝芾”<E88ABE>臬炏摮睃銁
|
||
docker exec -e PGPASSWORD="Xibahe@fengzhibo117" ai-clinical-postgres psql `
|
||
-h pgm-2zex1m2y3r23hdn5ko.pg.rds.aliyuncs.com `
|
||
-p 5432 `
|
||
-U airesearch `
|
||
-d ai_clinical_research `
|
||
-c "SELECT tablename FROM pg_tables WHERE schemaname = 'platform_schema' AND tablename IN ('job', 'queue', 'schedule', 'subscription', 'job_common', 'version') ORDER BY tablename;"
|
||
```
|
||
|
||
**憸<><E686B8>颲枏枂嚗?*
|
||
|
||
```
|
||
tablename
|
||
--------------
|
||
job
|
||
job_common
|
||
queue
|
||
schedule
|
||
subscription
|
||
version
|
||
(6 rows)
|
||
```
|
||
|
||
<EFBFBD>?**pg-boss<73>?銝芾”<E88ABE>券<EFBFBD>摮睃銁**
|
||
|
||
**霂湔<E99C82>嚗?*
|
||
|
||
```yaml
|
||
pg-boss銵函<E98AB5>雿𦦵鍂:
|
||
- job: 隞餃𦛚<EFBFBD>笔<EFBFBD>銵?
|
||
- queue: <EFBFBD>笔<EFBFBD><EFBFBD>滨蔭銵?
|
||
- schedule: 摰𡁏𧒄隞餃𦛚銵?
|
||
- subscription: 霈a<EFBFBD>銵?
|
||
- job_common: 隞餃𦛚<EFBFBD>𡁶鍂<EFBFBD>滨蔭銵?
|
||
- version: pg-boss<73><73>𧋦銵?
|
||
|
||
銝箔<EFBFBD>銋<EFBFBD><EFBFBD>閬?
|
||
- backend摨𠉛鍂靘肽<EFBFBD>pg-boss餈𥡝<E9A488>撘<EFBFBD>郊隞餃𦛚憭<F0A69B9A><E686AD>
|
||
- 憒<EFBFBD><EFBFBD>餈嗘<EFBFBD>銵其<EFBFBD>摮睃銁嚗𠩯ackend<EFBFBD>臬𢆡隡𡁜仃韐?
|
||
- <EFBFBD>朞<EFBFBD>pg_dump撖澆<EFBFBD>嚗諹<EFBFBD>鈭𥡝”隡朞䌊<EFBFBD>典<EFBFBD><EFBFBD>?
|
||
- 銝漤<EFBFBD>閬<EFBFBD>銁Prisma Schema銝剖<E98A9D>銋?
|
||
```
|
||
|
||
#### 5.4 撉諹<E69289><E8ABB9>唳旿<E594B3>?
|
||
|
||
```powershell
|
||
# 璉<><E79289>亙<EFBFBD><E4BA99>株”<E6A0AA><E2809D>㺭<EFBFBD>桅<EFBFBD>
|
||
docker exec -e PGPASSWORD="Xibahe@fengzhibo117" ai-clinical-postgres psql `
|
||
-h pgm-2zex1m2y3r23hdn5ko.pg.rds.aliyuncs.com `
|
||
-p 5432 `
|
||
-U airesearch `
|
||
-d ai_clinical_research `
|
||
-c "SELECT COUNT(*) as user_count, 'platform_schema.users' as table_name FROM platform_schema.users UNION ALL SELECT COUNT(*), 'aia_schema.projects' FROM aia_schema.projects UNION ALL SELECT COUNT(*), 'asl_schema.literatures' FROM asl_schema.literatures;"
|
||
```
|
||
|
||
**憸<><E686B8>颲枏枂蝷箔<E89DB7>嚗?*
|
||
|
||
```
|
||
user_count | table_name
|
||
------------+------------------------
|
||
3 | platform_schema.users
|
||
2 | aia_schema.projects
|
||
1204 | asl_schema.literatures
|
||
(3 rows)
|
||
```
|
||
|
||
<EFBFBD>?**<2A>唳旿<E594B3>譍<EFBFBD><E8AD8D>砍𧑐銝<F0A79190><E98A9D>?*
|
||
|
||
#### 5.5 撉諹<E69289>蝝W<E89D9D><EFBCB7><EFBFBD><EFBFBD><EFBFBD>?
|
||
|
||
```powershell
|
||
# 璉<><E79289>亦揣撘閙㺭<E99699>?
|
||
docker exec -e PGPASSWORD="Xibahe@fengzhibo117" ai-clinical-postgres psql `
|
||
-h pgm-2zex1m2y3r23hdn5ko.pg.rds.aliyuncs.com `
|
||
-p 5432 `
|
||
-U airesearch `
|
||
-d ai_clinical_research `
|
||
-c "SELECT schemaname, COUNT(*) as index_count FROM pg_indexes WHERE schemaname NOT IN ('pg_catalog', 'information_schema') GROUP BY schemaname ORDER BY schemaname;"
|
||
```
|
||
|
||
```powershell
|
||
# 璉<><E79289>亙<EFBFBD><E4BA99>桃漲<E6A183><E6BCB2>㺭<EFBFBD>?
|
||
docker exec -e PGPASSWORD="Xibahe@fengzhibo117" ai-clinical-postgres psql `
|
||
-h pgm-2zex1m2y3r23hdn5ko.pg.rds.aliyuncs.com `
|
||
-p 5432 `
|
||
-U airesearch `
|
||
-d ai_clinical_research `
|
||
-c "SELECT COUNT(*) as fk_count FROM pg_constraint WHERE contype = 'f';"
|
||
```
|
||
|
||
---
|
||
|
||
### 甇仿炊6: <20>喲𡡒憭𣇉<E686AD>霈輸䔮嚗?<3F><><EFBFBD>嚗争<E59A97>潃鐥<E6BD83>潃鐥<E6BD83>
|
||
|
||
<EFBFBD>𩤃<EFBFBD> **餈蹱糓<E8B9B1><E7B393><EFBFBD>滩<EFBFBD><E6BBA9><EFBFBD><EFBFBD><EFBFBD>冽郊撉歹<E69289>敹<EFBFBD>◆蝡见朖<E8A781>扯<EFBFBD>嚗?*
|
||
|
||
#### 6.1 <20>𦠜𦆮憭𣇉<E686AD><F0A38789>啣<EFBFBD>
|
||
|
||
1. **<EFBFBD>𧼮<EFBFBD>RDS<EFBFBD>批<EFBFBD><EFBFBD>?*
|
||
- 摰硺<E691B0>霂行<E99C82>憿菟𢒰
|
||
|
||
2. **<EFBFBD>曉<EFBFBD><EFBFBD>峕㺭<EFBFBD>桀<EFBFBD>餈墧𦻖<EFBFBD>?*
|
||
|
||
3. **<EFBFBD>曉<EFBFBD>憭𣇉<EFBFBD><EFBFBD>啣<EFBFBD>**
|
||
```
|
||
pgm-2zex1m2y3r23hdn5ko.pg.rds.aliyuncs.com
|
||
```
|
||
|
||
4. **<2A>孵稬<E5ADB5>屸<EFBFBD><E5B1B8>曉<EFBFBD>蝵穃𧑐<E7A983><F0A79190><EFBFBD>?*
|
||
|
||
5. **<2A>函&霈文笆霂脲<E99C82>銝剔<E98A9D><E58994>颯<EFBFBD>𣬚&摰𠾼<E691B0>?*
|
||
|
||
6. **蝑匧<E89D91><E58CA7>删<EFBFBD><E588A0>?*
|
||
|
||
7. **蝖株恕<E6A0AA>嗆<EFBFBD><E59786><EFBFBD>銝箝<E98A9D>峕𧊋<E5B395>唾窈<E594BE>?* <20>?
|
||
|
||
#### 6.2 撉諹<E69289>憭𣇉<E686AD>霈輸䔮撌脣<E6928C><E884A3>?
|
||
|
||
```powershell
|
||
# 撠肽<E692A0>隞擧𧋦<E693A7>啗<EFBFBD><E59597>亙<EFBFBD>蝵穃𧑐<E7A983><F0A79190>嚗<EFBFBD><E59A97>霂亙仃韐伐<E99F90>
|
||
docker exec -e PGPASSWORD="Xibahe@fengzhibo117" ai-clinical-postgres psql `
|
||
-h pgm-2zex1m2y3r23hdn5ko.pg.rds.aliyuncs.com `
|
||
-p 5432 `
|
||
-U airesearch `
|
||
-d ai_clinical_research `
|
||
-c "SELECT 1;" `
|
||
--connect-timeout=5
|
||
|
||
# 憸<><E686B8>蝏𤘪<E89D8F>: 餈墧𦻖頞<F0A6BB96>𧒄<EFBFBD>𤥁<EFBFBD><F0A4A581>亙仃韐?
|
||
```
|
||
|
||
**憸<><E686B8><EFBFBD>躰秤嚗?*
|
||
|
||
```
|
||
psql: error: connection timed out
|
||
```
|
||
|
||
<EFBFBD>?**餈嗘葵<E59798>躰秤霂湔<E99C82>憭𣇉<E686AD>霈輸䔮撌脫<E6928C><E884AB>笔<EFBFBD><E7AC94>哨<EFBFBD>**
|
||
|
||
#### 6.3 <20><>蝏<EFBFBD><E89D8F><EFBFBD>函𠶖<E587BD>?
|
||
|
||
```yaml
|
||
RDS餈墧𦻖<EFBFBD>滨蔭:
|
||
<20><><EFBFBD><EFBFBD>啣<EFBFBD>: pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com <20>?(靽萘<E99DBD>)
|
||
憭𣇉<E686AD><F0A38789>啣<EFBFBD>: 撌脣<E6928C><E884A3>?<3F>?
|
||
<20>賢<EFBFBD><E8B3A2>? 172.17.0.0/16 (VPC蝵烐挾) <20>?
|
||
|
||
摰匧<EFBFBD><EFBFBD>嗆<EFBFBD>?
|
||
<20>?憭𣇉<E686AD><F0A38789>䭾<EFBFBD>霈輸䔮
|
||
<20>?<3F>芣<EFBFBD>VPC<50><43><EFBFBD>SAE摨𠉛鍂<F0A0899B>臭誑餈墧𦻖
|
||
<20>?摰匧<E691B0>憌𡡞埯撌脫<E6928C><E884AB>?
|
||
<20>?<3F>唳旿摨枏<E691A8>鈭擧<E988AD>摰匧<E691B0><E58CA7>嗆<EFBFBD>?
|
||
```
|
||
|
||
---
|
||
|
||
## 4. 撉諹<E69289>瘚贝<E7989A>
|
||
|
||
### 4.1 <20>砍𧑐摨𠉛鍂餈墧𦻖瘚贝<E7989A>嚗<EFBFBD>虾<EFBFBD>㚁<EFBFBD>
|
||
|
||
憒<EFBFBD><EFBFBD><EFBFBD><EFBFBD>閬<EFBFBD>𧋦<EFBFBD>唳<EFBFBD>霂閗<EFBFBD><EFBFBD>充DS嚗屸<EFBFBD>閬<EFBFBD>遣蝡喹SH<EFBFBD>折<EFBFBD>嚗?
|
||
|
||
```powershell
|
||
# <20>齿<EFBFBD>: <20><>閬<EFBFBD><E996AC>ECS頝單踎<E596AE>?
|
||
|
||
# 撱箇<E692B1>SSH<53>折<EFBFBD>
|
||
ssh -N -L 5433:pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432 root@ECS<43>祉<EFBFBD>IP
|
||
|
||
# <20>典𡖂銝<F0A19682>銝芰<E98A9D>蝡舀<E89DA1>霂閗<E99C82><E99697>?
|
||
$env:PGPASSWORD="Xibahe@fengzhibo117"
|
||
psql -h localhost -p 5433 -U airesearch -d ai_clinical_research -c "SELECT version();"
|
||
```
|
||
|
||
### 4.2 <20>滨蔭backend餈墧𦻖RDS
|
||
|
||
```bash
|
||
# backend/.env
|
||
DATABASE_URL=postgresql://airesearch:Xibahe%40fengzhibo117@pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432/ai_clinical_research?connection_limit=10&pool_timeout=10&connect_timeout=10
|
||
|
||
# <20>𩤃<EFBFBD> 瘜冽<E7989C>: 撖<><E69296>銝剔<E98A9D> @ 蝚血噡敹<E599A1>◆頧砌<E9A0A7>銝?%40
|
||
```
|
||
|
||
**URL蝻𣇉<E89DBB>閫<EFBFBD><E996AB>嚗?*
|
||
|
||
```yaml
|
||
<EFBFBD>寞<EFBFBD>摮㛖泵頧砌<EFBFBD>:
|
||
@ -> %40
|
||
# -> %23
|
||
$ -> %24
|
||
% -> %25
|
||
& -> %26
|
||
+ -> %2B
|
||
蝛箸聢 -> %20
|
||
```
|
||
|
||
### 4.3 backend<6E>臬𢆡瘚贝<E7989A>
|
||
|
||
```powershell
|
||
cd backend
|
||
npm run dev
|
||
|
||
# 憸<><E686B8><EFBFBD>亙<EFBFBD>:
|
||
# <20>?<3F>唳旿摨栞<E691A8><E6A09E>交<EFBFBD><E4BAA4>?
|
||
# <20>?pg-boss started
|
||
# <20>?Server listening on 0.0.0.0:3001
|
||
```
|
||
|
||
---
|
||
|
||
## 5. 摰匧<E691B0><E58CA7>惩𤐄
|
||
|
||
### 5.1 撖<><E69296>摰匧<E691B0>
|
||
|
||
```yaml
|
||
敶枏<EFBFBD>撖<EFBFBD><EFBFBD>: Xibahe@fengzhibo117
|
||
|
||
撘箏漲霂<EFBFBD>摯:
|
||
<20>?<3F>踹漲: 21銝芸<E98A9D>蝚?
|
||
<20>?憭批<E686AD>摮埈<E691AE>: Xibahe, X, S
|
||
<20>?撠誩<E692A0>摮埈<E691AE>: ibahe, fengzhibo
|
||
<20>?<3F>啣<EFBFBD>: 117
|
||
<20>?<3F>寞<EFBFBD>蝚血噡: @
|
||
<20>?撘箏漲: 擃?
|
||
|
||
撱箄悅:
|
||
- 摰𡁏<E691B0>頧格揢撖<E68FA2><E69296>嚗<EFBFBD><E59A97>3-6銝芣<E98A9D>嚗?
|
||
- 銝滩<E98A9D><E6BBA9>其誨<E585B6><E8AAA8>葉蝖祉<E89D96><E7A589><EFBFBD><EFBFBD><EFBFBD>?
|
||
- <20>芸銁SAE<41>臬<EFBFBD><E887AC>㗛<EFBFBD>銝剝<E98A9D>蝵?
|
||
- 銝滩<E98A9D><E6BBA9>𣂷漱<F0A382B7>蚣it隞枏<E99A9E>
|
||
```
|
||
|
||
### 5.2 <20>賢<EFBFBD><E8B3A2>閖<EFBFBD>蝵?
|
||
|
||
```yaml
|
||
敶枏<EFBFBD><EFBFBD>滨蔭: 172.17.0.0/16 (VPC蝵烐挾)
|
||
|
||
<EFBFBD><EFBFBD>雿喳<EFBFBD>頝?
|
||
<20>?雿輻鍂VPC蝵烐挾嚗䔶<E59A97><E494B6>典<EFBFBD><E585B8>截P
|
||
<20>?SAE摰硺<E691B0>IP隡𡁜<E99AA1><F0A1819C>吔<EFBFBD><E59094>閙㦤IP隡𡁜紡<F0A1819C>渲<EFBFBD><E6B8B2>亙仃韐?
|
||
<20>?銝滩<E98A9D><E6BBA9>滨蔭 0.0.0.0/0嚗<30><E59A97>蝵穃<E89DB5><E7A983>橘<EFBFBD>
|
||
<20>?銝滩<E98A9D><E6BBA9>滨蔭憭帋葵<E5B88B>閙㦤IP嚗<50>輕<EFBFBD>文𤌴<E69687>橘<EFBFBD>
|
||
|
||
撉諹<EFBFBD>:
|
||
- RDS<44>批<EFBFBD><E689B9>?> <20>唳旿摰匧<E691B0><E58CA7>?> <20>賢<EFBFBD><E8B3A2>閗挽蝵?
|
||
- 蝖株恕<E6A0AA>芣<EFBFBD> 172.17.0.0/16
|
||
- 蝖株恕瘝⊥<E7989D> 0.0.0.0/0
|
||
```
|
||
|
||
### 5.3 霈輸䔮<E8BCB8>批<EFBFBD>
|
||
|
||
```yaml
|
||
<EFBFBD>冽<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||
airesearch: 摨𠉛鍂銝梶鍂<E6A2B6>冽<EFBFBD>
|
||
- <20><><EFBFBD>: SELECT, INSERT, UPDATE, DELETE
|
||
- 銝滩<E98A9D><E6BBA9>刻<EFBFBD>蝥抒鍂<E68A92>?postgres
|
||
- <20><>撠𤩺<E692A0><F0A4A9BA>𣂼<EFBFBD><F0A382BC>?
|
||
|
||
餈墧𦻖<EFBFBD>𣂼<EFBFBD>:
|
||
- <20>滨蔭 connection_limit=10嚗<30><E59A97>銝杵AE摰硺<E691B0>嚗?
|
||
- <20>踹<EFBFBD>餈墧𦻖瘙㰘<E79899>堒偷
|
||
- RDS<44><53>憭扯<E686AD><E689AF>交㺭: 400
|
||
```
|
||
|
||
### 5.4 憭<>遢蝑𣇉裦
|
||
|
||
```yaml
|
||
RDS<EFBFBD>芸𢆡憭<EFBFBD>遢嚗<EFBFBD>撩<EFBFBD>嗅<EFBFBD><EFBFBD>荔<EFBFBD>:
|
||
<20>唳旿憭<E697BF>遢: 瘥誩予銝<E4BA88>甈?
|
||
<20>亙<EFBFBD>憭<EFBFBD>遢: 摰墧𧒄嚗㇊ITR<54>舀<EFBFBD>嚗?
|
||
靽萘<E99DBD><E89098>園𡢿: 7憭抬<E686AD><E68AAC>滩晶嚗?
|
||
憭<>遢<EFBFBD>園𡢿: <20>峕膥2:00-4:00
|
||
|
||
<EFBFBD>见𢆡敹怎<EFBFBD>嚗<EFBFBD><EFBFBD>閬<EFBFBD><EFBFBD>雿𨅯<EFBFBD>嚗?
|
||
- Schema<6D>䀹凒<E480B9>?
|
||
- 憭抒<E686AD><E68A92>砍<EFBFBD>蝥批<E89DA5>
|
||
- <20>𣳇膄憭折<E686AD><E68A98>唳旿<E594B3>?
|
||
- 靽萘<E99DBD>30-60憭?
|
||
|
||
<EFBFBD>W<EFBFBD><EFBFBD>賢<EFBFBD>:
|
||
<20>?<3F>園𡢿<E59C92>寞<EFBFBD>憭㵪<E686AD>PITR嚗?
|
||
<20>?<3F>舀<EFBFBD>憭滚<E686AD>隞餅<E99A9E>蝘?
|
||
<20>?憭<>遢摮睃<E691AE><E79D83>汰SS
|
||
```
|
||
|
||
---
|
||
|
||
## 6. 撣貉<E692A3><E8B289>桅<EFBFBD>
|
||
|
||
### <20>桅<EFBFBD>1: 撖澆枂<E6BE86>嗆<EFBFBD>蝷箸<E89DB7><E7AEB8>𣂷<EFBFBD>頞?
|
||
|
||
**<2A><>𠶖嚗?*
|
||
|
||
```
|
||
pg_dump: error: permission denied for table xxx
|
||
```
|
||
|
||
**<2A>笔<EFBFBD>嚗?* 雿輻鍂<E8BCBB><E98D82>鍂<EFBFBD>瑟瓷<E7919F>㕑雲憭<E99BB2><E686AD><EFBFBD>?
|
||
|
||
**閫<><E996AB>嚗?*
|
||
|
||
```bash
|
||
# 雿輻鍂頞<E98D82>漣<EFBFBD>冽<EFBFBD>postgres
|
||
docker exec ai-clinical-postgres pg_dump -U postgres -d ai_clinical_research ...
|
||
|
||
# <20>䔶<EFBFBD><E494B6>舀芦<E88880>𡁶鍂<F0A181B6>?
|
||
```
|
||
|
||
---
|
||
|
||
### <20>桅<EFBFBD>2: 撖澆<E69296><E6BE86>嗉<EFBFBD><E59789>亥<EFBFBD><E4BAA5>?
|
||
|
||
**<2A><>𠶖嚗?*
|
||
|
||
```
|
||
psql: error: connection timed out
|
||
```
|
||
|
||
**<2A>笔<EFBFBD>嚗?*
|
||
|
||
1. 憭𣇉<E686AD><F0A38789>啣<EFBFBD><E595A3>芸<EFBFBD><E88AB8>?
|
||
2. <20>賢<EFBFBD><E8B3A2>閙𧊋<E99699>滨蔭
|
||
3. 蝵𤑳<E89DB5><F0A491B3>桅<EFBFBD>
|
||
|
||
**<2A>埝䰻甇仿炊嚗?*
|
||
|
||
```bash
|
||
# 1. 蝖株恕憭𣇉<E686AD><F0A38789>啣<EFBFBD>撌脣<E6928C><E884A3>?
|
||
# RDS<44>批<EFBFBD><E689B9>?> <20>唳旿摨栞<E691A8><E6A09E>?> <20>亦<EFBFBD>憭𣇉<E686AD><F0A38789>啣<EFBFBD>
|
||
|
||
# 2. 蝖株恕<E6A0AA>賢<EFBFBD><E8B3A2>閖<EFBFBD>蝵?
|
||
# RDS<44>批<EFBFBD><E689B9>?> <20>唳旿摰匧<E691B0><E58CA7>?> <20>賢<EFBFBD><E8B3A2>閗挽蝵?
|
||
# 摨磰砲<E7A3B0><E7A0B2>鉄 0.0.0.0/0嚗<30>葩<EFBFBD>塚<EFBFBD><E5A19A>碶<EFBFBD><E7A2B6><EFBFBD><EFBFBD>蝵飡P
|
||
|
||
# 3. 瘚贝<E7989A>蝵𤑳<E89DB5>餈鮋<E9A488>𡁏<EFBFBD>?
|
||
ping pgm-2zex1m2y3r23hdn5ko.pg.rds.aliyuncs.com
|
||
|
||
# 4. 瘚贝<E7989A>蝡臬藁餈鮋<E9A488>𡁏<EFBFBD>?
|
||
Test-NetConnection -ComputerName pgm-2zex1m2y3r23hdn5ko.pg.rds.aliyuncs.com -Port 5432
|
||
```
|
||
|
||
---
|
||
|
||
### <20>桅<EFBFBD>3: 撖澆<E69296><E6BE86>嗆<EFBFBD>蝷箸㺭<E7AEB8>桀<EFBFBD>銝滚<E98A9D><E6BB9A>?
|
||
|
||
**<2A><>𠶖嚗?*
|
||
|
||
```
|
||
psql: error: database "ai_clinical_research" does not exist
|
||
```
|
||
|
||
**<2A>笔<EFBFBD>嚗?* 敹䁅扇<E48185>𥕦遣<F0A595A6>唳旿摨?
|
||
|
||
**閫<><E996AB>嚗?*
|
||
|
||
```bash
|
||
# <20><><EFBFBD>撱箸㺭<E7AEB8>桀<EFBFBD>
|
||
docker exec -e PGPASSWORD="Xibahe@fengzhibo117" ai-clinical-postgres psql `
|
||
-h pgm-2zex1m2y3r23hdn5ko.pg.rds.aliyuncs.com `
|
||
-p 5432 `
|
||
-U airesearch `
|
||
-d postgres `
|
||
-c "CREATE DATABASE ai_clinical_research WITH ENCODING='UTF8';"
|
||
|
||
# <20>嗅<EFBFBD><E59785>滚紡<E6BB9A>?
|
||
```
|
||
|
||
---
|
||
|
||
### <20>桅<EFBFBD>4: 撖澆<E69296><E6BE86>簵g-boss銵函撩憭?
|
||
|
||
**<2A><>𠶖嚗?*
|
||
|
||
```
|
||
backend<EFBFBD>臬𢆡<EFBFBD>亙<EFBFBD><EFBFBD>曄內:
|
||
Error: relation "platform_schema.job" does not exist
|
||
```
|
||
|
||
**<2A>笔<EFBFBD>嚗?* 撖澆枂<E6BE86>嗆𧊋<E59786><F0A78A8B>鉄pg-boss銵?
|
||
|
||
**<2A>埝䰻嚗?*
|
||
|
||
```bash
|
||
# 1. 璉<><E79289>亙紡<E4BA99>箇<EFBFBD>SQL<51><4C>辣
|
||
Get-Content rds_init_*.sql | Select-String "CREATE TABLE.*job"
|
||
|
||
# 摨磰砲<E7A3B0>见<EFBFBD>:
|
||
# CREATE TABLE platform_schema.job ...
|
||
# CREATE TABLE platform_schema.queue ...
|
||
# 蝑?銝芾”
|
||
|
||
# 2. 憒<><E68692>瘝⊥<E7989D>嚗屸<E59A97><E5B1B8>啣紡<E595A3>?
|
||
docker exec ai-clinical-postgres pg_dump -U postgres -d ai_clinical_research --format=plain --no-owner --no-acl > rds_init_new.sql
|
||
|
||
# 3. <20>齿鰵撖澆<E69296>
|
||
```
|
||
|
||
**憸<>俈嚗?*
|
||
|
||
```yaml
|
||
蝖桐<EFBFBD>雿輻鍂甇<EFBFBD>&<EFBFBD><EFBFBD>紡<EFBFBD>箏𦶢隞?
|
||
<EFBFBD>?雿輻鍂 pg_dump嚗<70>紡<EFBFBD>箸㟲銝芣㺭<E88AA3>桀<EFBFBD>嚗?
|
||
<EFBFBD>?銝滩<E98A9D><E6BBA9>?prisma migrate嚗<65>蘨撖澆枂Prisma摰帋<E691B0><E5B88B><EFBFBD>”嚗?
|
||
```
|
||
|
||
---
|
||
|
||
### <20>桅<EFBFBD>5: 撖<><E69296>銝剔<E98A9D><E58994>寞<EFBFBD>摮㛖泵撖潸稲餈墧𦻖憭梯揖
|
||
|
||
**<EFBFBD><EFBFBD>𠶖嚗?*
|
||
|
||
```
|
||
backend<EFBFBD>臬𢆡憭梯揖:
|
||
Error: password authentication failed for user "airesearch"
|
||
```
|
||
|
||
**<EFBFBD>笔<EFBFBD>嚗?* DATABASE_URL銝剔<E98A9D>撖<EFBFBD><E69296><EFBFBD>芣迤蝖株蓮銋?
|
||
|
||
**閫<><E996AB>嚗?*
|
||
|
||
```bash
|
||
# <20>躰秤蝷箔<E89DB7>嚗㇀ <20>芾蓮銋㚁<E98A8B>
|
||
DATABASE_URL=postgresql://airesearch:Xibahe@fengzhibo117@host:5432/db
|
||
|
||
# 甇<>&蝷箔<E89DB7>嚗㇀ 頧砌<E9A0A7>銝?%40嚗?
|
||
DATABASE_URL=postgresql://airesearch:Xibahe%40fengzhibo117@host:5432/db
|
||
```
|
||
|
||
**URL蝻𣇉<E89DBB>撌亙<E6928C>嚗?*
|
||
|
||
```javascript
|
||
// <20>冽<EFBFBD>閫<EFBFBD>膥<EFBFBD>批<EFBFBD><E689B9>啗<EFBFBD>銵?
|
||
encodeURIComponent("Xibahe@fengzhibo117")
|
||
// 颲枏枂: Xibahe%40fengzhibo117
|
||
```
|
||
|
||
---
|
||
|
||
### <20>桅<EFBFBD>6: SAE摨𠉛鍂<F0A0899B>䭾<EFBFBD>餈墧𦻖RDS
|
||
|
||
**<EFBFBD><EFBFBD>𠶖嚗?*
|
||
|
||
```
|
||
SAE<EFBFBD>亙<EFBFBD><EFBFBD>曄內:
|
||
connection to server failed: Connection timed out
|
||
```
|
||
|
||
**<EFBFBD>笔<EFBFBD>嚗?*
|
||
|
||
1. 雿輻鍂鈭<E98D82><E988AD>蝵穃𧑐<E7A983><F0A79190>嚗<EFBFBD>歇<EFBFBD>𣳇膄嚗?
|
||
2. <20>賢<EFBFBD><E8B3A2>閙𧊋<E99699><F0A78A8B>鉄VPC蝵烐挾
|
||
3. SAE<41>朙DS銝滚銁<E6BB9A>䔶<EFBFBD>VPC
|
||
|
||
**<EFBFBD>埝䰻甇仿炊嚗?*
|
||
|
||
```yaml
|
||
1. 蝖株恕雿輻鍂<E8BCBB><E98D82><EFBFBD><EFBFBD>啣<EFBFBD>:
|
||
<EFBFBD>?pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com嚗<6D><E59A97>蝵𡢅<E89DB5>
|
||
<EFBFBD>?pgm-2zex1m2y3r23hdn5ko.pg.rds.aliyuncs.com嚗<6D><E59A97>蝵𡢅<E89DB5>撌脣<E6928C><E884A3>歹<EFBFBD>
|
||
|
||
2. 蝖株恕<E6A0AA>賢<EFBFBD><E8B3A2>閖<EFBFBD>蝵?
|
||
RDS<EFBFBD>批<EFBFBD><EFBFBD>?> <20>唳旿摰匧<E691B0><E58CA7>?> <20>賢<EFBFBD><E8B3A2>閗挽蝵?
|
||
摨磰砲<EFBFBD><EFBFBD>鉄: 172.17.0.0/16
|
||
|
||
3. 蝖株恕VPC銝<43><E98A9D>?
|
||
- RDS VPC: vpc-2ze055cptkew9c38w4r06
|
||
- SAE VPC: 摨磰砲<EFBFBD>詨<EFBFBD>
|
||
- <EFBFBD>亦<EFBFBD><EFBFBD>孵<EFBFBD>: SAE<EFBFBD>批<EFBFBD><EFBFBD>?> 摨𠉛鍂霂行<E99C82> > 蝵𤑳<E89DB5><F0A491B3>滨蔭
|
||
|
||
4. 蝖株恕SAE<41>臬<EFBFBD><E887AC>㗛<EFBFBD>:
|
||
DATABASE_URL=postgresql://airesearch:Xibahe%40fengzhibo117@pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432/ai_clinical_research
|
||
瘜冽<EFBFBD>: 銝滩<EFBFBD><EFBFBD>?-ko <20>𡒊<EFBFBD>
|
||
```
|
||
|
||
---
|
||
|
||
## 7. <20>墧<EFBFBD><E5A2A7>寞<EFBFBD>
|
||
|
||
### 7.1 <20>墧<EFBFBD><E5A2A7>箸艶
|
||
|
||
```yaml
|
||
<EFBFBD><EFBFBD>閬<EFBFBD><EFBFBD>皛𡁶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||
- 撖澆<EFBFBD><EFBFBD>𤾸<EFBFBD><EFBFBD>唳㺭<EFBFBD>桐<EFBFBD>摰峕㟲
|
||
- 撖澆<EFBFBD>餈<EFBFBD><EFBFBD>銝剜鱏
|
||
- <EFBFBD>唳旿撉諹<EFBFBD>憭梯揖
|
||
- 摨𠉛鍂餈墧𦻖撘<EFBFBD>虜
|
||
```
|
||
|
||
### 7.2 <20>墧<EFBFBD>甇仿炊
|
||
|
||
```bash
|
||
# <20>寞<EFBFBD>A: <20>𣳇膄<F0A3B387>唳旿摨㯄<E691A8><E3AF84>啣紡<E595A3>伐<EFBFBD><E4BC90>刻<EFBFBD>嚗?
|
||
|
||
# 1. 餈墧𦻖<E5A2A7>訌DS
|
||
docker exec -e PGPASSWORD="Xibahe@fengzhibo117" ai-clinical-postgres psql `
|
||
-h pgm-2zex1m2y3r23hdn5ko.pg.rds.aliyuncs.com `
|
||
-p 5432 `
|
||
-U airesearch `
|
||
-d postgres
|
||
|
||
# 2. 蝏<>迫<EFBFBD><E8BFAB><EFBFBD>㕑<EFBFBD><E39591>?
|
||
SELECT pg_terminate_backend(pid)
|
||
FROM pg_stat_activity
|
||
WHERE datname = 'ai_clinical_research' AND pid <> pg_backend_pid();
|
||
|
||
# 3. <20>𣳇膄<F0A3B387>唳旿摨?
|
||
DROP DATABASE ai_clinical_research;
|
||
|
||
# 4. <20>齿鰵<E9BDBF>𥕦遣撟嗅紡<E59785>?
|
||
CREATE DATABASE ai_clinical_research WITH ENCODING='UTF8';
|
||
\q
|
||
|
||
# 5. <20>齿鰵撖澆<E69296>
|
||
Get-Content rds_init_*.sql | docker exec -i -e PGPASSWORD="Xibahe@fengzhibo117" ai-clinical-postgres psql -h ... -d ai_clinical_research
|
||
```
|
||
|
||
```bash
|
||
# <20>寞<EFBFBD>B: 雿輻鍂RDS敹怎<E695B9><E6808E>W<EFBFBD>嚗<EFBFBD><E59A97><EFBFBD>𨅯<EFBFBD>撱箔<E692B1>敹怎<E695B9>嚗?
|
||
|
||
# 1. <20>餃<EFBFBD>RDS<44>批<EFBFBD><E689B9>?
|
||
# 2. 憭<>遢<EFBFBD>W<EFBFBD> > 憭<>遢<EFBFBD>𡑒”
|
||
# 3. <20>曉<EFBFBD>撖澆<E69296><E6BE86>滨<EFBFBD>敹怎<E695B9>
|
||
# 4. <20>孵稬<E5ADB5>峕<EFBFBD>憭溻<E686AD>?
|
||
# 5. <20>㗇𥋘<E39787>W<EFBFBD><EFBCB7>孵<EFBFBD>:
|
||
# - <20>匧<EFBFBD>隞賡<E99A9E><E8B3A1>W<EFBFBD>嚗<EFBFBD><E59A97>憭滚<E686AD>敹怎<E695B9><E6808E>園𡢿<E59C92>對<EFBFBD>
|
||
# - <20>㗇𧒄<E39787>渡<EFBFBD><E6B8A1>W<EFBFBD>嚗㇊ITR嚗峕<E59A97>憭滚<E686AD>隞餅<E99A9E><E9A485>園𡢿嚗?
|
||
# 6. 蝖株恕<E6A0AA>W<EFBFBD>
|
||
```
|
||
|
||
### 7.3 <20>墧<EFBFBD>撉諹<E69289>
|
||
|
||
```bash
|
||
# 撉諹<E69289><E8ABB9>墧<EFBFBD><E5A2A7>𡒊<EFBFBD><F0A1928A>唳旿
|
||
docker exec -e PGPASSWORD="Xibahe@fengzhibo117" ai-clinical-postgres psql `
|
||
-h ... `
|
||
-d ai_clinical_research `
|
||
-c "SELECT schemaname, COUNT(*) FROM pg_tables WHERE schemaname NOT IN ('pg_catalog', 'information_schema') GROUP BY schemaname;"
|
||
```
|
||
|
||
---
|
||
|
||
## 8. <20><>雿喳<E99BBF>頝?
|
||
|
||
### 8.1 <20>函蔡<E587BD>滚<EFBFBD>憭?
|
||
|
||
```yaml
|
||
<EFBFBD>𡢅<EFBFBD> <20><><EFBFBD>璉<EFBFBD><E79289>交<EFBFBD><E4BAA4>?
|
||
1. <20>砍𧑐<E7A08D>唳旿摨枏歇憭<E6AD87>遢
|
||
2. RDS摰硺<E691B0>撌脣<E6928C>撱箏僎<E7AE8F>滨蔭摰峕<E691B0>
|
||
3. VPC蝵𤑳<E89DB5>撌脰<E6928C><E884B0>?
|
||
4. <20>賢<EFBFBD><E8B3A2>訫歇<E8A8AB>滨蔭嚗ĀPC蝵烐挾嚗?
|
||
5. <20>唳旿摨梶鍂<E6A2B6>瑕<EFBFBD>撖<EFBFBD><E69296>撌脰扇敶?
|
||
6. <20>嗅躹撌脰挽蝵殷<E89DB5>Asia/Shanghai嚗?
|
||
7. <20>芸𢆡憭<F0A286A1>遢撌脣<E6928C><E884A3>?
|
||
|
||
<EFBFBD>𡢅<EFBFBD> <20>園𡢿蝒堒藁<E5A092>㗇𥋘:
|
||
- 銝𡁜𦛚雿𤾸陸<EFBFBD><EFBFBD><EFBFBD>憒<EFBFBD><EFBFBD>銝?1<>孵<EFBFBD>嚗?
|
||
- 憸<EFBFBD><EFBFBD>頞喳<EFBFBD><EFBFBD>園𡢿嚗?0-60<36><30><EFBFBD>嚗?
|
||
- <EFBFBD>a<EFBFBD><EFBFBD>𣂼<EFBFBD><EFBFBD>函瑪<EFBFBD>舀<EFBFBD>
|
||
```
|
||
|
||
### 8.2 <20>扯<EFBFBD>餈<EFBFBD><E9A488>銝?
|
||
|
||
```yaml
|
||
<EFBFBD>𡢅<EFBFBD> <20>滢<EFBFBD>閫<EFBFBD><E996AB>:
|
||
1. <20>鞉郊<E99E89>扯<EFBFBD>嚗䔶<E59A97>閬<EFBFBD>歲甇仿炊
|
||
2. 瘥𤩺郊撉諹<E69289>蝏𤘪<E89D8F><F0A498AA>滨誧蝏?
|
||
3. 霈啣<E99C88>瘥𤩺郊<F0A4A9BA><E9838A><EFBFBD><EFBFBD>箏<EFBFBD><E7AE8F>園𡢿
|
||
4. <20><><EFBFBD><EFBFBD>躰秤蝡见朖<E8A781>𨀣迫<F0A880A3>埝䰻
|
||
5. 銝滩<E98A9D><E6BBA9>峕𧒄<E5B395>扯<EFBFBD>憭帋葵<E5B88B>滢<EFBFBD>
|
||
|
||
<EFBFBD>𡢅<EFBFBD> 摰匧<E691B0><E58CA7>讛<EFBFBD>:
|
||
1. 憭𣇉<E686AD>霈輸䔮<E8BCB8><E494AE>撠誩<E692A0>嚗?0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>琜<EFBFBD>
|
||
2. 撖澆<E69296>摰峕<E691B0>蝡见朖<E8A781>喲𡡒憭𣇉<E686AD>
|
||
3. 銝滩<E98A9D><E6BBA9>典<EFBFBD><E585B8>梁<EFBFBD>蝏𨀣<E89D8F>雿?
|
||
4. 銝滩<E98A9D>瘜<EFBFBD>蠧餈墧𦻖靽⊥<E99DBD>
|
||
```
|
||
|
||
### 8.3 <20>函蔡<E587BD>擧<EFBFBD><E693A7>?
|
||
|
||
```yaml
|
||
<EFBFBD>𡢅<EFBFBD> <20>蠘<EFBFBD>撉諹<E69289>:
|
||
1. Schema<6D>諹”<E8ABB9>圈<EFBFBD>甇<EFBFBD>&
|
||
2. <20>唳旿<E594B3>譍<EFBFBD><E8AD8D>砍𧑐銝<F0A79190><E98A9D>?
|
||
3. pg-boss銵典<E98AB5><E585B8>?
|
||
4. 蝝W<E89D9D><EFBCB7><EFBFBD><EFBFBD><EFBFBD>桀<EFBFBD><E6A180>?
|
||
5. backend<6E>賣迤撣貉<E692A3><E8B289>?
|
||
6. 摨𠉛鍂<F0A0899B>蠘<EFBFBD>甇<EFBFBD>虜
|
||
|
||
<EFBFBD>𡢅<EFBFBD> <20>扯<EFBFBD>撉諹<E69289>:
|
||
1. 餈墧𦻖撱嗉<E692B1> < 50ms嚗ĀPC<50><43><EFBFBD>嚗?
|
||
2. <20>亥砭<E4BAA5>滚<EFBFBD><E6BB9A>園𡢿甇<F0A1A2BF>虜
|
||
3. RDS CPU雿輻鍂<E8BCBB>?< 30%
|
||
4. 餈墧𦻖<E5A2A7>?< 100
|
||
|
||
<EFBFBD>𡢅<EFBFBD> 摰匧<E691B0>撉諹<E69289>:
|
||
1. 憭𣇉<E686AD><F0A38789>啣<EFBFBD>撌脣<E6928C><E884A3>?<3F>?
|
||
2. <20>賢<EFBFBD><E8B3A2>訫蘨<E8A8AB>动PC蝵烐挾 <20>?
|
||
3. 撖<><E69296>撘箏漲擃?<3F>?
|
||
4. <20>芸𢆡憭<F0A286A1>遢撌脣<E6928C><E884A3>?<3F>?
|
||
```
|
||
|
||
### 8.4 <20>烐綉<E78390>𡃏郎
|
||
|
||
```yaml
|
||
<EFBFBD>𡢅<EFBFBD> <20>滨蔭<E6BBA8>烐綉:
|
||
1. RDS餈墧𦻖<E5A2A7>啣<EFBFBD>霅佗<E99C85>>300嚗?
|
||
2. RDS CPU<50>𡃏郎嚗?70%嚗?
|
||
3. RDS蝤<53><E89DA4><EFBFBD>𡃏郎嚗?80%嚗?
|
||
4. <20>X䰻霂W<E99C82>霅佗<E99C85>>1蝘𡜐<E89D98>
|
||
5. 憭<>遢憭梯揖<E6A2AF>𡃏郎
|
||
|
||
<EFBFBD>𡢅<EFBFBD> <20>亙虜撌⊥<E6928C>:
|
||
1. 瘥誩予璉<E4BA88><E79289>充DS<44>烐綉
|
||
2. 瘥誩𪂹<E8AAA9>亦<EFBFBD><E4BAA6>X䰻霂X𠯫敹?
|
||
3. 瘥𤩺<E798A5>撉諹<E69289>憭<EFBFBD>遢<EFBFBD>舐鍂<E88890>?
|
||
4. 瘥誩迤摨行<E691A8>憭齿<E686AD>蝏?
|
||
```
|
||
|
||
### 8.5 <20><>﹝蝏湔擪
|
||
|
||
```yaml
|
||
<EFBFBD>𡢅<EFBFBD> <20>湔鰵<E6B994><E9B0B5>﹝:
|
||
1. 霈啣<E99C88>摰鮋<E691B0><E9AE8B>扯<EFBFBD><E689AF>園𡢿
|
||
2. 霈啣<E99C88><E595A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䔮憸睃<E686B8>閫<EFBFBD><E996AB><EFBFBD>寞<EFBFBD>
|
||
3. <20>湔鰵餈墧𦻖靽⊥<E99DBD>
|
||
4. 銵亙<E98AB5><E4BA99>寞<EFBFBD><E5AF9E><EFBFBD><EFBFBD>憭<EFBFBD><E686AD>
|
||
|
||
<EFBFBD>𡢅<EFBFBD> <20>亥<EFBFBD>瘝㗇<E7989D>:
|
||
1. <20>餌<EFBFBD>蝏誯<E89D8F><E8AAAF>躰悌
|
||
2. 隡睃<E99AA1><E79D83>函蔡瘚<E894A1><E7989A>
|
||
3. <20>寡悌<E5AFA1>a<EFBFBD><EFBD81>𣂼<EFBFBD>
|
||
4. 撱箇<E692B1>FAQ
|
||
```
|
||
|
||
---
|
||
|
||
## 9. <20><><EFBFBD>
|
||
|
||
### 9.1 摰峕㟲璉<E39FB2><E79289>交<EFBFBD><E4BAA4>?
|
||
|
||
```yaml
|
||
<EFBFBD>函蔡<EFBFBD>齿<EFBFBD><EFBFBD>?(Before):
|
||
<EFBFBD>?<3F>砍𧑐<E7A08D>唳旿摨栞<E691A8>銵峕迤撣?
|
||
<EFBFBD>?Docker Desktop餈鞱<E9A488>甇<EFBFBD>虜
|
||
<EFBFBD>?RDS摰硺<E691B0>撌脣<E6928C>撱?
|
||
<EFBFBD>?VPC<50>䔶漱<E494B6>X㦤撌脤<E6928C>蝵?
|
||
<EFBFBD>?<3F>賢<EFBFBD><E8B3A2>訫歇<E8A8AB>滨蔭嚗?72.17.0.0/16嚗?
|
||
<EFBFBD>?<3F>唳旿摨梶鍂<E6A2B6>瑕歇<E79195>𥕦遣嚗Òiresearch嚗?
|
||
<EFBFBD>?<3F>嗅躹撌脰挽蝵殷<E89DB5>Asia/Shanghai嚗?
|
||
<EFBFBD>?<3F>芸𢆡憭<F0A286A1>遢撌脣<E6928C><E884A3>?
|
||
|
||
<EFBFBD>函蔡餈<EFBFBD><EFBFBD>璉<EFBFBD><EFBFBD>?(During):
|
||
<EFBFBD>?撖澆枂<E6BE86><E69E82>辣憭批<E686AD>甇<EFBFBD>虜嚗?0-100 MB嚗?
|
||
<EFBFBD>?憭𣇉<E686AD><F0A38789>啣<EFBFBD><E595A3>唾窈<E594BE>𣂼<EFBFBD>
|
||
<EFBFBD>?<3F>賢<EFBFBD><E8B3A2>蓥葩<E893A5>園<EFBFBD>蝵殷<E89DB5>0.0.0.0/0嚗?
|
||
<EFBFBD>?<3F>唳旿摨枏<E691A8>撱箸<E692B1><E7AEB8>?
|
||
<EFBFBD>?<3F>唳旿撖澆<E69296>摰峕<E691B0>嚗<EFBFBD><E59A97><EFBFBD>躰秤嚗?
|
||
<EFBFBD>?憭𣇉<E686AD><F0A38789>啣<EFBFBD>撌脣<E6928C><E884A3>?潃鐥<E6BD83>潃?
|
||
|
||
<EFBFBD>函蔡<EFBFBD>擧<EFBFBD><EFBFBD>?(After):
|
||
<EFBFBD>?10銝杵chema<6D>券<EFBFBD>摮睃銁
|
||
<EFBFBD>?34銝芾”<E88ABE>券<EFBFBD>摮睃銁
|
||
<EFBFBD>?pg-boss<73>?銝芾”摮睃銁
|
||
<EFBFBD>?<3F>冽<EFBFBD><E586BD>唳旿摰峕㟲
|
||
<EFBFBD>?蝝W<E89D9D>摰峕㟲
|
||
<EFBFBD>?憭㚚睸摰峕㟲
|
||
<EFBFBD>?backend<6E>質<EFBFBD><E8B3AA>充DS
|
||
<EFBFBD>?摨𠉛鍂<F0A0899B>蠘<EFBFBD>甇<EFBFBD>虜
|
||
<EFBFBD>?憭𣇉<E686AD>霈輸䔮撌脣<E6928C><E884A3>?潃鐥<E6BD83>潃?
|
||
```
|
||
|
||
### 9.2 敹恍<E695B9>笔<EFBFBD><E7AC94>?
|
||
|
||
#### 餈墧𦻖靽⊥<E99DBD>
|
||
|
||
```yaml
|
||
RDS<EFBFBD><EFBFBD><EFBFBD><EFBFBD>啣<EFBFBD>: pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432
|
||
<EFBFBD>唳旿摨枏<EFBFBD>: ai_clinical_research
|
||
<EFBFBD>冽<EFBFBD><EFBFBD>? airesearch
|
||
撖<EFBFBD><EFBFBD>: Xibahe@fengzhibo117
|
||
|
||
DATABASE_URL:
|
||
postgresql://airesearch:Xibahe%40fengzhibo117@pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432/ai_clinical_research?connection_limit=10&pool_timeout=10
|
||
```
|
||
|
||
#### 撣貊鍂<E8B28A>賭誘
|
||
|
||
```powershell
|
||
# 撖澆枂<E6BE86>唳旿摨?
|
||
docker exec ai-clinical-postgres pg_dump -U postgres -d ai_clinical_research --no-owner --no-acl > backup.sql
|
||
|
||
# 撖澆<E69296><E6BE86>唳旿摨?
|
||
Get-Content backup.sql | docker exec -i -e PGPASSWORD="撖<EFBFBD><EFBFBD>" ai-clinical-postgres psql -h RDS<EFBFBD>啣<EFBFBD> -U airesearch -d ai_clinical_research
|
||
|
||
# 璉<><E79289>兄chema
|
||
docker exec -e PGPASSWORD="撖<EFBFBD><EFBFBD>" ai-clinical-postgres psql -h RDS<EFBFBD>啣<EFBFBD> -U airesearch -d ai_clinical_research -c "\dn"
|
||
|
||
# 璉<><E79289>亥”
|
||
docker exec -e PGPASSWORD="撖<EFBFBD><EFBFBD>" ai-clinical-postgres psql -h RDS<EFBFBD>啣<EFBFBD> -U airesearch -d ai_clinical_research -c "\dt platform_schema.*"
|
||
|
||
# 璉<><E79289>交㺭<E4BAA4>桅<EFBFBD>
|
||
docker exec -e PGPASSWORD="撖<EFBFBD><EFBFBD>" ai-clinical-postgres psql -h RDS<EFBFBD>啣<EFBFBD> -U airesearch -d ai_clinical_research -c "SELECT COUNT(*) FROM platform_schema.users;"
|
||
```
|
||
|
||
---
|
||
|
||
## <20><> <20>詨<EFBFBD><E8A9A8><EFBFBD>﹝
|
||
|
||
- [<EFBFBD>函蔡<EFBFBD>嗆<EFBFBD><EFBFBD>餉<EFBFBD>](./00-<2D>函蔡<E587BD>嗆<EFBFBD><E59786>餉<EFBFBD>.md)
|
||
- [敹恍<EFBFBD>罸<EFBFBD>蝵淞OP](./01-敹恍<E695B9>罸<EFBFBD>蝵淞OP-<2D>嗅抅蝖<E68A85><E89D96>?md)
|
||
- [PostgreSQL<EFBFBD>函蔡蝑𣇉裦<EFBFBD>詨<EFBFBD><EFBFBD>亙<EFBFBD>](./PostgreSQL<51>函蔡蝑𣇉裦-<2D>詨<EFBFBD><E8A9A8>亙<EFBFBD>.md)
|
||
- [Node.js<6A>𡒊垢<F0A1928A>函蔡<E587BD><E894A1><EFBFBD>](./05-Node.js<6A>𡒊垢-SAE摰孵膥<E5ADB5>函蔡<E587BD><E894A1><EFBFBD>.md)
|
||
|
||
---
|
||
|
||
## <20><> <20>䀹凒<E480B9><E58792>蟮
|
||
|
||
| <20><>𧋦 | <20>交<EFBFBD> | 雿𡏭<E99BBF>?| <20>䀹凒霂湔<E99C82> |
|
||
|------|------|------|---------|
|
||
| v1.0 | 2025-12-24 | AI<41>拇<EFBFBD> | <20>嘥<EFBFBD><E598A5><EFBFBD>𧋦嚗<F0A78BA6>抅鈭𤾸<E988AD><F0A4BEB8><EFBFBD><EFBFBD>蝵脩<E89DB5>撉?|
|
||
|
||
---
|
||
|
||
## <20><> <20>舀<EFBFBD>
|
||
|
||
憒<EFBFBD><EFBFBD><EFBFBD>桅<EFBFBD>嚗諹窈璉<EFBFBD><EFBFBD>伐<EFBFBD>
|
||
|
||
1. <20>?<3F>祆<EFBFBD>獢<EFBFBD><E78DA2><EFBFBD><EFBFBD>虜閫<E8999C>䔮憸塩<E686B8>滨<EFBFBD><E6BBA8>?
|
||
2. <20>?RDS摰墧𧒄<E5A2A7>亙<EFBFBD>嚗㇌DS<44>批<EFBFBD><E689B9>?> <20>亙<EFBFBD>蝞∠<E89D9E>嚗?
|
||
3. <20>?backend摨𠉛鍂<F0A0899B>亙<EFBFBD>嚗𠄎AE<41>批<EFBFBD><E689B9>?> <20>亙<EFBFBD>嚗?
|
||
4. <20>?PostgreSQL<51>函蔡蝑𣇉裦<F0A38789>詨<EFBFBD><E8A9A8>亙<EFBFBD>
|
||
|
||
---
|
||
|
||
**<EFBFBD><EFBFBD>﹝蝏𤘪<EFBFBD>**
|
||
|
||
蟡嗪<EFBFBD>蝵脤◇<EFBFBD>抬<EFBFBD><EFBFBD><EFBFBD>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|