Em 25 de janeiro de 2016 02:01, [email protected] <[email protected]> escreveu: > ... > > Fiz um simples SELECT para descobrir o que estava acontecendo: > > SELECT * FROM integrations.accounts WHERE qb_settings IS NULL OR > xero_settings IS NULL OR freshbooks_settings IS NULL OR myob_settings IS > NULL OR ppy_settings IS NULL; > > Recebi 59 rows. Ou seja, achei o problema. Eu tenho parâmetros nulos que > violam o meu "CHECK" > > PERGUNTA: > > Como posso executar o comando com sucesso? O que tenho que fazer? > > Não estou pedindo a barbada. Apenas se puder ser mais claro no que > eu preciso e me apontar uma direcão, iria ajudar bastante. Obrigado.
Corrija os dados, se é uma restrição para a aplicação esta poderá não funcionar corretamente já que não há integridade nos dados certo? Peça auxilio para os desenvolvedores para que eles indiquem se você pode setar algum valor mágico que a aplicação espera para os casos não íntegros ou se eles são "sujeiras" e podem ser removidos. Por outro lado, caso você queira arcar com todos os risco de manter dados não íntegros e provavelmente ter que voltar neste ponto novamente lá no futuro, você pode até recorrer a uma opção no ADD CONSTRAINT, que consta na documentação do comando ALTER TABLE [1] e reproduzo o trecho aqui: "ADD table_constraint [ NOT VALID ] This form adds a new constraint to a table using the same syntax as CREATE TABLE, plus the option NOT VALID, which is currently only allowed for foreign key and CHECK constraints. If the constraint is marked NOT VALID, the potentially-lengthy initial check to verify that all rows in the table satisfy the constraint is skipped. The constraint will still be enforced against subsequent inserts or updates (that is, they'll fail unless there is a matching row in the referenced table, in the case of foreign keys; and they'll fail unless the new row matches the specified check constraints). But the database will not assume that the constraint holds for all rows in the table, until it is validated by using the VALIDATE CONSTRAINT option." A documentação do PostgreSQL é muito completa, aconselho-o a lê-la. Mesmo que estejas atuando em algo pontual, leia pelo menos a documentação do comando que você está usando pois ela vai tratar dúvidas de sintaxe e em muitos casos te dar dicas. Por outro lado [1] http://www.postgresql.org/docs/9.2/static/sql-altertable.html -- Dickson S. Guedes mail/xmpp: [email protected] - skype: guediz http://github.com/guedes - http://guedesoft.net http://www.postgresql.org.br _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
