Acesso no exterior: www.kdjingpai.com
Ctrl + D Marcar este site como favorito

O MCP-PostgreSQL-Ops é uma ferramenta profissional de operações e monitoramento projetada para bancos de dados PostgreSQL. Ela permite que modelos de linguagem grande (LLMs) ou agentes de IA interajam com o banco de dados por meio de um servidor MCP (Model Context Protocol) seguro. O recurso mais importante dessa ferramenta é que todas as operações são somente de leitura, o que garante que as análises de desempenho, as verificações de configuração e a navegação estrutural sejam realizadas sem causar modificações não intencionais no banco de dados on-line, garantindo a segurança absoluta dos dados. O projeto aproveita as vantagens do pg_stat_statements responder cantando pg_stat_monitor Plug-in de extensão que fornece insights profundos sobre o desempenho para ajudar os administradores de banco de dados (DBAs) e desenvolvedores a localizar rapidamente consultas lentas, analisar a eficiência do uso de índices e gerenciar a capacidade do banco de dados. Os usuários podem fazer perguntas em linguagem natural para executar vários comandos de operação e manutenção, como "consultar os 10 SQL mais lentos" ou "verificar o número de conexões com o banco de dados", tornando o gerenciamento complexo do banco de dados mais fácil e intuitivo.

 

Lista de funções

  • Informações e status do servidor:
    • get_server_infoObtenha informações sobre a versão do servidor PostgreSQL, o status operacional e os plug-ins de extensões instalados.
    • get_active_connectionsConexões ativas: Visualize o número de conexões ativas e os detalhes da sessão do banco de dados atual.
    • get_postgresql_configPesquisa e obtenção de parâmetros de configuração do PostgreSQL com base em palavras-chave.
  • Visualização da estrutura do banco de dados:
    • get_database_listBanco de dados: lista todos os bancos de dados e seus tamanhos.
    • get_table_listTabela: Exibe informações sobre todas as tabelas do banco de dados especificado e seus tamanhos.
    • get_user_listUsuário: Lista todos os usuários do banco de dados e suas permissões.
  • Monitoramento e análise de desempenho:
    • get_pg_stat_statements_top_queriesAnálise e identificação de consultas de execução lenta (consultas lentas) com base em estatísticas de desempenho.
    • get_pg_stat_monitor_recent_queriesMonitoramento em tempo real de consultas executadas recentemente.
    • get_index_usage_statsAnálise da frequência e da eficiência do uso de índices para ajudar a identificar índices não utilizados ou ineficientes.
  • gerenciamento de capacidade:
    • get_database_size_infoAnálise e exibição do tamanho da capacidade de cada banco de dados: Analise e mostre o tamanho da capacidade de cada banco de dados.
    • get_table_size_infoAnálise e exibição do tamanho das tabelas de dados e índices
    • get_vacuum_analyze_statsExibir a tabela do banco de dadosVACUUM(coleta de lixo) eANALYZE(Atualização de informações estatísticas) status e histórico.

Usando a Ajuda

O processo de instalação e uso do MCP-PostgreSQL-Ops é muito simples e está dividido em três etapas principais: preparação do ambiente, instalação de dependências e inicialização do serviço.

Etapa 1: Preparação e configuração do ambiente

Antes de começar, você precisa se certificar de que seu sistema tenha instalado oPython 3.11ou superior, euvEssa ferramenta de gerenciamento de pacotes Python.

  1. Download do código do projeto
    Primeiro, clone o projeto do GitHub em seu computador local.

    git clone https://github.com/call518/MCP-PostgreSQL-Ops.git
    cd MCP-PostgreSQL-Ops
    
  2. Configuração de conexões de banco de dados
    O projeto contém um arquivo chamado.env.exampledo modelo do arquivo de configuração. Você precisa copiar esse arquivo e renomeá-lo.enve, em seguida, modifique as informações de conexão do banco de dados de acordo com sua situação real.

    cp .env.example .env
    

    Em seguida, use um editor de texto para abrir o arquivo.envpreencha as informações do seu banco de dados PostgreSQL:

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

Etapa 2: Instale as extensões necessárias do PostgreSQL

Para usar o recurso completo de monitoramento de desempenho, seu banco de dados PostgreSQL deve ter a opçãopg_stat_statementsExtensão. Essa é uma extensão oficial que geralmente é instalada por padrão, mas não é ativada.

  1. modificaçõespostgresql.conf
    Localizar seu arquivo de configuração do PostgreSQLpostgresql.confemshared_preload_librariesItem de configuração para adicionar opg_stat_statements.

    shared_preload_libraries = 'pg_stat_statements'
    

    Se você também quiser usar o recurso de monitoramento de consultas em tempo real, poderá adicioná-lo junto com a opçãopg_stat_monitor.

    shared_preload_libraries = 'pg_stat_statements,pg_stat_monitor'
    
  2. Reiniciar os serviços de banco de dados
    Após modificar a configuração, o serviço PostgreSQL deve ser reiniciado para que as alterações tenham efeito.
  3. Criação de extensões no banco de dados
    Usando um cliente de banco de dados (como opsql) Conecte-se ao seu banco de dados e execute o seguinte comando SQL para criar a extensão.

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

    Você pode fazer isso por meio doget_server_infopara verificar se a extensão foi instalada com êxito.

Etapa 3: Instale as dependências do Python e inicie o serviço

  1. Criação de um ambiente virtual e instalação de dependências
    Recomendado para projetosuvpara gerenciar o ambiente e as dependências do Python, que podem ser instalados rapidamente.

    # 创建一个基于Python 3.11的虚拟环境
    uv venv --python 3.11
    # 激活虚拟环境 (在Linux/macOS下)
    source .venv/bin/activate
    # 安装所有依赖
    uv sync
    
  2. Início do serviço MCP
    O projeto oferece várias maneiras de começar, sendo a mais comum o modo de desenvolver e testar localmente.

    • Modelo de desenvolvimento (recomendado)
      Executando scripts diretamente, esse modo inicia um inspetor MCP local, facilitando a interação direta com a ferramenta.

      ./scripts/run-mcp-inspector-local.sh
      
    • modo de depuração
      Se precisar ver uma saída de registro mais detalhada, você pode iniciá-lo diretamente com o comando Python e definir o nível de registro comoDEBUG.

      python -m src.mcp_postgresql_ops.mcp_main --log-level DEBUG
      
    • Modelo de serviço HTTP
      Você também pode executar o serviço como um servidor HTTP para que outros aplicativos possam invocar sua funcionalidade por meio de solicitações de rede.

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

      Depois que o serviço for iniciado, você poderá interagir com ele por meio do agente de IA ou de outros clientes MCP, enviando comandos de linguagem natural para gerenciar e monitorar seu banco de dados. Por exemplo, você pode solicitar: "Mostrar as 10 consultas mais lentas" ou "Verificar todos os tamanhos de banco de dados".

cenário do aplicativo

  1. Localização do gargalo de desempenho do banco de dados
    Quando um aplicativo on-line demora a responder, os DBAs ou desenvolvedores podem usar imediatamente essa ferramenta para consultar o status atual do desempenho do banco de dados. Ao perguntar "Analyse the most resource-intensive SQL queries" ou "Show the most recent slow queries", é possível identificar rapidamente as instruções SQL específicas que estão causando o problema de desempenho, para que você possa otimizá-las sem se preocupar com a possibilidade de qualquer erro afetar o ambiente de produção.
  2. Patrulhas diárias de saúde do banco de dados
    Os DBAs podem usar essa ferramenta para realizar verificações de rotina diariamente. Ao consultar "Quantas conexões ativas existem?", "Verificar o tamanho de todos os bancos de dados" e "Quais tabelas precisam de VACUUM? Ao consultar "How active connections there", "Check the size of all databases" e "Which tables need to perform VACUUM?", você pode ter uma compreensão abrangente do status operacional do banco de dados, do uso da capacidade e das necessidades de manutenção, para obter operação e manutenção proativas e evitar problemas antes que eles ocorram.
  3. Integração de agentes de IA e operações automatizadas
    Essa ferramenta pode ser integrada ao agente de IA ou ao processo automatizado de operação e manutenção. Por exemplo, defina uma tarefa automatizada para permitir que o agente de IA consulte regularmente todos os dias para "verificar se há índices não utilizados" e, se encontrar índices inúteis, ele gerará automaticamente relatórios ou alertas para ajudar os DBAs a otimizar continuamente a estrutura do banco de dados e reduzir os custos de manutenção.
  4. Arquitetura de dados e planejamento de recursos
    Ao projetar a arquitetura do sistema ou o planejamento de capacidade, as equipes de desenvolvimento e manutenção de operações podem usar essa ferramenta para entender a estrutura do banco de dados existente e o uso de recursos. Consultas como "List size of all tables and indexes" (Listar o tamanho de todas as tabelas e índices) e "View user privilege list" (Exibir lista de privilégios do usuário) podem fornecer dados precisos para apoiar o desenvolvimento de novos recursos e futuras compras de recursos de servidor.

QA

  1. Essa ferramenta modificará meu banco de dados?
    Um dos princípios de design mais importantes do MCP-PostgreSQL-Ops é a segurança. Todas as operações são somente leitura. Ele consulta apenas o catálogo do sistema e as exibições de estatísticas de desempenho do banco de dados e não executa nenhuma operação.UPDATEeDELETEtalvezINSERTe outras operações de gravação, e pode ser usado em ambientes de produção com confiança.
  2. O que preciso fazer para preparar meu banco de dados antes de usar essa ferramenta?
    Você precisa se certificar de que a versão do banco de dados seja PostgreSQL 12 ou superior. A preparação mais importante é habilitar a funçãopg_stat_statementspois ela é a base do recurso de análise de desempenho. Para ativá-la, é necessário modificar o arquivopostgresql.confe reinicie o serviço de banco de dados, conforme descrito em detalhes na seção Ajuda.
  3. O que é MCP e como essa ferramenta é diferente?
    O MCP (Model Context Protocol) é um protocolo que permite que os modelos de IA interajam de forma segura com ferramentas externas, como bancos de dados. Ele define um conjunto de regras que permite que a IA saiba quais funções a ferramenta tem e como invocá-las. Ao contrário de outras ferramentas que podem permitir que a IA execute consultas SQL diretamente, essa ferramenta encapsula todas as operações em funções seguras e predefinidas somente para leitura, que só podem ser invocadas pela IA e não executam código arbitrário, evitando, assim, riscos de segurança como a injeção de SQL.
  4. Posso usar essa ferramenta em vários servidores de banco de dados?
    É possível. Você só precisa modificar o.envAs informações de conexão do banco de dados no arquivo de configuração apontam para um servidor de banco de dados diferente e, em seguida, basta reiniciar o serviço. Se desejar monitorar vários servidores ao mesmo tempo, você poderá iniciar uma instância separada do serviço MCP-PostgreSQL-Ops para cada servidor.
0Marcado
0Recomendado

Recomendado

Não consegue encontrar ferramentas de IA? Tente aqui!

Basta digitar a palavra-chave Acessibilidade Bing SearchA seção Ferramentas de IA deste site é uma maneira rápida e fácil de encontrar todas as ferramentas de IA deste site.

Novos lançamentos

voltar ao topo

pt_BRPortuguês do Brasil