Database & MCP

Postgres MCP سرور: AI ایجنٹس کے لیے ریڈ ریپلیکاز اور پولنگ اسکیلنگ

فوری جواب: خود مختار AI ایجنٹس کے لیے postgres mcp سرور اسکیل کرنے کے لیے ریڈ کوئریز کو PostgreSQL ریڈ ریپلیکاز پر بھیجنا، ٹرانزیکشن پولنگ موڈ میں PgBouncer نافذ کرنا، سخت statement_timeout (2000–5000ms) لاگو کرنا اور عمل درآمد سے قبل غیر انڈیکس شدہ سیکوئنشل اسکینز روکنے کے لیے پیشگی EXPLAIN پلان کا معائنہ کرنا ضروری ہے۔


1. تعارف: خود مختار ڈیٹا بیس AI ایجنٹس کا اسکیل ایبلٹی بحران

2026 میں، خود مختار سافٹ ویئر انجینئرنگ اور ڈیٹا اینالیٹکس سسٹمز—جیسے Claude Code، Cursor Composer، PydanticAI اور انٹرپرائز ملٹی ایجنٹ فریم ورکس—ریلیشنل ڈیٹا بیسز کے ساتھ براہ راست تعامل کے لیے ماڈل کانٹیکسٹ پروٹوکول (Model Context Protocol - MCP) پر تیزی سے انحصار کر رہے ہیں۔ جامد ڈیٹا ایکسپورٹ کے انتظار یا انجینئرز کی لکھی ہوئی SQL رپورٹس کے بجائے، ایک خود مختار postgresql ai agent حقیقی وقت میں ٹیبل اسکیما دریافت کرتا ہے، پیچیدہ ملٹی ٹیبل جوائنز (JOINs) تیار کرتا ہے، فارن کیز کا معائنہ کرتا ہے اور تجزیاتی کوئریز چلاتا ہے۔

تاہم، پروڈکشن PostgreSQL انسٹینسز کے سامنے ایک روایتی database mcp server تعینات کرنے سے انفراسٹرکچر میں شدید رکاوٹیں پیدا ہو جاتی ہیں:

  • کنکشن کی سیچوریشن (Connection Saturation): ایجنٹ کے نفاذ کے بے لگام لوپس بیک وقت درجنوں ذیلی ایجنٹس پیدا کرتے ہیں۔ چونکہ معیاری PostgreSQL ہر بیک اینڈ پروسیس کے لیے 5–10 MB میموری مختص کرتا ہے، براہ راست کنکشن سیکنڈوں میں max_connections کی حد عبور کر لیتے ہیں، جس کے نتیجے میں FATAL: remaining connection slots are reserved کی خرابی سامنے آتی ہے اور بنیادی سروسز ڈاؤن ہو جاتی ہیں۔
  • پرائمری نوڈ پر لاک تنازعہ (Primary Node Lock Contention): خود مختار ایجنٹس اکثر بغیر کسی رکاوٹ کے کارٹیشین جوائنز، گمشدہ انڈیکس اسکینز اور لاکھوں قطاروں پر مبنی کوئریز براہ راست رائٹ پرائمری ماسٹر ڈیٹا بیس پر چلا دیتے ہیں، جس سے ٹرانزیکشنل ورک لوڈز (OLTP) سے CPU اور I/O وسائل چھن جاتے ہیں۔
  • بے قابو بھگوڑی کوئریز (Runaway Queries): رن ٹائم سرکٹ بریکرز کے بغیر، ایجنٹ کی فریب نظر (Hallucination) سے بننے والی ناقص کوئری ٹیبل لاکس کو روک کر رکھتی ہے اور سرور کی ریم مکمل ختم کر دیتی ہے۔
  • اندھا دھند نفاذ کے خطرات: معیاری MCP ٹولز کسی بھی لاگت کی توثیق یا AST سطح کی جانچ کے بغیر ماڈل کے تیار کردہ SQL اسٹرنگ کو براہ راست چلا دیتے ہیں۔

خود مختار ڈیٹا ایجنٹس کو محفوظ طریقے سے اسکیل کرنے کے لیے، انجینئرز کو سنگل نوڈ سیٹ اپ سے انٹرپرائز گریڈ mcp tool فن تعمیر کی طرف منتقل ہونا پڑے گا۔ اس میں ریڈ ریپلیکا لوڈ بیلنسنگ، PgBouncer یا Supavisor کے ذریعے کنکشن پولنگ، سخت statement_timeout کے حفاظتی معیارات، اور خودکار پیشگی EXPLAIN کوئری پلان تجزیہ شامل ہیں۔


2. اعلیٰ دستیابی کا فن تعمیر: ریڈ ریپلیکا لوڈ بیلنسنگ

پروڈکشن PostgreSQL ماحول میں سنگل ریڈ-رائٹ پرائمری (ماسٹر) نوڈ کے ساتھ متعدد اسٹریمنگ ریڈ ریپلیکاز (Read Replicas) رکھے جاتے ہیں۔ انٹرپرائز گریڈ Postgres MCP سرور کو ایک ذہین کوئری روٹر کے طور پر کام کرنا چاہیے، جو صرف پڑھنے کی غرض سے کیے جانے والے تجزیاتی کاموں اور ڈیٹا میں تبدیلی لانے والی ٹرانزیکشنز کے درمیان فرق کر سکے۔

+----------------------------------------------------------------------------------------------------+
|                                      ہوسٹ AI ایجنٹ رن ٹائم ماحول                                   |
|                     (Claude Code CLI, Cursor Composer, LangGraph, PydanticAI)                      |
|                                                                                                    |
|    +------------------------------------------------------------------------------------------+    |
|    |                                     MCP کلائنٹ سب سسٹم                                   |    |
|    |  - JSON-RPC 2.0 ٹول کالز بھیجنا (execute_sql, explain_query, describe_schema)             |    |
|    +---------------------------------------------+--------------------------------------------+    |
+--------------------------------------------------|-------------------------------------------------+
                                                   | stdio / اسٹریمیبل SSE مع (HTTP/2)
                                                   v
+----------------------------------------------------------------------------------------------------+
|                                POSTGRESQL MCP سرور اور ذہین کوئری روٹر                             |
|                                                                                                    |
|    +------------------------+   +------------------------+   +--------------------------------+    |
|    | SQL AST و ورب پارسر    |   | پیشگی لاگت کا محافظ    |   | ریپلیکا صحت اور تاخیر مانیٹر   |    |
|    | - SELECT -> ریپلیکا    |   | - EXPLAIN (COSTS ON)   |   | - pg_last_xact_replay_ts()     |    |
|    | - WRITE  -> پرائمری    |   | - زیادہ سے زیادہ لاگت: 15k| - خودکار فیل اوور روٹنگ        |    |
|    +-----------+------------+   +-----------+------------+   +---------------+----------------+    |
+----------------|----------------------------|--------------------------------|---------------------+
                 |                            |                                |
                 | ڈائنامک روٹنگ کا فیصلہ     +--------------------------------+
                 |
                 +---------------------------------------+
                 |                                       |
                 v (ریڈ-رائٹ: DDL/DML)                   v (صرف پڑھنے کے لیے: SELECT/EXPLAIN)
+-----------------------------------+   +------------------------------------------------------------+
| پرائمری PGBOUNCER (پورٹ 6543)     |   | ریپلیکا لوڈ بیلنسر / PGBOUNCER پول (پورٹ 6544)            |
| پول موڈ: ٹرانزیکشن                |   | راؤنڈ رابن / کم ترین کنکشنز (Least Connections)            |
+-----------------+-----------------+   +--------------+------------------------------+--------------+
                  |                                    |                              |
                  v                                    v                              v
+-----------------------------------+   +------------------------------+   +-------------------------+
| POSTGRESQL پرائمری (WRITER)       |   | POSTGRES ریڈ ریپلیکا 1       |   | POSTGRES ریڈ ریپلیکا 2  |
| - WAL اسٹریمنگ پرائمری            |==>| - ہاٹ اسٹینڈ بائی (اسٹریمنگ) |==>| - ہاٹ اسٹینڈ بائی       |
| - تیز رفتار رائٹ صلاحیت           |   | - وقف شدہ ایجنٹ اینالیٹکس    |   | - اسکیما معائنہ         |
+-----------------------------------+   +------------------------------+   +-------------------------+

Postgres MCP لیئر میں روٹنگ کی منطق

جب AI ایجنٹ execute_sql کو کال کرتا ہے، تو MCP سرور ڈیٹا بیس کنکشن حاصل کرنے سے پہلے کوئری کے سنٹیکس ٹری کا معائنہ کرتا ہے:

  1. اسکیما کا معائنہ (\d, information_schema, pg_catalog): یہ سخت اصول کے تحت صرف ریپلیکا پول کو بھیجا جاتا ہے۔
  2. تجزیاتی ریڈ کوئریز (SELECT ...): وزنی راؤنڈ رابن یا کم ترین کنکشن ڈسٹری بیوشن کے ذریعے فعال ریڈ ریپلیکاز میں تقسیم کی جاتی ہیں۔
  3. پیشگی اصلاح کاری (EXPLAIN ...): پروڈکشن ماسٹر پر بوجھ ڈالے بغیر اصل شماریاتی ڈیٹا کے تحت ریپلیکاز پر چلائی جاتی ہے۔
  4. اسٹیٹ کی تبدیلیاں (INSERT, UPDATE, DELETE, CREATE): یہ خصوصی طور پر صرف پرائمری نوڈ پر بھیجی جاتی ہیں—اور صرف تب جب ایجنٹ کے پاس تصدیق شدہ رائٹ اجازت موجود ہو۔

3. کنکشن پولنگ: PgBouncer اور Supavisor کی تشکیل

سیکڑوں خود مختار ایجنٹ تھریڈز کو براہ راست PostgreSQL پورٹ 5432 سے جوڑنا سسٹم کی فوری تباہی کا سبب بنتا ہے۔ ایک وقف شدہ کنکشن پولر ناگزیر ہے۔

ایجنٹ ورک فلوز کے لیے سیشن موڈ بمقابلہ ٹرانزیکشن موڈ

فن تعمیر کا پیرامیٹر براہ راست کنکشن (پورٹ 5432) PgBouncer سیشن موڈ PgBouncer / Supavisor ٹرانزیکشن موڈ (پورٹ 6543)
بیک اینڈ میموری لاگت 5–10 MB فی ایجنٹ کنکشن 5–10 MB فی مختص سیشن کلائنٹ فی < 50 KB (دوبارہ استعمال شدہ پول)
زیادہ سے زیادہ ہم وقتی کلائنٹس 100–300 (ریم کی حد) 500–1,000 10,000+ ورچوئل ایجنٹ سیشنز
کنکشن کا اضافی بوجھ 30–80 ms فی ہینڈ شیک 15–30 ms < 1.5 ms چیک آؤٹ تاخیر
تیار شدہ بیانات کی معاونت مکمل مکمل پروٹوکول سطح پر بے نام بیانات کی ہینڈلنگ درکار ہے
SET / سیشن متغیرات مکمل مستقل سیشن کے دوران مستقل ٹرانزیکشن کے اندر SET LOCAL کا استعمال لازمی ہے
پروڈکشن کی سفارش AI ایجنٹس کے لیے ممنوع صرف مائیگریشن کے لیے لازمی پروڈکشن معیار (Production Standard)

Postgres MCP سرورز کے لیے بہترین pgbouncer.ini

پرائمری اور ریپلیکا انسٹینسز میں AI ایجنٹ کے بھاری ورک لوڈ کو سنبھالنے کے لیے، PgBouncer کو اس طرح ترتیب دیں:

[databases]
;; پرائمری رائٹ ٹارگٹ
postgres_primary = host=10.0.0.1 port=5432 dbname=production auth_user=pgb_auth pool_mode=transaction max_db_connections=40

;; ریڈ ریپلیکا لوڈ بیلنسڈ ٹارگٹ
postgres_replica = host=10.0.0.2 port=5432 dbname=production auth_user=pgb_auth pool_mode=transaction max_db_connections=80

[pgbouncer]
logfile = /var/log/postgresql/pgbouncer.log
pidfile = /var/run/postgresql/pgbouncer.pid
listen_addr = 0.0.0.0
listen_port = 6543
auth_type = scram-sha-256
auth_file = /etc/pgbouncer/userlist.txt

;; ہم وقتی LLM ایجنٹس کے لیے پول کا سائز
pool_mode = transaction
max_client_conn = 10000
default_pool_size = 25
min_pool_size = 5
reserve_pool_size = 5
reserve_pool_timeout = 3

;; کنکشن ری سائیکلنگ اور بیانات کی صفائی
server_reset_query = DISCARD ALL
server_check_query = SELECT 1
server_check_delay = 10
max_user_connections = 500
query_timeout = 10.0
idle_transaction_timeout = 5.0

4. کارکردگی کے بینچ مارکس: ڈائریکٹ بمقابلہ پولڈ بمقابلہ ریڈ ریپلیکا فن تعمیر

LLMPodium انجینئرنگ ٹیم نے تین مختلف PostgreSQL فن تعمیرات میں خود مختار AI ایجنٹس کے ورک لوڈز کی آزمائش کی۔

بینچ مارک سیٹ اپ اور طریقہ کار

  • ڈیٹا بیس کی وضاحتیں: AWS Aurora PostgreSQL 17 (1 پرائمری + 2 ریپلیکاز، 4 vCPUs اور 32 GB RAM کے ساتھ db.r7g.xlarge انسٹینس)۔
  • کلائنٹ ورک لوڈ: Claude Code CLI اور LangGraph رنرز کے ذریعے پیدا کردہ 100 ہم وقتی ایجنٹ ورکر لوپس۔
  • کاموں کا تناسب: 70% اینالیٹیکل جوائنز اور ایگریگیشنز (JOINs)، 20% اسکیما معائنہ (pg_catalog)، 10% ویکٹر مماثلت کی تلاش (pgvector HNSW انڈیکس)۔
+-------------------------------------------------------------------------------------------------------------------------+
|                               POSTGRESQL MCP سرور کی کارکردگی اور اسکیل ایبلٹی بینچ مارک (2026)                         |
+------------------------------------+------------------+------------+------------+-------------+------------+------------+
| کنفیگریشن کا فن تعمیر              | ہم وقتی (Ops)    | QPS        | تاخیر p50  | تاخیر p99   | کنکشن ڈراپس| ماسٹر CPU  |
+------------------------------------+------------------+------------+------------+-------------+------------+------------+
| 1. براہ راست سنگل نوڈ (پورٹ 5432)  | 100 ایجنٹس       | 412 req/s  | 84.5 ms    | 1,420 ms    | 18.4%      | 94.2%      |
| 2. PgBouncer پولڈ صرف پرائمری      | 100 ایجنٹس       | 1,280 req/s| 28.1 ms    | 142.0 ms    | 0.0%       | 88.6%      |
| 3. ریڈ ریپلیکا پولڈ اسپلٹ (MCP)    | 100 ایجنٹس       | 3,850 req/s| 8.4 ms     | 24.8 ms     | 0.0%       | 12.1%      |
| 4. ریڈ ریپلیکا + پیشگی گارڈ        | 100 ایجنٹس       | 3,790 req/s| 9.1 ms     | 21.2 ms     | 0.0%       | 11.8%      |
+------------------------------------+------------------+------------+------------+-------------+------------+------------+

کارکردگی کے بنیادی نتائج

  1. کنکشن کے مسائل کا خاتمہ: پولنگ کے بغیر براہ راست کنکشنز میں 18.4% ناکامی کی شرح دیکھی گئی کیونکہ ایجنٹس max_connections سے تجاوز کر گئے۔ PgBouncer نے اس ناکامی کو گھٹا کر 0.0% کر دیا۔
  2. ماسٹر CPU پر بوجھ میں زبردست کمی: ریڈ کوئریز کو دو ریڈ ریپلیکاز پر منتقل کرنے سے پرائمری نوڈ کا CPU استعمال 88.6% سے گر کر 12.1% پر آ گیا، جس سے بنیادی ٹرانزیکشنز کے لیے گنجائش محفوظ رہی۔
  3. p99 تاخیر میں 98% کمی: دیرینہ تاخیر 1,420 ms سے کم ہو کر 24.8 ms رہ گئی، جس سے خود مختار ایجنٹس ٹول کال کے ٹائم آؤٹ سے محفوظ رہے۔

5. حفاظتی معیارات اور اسٹیٹمنٹ ٹائم آؤٹس (Safety Guardrails)

ایک خود مختار postgresql ai agent کو کبھی بھی بنیادی انتظامی حقوق کے ساتھ کام نہیں کرنا چاہیے۔ ڈیٹا بیس رول پرمیشنز، کنکشن کی سطح کے ٹائم آؤٹس، اور وسائل کی حد بندی کے ذریعے کثیر سطحی تنہائی نافذ کریں۔

-- 1. خود مختار ایجنٹس کے لیے صرف پڑھنے کا مخصوص رول بنائیں
CREATE ROLE agent_readonly WITH LOGIN PASSWORD 'StrictAgentSecret2026!';

-- 2. ایپلیکیشن اسکیمات تک پڑھنے کی رسائی فراہم کریں
GRANT CONNECT ON DATABASE production TO agent_readonly;
GRANT USAGE ON SCHEMA public TO agent_readonly;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO agent_readonly;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON ALL TABLES TO agent_readonly;

-- 3. خطرناک DDL اور رائٹ اختیارات واپس لیں
REVOKE CREATE ON SCHEMA public FROM agent_readonly;
REVOKE ALL ON ALL FUNCTIONS IN SCHEMA public FROM agent_readonly;

-- 4. رول کی سطح پر سخت حفاظتی اصول نافذ کریں
ALTER ROLE agent_readonly SET statement_timeout = '4000ms';
ALTER ROLE agent_readonly SET lock_timeout = '1000ms';
ALTER ROLE agent_readonly SET idle_in_transaction_session_timeout = '3000ms';
ALTER ROLE agent_readonly SET default_transaction_read_only = on;

-- 5. میموری کے مسائل روکنے کے لیے فی کوئری میموری محدود کریں
ALTER ROLE agent_readonly SET work_mem = '32MB';

ٹائم آؤٹ دفاعی طریقہ کار

  • statement_timeout = '4000ms': 4 سیکنڈ کے بعد بے قابو کوئریز کو خود بخود منسوخ کر دیتا ہے۔
  • lock_timeout = '1000ms': ڈیٹا بیس کی منتقلی کے دوران ایجنٹس کو ٹیبل لاکس کے پیچھے لٹکے رہنے سے روکتا ہے۔
  • default_transaction_read_only = on: یقینی بناتا ہے کہ اگر ایجنٹ UPDATE یا DROP بنانے کی کوشش کرے تو PostgreSQL ٹرانزیکشن انجن فوری طور پر اجازت کی خرابی پیش کرے۔

6. پیشگی EXPLAIN کوئری پلان تجزیہ

ایک database mcp server کے لیے سب سے انقلابی اصلاح کاری پیشگی EXPLAIN تجزیہ ہے۔ کسی بھی کوئری کو اندھا دھند چلانے کے بجائے، MCP سرور پہلے ریڈ ریپلیکا پر EXPLAIN (COSTS ON, FORMAT JSON) چلاتا ہے تاکہ متوقع لاگت اور کوئری پلان کی ساخت کا جائزہ لیا جا سکے۔

+----------------------------------------------------------------------------------------------------+
|                                پیشگی EXPLAIN تجزیہ کا فلو چارٹ                                     |
+----------------------------------------------------------------------------------------------------+
                                   ایجنٹ execute_sql(query) کو کال کرتا ہے
                                                 |
                                                 v
                               +-----------------------------------+
                               | EXPLAIN (FORMAT JSON) کوئری چلائیں|
                               +-----------------+-----------------+
                                                 |
                                                 v
                               +-----------------------------------+
                               | پلان کا معائنہ: کل لاگت اور اسکینز|
                               +-----------------+-----------------+
                                                 |
                        +------------------------+------------------------+
                        |                                                 |
                 کل لاگت > 15,000                                 کل لاگت <= 15,000
                 یا غیر انڈیکس شدہ Seq Scan                        اور انڈیکس شدہ اسکین
                        |                                                 |
                        v                                                 v
        +-------------------------------+                 +-------------------------------+
        | کوئری کے نفاذ کو مسترد کریں   |                 | ریپلیکا پر محفوظ طریقے سے چلائیں|
        | ایجنٹ کو واضح جوابی پیغام دیں: |                | نتائج کی قطاریں ایجنٹ کے کانٹیکسٹ|
        | "کوئری منسوخ: orders ٹیبل پر  |                 | ونڈو میں اسٹریم کریں          |
        | Seq Scan (لاگت: 84,200)۔      |                 +-------------------------------+
        | انڈیکس شامل کریں یا فلٹر لگائیں"|
        +-------------------------------+

TypeScript میں حفاظتی گارڈ کا نفاذ

یہاں بتایا گیا ہے کہ کس طرح اپنی مرضی کے مطابق تیار کردہ Node.js/TypeScript Postgres MCP سرور میں یہ حفاظتی اقدام نافذ کیا جائے:

import { Pool } from 'pg';

const replicaPool = new Pool({
  connectionString: process.env.DATABASE_REPLICA_URL, // PgBouncer پورٹ 6543 کی طرف اشارہ کرتا ہے
  statement_timeout: 4000,
});

const MAX_ALLOWED_QUERY_COST = 15000;

interface ExplainPlanNode {
  'Node Type': string;
  'Relation Name'?: string;
  'Total Cost': number;
  Plans?: ExplainPlanNode[];
}

export async function executeSafeAgentQuery(sql: string) {
  // 1. کوئری کی تصدیق: صرف پڑھنے کے احکامات یقینی بنائیں
  const trimmed = sql.trim().toUpperCase();
  if (!trimmed.startsWith('SELECT') && !trimmed.startsWith('WITH')) {
    throw new Error('ممنوع: ریپلیکا پر صرف SELECT اور WITH کوئریز کی اجازت ہے۔');
  }

  // 2. پیشگی EXPLAIN معائنہ
  const explainSql = `EXPLAIN (FORMAT JSON, COSTS ON) ${sql}`;
  const explainResult = await replicaPool.query(explainSql);
  const plan: ExplainPlanNode = explainResult.rows[0]['QUERY PLAN'][0]['Plan'];

  // 3. بڑے ٹیبلز پر سیکوئنشل اسکینز کے لیے ایگزیکیوشن ٹری کی جانچ کریں
  const violations: string[] = [];
  function inspectNode(node: ExplainPlanNode) {
    if (node['Total Cost'] > MAX_ALLOWED_QUERY_COST) {
      violations.push(`کوئری کی لاگت ${node['Total Cost']} حفاظتی حد ${MAX_ALLOWED_QUERY_COST} سے زیادہ ہے`);
    }
    if (node['Node Type'] === 'Seq Scan' && node['Total Cost'] > 3000) {
      violations.push(`ٹیبل پر غیر انڈیکس شدہ سیکوئنشل اسکین ملا: '${node['Relation Name']}'`);
    }
    if (node.Plans) {
      node.Plans.forEach(inspectNode);
    }
  }

  inspectNode(plan);

  if (violations.length > 0) {
    return {
      status: 'rejected',
      error: 'کوئری پلان حفاظتی حدود سے تجاوز کر گیا ہے۔',
      reasons: violations,
      suggested_action: 'انڈیکس شدہ کالمز پر فلٹر لگائیں یا کوئری کی حد مقرر کریں۔',
    };
  }

  // 4. محفوظ عمل درآمد
  const startTime = Date.now();
  const result = await replicaPool.query(sql);
  const duration = Date.now() - startTime;

  return {
    status: 'success',
    duration_ms: duration,
    rowCount: result.rowCount,
    rows: result.rows,
  };
}

7. Claude Code اور Cursor کے لیے مرحلہ وار تشکیل

Claude Code اور Cursor کو اسکیل شدہ PostgreSQL صلاحیتوں سے لیس کرنے کے لیے، مقامی یا ریموٹ کنفیگریشنز استعمال کر کے اپنا MCP سرور رجسٹر کریں۔

Claude Code CLI کنفیگریشن (~/.claude.json یا claude mcp add)

الگ الگ ریڈ اور رائٹ کنکشن اسٹرنگز کے ساتھ اسکیل شدہ PostgreSQL MCP سرور شامل کریں:

# Claude Code CLI کمانڈ کے ذریعے اندراج
claude mcp add postgres-cluster -- npx -y @modelcontextprotocol/server-postgres \
  "postgresql://agent_readonly:StrictAgentSecret2026!@pgbouncer.internal:6543/production?sslmode=require"

یا claude_desktop_config.json فائل میں شامل کریں:

{
  "mcpServers": {
    "postgres-cluster": {
      "command": "node",
      "args": ["/usr/local/bin/postgres-mcp-router/dist/index.js"],
      "env": {
        "PRIMARY_DB_URL": "postgresql://agent_writer:SecretWrite2026@primary-pooler.internal:6543/production?sslmode=require",
        "REPLICA_DB_URL": "postgresql://agent_readonly:StrictAgentSecret2026!@replica-pooler.internal:6543/production?sslmode=require",
        "STATEMENT_TIMEOUT_MS": "4000",
        "MAX_EXPLAIN_COST": "15000",
        "ENABLE_EXPLAIN_GUARD": "true"
      }
    }
  }
}

Cursor Composer کنفیگریشن (.cursor/mcp.json)

Cursor Composer کے اندر ڈیٹا بیس معائنہ فعال کرنے کے لیے اپنے پروجیکٹ روٹ میں .cursor/mcp.json بنائیں:

{
  "mcpServers": {
    "database-agents": {
      "command": "npx",
      "args": [
        "-y",
        "@supabase/mcp-server-supabase",
        "--db-url",
        "postgresql://agent_readonly:StrictAgentSecret2026!@aws-0-us-east-1.pooler.supabase.com:6543/postgres?sslmode=require"
      ]
    }
  }
}

8. لاگت کی تفصیلات اور بنیادی ڈھانچے کا TCO تجزیہ

کنکشن پولنگ کے ساتھ ملٹی ریپلیکا PostgreSQL کلسٹر لگانے کے لیے ڈیٹا بیس انفراسٹرکچر کے اخراجات کا LLM ماڈل کے ٹوکنز کے ساتھ موازنہ کرنا ضروری ہے۔

+----------------------------------------------------------------------------------------------------+
|                               ڈیٹا بیس AI ایجنٹ کلسٹر TCO (ماہانہ)                                 |
+------------------------------------+--------------------------+------------------+-----------------+
| انفراسٹرکچر کی پرت                | وضاحت                    | گنجائش / کام     | ماہانہ لاگت     |
+------------------------------------+--------------------------+------------------+-----------------+
| AWS Aurora Serverless v2 (پرائمری) | 2–8 ACU (4–16 GB RAM)    | تیز رائٹ IOPS    | $120.00         |
| Aurora ریڈ ریپلیکاز (2 نوڈز)       | 2–4 ACU (4–8 GB RAM) فی  | ایجنٹ اینالیٹکس  | $140.00         |
| PgBouncer مخصوص کنٹینرز           | 2x AWS Fargate (0.5 vCPU)| 10,000 کنکشنز    | $22.00          |
| Supabase ٹیم پلان (متبادل)         | Pro + Compute Add-on     | پولر شامل ہے     | $85.00          |
| Claude 3.7 Sonnet انفرینس          | 150M Input / 20M Output  | 5,000 ایجنٹ رنز  | $675.00         |
| DeepSeek V3 انفرینس (کم لاگت)      | 150M Input / 20M Output  | 5,000 ایجنٹ رنز  | $27.30          |
+------------------------------------+--------------------------+------------------+-----------------+
| کل حل کی لاگت (Claude 3.7)         | انٹرپرائز سیٹ اپ         | 5,000 کام/ماہ    | $957.00         |
| کل حل کی لاگت (DeepSeek V3)        | اعلیٰ کارکردگی سیٹ اپ    | 5,000 کام/ماہ    | $309.30         |
+------------------------------------+--------------------------+------------------+-----------------+

لاگت سے متعلق اسٹریٹجک نکات

  1. پیشگی EXPLAIN ٹوکنز بچاتا ہے: جب کوئریز لاگت کی حدود کو عبور کرتی ہیں تو فوری طور پر ناکام ہونے (Fail Fast) سے ایجنٹس ٹائم آؤٹ کو ڈیبگ کرنے کے لیے بار بار نئے پیغامات پیدا کرنے سے بچتے ہیں، جس سے ٹوکنز کی کھپت میں 25–35% بچت ہوتی ہے۔
  2. ہائبرڈ انفرینس روٹنگ: معمول کے اسکیما براؤزنگ اور عام ریڈ کوئریز کو DeepSeek V3 یا Qwen 2.5 Coder جیسے ماڈلز کی طرف موڑنے سے AI انفرینس کی لاگت $675/ماہ سے کم ہو کر $30/ماہ سے بھی نیچے آ جاتی ہے۔

9. انٹرپرائز پروڈکشن چیک لسٹ اور خلاصہ

Model Context Protocol کے ذریعے خود مختار AI ایجنٹس کو PostgreSQL سے جوڑتے وقت زیادہ سے زیادہ دستیابی، سیکیورٹی اور کارکردگی کو یقینی بنانے کے لیے اس چیک لسٹ کو نافذ کریں:

  1. لازمی ٹرانزیکشن پولنگ: ہمیشہ PgBouncer یا Supavisor (پورٹ 6543) کے ذریعے جڑیں۔ پورٹ 5432 پر براہ راست کنکشن کی کبھی اجازت نہ دیں۔
  2. ریڈ ریپلیکاز کے ذریعے کام کی تقسیم: تمام SELECT، اسکیما معائنہ، اور ویکٹر تلاش کے عمل کو اسٹریمنگ ریڈ ریپلیکاز پر منتقل کریں۔
  3. سخت سرکٹ بریکرز نافذ کریں: رول کی سطح پر statement_timeout = '4000ms' اور lock_timeout = '1000ms' لاگو کریں۔
  4. پیشگی EXPLAIN گارڈز لگائیں: عمل درآمد سے پہلے غیر انڈیکس شدہ سیکوئنشل اسکینز اور 15,000 سے زیادہ متوقع لاگت والی کوئریز کو مسترد کریں۔
  5. صرف پڑھنے کی ترتیب نافذ کریں: ایجنٹ کے تمام صارف رولز کے لیے default_transaction_read_only = on سیٹ کریں۔
  6. ریپلیکا کے تعطل کی نگرانی کریں: اینالیٹکس ایجنٹس کو پرانا ڈیٹا دکھانے سے بچنے کے لیے مسلسل pg_last_xact_replay_timestamp() کی نگرانی کریں۔

ریڈ ریپلیکا اسکیلنگ، کنکشن پولنگ، اور پیشگی کوئری پلان کی تصدیق کو یکجا کر کے، سافٹ ویئر انجینئرنگ ٹیمیں پروڈکشن کے استحکام پر مکمل اعتماد کے ساتھ خود مختار ڈیٹا بیس AI ایجنٹس کو تعینات کر سکتی ہیں۔

→ تمام مضامین
0 / 4