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