PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Problema de simultaneidade com psycopg2, Redshift e unittest


Você está usando DROP com a opção CASCADE. Portanto, qualquer descarte de tabelas com integridade referencial também descartará a tabela filho associada à tabela pai.

Para solucionar se isso é realmente o que está acontecendo, antes de executar seu código, tire um instantâneo das tabelas existentes com seu OID (acho que pg_tables ou pg_relations devem ter essas informações). Execute o código e verifique o OID da mensagem de erro com o instantâneo para o nome da tabela.

Edit:Pode ser porque os planos estão sendo armazenados em cache no PostgreSQL (assim no Redshift) para funções. Este é um bug documentado até 8.2, então você pode querer procurar uma correção para ele. O plano será armazenado em cache de acordo com a primeira execução da função, mas para a segunda execução alguns dos objetos teriam novos OIDs devido à recriação.http://merlinmoncure.blogspot.ie/2007/09/as-previously-stated-postgresql-8.html

http://www.postgresql.org/message-id/example @sqldat.com