Euler, No caso em questão eu criava tabelas temporárias via EXECUTE para que elas fossem visíveis (via EXECUTE 'SELECT') em outras stored procedures relacionadas e apagava assim que terminava de usar. Isso era burocrático, mas resolvia direitinho meu problema no Postgres *versão 7*. Só que ao testar isso na *versão 8.3.1* não funcionou, não tenho mais o registro exato porque as stored procedures foram reescritas para não usar mais tabelas temporárias. Eu precisaria remontar o ambiente (criar um banco de dados com versões específicas de tabelas, stored procedures e código fonte, todas intermediárias) para reproduzir esse erro.
Lembro que encontrei dois problemas: inicialmente ele me reportou erro ao rodar o DROP TABLE na tabela temporária dentro de uma stored procedure. Quando dei um jeito de não usar EXECUTE nem DROP dentro da mesma transação, eu não conseguia mais abrir o cursor sobre a tabela temporária à partir da segunda execução, pois o servidor reportava um erro esquisito no LOG, falando de um cursor com um nome enorme e aleatório que não foi encontrado. Sempre que dava esse erro o servidor me vinha com aquele maldito 'current transaction is aborted, commands ignored until end of transaction block'. Atenciosamente, Mozart Hasse Date: Wed, 23 Apr 2008 16:51:18 -0300 From: Euler Taveira de Oliveira <[EMAIL PROTECTED]> Subject: Re: [pgbr-geral] Upgrade da 7.4 para 8.3 Mozart Hasse wrote: > * Cuidado com tabelas temporárias, o Postgres 8.3 não deixa você > excluí-las. Caso tenha algum caso desses, você pode precisar usar tabelas > reais e controlar sua limpeza manualmente. > O que você quis dizer com isso? Tabelas temporárias sempre puderam ser excluídas. Acho que você está se referindo a invalidação do plano de execução em funções no qual tabelas temporárias não precisam de um tratamento especial (com EXECUTE); Mesmo assim funções que funcionavam no 8.2 assim devem funcionar no 8.3 também. _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral