Todos os produtos
Search
Central de documentação

ApsaraDB RDS:Depurar stored procedures (pldebugger)

Última atualização: Jun 26, 2026

Este tópico descreve como usar a extensão pldebugger para depurar stored procedures de uma instância ApsaraDB RDS for PostgreSQL.

Informações básicas

O ApsaraDB RDS for PostgreSQL oferece suporte a diversas linguagens de stored procedures, como PL/pgSQL, PL/Python, PL/Perl e PL/Tcl. Use essas linguagens para criar funções ou stored procedures.

Pré-requisitos

  • A instância RDS deve executar uma das seguintes versões do mecanismo de banco de dados:

    Versão principal do mecanismo

    Versão secundária do mecanismo

    PostgreSQL 14, 15, 16 ou 17

    20250630 ou posterior

    PostgreSQL 10, 11, 12 ou 13

    20230830 ou posterior

    Importante

    Este plug-in era compatível com versões secundárias do mecanismo anteriores a 20230830. Para padronizar o gerenciamento de plug-ins e aumentar a segurança, o RDS otimiza plug-ins que apresentam riscos de segurança nas versões mais recentes do mecanismo. Por isso, a criação desses plug-ins é restrita em determinadas versões secundárias. Para mais detalhes, consulte Restrições à criação de plug-ins.

    • Se a instância executar uma versão secundária anterior a 20230830 e você já utilizar este plug-in, as cargas de trabalho não serão afetadas.

    • Ao criar este plug-in pela primeira vez ou recriá-lo, atualize a versão secundária do mecanismo para a versão mais recente.

  • Tenha uma conta privilegiada na instância ApsaraDB RDS for PostgreSQL. Para mais informações, consulte Criar uma conta.

  • A versão do pgAdmin4 no cliente de banco de dados deve ser 4.19 ou superior. Baixe o pgAdmin4 em pgAdmin4.

Instale e desinstale a extensão

  1. Defina os parâmetros da instância e adicione plugin_debugger ao running parameter value de shared_preload_libraries. Por exemplo, altere o running parameter value para 'pg_stat_statements,auto_explain,plugin_debugger'.

  2. Use uma conta privilegiada para conectar-se ao banco de dados de destino e execute as instruções SQL a seguir para gerencie a extensão.

    • Crie a extensão.

      CREATE EXTENSION pldbgapi;
    • Exclua a extensão.

      DROP EXTENSION pldbgapi;

Exemplos

  1. Conecte-se à instância ApsaraDB RDS for PostgreSQL com um cliente pgAdmin. Para mais detalhes, consulte Conectar-se a uma instância PostgreSQL.

  2. Crie uma tabela de teste e uma stored procedure.

    Instruções SQL de exemplo:

    CREATE TABLE test(
        id int,
        name VARCHAR(50));
    CREATE OR REPLACE FUNCTION public.testcount()
    RETURNS integer AS $$
    DECLARE
        postgres text;
        counts integer;
    BEGIN
    INSERT INTO test VALUES(1, 'a');
    postgres:='SELECT COUNT(*) FROM test';
    EXECUTE postgres INTO counts;
    IF counts > 100 THEN
        RETURN counts;
    ELSE
        RETURN 0;
    END IF;
    END;
    $$ language plpgsql;
  3. No painel Browser à esquerda, expanda Functions, clique em com o botão direito na função testcount() e escolha Debugging > Debug para entrar no modo de depuração.

  4. No painel de depuração de funções, à direita da interface do pgAdmin, depure a função de destino passo a passo. A barra de ferramentas do depurador, na parte superior, oferece botões para controlar a execução, como Step Into, Step Over, Continue e Stop. Use os botões Toggle breakpoint e Clear all breakpoints para gerencie pontos de interrupção. O editor de código destaca a linha atual de execução. Na parte inferior, as abas Parameters, Local variables, Messages, Results e Stack permitem inspecionar valores de variáveis, mensagens e a pilha da função.