Re: [pgbr-geral] Desorganização do fonte depois de compilar a view e lentidão na execução
O autovacuum está habilitado? Experimente fazer um VACUUM ANALYZE tb_produto_loja e depois teste os dois plano novamente. Se a diferença dos números de rows *não* se aproximar, apresente os planos novamente. O autovaccum estava desabilitado, fiz o VACUUM FULL ANALYZE em toda base e um REINDEX DATABASE e ficou rápido os 2 sql's. Se este banco está a tempos sem manutenção (aka VACUUM, ANALYZE), eu executaria eles no banco todo. Na verdade esse era uma base que tinha abacado de terminar uma importação, e realmente estava cheio de sujeiras pra ser limpada pelo vacuum. Falha minha, esqueci de fazer o vacuum antes de testar os processos do sistema, o vacuum diminuiu quase pela metade o tamanho da base. Por curiosidade, qual o tipo de cd_loja em ambas tabelas? Ambos eram do mesmo dominio do tipo integer. Obrigado pela ajuda. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Desorganização do fonte depois de compilar a view e lentidão na execução
Em 5 de março de 2012 08:33, Fábio Naspolini fabionaspol...@gmail.comescreveu: O autovacuum está habilitado? Experimente fazer um VACUUM ANALYZE tb_produto_loja e depois teste os dois plano novamente. Se a diferença dos números de rows *não* se aproximar, apresente os planos novamente. O autovaccum estava desabilitado, fiz o VACUUM FULL ANALYZE em toda base e um REINDEX DATABASE e ficou rápido os 2 sql's. Só por curiosidade, qual a diferença do de tempo de execução do SQL original com o compilado (com os casts) agora, depois do VACUUM? Abraços -- Moisés P. Sena (Analista e desenvolvedor de sistemas WEB e mobile) http://www.moisespsena.com http://linux.moisespsena.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Desorganização do fonte depois de compilar a view e lentidão na execução
Só por curiosidade, qual a diferença do de tempo de execução do SQL original com o compilado (com os casts) agora, depois do VACUUM? Agora depois do vacuum ficou instantâneo os 2 sql's, segue ae os 2 planos de execução depois do vacuum. Em termos de tempo, os sqls sem cast eram praticamente iguais antes e depois do vacuum (404.419 ms), o problema era no que havia casts (Consequentemente nas view's), antes do vacuum demorava 195556.620 ms (pouco mais de 3 minutos), agora demora 261.405 ms (Menos de 1 segundo). O plano de execução mudou totalmente depois do vacuum. Para outro teste, fiz um backup e restore desta base, após o restore executei o sql e estava lento novamente, fazendo o vacuum novamente voltou a ficar rápido. Conclusão: Sempre depois de fazer um retore faça um vacuum também. *== PLANO DE EXECUÇÃO SEM O CAST =* Hash Left Join (cost=7388.52..10174.38 rows=25044 width=377) (actual time=157.818..250.086 rows=25044 loops=1) Hash Cond: (((l.cd_loja)::integer = (pl.cd_loja)::integer) AND ((l.cd_produto)::integer = (pfi.cd_produto)::integer)) - Hash Join (cost=1426.10..3335.42 rows=25044 width=339) (actual time=40.026..104.254 rows=25044 loops=1) Hash Cond: ((p.cd_produto)::integer = (l.cd_produto)::integer) - Seq Scan on tb_produto p (cost=0.00..1408.44 rows=25044 width=131) (actual time=0.012..26.460 rows=25044 loops=1) - Hash (cost=1113.05..1113.05 rows=25044 width=212) (actual time=39.955..39.955 rows=25044 loops=1) Buckets: 4096 Batches: 1 Memory Usage: 2622kB - Seq Scan on tb_produto_loja l (cost=0.00..1113.05 rows=25044 width=212) (actual time=0.018..23.521 rows=25044 loops=1) Filter: ((cd_loja)::integer = 1) - Hash (cost=5586.76..5586.76 rows=25044 width=46) (actual time=117.740..117.740 rows=25044 loops=1) Buckets: 4096 Batches: 1 Memory Usage: 1212kB - Nested Loop (cost=2325.70..5586.76 rows=25044 width=46) (actual time=28.974..108.834 rows=25044 loops=1) - Seq Scan on tb_uf u (cost=0.00..1.35 rows=1 width=0) (actual time=0.011..0.017 rows=1 loops=1) Filter: ((cd_uf)::bpchar = 'MT'::bpchar) - Nested Loop (cost=2325.70..5334.97 rows=25044 width=46) (actual time=28.959..104.463 rows=25044 loops=1) - Index Scan using tb_loja_pkey on tb_loja l (cost=0.00..4.27 rows=1 width=4) (actual time=0.017..0.020 rows=1 loops=1) Index Cond: ((cd_loja)::integer = 1) - Hash Left Join (cost=2325.70..5080.26 rows=25044 width=46) (actual time=28.934..100.686 rows=25044 loops=1) Hash Cond: ((pfi.cd_figura_icms)::integer = (fi.cd_figura_icms)::integer) - Hash Join (cost=2311.20..4721.40 rows=25044 width=12) (actual time=28.655..84.291 rows=25044 loops=1) Hash Cond: ((p.cd_produto)::integer = (pfi.cd_produto)::integer) - Hash Join (cost=1426.10..3335.42 rows=25044 width=12) (actual time=12.675..45.880 rows=25044 loops=1) Hash Cond: ((p.cd_produto)::integer = (pl.cd_produto)::integer) - Seq Scan on tb_produto p (cost=0.00..1408.44 rows=25044 width=4) (actual time=0.005..9.801 rows=25044 loops=1) - Hash (cost=1113.05..1113.05 rows=25044 width=8) (actual time=12.613..12.613 rows=25044 loops=1) Buckets: 4096 Batches: 1 Memory Usage: 979kB - Seq Scan on tb_produto_loja pl (cost=0.00..1113.05 rows=25044 width=8) (actual time=0.009..7.001 rows=25044 loops=1) Filter: ((cd_loja)::integer = 1) - Hash (cost=572.05..572.05 rows=25044 width=16) (actual time=15.953..15.953 rows=25044 loops=1) Buckets: 4096 Batches: 1 Memory Usage: 979kB - Seq Scan on tb_produto_uf_figura_icms pfi (cost=0.00..572.05 rows=25044 width=16) (actual time=0.010..9.638 rows=25044 loops=1) Filter: (((cd_figura_icms IS NOT NULL) OR (cd_figura_icms_producao_propria_up IS NOT NULL)) AND ((cd_uf)::bpchar = 'MT'::bpchar)) - Hash (cost=9.78..9.78 rows=378 width=13) (actual time=0.232..0.232 rows=378 loops=1) Buckets: 1024 Batches: 1 Memory Usage: 18kB - Seq Scan on tb_figura_icms fi (cost=0.00..9.78 rows=378 width=13) (actual time=0.027..0.125 rows=378 loops=1) Total runtime: 253.011 ms *== PLANO DE EXECUÇÃO COM O CAST =* Hash Left Join (cost=7447.87..10233.73 rows=25044 width=377) (actual
[pgbr-geral] importar csv
Pessoal, Estou a tentar importar uma tabela csv para a minha base de dados. Tentei pelo pg_admin e por psql mas diz que nunca encontra o ficheiro. Podem dizer-me qual é a directoria home no windows? Tentei assim: copy codigos_elementos from '\Users\Desktop\codigos_elementos.csv' using delimiters ',' Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] importar csv
Estou a tentar importar uma tabela csv para a minha base de dados. Tentei pelo pg_admin e por psql mas diz que nunca encontra o ficheiro. Podem dizer-me qual é a directoria home no windows? Tentei assim: copy codigos_elementos from '\Users\Desktop\codigos_elementos.csv' using delimiters ',' Faz tempo que não uso Windows, mas... não seria: c:\Users\SEU_USUARIO\Desktop... ? Lembrando que o usuário do PostgreSQL (normalmente postgres) tem que ter direitos de acesso ao arquivo e pasta. []s Flavio Gurgel ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] importar csv
Tentei assim, e já não deu erro de não encontrar o ficheiro, apenas de não ter permissão (isto no pg admin) Estou a tentar no psql com o utilizador default (postgres) mas não acontece nada. Tentei assim: copy codigos_elementos from 'C:\Users\PDCC\Desktop\codigos_elementos.csv' using delimiters ',' Tenho de colocar algo como ; no final? obrigado Em 05-03-2012 14:25, Flavio Henrique Araque Gurgel escreveu: Estou a tentar importar uma tabela csv para a minha base de dados. Tentei pelo pg_admin e por psql mas diz que nunca encontra o ficheiro. Podem dizer-me qual é a directoria home no windows? Tentei assim: copy codigos_elementos from '\Users\Desktop\codigos_elementos.csv' using delimiters ',' Faz tempo que não uso Windows, mas... não seria: c:\Users\SEU_USUARIO\Desktop... ? Lembrando que o usuário do PostgreSQL (normalmente postgres) tem que ter direitos de acesso ao arquivo e pasta. []s Flavio Gurgel ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] importar csv
Diz-me que não tenho permissão. Como a posso dar? Em 05-03-2012 14:11, Pedro Costa escreveu: Pessoal, Estou a tentar importar uma tabela csv para a minha base de dados. Tentei pelo pg_admin e por psql mas diz que nunca encontra o ficheiro. Podem dizer-me qual é a directoria home no windows? Tentei assim: copy codigos_elementos from '\Users\Desktop\codigos_elementos.csv' using delimiters ',' Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] importar csv
Consegui superar a falta de permissão colando o ficheiro na pasta temp, no entanto, agora obtenho sempre este erro: missing data for column Tentei das seguintes maneiras: copy codigos_elementos from 'C:\Users\TEMP\codigos.csv' WITH CSV copy codigos_elementos from 'C:\Users\TEMP\codigos.csv' using delimiters ',' Podem ajudar? Em 05-03-2012 14:11, Pedro Costa escreveu: Pessoal, Estou a tentar importar uma tabela csv para a minha base de dados. Tentei pelo pg_admin e por psql mas diz que nunca encontra o ficheiro. Podem dizer-me qual é a directoria home no windows? Tentei assim: copy codigos_elementos from '\Users\Desktop\codigos_elementos.csv' using delimiters ',' Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] PG_DUMP - Problema com Blobs
Olá, - Sim, tentei com o LIMIT e OFFSET, mas nessa tabela o problema ocorre apenas quando arquivo é maior do que 75 mb +-, ja tentei inserir novamente ou com outros métodos, o problema sempre acontece quando o bytea esta grande,. - Segue Valor dos parâmetros, referente o shared buffer, ja tentei com valores desde 32mb até 1024mb o erro é sempre o mesmo - autovacuum_max_workers;3 block_size;8192 max_connections;400 max_locks_per_transaction;128 max_prepared_transactions;0 shared_buffers;32MB wal_block_size;8192 wal_buffers;128 - Obrigado pela indicação vou dar uma olhada no artigo Referente ao parametros passados acha que podem ser o motivo? Outro ponto, Encontrei este tutorial na internet : http://www.ispirer.com/doc/sqlways39/Output/SQLWays-1-368.html Porém como estou direto no servidor não estou usando o ODBC, será que resolveria? Muito obrigado pelo ajuda ! Em 5 de março de 2012 01:23, Euler Taveira de Oliveira eu...@timbira.comescreveu: On 04-03-2012 14:30, Steel Mason wrote: Referente ao Select na base, ocorre o mesmo erro ERROR: out of memory Failed on request of size 393029321 Você tentou o SELECT com LIMIT/OFFSET que eu disse? Qual o valor dos seguintes parâmetros? SELECT name,setting FROM pg_settings WHERE name IN ('shared_buffers', 'wal_buffers', 'max_connections', 'autovacuum_max_workers', 'max_locks_per_transaction', 'max_prepared_transactions', 'block_size', 'wal_block_size'); Experimente diminuir o parâmetro shared_buffers para sobrar memória para o processo servidor que faz a cópia de segurança. Sera que existe algum parâmetro de banco ou do PG_DUMP, onde eu possa liberar mais memoria para o mesmo? Quando ocorre esse erro o servidor ainda tem cerca de 4GB de ram livre. Sim (vide acima). Aconselho ler sobre gerenciamento de memória do Windows [1] e toda a série indicada. Ou sera que pode ser uma limitação da versão 8.4 ? Não há tal limitação. [1] http://blogs.technet.com/b/markrussinovich/archive/2008/07/21/3092070.aspx -- Euler Taveira de Oliveira - Timbira http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] importar csv
2012/3/5 Pedro Costa pedrocostaa...@sapo.pt: missing data for column […] Podem ajudar? Não conhecemos nem o arquivo, nem a relação alvo. O erro significa que há mais atributos (obrigatórios) na relação que no arquivo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] importar csv
Nos dois casos existem apenas dois campos. O ficheiro é tipo isto: codigo;Nome 1A;Rebaixamento 120 1B;Rebaixamento barca 1C;Rebaixamento com depressão no passeio 1D;Outros rebaixamentos 1E;Inexistência de rebaixamento para peões 1F;Passeio nivelado com a via - Passadeira sobrelevada 2A;Rebaixamento para veículos 20/40/60 A tabela é assim: CREATE TABLE codigos_elementos ( codigo text, nome text ) WITH ( OIDS=FALSE ); Em 05-03-2012 15:12, Guimarães Faria Corcete DUTRA, Leandro escreveu: 2012/3/5 Pedro Costapedrocostaa...@sapo.pt: missing data for column […] Podem ajudar? Não conhecemos nem o arquivo, nem a relação alvo. O erro significa que há mais atributos (obrigatórios) na relação que no arquivo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] importar csv
Este não é opensource pois não? Alguém conhece algum aberto ? (se existir para windows e ubuntumelhor) Obrigado Em 05-03-2012 16:13, Kévio Castro escreveu: Não sofra, use algum software para importar. Use http://www.sqlmanager.net/products/postgresql/manager faz muito bem. exel, cvs, txt, Em 5 de março de 2012 12:01, Pedro Costa pedrocostaa...@sapo.pt mailto:pedrocostaa...@sapo.pt escreveu: Consegui superar a falta de permissão colando o ficheiro na pasta temp, no entanto, agora obtenho sempre este erro: missing data for column Tentei das seguintes maneiras: copy codigos_elementos from 'C:\Users\TEMP\codigos.csv' WITH CSV copy codigos_elementos from 'C:\Users\TEMP\codigos.csv' using delimiters ',' Podem ajudar? Em 05-03-2012 14:11, Pedro Costa escreveu: Pessoal, Estou a tentar importar uma tabela csv para a minha base de dados. Tentei pelo pg_admin e por psql mas diz que nunca encontra o ficheiro. Podem dizer-me qual é a directoria home no windows? Tentei assim: copy codigos_elementos from '\Users\Desktop\codigos_elementos.csv' using delimiters ',' Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br mailto:pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Kévio Castro (62) 9959-6192 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] importar csv
Em 05-03-2012 16:14, Flavio Henrique Araque Gurgel escreveu: Cara, CSV tem que ser*limpinho* e*exatamente* como vai pra tabela. Senão o PostgreSQL não aceita de jeito nenhum. Percebido. :-) Resultou:-) Obrigado amigo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] importar csv
Este não é opensource pois não? Alguém conhece algum aberto ? (se existir para windows e ubuntumelhor) Obrigado O SQL Manager não é livre. O Kettle (Spoon) que indiquei, é, mas pode exigir um pequeno aprendizado antes, pois ele é uma ferramenta pesada de transformação e tem centenas de funcionalidades. Você pode também com alguma sorte tentar o Squirrel SQL que é livre também. Ou, siga as dicas que o povo já te deu e leia a documentação. []s Flavio Gurgel ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] importar csv
Em 05-03-2012 16:21, Flavio Henrique Araque Gurgel escreveu: Ou, siga as dicas que o povo já te deu e leia a documentação. Tenho lido bastante sobre o Postgresql mas ainda estou muito verde Obrigado pelas dicas e ajuda... abraço ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Desorganização do fonte depois de compilar a view e lentidão na execução
Em 5 de março de 2012 09:30, Fábio Naspolini fabionaspol...@gmail.comescreveu: Só por curiosidade, qual a diferença do de tempo de execução do SQL original com o compilado (com os casts) agora, depois do VACUUM? Agora depois do vacuum ficou instantâneo os 2 sql's, segue ae os 2 planos de execução depois do vacuum. Em termos de tempo, os sqls sem cast eram praticamente iguais antes e depois do vacuum (404.419 ms), o problema era no que havia casts (Consequentemente nas view's), antes do vacuum demorava 195556.620 ms (pouco mais de 3 minutos), agora demora 261.405 ms (Menos de 1 segundo). O plano de execução mudou totalmente depois do vacuum. Para outro teste, fiz um backup e restore desta base, após o restore executei o sql e estava lento novamente, fazendo o vacuum novamente voltou a ficar rápido. Conclusão: Sempre depois de fazer um retore faça um vacuum também. Realmente fez muita diferença. Ótima thread, uma boa lição! Abraços -- Moisés P. Sena (Analista e desenvolvedor de sistemas WEB e mobile) http://www.moisespsena.com http://linux.moisespsena.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Desorganização do fonte depois de compilar a view e lentidão na execução
Conclusão: Sempre depois de fazer um retore faça um vacuum também. Realmente fez muita diferença. Ótima thread, uma boa lição! Deixo outra lição: JAMAIS desligar o autovacuum. Ele cuida disso pra você. Fiz gente do mundo inteiro prometer isso numa palestra que dei na PgCon 2010 :) []s Flavio Gurgel ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] PG_DUMP - Problema com Blobs
On 05-03-2012 12:08, Gustavo Scudeler wrote: * Sim, tentei com o LIMIT e OFFSET, mas nessa tabela o problema ocorre apenas quando arquivo é maior do que 75 mb +-, ja tentei inserir novamente ou com outros métodos, o problema sempre acontece quando o bytea esta grande,. Eu tentei reproduzir o seu problema com PostgreSQL 8.4.11 (configuração padrão) em um Windows XP x64 SP2 com 512 MB mas não tive sucesso. :( CREATE TABLE foo (id serial, arquivo bytea, PRIMARY KEY(id)); Utilizei arquivos de 10, 30 e 75 MB. Eu testei com um número pequeno de registros. Com quantos você consegue reproduzir este problema? Você não limitou os recursos do usuário postgres do Windows no Windows System Resource Manager? A partir da 9.0, já existe uma versão 64 bits para Windows. Você consegue reproduzir o mesmo problema nessa versão ou mesmo na 9.1? -- Euler Taveira de Oliveira - Timbira http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Uma coluna, duas FKs
Boa tarde! Estou usando o PostgreSQL 8.3 em um projeto - legado - que irá usar Hibernate (eca!). Infelizmente não posso mudar isso pois é decisão do arquiteto de software. E infelizmente, o Hibernate não está aceitando o modelo que fiz de banco. E o arquiteto de software está dizendo que o erro é do PostgreSQL que permite a implementação de tal modelo (!). Isso é inválido, uma vez que já testei em Sybase e DB2 e também não tive problemas. Mas para ganhar a discussão, gostaria de uma segunda opinião quanto ao caso. As tabelas são muito próximas disso: CREATE TABLE COTACAO_ITEM( NUMCOTACAO INTEGER NOT NULL, CODBARITEM CHAR(13) NOT NULL ); ALTER TABLE COTACAO_ITEM ADD PRIMARY KEY( NUMCOTACAO, CODBARITEM ); CREATE TABLE COTACAO_PARTICIPANTE( NUMCOTACAO INTEGER NOT NULL, CNPJFORN CHAR(14) NOT NULL ); ALTER TABLE COTACAO_PARTICIPANTE ADD PRIMARY KEY( NUMCOTACAO, CNPJFORN ); CREATE TABLE COTACAO_ITEM_RETORNO( NUMCOTACAO INTEGER NOT NULL, CNPJFORN CHAR(14) NOT NULL, CODBARITEM CHAR(13) NOT NULL, PRECO NUMERIC(15,2) NOT NULL ); ALTER TABLE COTACAO_ITEM_RETORNO ADD PRIMARY KEY( NUMCOTACAO, CNPJFORN, CODBARITEM ); ALTER TABLE COTACAO_ITEM_RETORNO ADD CONSTRAINT FK_ITEM FOREIGN KEY ( NUMCOTACAO, CODBARITEM ) REFERENCES COTACAO_ITEM( NUMCOTACAO, CODBARITEM ); ALTER TABLE COTACAO_ITEM_RETORNO ADD CONSTRAINT FK_PARTICIPANTE FOREIGN KEY ( NUMCOTACAO, CNPJFORN ) REFERENCES COTACAO_PARTICIPANTE( NUMCOTACAO, CNPJFORN ); A explicação é a seguinte: - Uma cotação tem um único número (é uma chave natural neste caso pois cada cotação precisa ter um número, mesmo que gerado pelo banco). - Uma cotação possui vários itens (COTACAO_ITEM); - Uma cotação possui vários fornecedores participantes (COTACAO_PARTICIPANTE); - Para cada combinação de item e fornecedor, deve haver apenas um preço (COTACAO_ITEM_RETORNO); Então... em banco de dados tudo corre da mandeira mais perfeita possível, pois a coluna COTACAO_ITEM_RETORNO.NUMCOTACAO possui relação com 2 FKs, uma para a tabela COTACAO_ITEM e outra para COTACAO_PARTICIPANTE. Mas o Hibernate não permite fazer relacionamento de uma mesma coluna com duas FK's... Então eu peço a vocês... posso mesmo dizer que o Hibernate é fraco demais, ou altero o modelo? -- TIAGO J. ADAMI http://www.adamiworks.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Conexão com banco SQL Server
Ola Estou necessitando fazer em meu Banco PostgreSQL, algumas verificações em um banco SQL Server. Gostaria de uma ajuda no DbLink ou em qualquer outra alternativa que possam me indicar. O ideal seria poder ativar este Link com o banco SQL ao levantar o serviço PostgreSQL, para poder assim fazer referencia a busca no outro banco por apelidos. Conto com a ajuda de vocês. Sem Mais Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Conexão com banco SQL Server
2012/3/5 Charles Emanuel Silva Ramos Patrocínio dos Santos charles.san...@el.com.br: Estou necessitando fazer em meu Banco PostgreSQL, algumas verificações em um banco SQL Server. Gostaria de uma ajuda no DbLink ou em qualquer outra alternativa que possam me indicar. Que versões? Já leste a documentação do SQL/MED? O que já tentaste, e onde paraste? Só com detalhes podemos ajudar. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Uma coluna, duas FKs
2012/3/5 Tiago Adami adam...@gmail.com: Então eu peço a vocês... posso mesmo dizer que o Hibernate é fraco demais, ou altero o modelo? O Hibernate realmente é fraco demais — mas a coisa é tão absurda que será que não é um erro de operação do Hibernate? Com um arquiteto assim, a casa cai… ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Uma coluna, duas FKs
Em 5 de março de 2012 18:55, Guimarães Faria Corcete DUTRA, Leandro l...@dutras.org escreveu: O Hibernate realmente é fraco demais — mas a coisa é tão absurda que será que não é um erro de operação do Hibernate? De operação não sei, pois não conheço a ferramenta. Mas eu mesmo verifiquei a mensagem de erro: simplesmente diz que não pode usar uma mesma coluna em dois relacionamentos ManyToOne (ou algo assim). Por isso pensei que eu pudesse estar fazendo algo errado. Como diz o arquiteto, hibernate está aí a mais de 10 anos e muitas empresas grandes usam e... -- TIAGO J. ADAMI http://www.adamiworks.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Uma coluna, duas FKs
De operação não sei, pois não conheço a ferramenta. Mas eu mesmo verifiquei a mensagem de erro: simplesmente diz que não pode usar uma mesma coluna em dois relacionamentos ManyToOne (ou algo assim). Por isso pensei que eu pudesse estar fazendo algo errado. Como diz o arquiteto, hibernate está aí a mais de 10 anos e muitas empresas grandes usam e... Qual é a versão do Hibernate? Ele está usando o dialeto PostgreSQL? Como estão os xmls do mapeamento dos objetos com o banco de dados? []s Flavio Gurgel ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Diretorio /base ocupando muito espaço
Ola a todos, Estou com problema de espaço em um dos servidores e percebi que o diretório /var/lib/pgsql/data/base esta ocupando muito espaço para o tamanho da base. Rodei o vacuumdb e diminuiu muito pouco. Alguem pode me dizer como posso reduzir esse espaço utilizado. Vi em um forum que aumentando o parâmetro Work_mem talvez resolva. Obrigado At Cesar Moraes ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Diretorio /base ocupando muito espaço
Em 5 de março de 2012 20:48, Cesar Moraes cesar.cs...@gmail.com escreveu: Estou com problema de espaço em um dos servidores e percebi que o diretório /var/lib/pgsql/data/base esta ocupando muito espaço para o tamanho da base. Cada diretório dentro do $PGDATA/base (no seu caso PGDATA=/var/lib/pgsql/data) é referente a uma base de dados do seu cluster. Verifique o tamanho de cada um deles pelo sistema operacional: $ cd /var/lib/pgsql/data $ du -hs Para saber qual base de dados é o diretório basta rodar: $ psql -U postgres -c SELECT datname FROM pg_database WHERE oid = 9 Onde 9 é o identificador (OID) da base de dados o qual tem o mesmo nome do diretório dentro de $PGDATA. Não sei se pode ser o seu caso, mas já vi instâncias do PostgreSQL ocupando espaço demasiado e havia um OID perdido dentro de PGDATA... não sei se por um DROP DATABASE interrompido antes do fim... Rodei o vacuumdb e diminuiu muito pouco. Vc usou com a opção -f (FULL) ?? Alguem pode me dizer como posso reduzir esse espaço utilizado. Faça as verificações que recomendei. Vi em um forum que aumentando o parâmetro Work_mem talvez resolva. Infelizmente essa informação está equivocada... o parâmetro work_mem nada tem a ver com espaço em disco ocupado por qualquer objeto do seu banco de dados, veja documentação [1]. [1] http://www.postgresql.org/docs/9.1/static/runtime-config-resource.html#GUC-WORK-MEM -- Fabrízio de Royes Mello Consultoria/Coaching PostgreSQL Blog sobre TI: http://fabriziomello.blogspot.com Perfil Linkedin: http://br.linkedin.com/in/fabriziomello Twitter: http://twitter.com/fabriziomello ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Escalibilidade vertical
Boa Noite, estou a procura de um aplicativo que disponibilize o recurso de multiplos servidores master em um cluster de servidores PostgresQL 9.x. O que pesquisei que tanto o Slony quanto réplica por Streaming fazem réplica de multiplos servidores Slave e o PgPool gerencia com o recurso de load balance esse tipo de réplica com multiplos servidores slave. Alguém conhece algum aplicativo que possa oferecer o recurso de multiplos serviores master em um cluster de PostgreSQL 9.x ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Uma coluna, duas FKs
Le 2012-M-5 19h51, Tiago Adami a écrit : hibernate está aí a mais de 10 anos e muitas empresas grandes usam e... O que quer dizer exatamente o quê? Os vírus estão conosco há muito mais tempo. -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (61) 3546 7191 gTalk: xmpp:leand...@jabber.org +55 (11) 9406 7191ICQ/AIM: aim:GoIM?screenname=61287803 BRAZIL GMT-3 MSN: msnim:chat?contact=lean...@dutra.fastmail.fm ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral