দ্রুত উত্তর: স্বায়ত্তশাসিত AI এজেন্টের জন্য একটি উচ্চ-ক্ষমতাসম্পন্ন postgres mcp সার্ভার কার্যকরভাবে স্কেল করতে রিড কুয়েরিগুলো সরাসরি PostgreSQL রিড রেপ্লিকায় রাউট করা, ট্রানজ্যাকশন পুলিং মোডে PgBouncer বা Supavisor স্থাপন করা, কঠোর 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ত্রুটি দেখা দেয় এবং গ্রাহকমুখী প্রোডাকশন API ডাউন হয়ে যায়। - প্রাইমারি নোডে লক দ্বন্দ্ব (Primary Node Lock Contention): স্বায়ত্তশাসিত এজেন্টরা প্রায়শই কার্তেসিয়ান জয়েন, মিসিং ইনডেক্স স্ক্যান এবং লাখ লাখ সারির ওপর এগ্রিগেশনযুক্ত অনিয়ন্ত্রিত কুয়েরি সরাসরি রাইট-হেভি প্রাইমারি মাস্টার ডেটাবেসে চালায়, যা সাধারণ ট্রানজ্যাকশনাল ওয়ার্কলোড (OLTP) থেকে CPU এবং I/O রিসোর্স ছিনিয়ে নেয়।
- অনিয়ন্ত্রিত পলাতক কুয়েরি (Runaway Queries): রানটাইম সার্কিট ব্রেকার ছাড়া, কোনো এজেন্টের হ্যালুসিনেশনের ফলে তৈরি হওয়া দুর্বল কুয়েরি টেবিল লক ধরে রাখে এবং অনির্দিষ্টকালের জন্য সার্ভারের র্যাম শেষ করে ফেলে।
- অন্ধ এক্সিকিউশনের ঝুঁকি: স্ট্যান্ডার্ড MCP টুলগুলো কোনো খরচ বিশ্লেষণ বা AST-লেভেল নিরাপত্তা পরীক্ষা ছাড়াই LLM দ্বারা তৈরি যেকোনো SQL স্ট্রিং সরাসরি কার্যকর করে ফেলে।
স্বায়ত্তশাসিত ডেটা এজেন্টগুলোকে নিরাপদে স্কেল করার জন্য, ইঞ্জিনিয়ারদের একক-নোড সেটআপ থেকে এন্টারপ্রাইজ-গ্রেড mcp tool আর্কিটেকচারে স্থানান্তরিত হতে হবে। এর মধ্যে রয়েছে বুদ্ধিমান রিড-রেপ্লিকা লোড ব্যালেন্সিং, PgBouncer বা Supavisor-এর মাধ্যমে কানেকশন পুলিং, কঠোর statement_timeout সুরক্ষা সীমা, এবং স্বয়ংক্রিয় প্রি-ফ্লাইট EXPLAIN কুয়েরি প্ল্যান বিশ্লেষণ।
2. উচ্চ-প্রাপ্যতা আর্কিটেকচার: রিড-রেপ্লিকা লোড ব্যালেন্সিং
প্রোডাকশন PostgreSQL ডিপ্লয়মেন্টে একটি একক রিড-রাইট প্রাইমারি (মাস্টার) নোডের সাথে একাধিক স্ট্রিমিং রিড রেপ্লিকা (Read Replicas) রক্ষণাবেক্ষণ করা হয়। একটি এন্টারপ্রাইজ-গ্রেড Postgres MCP সার্ভারকে একটি বুদ্ধিমান কুয়েরি রাউটার হিসেবে কাজ করতে হবে, যা কেবল-পঠনযোগ্য (Read-Only) বিশ্লেষণমূলক অন্বেষণ এবং অবস্থা পরিবর্তনকারী রাইট ট্রানজ্যাকশনের মধ্যে পার্থক্য করতে পারে।
+----------------------------------------------------------------------------------------------------+
| হোস্ট 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 রিড রেপ্লিকা ১ | | POSTGRES রিড রেপ্লিকা ২ |
| - WAL স্ট্রিমিং প্রাইমারি |==>| - হট স্ট্যান্ডবাই (স্ট্রিমিং)|==>| - হট স্ট্যান্ডবাই |
| - উচ্চ রাইট থ্রুপুট | | - ডেডিকেটেড এজেন্ট অ্যানালিটিক্স | - স্কিমা ইন্ট্রোস্পেকশন |
+-----------------------------------+ +------------------------------+ +-------------------------+
Postgres MCP লেয়ারে রাউটিং লজিক
যখন AI এজেন্ট execute_sql কল করে, MCP সার্ভার ডেটাবেস কানেকশন নেওয়ার আগে কুয়েরি সিনট্যাক্স ট্রি পরীক্ষা করে:
- স্কিমা ইন্ট্রোস্পেকশন (
\d,information_schema,pg_catalog): এটি কঠোরভাবে শুধুমাত্র রেপ্লিকা পুলে রাউট করা হয়। - বিশ্লেষণমূলক রিড কুয়েরি (
SELECT ...): ওয়েটেড রাউন্ড-রবিন বা সর্বনিম্ন-কানেকশন অ্যালগরিদম ব্যবহার করে সুস্থ রিড রেপ্লিকাগুলোতে সমানভাবে বিতরণ করা হয়। - প্রি-ফ্লাইট অপ্টিমাইজেশন (
EXPLAIN ...): প্রোডাকশন মাস্টার বাফারকে প্রভাবিত না করে আসল পরিসংখ্যানের ওপর রেপ্লিকায় কার্যকর করা হয়। - স্টেট মিউটেশন বা ডেটা পরিবর্তন (
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 এজেন্টের জন্য নিষিদ্ধ | কেবল মাইগ্রেশন কাজের জন্য | বাধ্যতামূলক প্রোডাকশন স্ট্যান্ডার্ড |
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টি vCPU এবং 32 GB র্যাম সহ
db.r7g.xlargeইনস্ট্যান্স)। - ক্লায়েন্ট ওয়ার্কলোড: Claude Code CLI এবং LangGraph রানার দ্বারা পরিচালিত 100টি কনকারেন্ট এজেন্ট ওয়ার্কার লুপ।
- কাজের মিশ্রণ: 70% এগ্রিগেশনসহ বিশ্লেষণমূলক জয়েন (JOINs), 20% স্কিমা ইন্ট্রোস্পেকশন (
pg_catalog), 10% ভেক্টর সাদৃশ্য অনুসন্ধান (pgvectorHNSW ইনডেক্স)।
+-------------------------------------------------------------------------------------------------------------------------+
| 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% |
+------------------------------------+------------------+------------+------------+-------------+------------+------------+
মূল কর্মক্ষমতা অন্তর্দৃষ্টি
- কানেকশন ড্রপ সম্পূর্ণরূপে দূর: পুলিং ছাড়া সরাসরি সংযোগে 18.4% কানেকশন ব্যর্থতার হার দেখা গেছে কারণ এজেন্টরা
max_connectionsঅতিক্রম করেছিল। PgBouncer এই ব্যর্থতা কমিয়ে 0.0%-এ নামিয়ে এনেছে। - মাস্টার CPU লোড হ্রাস: এজেন্টের রিড কুয়েরিগুলো দুটি রিড রেপ্লিকায় অফলোড করার ফলে প্রাইমারি নোডের CPU ব্যবহার 88.6% থেকে মাত্র 12.1%-এ নেমে আসে, যা মূল অ্যাপ্লিকেশনের লেনদেনের ক্ষমতা অক্ষুণ্ণ রাখে।
- p99 লেটেন্সি 98% হ্রাস: টেল লেটেন্সি 1,420 ms থেকে কমে 24.8 ms হয়েছে, যা স্বায়ত্তশাসিত এজেন্টকে ক্যাসকেডিং টুল-কল টাইমআউট থেকে পুরোপুরি রক্ষা করে।
5. সুরক্ষা সীমা ও স্টেটমেন্ট টাইমআউট (Safety Guardrails)
একটি স্বায়ত্তশাসিত postgresql ai agent কখনোই ডিফল্ট প্রশাসনিক অধিকার নিয়ে কাজ করা উচিত নয়। PostgreSQL নেটিভ ভূমিকা অনুমতি, কানেকশন-স্তরের টাইমআউট এবং রিসোর্স ক্যাপ ব্যবহার করে গভীর সুরক্ষা নিশ্চিত করুন।
-- 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 রিড রেপ্লিকা (x2 নোড) | 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 |
+------------------------------------+--------------------------+------------------+-----------------+
কৌশলগত খরচ বিশ্লেষণ
- প্রি-ফ্লাইট EXPLAIN টোকেন সাশ্রয় করে: কুয়েরির খরচ অনুমোদিত সীমা অতিক্রম করলে তাৎক্ষণিকভাবে বাতিল করার মাধ্যমে, এজেন্টরা কুয়েরি টাইমআউট ডিবাগ করার জন্য একাধিক ফিরতি চক্র তৈরি করা এড়িয়ে চলে, যা প্রায় 25–35% টোকেন খরচ বাঁচায়।
- হাইব্রিড ইনফারেন্স রাউটিং: নিয়মিত স্কিমা নেভিগেশন এবং সাধারণ রিড কুয়েরিগুলো DeepSeek V3 বা Qwen 2.5 Coder-এর মতো উচ্চ-থ্রুপুট মডেলের মাধ্যমে পরিচালনা করলে অপারেশনাল AI ইনফারেন্স খরচ প্রতি মাসে $675 থেকে কমে $30-এর নিচে চলে আসে।
9. এন্টারপ্রাইজ প্রোডাকশন চেকলিস্ট ও সারসংক্ষেপ
Model Context Protocol-এর মাধ্যমে স্বায়ত্তশাসিত AI এজেন্টদের PostgreSQL-এ সংযুক্ত করার সময় সর্বোচ্চ প্রাপ্যতা, নিরাপত্তা এবং কর্মক্ষমতা নিশ্চিত করতে এই চেকলিস্টটি প্রয়োগ করুন:
- বাধ্যতামূলক ট্রানজ্যাকশন পুলিং: সর্বদা PgBouncer বা Supavisor (পোর্ট
6543) এর মাধ্যমে সংযোগ করুন। পোর্ট5432-এ সরাসরি সংযোগের অনুমতি দেবেন না। - রিড রেপ্লিকার সাহায্যে কাজের চাপ আলাদা করুন: সমস্ত
SELECT, স্কিমা ইন্ট্রোস্পেকশন এবং ভেক্টর অনুসন্ধান অপারেশন স্ট্রিমিং রিড রেপ্লিকায় রাউট করুন। - কঠোর সার্কিট ব্রেকার কোড করুন: রোল স্তরে
statement_timeout = '4000ms'এবংlock_timeout = '1000ms'বাধ্যতামূলকভাবে প্রয়োগ করুন। - প্রি-ফ্লাইট EXPLAIN গার্ড স্থাপন করুন: এক্সিকিউশনের আগেই আন-ইনডেক্সড সিকোয়েন্সিয়াল স্ক্যান এবং 15,000-এর বেশি আনুমানিক খরচের কুয়েরিগুলো বাতিল করুন।
- ডিফল্ট রিড-অনলি কার্যকর করুন: সমস্ত এজেন্ট ব্যবহারকারী রোলের জন্য
default_transaction_read_only = onনির্ধারণ করুন। - রেপ্লিকা ল্যাগ পর্যবেক্ষণ করুন: অ্যানালিটিক্স এজেন্টদের কাছে পুরনো ডেটা পরিবেশন রোধ করতে অবিচ্ছিন্নভাবে
pg_last_xact_replay_timestamp()ট্র্যাক করুন।
রিড-রেপ্লিকা স্কেলিং, কানেকশন পুলিং এবং প্রি-ফ্লাইট কুয়েরি প্ল্যান ভ্যালিডেশনের সমন্বয় ঘটিয়ে, সফটওয়্যার ইঞ্জিনিয়ারিং দলগুলো প্রোডাকশন স্থিতিশীলতার প্রতি পূর্ণ আস্থা রেখে স্বায়ত্তশাসিত ডেটাবেস AI এজেন্ট মোতায়েন করতে পারে।