From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master
---
docker/postgres/tencent/docker-compose.customer-pg.yml | 70 +++++++++++++++++++++++++++++++++++
1 files changed, 70 insertions(+), 0 deletions(-)
diff --git a/docker/postgres/tencent/docker-compose.customer-pg.yml b/docker/postgres/tencent/docker-compose.customer-pg.yml
new file mode 100644
index 0000000..923c88b
--- /dev/null
+++ b/docker/postgres/tencent/docker-compose.customer-pg.yml
@@ -0,0 +1,70 @@
+# 澶氬鎴� PG 瀹炰緥锛坉ocs/adr-multi-customer-db-isolation.md锛夈��
+#
+# 瀹㈡埛1 缁х画鐢ㄥ悓鐩綍鐨� docker-compose.tencent-pg.yml锛屾湰鏂囦欢鍙湇鍔� c2 鍙婁互鍚庣殑瀹㈡埛
+# + 浜у搧姣嶇増 tpl鈥斺�斿埢鎰忎笉鍚堝苟杩涢偅涓枃浠讹細鍚堝苟浼氭敼鎺夊鎴�1 鐨� compose 椤圭洰鍚嶏紙jnpf-pg锛夛紝
+# 瀵艰嚧 docker compose 璁や负鏄柊椤圭洰骞堕噸寤哄畠姝e湪璺戠殑瀹瑰櫒銆�
+#
+# 搴撳悕涓庤鑹插悕銆愬叏瀹㈡埛涓�鑷淬�戯紙jnpf_init / jnpf_flow / jnpf_xxljob / nacos_config锛�
+# jnpf_app / jnpf_flow_app / nacos_app锛夛紝瀹㈡埛涔嬮棿鍙潬銆愮鍙c�戝尯鍒嗏�斺��
+# 杩欐槸鏁翠釜鏂规璁� install.sh / create-app-roles.sh / backup.sh / promote-db.sh
+# / harden-pg-hba.sh 闆舵敼鍔ㄥ鐢ㄧ殑鏀偣銆�
+#
+# 鐢ㄦ硶锛堝湪 /home/ubuntu/jnpf-pg/ 涓嬶紝.env 鎻愪緵 JNPF_PG_PASSWORD锛夛細
+# CUSTOMER_ID=c2 CUSTOMER_PG_PORT=15433 docker compose -f postgres/tencent/docker-compose.customer-pg.yml up -d
+# CUSTOMER_ID=tpl CUSTOMER_PG_PORT=15439 docker compose -f postgres/tencent/docker-compose.customer-pg.yml up -d
+# 涓�鑸笉鐩存帴鐢紝璧� ./postgres/tencent/add-customer.sh <瀹㈡埛ID> <绔彛>銆�
+#
+# 绔彛绾﹀畾锛氬鎴種 = 15431+N锛堝鎴�1=15432 宸茶鏃㈡湁瀹炰緥鍗犵敤锛夛紝浜у搧姣嶇増 = 15439銆�
+name: jnpf-pg-${CUSTOMER_ID:?缂� CUSTOMER_ID锛屽 customer2 / tpl锛堟柊瀹㈡埛鐩存帴鐢ㄦ嫾闊筹紱c2 鏄鎴稡鐨勫巻鍙� ID锛屽嵎鍚嶆部鐢級}
+services:
+ pg:
+ # 瀹瑰櫒鍚嶅彲涓� CUSTOMER_ID 瑙h�︼紙CUSTOMER_NAME 鏈鏃�=CUSTOMER_ID锛夛細
+ # 瀹㈡埛B鍘嗗彶 CUSTOMER_ID=c2锛堥」鐩悕/鍗峰悕 jnpf_pgdata_c2 鐢卞畠娲剧敓锛屾敼浜嗕細鎸傜┖鍗枫�佺粷涓嶈兘鍔級锛�
+ # 2026-08-08 璧峰鍣ㄥ悕瑙勮寖涓� cx-pg-<瀹㈡埛鎷奸煶>锛�.env.瀹㈡埛B 閲岃 CUSTOMER_NAME=customer2 鍗冲彲銆�
+ # 鏂板鎴� CUSTOMER_ID 鐩存帴鐢ㄦ嫾闊筹紝鏃犻渶璁� CUSTOMER_NAME銆�
+ container_name: cx-pg-${CUSTOMER_NAME:-${CUSTOMER_ID}}
+ # 涓庡鎴�1 鍚岄暅鍍忥紙cx/postgres:18.4锛屽惈 pg_bigm/pgvector锛夈�傚埢鎰忎笉鍐� build锛�
+ # CVM 涓婅闀滃儚宸插瓨鍦紝鏂板鎴蜂笉璇ヨЕ鍙戦噸鏂版瀯寤恒��
+ image: cx/postgres:18.4
+ platform: linux/amd64
+ restart: unless-stopped
+ shm_size: 256m
+ # 瀹㈡埛1 鐨勬棦鏈夊疄渚嬫槸 3g锛�400 杩炴帴 + 512MB shared_buffers锛夛紱鏂板疄渚嬫寜
+ # ADR 搂5 鐨� 150 杩炴帴 + 128MB shared_buffers 棰勭畻锛�1g 瓒冲锛�6 涓疄渚嬫墠 ~3G銆�
+ mem_limit: 1g
+ memswap_limit: 1g # CVM 鏃� swap锛岀姝㈡孩鍑�
+ environment:
+ TZ: Asia/Shanghai
+ POSTGRES_USER: postgres
+ POSTGRES_PASSWORD: ${JNPF_PG_PASSWORD:?缂� JNPF_PG_PASSWORD锛屽厛鍦� .env 璁緘
+ POSTGRES_INITDB_ARGS: "--locale=C.UTF-8 --encoding=UTF8"
+ volumes:
+ - pgdata:/var/lib/postgresql
+ ports:
+ - "${CUSTOMER_PG_PORT:?缂� CUSTOMER_PG_PORT锛屽鎴種=15431+N锛屾瘝鐗�=15439}:5432"
+ command:
+ - postgres
+ - -c
+ # 姣忓疄渚嬬嫭绠楋紝涓嶅啀鎶㈠鎴�1 閭� 400 妲界殑鍏ㄥ眬姹犮��
+ # 瀹炴祴涓�濂楅暱璺戝叏鏍� 45 杩炴帴銆丏ruid 鍘嬪埌 5/1 鍚� ~25锛�150 鍙 ~5 濂楁爤銆�
+ - max_connections=150
+ - -c
+ # 涓�鏁村搴撴墠 435MB 涓斿疄娴� active 杩炴帴鎭掍负 0锛堝叏鏄睜绌哄崰锛夛紝512MB 鏄氮璐广��
+ # 瀹㈡埛1 鐨勬棦鏈夊疄渚嬬淮鎸� 512MB 涓嶅姩銆�
+ - shared_buffers=128MB
+ - -c
+ - shared_preload_libraries=pg_stat_statements,auto_explain
+ - -c
+ - pg_stat_statements.track=all
+ - -c
+ - timezone=Asia/Shanghai
+ healthcheck:
+ test: ["CMD-SHELL", "pg_isready -U postgres -d postgres"]
+ interval: 15s
+ timeout: 10s
+ retries: 10
+ start_period: 60s
+volumes:
+ pgdata:
+ # 鏄惧紡鍛藉悕锛岄伩鍏� compose 鎸夐」鐩悕鐢熸垚 jnpf-pg-c2_pgdata 杩欑涓嶅ソ杈ㄨ鐨勫嵎鍚�
+ name: jnpf_pgdata_${CUSTOMER_ID}
--
Gitblit v1.8.0