Zugang aus Übersee: www.kdjingpai.com
Ctrl + D Lesezeichen für diese Seite

MCP-PostgreSQL-Ops ist ein professionelles Betriebs- und Überwachungswerkzeug, das für PostgreSQL-Datenbanken entwickelt wurde. Es bietet die Möglichkeit für Large Language Models (LLMs) oder KI-Agenten, mit der Datenbank über einen sicheren Model Context Protocol (MCP) Server zu interagieren. Das wichtigste Merkmal dieses Tools ist, dass alle Operationen schreibgeschützt sind, wodurch sichergestellt wird, dass Leistungsanalysen, Konfigurationsprüfungen und strukturelles Browsing ohne unbeabsichtigte Änderungen an der Online-Datenbank durchgeführt werden, wodurch absolute Datensicherheit garantiert wird. Das Projekt nutzt die Vorteile der in PostgreSQL integrierten pg_stat_statements im Gesang antworten pg_stat_monitor Erweiterungs-Plugin, das tiefe Einblicke in die Leistung bietet, um Datenbankadministratoren (DBAs) und Entwicklern zu helfen, langsame Abfragen schnell zu finden, die Effizienz der Indexnutzung zu analysieren und die Datenbankkapazität zu verwalten. Benutzer können Fragen in natürlicher Sprache stellen, um verschiedene Betriebs- und Wartungsbefehle auszuführen, z. B. "die 10 langsamsten SQL-Abfragen" oder "die Anzahl der Verbindungen zur Datenbank prüfen", wodurch die komplexe Datenbankverwaltung einfacher und intuitiver wird.

 

Funktionsliste

  • Serverinformationen und -status:
    • get_server_infoInformationen über die Version des PostgreSQL-Servers, den Betriebsstatus und die installierten Erweiterungs-Plug-ins.
    • get_active_connectionsAnzeigen der Anzahl aktiver Verbindungen und Sitzungsdetails für die aktuelle Datenbank.
    • get_postgresql_configSuche und Abruf von PostgreSQL-Konfigurationsparametern anhand von Schlüsselwörtern.
  • Ansicht der Datenbankstruktur:
    • get_database_listAuflistung aller Datenbanken und ihrer Größe.
    • get_table_listZeigt Informationen über alle Tabellen in der angegebenen Datenbank und deren Größe an.
    • get_user_listAuflistung aller Benutzer der Datenbank und ihrer Berechtigungen.
  • Leistungsüberwachung und -analyse:
    • get_pg_stat_statements_top_queriesAnalyse und Identifizierung von langsam ausgeführten Abfragen (slow queries) anhand von Leistungsstatistiken.
    • get_pg_stat_monitor_recent_queries:: Echtzeit-Überwachung von kürzlich ausgeführten Abfragen.
    • get_index_usage_statsAnalyse der Häufigkeit und Effizienz der Indexnutzung, um ungenutzte oder ineffiziente Indizes zu identifizieren.
  • Kapazitätsmanagement:
    • get_database_size_infoAnalyse und Anzeige der Größe der Kapazität jeder Datenbank.
    • get_table_size_infoAnalyse und Anzeige der Größe von Datentabellen und Indizes.
    • get_vacuum_analyze_stats:: Ansicht der DatenbanktabelleVACUUM(Müllabfuhr) undANALYZE(Statistical Information Update) Status und Geschichte.

Hilfe verwenden

Der Prozess der Installation und Verwendung von MCP-PostgreSQL-Ops ist sehr einfach und gliedert sich in drei Hauptschritte: Vorbereitung der Umgebung, Installation der Abhängigkeiten und Start des Dienstes.

Schritt 1: Vorbereitung und Konfiguration der Umgebung

Bevor Sie beginnen, müssen Sie sicherstellen, dass Ihr System diePython 3.11oder höher, unduvDieses Werkzeug zur Verwaltung von Python-Paketen.

  1. Projektcode herunterladen
    Klonen Sie zunächst das Projekt von GitHub auf Ihren lokalen Computer.

    git clone https://github.com/call518/MCP-PostgreSQL-Ops.git
    cd MCP-PostgreSQL-Ops
    
  2. Konfigurieren von Datenbank-Verbindungen
    Das Projekt enthält eine Datei namens.env.exampleder Konfigurationsdatei-Vorlage. Sie müssen diese Datei kopieren und umbenennen.envund ändern Sie dann die darin enthaltenen Datenbankverbindungsinformationen entsprechend Ihrer tatsächlichen Situation.

    cp .env.example .env
    

    Als nächstes öffnen Sie mit einem Texteditor die Datei.envtragen Sie die Informationen Ihrer PostgreSQL-Datenbank ein:

    # 数据库服务器的主机名或IP地址
    POSTGRES_HOST=localhost
    # 数据库服务器的端口
    POSTGRES_PORT=5432
    # 连接数据库的用户名
    POSTGRES_USER=postgres
    # 连接数据库的密码
    POSTGRES_PASSWORD=your-secret-password
    # 默认连接的数据库名称
    POSTGRES_DB=postgres
    

Schritt 2: Installieren Sie die erforderlichen PostgreSQL-Erweiterungen

Um die volle Leistungsüberwachung nutzen zu können, muss Ihre PostgreSQL-Datenbank über diepg_stat_statementsErweiterung. Dies ist eine offizielle Erweiterung, die normalerweise standardmäßig installiert, aber nicht aktiviert ist.

  1. Änderungenpostgresql.conf
    Finden Sie Ihre PostgreSQL-Konfigurationsdateipostgresql.confinshared_preload_librariesKonfiguration zum Hinzufügen der Optionpg_stat_statements.

    shared_preload_libraries = 'pg_stat_statements'
    

    Wenn Sie auch die Funktion zur Überwachung von Abfragen in Echtzeit nutzen möchten, können Sie sie zusammen mit der Optionpg_stat_monitor.

    shared_preload_libraries = 'pg_stat_statements,pg_stat_monitor'
    
  2. Neustart der Datenbankdienste
    Nachdem Sie die Konfiguration geändert haben, muss der PostgreSQL-Dienst neu gestartet werden, damit die Änderungen wirksam werden.
  3. Anlegen von Erweiterungen in der Datenbank
    Mit einem Datenbank-Client (wie z.B.psql) Stellen Sie eine Verbindung zu Ihrer Datenbank her und führen Sie den folgenden SQL-Befehl aus, um die Erweiterung zu erstellen.

    CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
    -- 如果需要,也创建pg_stat_monitor
    CREATE EXTENSION IF NOT EXISTS pg_stat_monitor;
    

    Sie können dies über das mitgelieferte Projekt tunget_server_infoum zu überprüfen, ob die Erweiterung erfolgreich installiert wurde.

Schritt 3: Installieren Sie die Python-Abhängigkeiten und starten Sie den Dienst

  1. Erstellen einer virtuellen Umgebung und Installieren von Abhängigkeiten
    Empfohlen für Projekteuvum die Python-Umgebung und Abhängigkeiten zu verwalten, die sehr schnell installiert werden können.

    # 创建一个基于Python 3.11的虚拟环境
    uv venv --python 3.11
    # 激活虚拟环境 (在Linux/macOS下)
    source .venv/bin/activate
    # 安装所有依赖
    uv sync
    
  2. Starten des MCP-Dienstes
    Das Projekt bietet mehrere Einstiegsmöglichkeiten, von denen die häufigste die lokale Entwicklung und Prüfung ist.

    • Entwicklungsmodell (empfohlen)
      Bei der direkten Ausführung von Skripten wird in diesem Modus ein lokaler MCP-Inspektor gestartet, der Ihnen die direkte Interaktion mit dem Tool erleichtert.

      ./scripts/run-mcp-inspector-local.sh
      
    • Debug-Modus
      Wenn Sie eine detailliertere Protokollierungsausgabe benötigen, können Sie sie direkt mit dem Python-Befehl starten und die Protokollierungsstufe aufDEBUG.

      python -m src.mcp_postgresql_ops.mcp_main --log-level DEBUG
      
    • HTTP-Dienstmodell
      Sie können den Dienst auch als HTTP-Server ausführen, damit andere Anwendungen seine Funktionen über Netzwerkanfragen aufrufen können.

      python -m src.mcp_postgresql_ops.mcp_main \
      --type streamable-http \
      --host 127.0.0.1 \
      --port 8080 \
      --log-level DEBUG
      

      Sobald der Dienst gestartet ist, können Sie über den KI-Agenten oder andere MCP-Clients mit ihm interagieren und Befehle in natürlicher Sprache senden, um Ihre Datenbank zu verwalten und zu überwachen. Sie können zum Beispiel fragen: "Zeige die 10 langsamsten Abfragen" oder "Prüfe alle Datenbankgrößen".

Anwendungsszenario

  1. Ort des Engpasses bei der Datenbankleistung
    Wenn eine Online-Anwendung langsam reagiert, können DBAs oder Entwickler mit diesem Tool sofort den aktuellen Leistungsstatus der Datenbank abfragen. Mit der Frage "Analysieren Sie die ressourcenintensivsten SQL-Abfragen" oder "Zeigen Sie die letzten langsamen Abfragen an" können Sie schnell die spezifischen SQL-Anweisungen ermitteln, die das Leistungsproblem verursachen, so dass Sie diese optimieren können, ohne sich Sorgen machen zu müssen, dass sich ein Fehltritt auf die Produktionsumgebung auswirkt.
  2. Tägliche Gesundheitsüberprüfungen der Datenbank
    DBAs können mit diesem Tool täglich Routineprüfungen durchführen. Durch die Abfragen "Wie viele aktive Verbindungen gibt es?", "Überprüfen Sie die Größe aller Datenbanken" und "Welche Tabellen benötigen VACUUM? Die Abfragen "Wie viele aktive Verbindungen gibt es?", "Überprüfen Sie die Größe aller Datenbanken" und "Welche Tabellen benötigen VACUUM?" ermöglichen einen umfassenden Überblick über den Betriebszustand der Datenbank, die Kapazitätsauslastung und den Wartungsbedarf. So können Sie einen proaktiven Betrieb und eine proaktive Wartung erreichen, um Probleme zu vermeiden, bevor sie auftreten.
  3. Integration von KI-Agenten und automatisierte Abläufe
    Dieses Tool kann in den KI-Agenten oder den automatisierten Betriebs- und Wartungsprozess integriert werden. Legen Sie beispielsweise eine automatisierte Aufgabe fest, die den KI-Agenten regelmäßig jeden Tag abfragen lässt, um zu prüfen, "ob es ungenutzte Indizes gibt". Wenn er ungenutzte Indizes findet, erstellt er automatisch Berichte oder Warnungen, die den DBAs helfen, die Datenbankstruktur kontinuierlich zu optimieren und die Wartungskosten zu senken.
  4. Datenarchitektur und Ressourcenplanung
    Bei der Gestaltung der Systemarchitektur oder der Kapazitätsplanung können Entwicklungs- und Betriebswartungsteams dieses Tool nutzen, um die Struktur der vorhandenen Datenbank und die Ressourcennutzung zu verstehen. Abfragen wie "Größe aller Tabellen und Indizes auflisten" und "Benutzerberechtigungsliste anzeigen" können genaue Daten liefern, die die Entwicklung neuer Funktionen und den Kauf künftiger Serverressourcen unterstützen.

QA

  1. Wird dieses Tool meine Datenbank verändern?
    Eines der wichtigsten Designprinzipien von MCP-PostgreSQL-Ops ist die Sicherheit: Alle Operationen sind schreibgeschützt. Es werden nur der Systemkatalog und die Performance-Statistiken der Datenbank abgefragt und keine weiteren Operationen durchgeführt.UPDATEundDELETEvielleichtINSERTund andere Schreibvorgänge und kann mit Sicherheit in Produktionsumgebungen eingesetzt werden.
  2. Was muss ich tun, um meine Datenbank vorzubereiten, bevor ich dieses Tool verwenden kann?
    Sie müssen sicherstellen, dass die Datenbankversion PostgreSQL 12 oder höher ist. Die wichtigste Vorbereitung ist die Aktivierung despg_stat_statementsErweiterung, da sie die Grundlage für die Leistungsanalysefunktion ist. Ihre Aktivierung erfordert eine Änderung derpostgresql.confDatei und starten Sie den Datenbankdienst neu, wie im Abschnitt Hilfe ausführlich beschrieben.
  3. Was ist MCP und wie unterscheidet sich dieses Tool von anderen?
    MCP (Model Context Protocol) ist ein Protokoll, das KI-Modellen die sichere Interaktion mit externen Tools wie Datenbanken ermöglicht. Es definiert eine Reihe von Regeln, die der KI mitteilen, welche Funktionen das Tool hat und wie sie aufgerufen werden können. Im Gegensatz zu anderen Tools, die es der KI ermöglichen, SQL-Abfragen direkt auszuführen, kapselt dieses Tool alle Operationen in sichere, vordefinierte Nur-Lese-Funktionen, die nur von der KI aufgerufen werden können und keinen beliebigen Code ausführen, wodurch Sicherheitsrisiken wie SQL-Injection vermieden werden.
  4. Kann ich dieses Tool auf mehreren Datenbankservern verwenden?
    Das können Sie. Sie müssen nur die.envDie Datenbankverbindungsinformationen in der Konfigurationsdatei verweisen auf einen anderen Datenbankserver, und starten Sie dann einfach den Dienst neu. Wenn Sie mehrere Server gleichzeitig überwachen möchten, können Sie für jeden Server eine eigene Instanz des Dienstes MCP-PostgreSQL-Ops starten.
0Lesezeichen
0Gelobt

Empfohlen

Sie können keine AI-Tools finden? Versuchen Sie es hier!

Geben Sie einfach das Schlüsselwort Barrierefreiheit Bing-SucheDer Bereich KI-Tools auf dieser Website bietet eine schnelle und einfache Möglichkeit, alle KI-Tools auf dieser Website zu finden.

Neue Veröffentlichungen

zurück zum Anfang

de_DEDeutsch