Considerações para suporte a procedimentos armazenados - Amazon Redshift

Considerações para suporte a procedimentos armazenados

As considerações a seguir se aplicam ao usar procedimentos armazenados do Amazon Redshift.

Diferenças entre Amazon Redshift e PostgreSQL para suporte a procedimentos armazenados

A seguir estão as diferenças entre o suporte a procedimentos armazenados no Amazon Redshift e PostgreSQL:

  • O Amazon Redshift não oferece suporte a subtransações e, portanto, tem suporte limitado para blocos de tratamento de exceção.

Considerações e limitações

Veja a seguir as considerações sobre os procedimentos armazenados no Amazon Redshift:

  • O número máximo de procedimentos armazenados para um banco de dados é 10.000.

  • O tamanho máximo do código-fonte para um procedimento é 2 MB.

  • O número máximo de cursores explícitos e implícitos que podem ser abertos simultaneamente em uma sessão do usuário é 1. Loops FOR que iteram sobre o conjunto de resultados de uma instrução SQL abrem cursores implícitos. Não há suporte para cursores aninhados.

  • Os cursores explícitos e implícitos têm as mesmas restrições no tamanho do conjunto de resultados que os cursores padrão do Amazon Redshift. Para obter mais informações, consulte Restrições de cursor.

  • O número máximo de níveis para chamadas aninhadas é 16.

  • O número máximo de parâmetros de procedimento é 32 para argumentos de entrada e 32 para argumentos de saída.

  • O número máximo de variáveis em um procedimento armazenado é 1.024.

  • Qualquer comando SQL que requer seu próprio contexto de transação não é compatível dentro de um procedimento armazenado. Os exemplos incluem:

    • PREPARE

    • CREATE/DROP DATABASE

    • CREATE EXTERNAL TABLE

    • VACUUM

    • SET LOCAL

    • ALTER TABLE APPEND

  • A chamada do método registerOutParameter pelo driver do Java Database Connectivity (JDBC) não é compatível com o tipo de dados refcursor. Para obter um exemplo de uso do tipo de dados refcursor, consulte Retorno de um conjunto de resultados.