[pgbr-geral] Java e Postgresql : problemas com aspas
Olá pessoal Tenho um programa feito em java swing que grava frases no postgresql ... Na hora do insert, se eu digito aspas simples ou dupla ele não grava no banco ... Na hora do update, se eu digito aspas duplas ele aceita, se for aspas simples não aceita Como posso corrigir isso, pois vou precisar das duas aspas no campo Obrigado FONTE sql = insert into email002 ( codigo , item , corpo , link , figura , altura , largura , posicao_corpo , posicao_link , posicao_figura , data_envio , origem , destino , tipo_envio , tipo_mes , tipo_quadro , enviado , codigoitem ) values ( +codigo+ , +item+ , '+corpo+' , '+link+' , '+figura+' , +altura+ , +largura+ , '+posicao_corpo+' , '+posicao_link+' , '+posicao_figura+' , '+aki+' , '+origem+' , '+destino+' , '+tipo_envio+' , '+tipo_mes+' , '+tipo_quadro+' , '+enviado+' , '+codigoitem+') ; ; EXECUÇÃO insert into email002 ( codigo , item , corpo , link , figura , altura , largura , posicao_corpo , posicao_link , posicao_figura , data_envio , origem , destino , tipo_envio , tipo_mes , tipo_quadro , enviado , codigoitem ) values ( 6 , 2 , 'teste 123' , '' , '' , 0 , 0 , 'LEFT' , 'LEFT' , 'LEFT' , '2009/02/16' , '' , '' , '' , '' , '' , 'N' , '06-02') ; FONTE sql = update email002 set codigo = +codigo+ , item = +item+ , corpo = '+corpo+' , link = '+link+' , figura = '+figura+' , altura = +altura+ , largura = +largura+ , posicao_corpo = '+posicao_corpo+' , posicao_link = '+posicao_link+' , posicao_figura = '+posicao_figura+' , data_envio = '+aki+' , origem = '+origem+' , destino = '+destino+' , tipo_envio = '+tipo_envio+' , tipo_mes = '+tipo_mes+' , tipo_quadro = '+tipo_quadro+' , enviado = '+enviado+' , codigoitem = '+codigoitem+' where codigo = +codigo+ and item = +item+ ; ; EXECUÇÃO update email002 set codigo = 6 , item = 2 , corpo = 'teste 123 aspas duplas aqui aspas 'simples' vai aqui ...' , link = '' , figura = '' , altura = 0 , largura = 0 , posicao_corpo = 'LEFT' , posicao_link = 'LEFT' , posicao_figura = 'LEFT' , data_envio = '2009/02/16' , origem = '' , destino = '' , tipo_envio = '' , tipo_mes = '' , tipo_quadro = '' , enviado = 'N' , codigoitem = '06-02' where codigo = 6 and item = 2 ; Marcos ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Java e Postgresql : problemas com aspas
Voce esta execunto com jdbc ou esta utilizando algum framework como spring ? Se voce puder utilizar os values como parametros seria bem melhor, pois o erro é pq tudo vc esta passando com string, e vc tem campos date, integer, etc... ex.: PreparedStatement ps = null; try { ps = c.prepareStatement(INSERT INTO authors VALUES (?, ?, ?)); ps.setInt(1, 495); ps.setString(2, Light-Williams); ps.setString(3, Corwin); } catch (SQLException se) { System.out.println(We got an exception while preparing a statement: + Probably bad SQL.); se.printStackTrace(); } try { ps.executeUpdate(); } catch (SQLException se) { System.out.println(We got an exception while executing an update: + possibly bad SQL, or check the connection.); se.printStackTrace(); } Marcos Fabrício Corso wrote: Olá pessoal Tenho um programa feito em java swing que grava frases no postgresql ... Na hora do insert, se eu digito aspas simples ou dupla ele não grava no banco ... Na hora do update, se eu digito aspas duplas ele aceita, se for aspas simples não aceita Como posso corrigir isso, pois vou precisar das duas aspas no campo Obrigado FONTE sql = insert into email002 ( codigo , item , corpo , link , figura , altura , largura , posicao_corpo , posicao_link , posicao_figura , data_envio , origem , destino , tipo_envio , tipo_mes , tipo_quadro , enviado , codigoitem ) values ( +codigo+ , +item+ , '+corpo+' , '+link+' , '+figura+' , +altura+ , +largura+ , '+posicao_corpo+' , '+posicao_link+' , '+posicao_figura+' , '+aki+' , '+origem+' , '+destino+' , '+tipo_envio+' , '+tipo_mes+' , '+tipo_quadro+' , '+enviado+' , '+codigoitem+') ; ; EXECUÇÃO insert into email002 ( codigo , item , corpo , link , figura , altura , largura , posicao_corpo , posicao_link , posicao_figura , data_envio , origem , destino , tipo_envio , tipo_mes , tipo_quadro , enviado , codigoitem ) values ( 6 , 2 , 'teste 123' , '' , '' , 0 , 0 , 'LEFT' , 'LEFT' , 'LEFT' , '2009/02/16' , '' , '' , '' , '' , '' , 'N' , '06-02') ; FONTE sql = update email002 set codigo = +codigo+ , item = +item+ , corpo = '+corpo+' , link = '+link+' , figura = '+figura+' , altura = +altura+ , largura = +largura+ , posicao_corpo = '+posicao_corpo+' , posicao_link = '+posicao_link+' , posicao_figura = '+posicao_figura+' , data_envio = '+aki+' , origem = '+origem+' , destino = '+destino+' , tipo_envio = '+tipo_envio+' , tipo_mes = '+tipo_mes+' , tipo_quadro = '+tipo_quadro+' , enviado = '+enviado+' , codigoitem = '+codigoitem+' where codigo = +codigo+ and item = +item+ ; ; EXECUÇÃO update email002 set codigo = 6 , item = 2 , corpo = 'teste 123 aspas duplas aqui aspas 'simples' vai aqui ...' , link = '' , figura = '' , altura = 0 , largura = 0 , posicao_corpo = 'LEFT' , posicao_link = 'LEFT' , posicao_figura = 'LEFT' , data_envio = '2009/02/16' , origem = '' , destino = '' , tipo_envio = '' , tipo_mes = '' , tipo_quadro = '' , enviado = 'N' , codigoitem = '06-02' where codigo = 6 and item = 2 ; Marcos ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Vinicius D. Barba Totalsat - Departamento TI (41) 2109-7716 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Erro em função que retorna o resu ltado de um SELECT
Newton Teixeira do Nascimento Jnior escreveu: Ol comunidade, estou tentando retornar o resultado de um SELECT (na tabela DISPONIBILIDADE_EQ) para aplicao e no estou conseguindo. Eis a forma que estou tentando fazer. O que estou fazendo de errado ? (PS: PostgreSQL 8.2.4) CREATE OR REPLACE FUNCTION fs_disponibilidade_barras_diario( barra character varying, data date, tolerancia integer) RETURNS SETOF "DISPONIBILIDADE_EQ" AS $BODY$ DECLARE r "DISPONIBILIDADE_EQ"%ROWTYPE; r_sql_barras RECORD; aux_tolerancia integer; sql_barras text = ''; id_barra character varying(20); BEGIN FOR r IN SELECT * FROM "DISPONIBILIDADE_EQ" LOOP RETURN NEXT r; END LOOP; RETURN; END; $BODY$ LANGUAGE 'plpgsql' VOLATILE; ALTER FUNCTION fs_disponibilidade_barras_diario(character varying, date, integer) OWNER TO sage; SELECT fs_disponibilidade_barras_diario('-1', '2009-02-10', 30); Est dando o seguinte erro: ERRO: funo que tem argumento do tipo conjunto foi chamada em um contexto que no pode aceitar um conjunto CONTEXTO: PL/pgSQL function "fs_disponibilidade_barras_diario" line 52 at return next ** Erro ** ERRO: funo que tem argumento do tipo conjunto foi chamada em um contexto que no pode aceitar um conjunto SQL state: 0A000 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral Tente select * from funcao ... -- []s, Andr Volpato Ecom Tecnologia LTDA - Anlise e Desenvolvimento andre.volp...@ecomtecnologia.com.br ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Tunning Postgres
Olá, Legal a sua iniciativa. Gostaria de apenas fazer alguns comentários. No parâmetro max_connections você comentou que deve ser o menor número possível, porém não explicou o motivo. O shared_buffers não armazena as consultas mas sim os dados (tuplas). Acredito que é legal você comentar sobre o parâmetro shmmax para você poder fazer a alteração no shared_buffers. O work_mem é utilizado para operações de ordenação (order by) e agrupamento (group by). Discordo do comentário que não deve ultrapassar 20% da memória RAM. O maintenance_work_mem é a memória utilizada para operações de vacuum, analyze, create index. O comando copy não faz uso deste parâmetro. O parâmetro effective_cache_size é quanto do cache do SO será destinado ao PostgreSQL. Não concordo com suas estimativas de utilizar no máximo 25% da memória RAM e se o servidor for dedicado 50%. E não se sinta desmotivado, sua iniciativa foi interessante. Acredito que com a ajuda do pessoal aqui você pode conseguir fazer um documento bem bacana. 2009/2/13 Lucas Souza lucassouzadav...@gmail.com: Diego eu estou preparando este material... (em anexo), procurei bastante na net... nos testes em PCs, melhorou o desempenho, acredito que se configrado em um computador proprio para servidor de banco de dados, os resultados serão bem melhores, e você pode usar ferramentas de stress, para testar o antes e o depois aproveitando se alguem poder conferir e dar mais dicas/ criticas/ sugestoes, sobre o material agradeceria... 2009/2/13 Dickson S. Guedes lis...@guedesoft.net 2009/2/13 Diego Plentz diego.pi...@gmail.com: (...) Minha dúvida seria se existe algum documento bíblia pra esse tipo de ajuste, que é tido como uma boa referência para o assunto (não tem problema de ser em inglês). Ola Diego, E se eu disser que essa bíblia existe? Sim, existe! No entanto, seus profetas, que estão espalhados pelo mundo, não estão com suas vozes caladas... eles espalham suas experiências em listas, blogs, palestras, etc, para que nós, meros mortais, possamos consultar os oráculos internéticos e resgatar os pergaminhos de outrora... Em resumo, o que existe é um apanhado de informações espalhadas que precisam ser buscadas, analisadas, compiladas e ajustadas para as situações individuais de cada um. Aconselho você a iniciar pelos links a seguir, e se tiver dúvida ou casos de uso de algumas idéias encontradas, compartilhe conosco. http://listas.postgresql.org.br/pipermail/pgbr-geral/2008-June/009608.html http://listas.postgresql.org.br/pipermail/pgbr-geral/2007-July/001798.html http://archives.postgresql.org/pgsql-performance/2007-01/msg00372.php http://archives.postgresql.org/pgsql-jdbc/2007-11/msg9.php http://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server http://wiki.postgresql.org/wiki/Community_Disk_Tuning_Guide http://pgtune.projects.postgresql.org/ http://www.postgresql.org/files/documentation/books/aw_pgsql/writing_apps.pdf http://www.postgresql.org/files/documentation/books/aw_pgsql/hw_performance/ http://www.postgresql.org.br/Palestras_do_PGCon_Brasil_2007?action=AttachFiledo=gettarget=sintonia-euler.pdf http://www.pgcon.org/2008/schedule/attachments/81_researching_postgresql.pdf http://www.midstorm.org/~telles/tag/tuning/ http://www.postgresql.org.br/Palestras_do_PGCon_Brasil_2007?action=AttachFiledo=gettarget=postgresql_leopardo_pgconbr.pdf http://www.slideshare.net/telles/postgresql-tuning-o-elefante-mais-rpido-que-um-leopardo-presentation http://imasters.uol.com.br/artigo/5191/postgresql/checklist_de_performance_do_postgresql_80/ Um abraço, -- Dickson S. Guedes - mail/xmpp: gue...@guedesoft.net - skype: guediz http://guedesoft.net - http://planeta.postgresql.org.br ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- -- Lucas de Souza D'Ávila Graduando em Sistema de Informação - Escola Superior de Criciúma, ESUCRI (localizada em Criciuma, SC) CV Lattes: http://lattes.cnpq.br/9245658982061645 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- João Paulo www.dextra.com.br/postgres PostgreSQL ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Ano bissexto
Olá comunidade, como saber se o ano é bissexto? ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Erro em função que retorna o resu ltado de um SELECT
Olá, Quando você usa como retorno da função o SETOF, você obrigatoriamente deve chamar a função no seguinte formato: SELECT * FROM nome_da_funcao(argumentos_se_existir); Uma pergunta. Sua função tem mais coisa ou apenas o que você postou aqui, pois percebi que você declarou variáveis e não utilizou. []s 2009/2/16 Newton Teixeira do Nascimento Júnior newton.jun...@eletronorte.gov.br: Olá comunidade, estou tentando retornar o resultado de um SELECT (na tabela DISPONIBILIDADE_EQ) para aplicação e não estou conseguindo. Eis a forma que estou tentando fazer. O que estou fazendo de errado ? (PS: PostgreSQL 8.2.4) CREATE OR REPLACE FUNCTION fs_disponibilidade_barras_diario( barra character varying, data date, tolerancia integer) RETURNS SETOF DISPONIBILIDADE_EQ AS $BODY$ DECLARE r DISPONIBILIDADE_EQ%ROWTYPE; r_sql_barras RECORD; aux_tolerancia integer; sql_barras text = ''; id_barra character varying(20); BEGIN FOR r IN SELECT * FROM DISPONIBILIDADE_EQ LOOP RETURN NEXT r; END LOOP; RETURN; END; $BODY$ LANGUAGE 'plpgsql' VOLATILE; ALTER FUNCTION fs_disponibilidade_barras_diario(character varying, date, integer) OWNER TO sage; SELECT fs_disponibilidade_barras_diario('-1', '2009-02-10', 30); Está dando o seguinte erro: ERRO: função que tem argumento do tipo conjunto foi chamada em um contexto que não pode aceitar um conjunto CONTEXTO: PL/pgSQL function fs_disponibilidade_barras_diario line 52 at return next ** Erro ** ERRO: função que tem argumento do tipo conjunto foi chamada em um contexto que não pode aceitar um conjunto SQL state: 0A000 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- João Paulo www.dextra.com.br/postgres PostgreSQL ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Ano bissexto
Olá, bom dia 2009/2/16 Newton Teixeira do Nascimento Júnior newton.jun...@eletronorte.gov.br Olá comunidade, como saber se o ano é bissexto? O Google 'seu amigo: http://pgdocptbr.sourceforge.net/pg80/datetime-units-history.html ... A aproximação 365+97/400 é obtida colocando 97 anos bissextos a cada 400 anos, utilizando as seguintes regras: Todo ano divisível por 4 é um ano bissexto. Entretanto, todo ano divisível por 100 não é um ano bissexto. Entretanto, todo ano divisível por 400 é um ano bissexto sempre. Portanto, 1700, 1800, 1900, 2100 e 2200 não são anos bissextos. Porém, 1600, 2000 e 2400 são anos bissextos. Contrapondo, no antigo Calendário Juliano todos os anos divisíveis por 4 são bissextos... Espero ter ajudado. -- Marcelo Costa www.marcelocosta.net - Os muito poderosos e os muito estúpidos possuem uma coisa em comum. Ao invés de alterarem as suas visões para se ajustarem aos fatos do mundo, eles alteram os fatos para ajustá-los às suas visões., Doctor Who. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] calcular campos
ola pessoal - sou novo com o postgres e gostaria muito de saber se é mais interessante criar um campo que ja deixa tudo calculado e atualizado por gatilhos ou se é melhor usar o count exemplo tabela turma nome_turma |numero_de_alunos turma 1 |20 turma 2 |24 ao matricular mais um aluno o campo é atualizado por um gatilho ou e melhor usar o count sql = select count(turma.nome_turma) as num_alunos from turma... Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.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] Ano bissexto
2009/2/16 Newton Teixeira do Nascimento Júnior newton.jun...@eletronorte.gov.br: Olá comunidade, como saber se o ano é bissexto? Um ano tem 365,2425 dias, ou seja 365 97/400. Isto significa que a cada 400 anos devemos ter 97 com um dia a mais (o tal ano bissexto). Portanto: - a cada 4 anos temos um ano bissexto; - problema: assim temos 100 anos bissextos! Solução: então a cada 100 anos este não será bissexto; - problema:temos 96 anos bissextos! Solução: então a cada 400 anos este será bissexto! É tudo uma questão de aproximação. Como decorrer dos anos (vários milhares) provavelmente a duração do ano (translação em torno do sol) irá mudar e aí teremos outro tipo de aproximação (se nosso planeta ainda existir...). Osvaldo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] calcular campos
2009/2/16 ivan viana ivanvbom...@yahoo.com.br: ola pessoal - sou novo com o postgres e gostaria muito de saber se é mais interessante criar um campo que ja deixa tudo calculado e atualizado por gatilhos ou se é melhor usar o count exemplo tabela turma nome_turma |numero_de_alunos turma 1 |20 turma 2 |24 ao matricular mais um aluno o campo é atualizado por um gatilho ou e melhor usar o count sql = select count(turma.nome_turma) as num_alunos from turma... Não se deve armazenar campos derivados em um Banco de Dados. Neste caso é melhor criar uma visão. Osvaldo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Ano bissexto
Olá, 2009/2/16 Osvaldo Kussama osvaldo.kuss...@gmail.com 2009/2/16 Newton Teixeira do Nascimento Júnior newton.jun...@eletronorte.gov.br: Olá comunidade, como saber se o ano é bissexto? Um ano tem 365,2425 dias, ou seja 365 97/400. Isto significa que a cada 400 anos devemos ter 97 com um dia a mais (o tal ano bissexto). Portanto: - a cada 4 anos temos um ano bissexto; - problema: assim temos 100 anos bissextos! Solução: então a cada 100 anos este não será bissexto; - problema:temos 96 anos bissextos! Solução: então a cada 400 anos este será bissexto! É tudo uma questão de aproximação. Como decorrer dos anos (vários milhares) provavelmente a duração do ano (translação em torno do sol) irá mudar e aí teremos outro tipo de aproximação (se nosso planeta ainda existir...). Osvaldo Função para cálculo de bissexto ela retorna true(t) ou false(f) para o ano dado create or replace function bissexto(int) returns boolean as $$ begin if $1 % 4) = 0) AND (($1 % 100) 0)) OR (($1 % 400) = 0)) THEN return true; end if; return false; end; $$ language 'plpgsql'; Para utiliza-la faça: postgres=# select bissexto(2009); bissexto -- f (1 row) postgres=# select bissexto(2008); bissexto -- t (1 row) Lembre-se de instalar a PL/PGSQL De onde tirei isso ? daqui : http://archives.postgresql.org/pgsql-es-ayuda/2005-04/msg00921.php Atte, -- Marcelo Costa www.marcelocosta.net - Os muito poderosos e os muito estúpidos possuem uma coisa em comum. Ao invés de alterarem as suas visões para se ajustarem aos fatos do mundo, eles alteram os fatos para ajustá-los às suas visões., Doctor Who. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Recuperação postgreSQL 8.0
Primeiramente, obrigado Sr. Euler Taveira, seus conhecimentos são realmente muito bons.Ações e Resultados:1) Recompilei o postgreSQL 8.0.20 com a modificação desta linha, de PANIC para WARNING.2) Movi o diretório do meu Bd alvo para /usr/local/pgsql/3) executei pg_ctl start -D /usr/local/pgsql/data4) Iniciou corretamente o BD com o LOG: LOG: checkpoint record is at 0/6EC LOG: undo record is at 0/6EC, redo record is at 0/0, shutdown true; LOG: next transtion id=(número), next OID=número LOG: database system ready. (obaa)5) Conectei no bd template1: OK (fiquei bem feliz)6) Tentei REINDEX DATABASE pec = Só pode reindexar db em que está conectado.7) Desconectei do template1.8) Tentei conectar no pec = A tentativa de conexão falhou.Texto completo:Product: DbVisualizer Free 6.5.1Build: #1342 (2008/11/23 23:07)Java VM: Java HotSpot(TM) Client VMJava Version: 1.6.0_07Java Vendor: Sun Microsystems Inc.OS Name: LinuxOS Arch: i386OS Version: 2.6.27-11-genericAn error occurred while establishing the connection: Type: org.postgresql.util.PSQLException Error Code: 0 SQL State: 08001Message: A tentativa de conexão falhou.Vou fazer testes com outros bancos de dados que existem nesse mesmo diretório e vou postar os resultados aqui. Por enquanto, obrigado pela ajuda.Em 13/02/2009 às 21:05 horas, pgbr-geral@listas.postgresql.org.br escreveu:Rodrigo Kravetz Oliveira escreveu: Sem o --single: É somente na versão 8.2 ou superior. Não tinha visto a versão no assunto. ;) O comando postgres -P -D /patch/to/data mydb retorna: PANIC: could not open critical system index "pg_class_relname_nsp_index" Hmmm... ele não está conseguindo ler esse índice do sistema. Você precisará compilar uma versão do PostgreSQL (8.0.20 é a última da série 8.0) e fazer uma alteração no arquivo src/backend/utils/cache/relcache.c:2408, troque o PANIC por WARNING. Como você está utilizando o 8.0 faça: $ postgres -P -D /path/to/pgdata template1 PostgreSQL stand-alone backend 8.0.20 backend reindex database template1; backend^D -- Euler Taveira de Oliveira http://www.timbira.com/ ___ 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] Tunning Postgres
2009/2/16 Jota jota.c...@gmail.com Olá, Legal a sua iniciativa. Gostaria de apenas fazer alguns comentários. No parâmetro max_connections você comentou que deve ser o menor número possível, porém não explicou o motivo. O shared_buffers não armazena as consultas mas sim os dados (tuplas). Acredito que é legal você comentar sobre o parâmetro shmmax para você poder fazer a alteração no shared_buffers. O work_mem é utilizado para operações de ordenação (order by) e agrupamento (group by). Discordo do comentário que não deve ultrapassar 20% da memória RAM. O maintenance_work_mem é a memória utilizada para operações de vacuum, analyze, create index. O comando copy não faz uso deste parâmetro. O parâmetro effective_cache_size é quanto do cache do SO será destinado ao PostgreSQL. Não concordo com suas estimativas de utilizar no máximo 25% da memória RAM e se o servidor for dedicado 50%. E não se sinta desmotivado, sua iniciativa foi interessante. Acredito que com a ajuda do pessoal aqui você pode conseguir fazer um documento bem bacana. To pensando em fazer a tradução deste artigo http://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server, para PT/ BR, (não encontrei um assim em nosso idioma...) Alguem apoia, a ideia? 2009/2/13 Lucas Souza lucassouzadav...@gmail.com: Diego eu estou preparando este material... (em anexo), procurei bastante na net... nos testes em PCs, melhorou o desempenho, acredito que se configrado em um computador proprio para servidor de banco de dados, os resultados serão bem melhores, e você pode usar ferramentas de stress, para testar o antes e o depois aproveitando se alguem poder conferir e dar mais dicas/ criticas/ sugestoes, sobre o material agradeceria... 2009/2/13 Dickson S. Guedes lis...@guedesoft.net 2009/2/13 Diego Plentz diego.pi...@gmail.com: (...) Minha dúvida seria se existe algum documento bíblia pra esse tipo de ajuste, que é tido como uma boa referência para o assunto (não tem problema de ser em inglês). Ola Diego, E se eu disser que essa bíblia existe? Sim, existe! No entanto, seus profetas, que estão espalhados pelo mundo, não estão com suas vozes caladas... eles espalham suas experiências em listas, blogs, palestras, etc, para que nós, meros mortais, possamos consultar os oráculos internéticos e resgatar os pergaminhos de outrora... Em resumo, o que existe é um apanhado de informações espalhadas que precisam ser buscadas, analisadas, compiladas e ajustadas para as situações individuais de cada um. Aconselho você a iniciar pelos links a seguir, e se tiver dúvida ou casos de uso de algumas idéias encontradas, compartilhe conosco. http://listas.postgresql.org.br/pipermail/pgbr-geral/2008-June/009608.html http://listas.postgresql.org.br/pipermail/pgbr-geral/2007-July/001798.html http://archives.postgresql.org/pgsql-performance/2007-01/msg00372.php http://archives.postgresql.org/pgsql-jdbc/2007-11/msg9.php http://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server http://wiki.postgresql.org/wiki/Community_Disk_Tuning_Guide http://pgtune.projects.postgresql.org/ http://www.postgresql.org/files/documentation/books/aw_pgsql/writing_apps.pdf http://www.postgresql.org/files/documentation/books/aw_pgsql/hw_performance/ http://www.postgresql.org.br/Palestras_do_PGCon_Brasil_2007?action=AttachFiledo=gettarget=sintonia-euler.pdf http://www.pgcon.org/2008/schedule/attachments/81_researching_postgresql.pdf http://www.midstorm.org/~telles/tag/tuning/http://www.midstorm.org/%7Etelles/tag/tuning/ http://www.postgresql.org.br/Palestras_do_PGCon_Brasil_2007?action=AttachFiledo=gettarget=postgresql_leopardo_pgconbr.pdf http://www.slideshare.net/telles/postgresql-tuning-o-elefante-mais-rpido-que-um-leopardo-presentation http://imasters.uol.com.br/artigo/5191/postgresql/checklist_de_performance_do_postgresql_80/ Um abraço, -- Dickson S. Guedes - mail/xmpp: gue...@guedesoft.net - skype: guediz http://guedesoft.net - http://planeta.postgresql.org.br ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- -- Lucas de Souza D'Ávila Graduando em Sistema de Informação - Escola Superior de Criciúma, ESUCRI (localizada em Criciuma, SC) CV Lattes: http://lattes.cnpq.br/9245658982061645 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- João Paulo www.dextra.com.br/postgres PostgreSQL ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- -- Lucas de
Re: [pgbr-geral] Tunning Postgres
2009/2/16 Lucas Souza lucassouzadav...@gmail.com: [...] To pensando em fazer a tradução deste artigo http://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server, para PT/ BR, (não encontrei um assim em nosso idioma...) Alguem apoia, a ideia? Não precisa de apoio. Basta fazer lá no wiki do postgresql internacional, tem versões para alemão e francês lá. :) []'s -- Fernando Ike ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Integer-datetimes HAVE_INT64_DATETIME
Olá, amigos.Recentemente recompilei o PostgreSQL 8.0 a partir do fonte porque era necessário para a recuperação de um BD.Mas agora ele aparece o seguinte:postg...@desenvolvimento:/home/pmpr/postgre014$ FATAL: database files are incompatible with serverDETAIL: The database cluster was initialized with HAVE_INT64_TIMESTAMP but the server was compiled without HAVE_INT64_TIMESTAMP.Vi num fórum que era necessário reconfigurar e recompilar, com a opção --enable-integer-datetimes. Então fiz:./configure --enable-integere-datetimes (ok)./make (ok)./make install (ok)Instalação OK.Dentro do arquivo config.status diz assim:PostgreSQL config.status 8.0.19configured by ./configure, generated by GNU Autoconf 2.53, with options \"'--enable-integer-datetimes'\"Mas quando eu tento iniciar o banco (pg_ctl) ele dá exatamente a mesma mensagem de erro :(Alguém já passou por isso?Att,Rodrigo Kravetz de Oliveira:. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Integer-datetimes HAVE_INT64_DATETIME
2009/2/16 Rodrigo Kravetz Oliveira krav...@pm.pr.gov.br: Vi num fórum que era necessário reconfigurar e recompilar, com a opção --enable-integer-datetimes. Então fiz: ./configure --enable-integere-datetimes (ok) ./make (ok) ./make install (ok) Instalação OK. Dentro do arquivo config.status diz assim: PostgreSQL config.status 8.0.19 configured by ./configure, generated by GNU Autoconf 2.53, with options \'--enable-integer-datetimes'\ make clean; ./configure --flags ... -Leo -- Leonardo Cezar http://www.aslid.org.br http://postgreslogia.wordpress.com http://www.dextra.com.br/postgres ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Create Index out of memory
o problema é que você estava distribuindo mais memória do que vc tinha na verdade. Com isso quando o postgresql tentava alocar a quantidade de ram que você havia pedido para manutenção, dava estouro. Você disse que tinha 2GB livre, mas você tem que se lembrar também da memória usada por cada conexão. On Fri, 13 Feb 2009 05:30:02 -0800 (PST), mateusgra mateus...@bol.com.br wrote: Tenho 2GB de memoria livre e ja reduzir o shmall tb. Agora fiz um teste e ele so esta deixando eu criar o indice qdo eu coloco 256MB no maintenance_work_mem so com esse valor. Euler Taveira de Oliveira-2 wrote: mateusgra escreveu: Postgresql 8.2.12 , Indice btree, Consigo fazer um select na tabela. Se você consegue fazer aquele SELECT é porque provavelmente não há dados corrompidos. Quanto de memória livre tem atualmente? Você tentou reduzir a shmall? -- Euler Taveira de Oliveira http://www.timbira.com/ ___ 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] Recuperação postgreSQL 8.0
Rodrigo Kravetz Oliveira escreveu: 5) Conectei no bd template1: OK (fiquei bem feliz) 6) Tentei REINDEX DATABASE pec = Só pode reindexar db em que está conectado. 7) Desconectei do template1. 8) Tentei conectar no pec = A tentativa de conexão falhou. Como assim falhou? Você iniciou o PostgreSQL após desconectar do template1? Não esqueça de reverter o que você modificou no código-fonte. -- Euler Taveira de Oliveira http://www.timbira.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] Tunning Postgres
Diego, tambem tem um artigo na wiki do PostgreSQLhttp://www.postgresql.org.br/PostgreSQLBrasil(em português/BR), http://www.postgresql.org.br/Checklist_de_Performance_do_PostgreSQL_8.0 Obs: O conteudo é para a versão 8.0 do PostgreSQL, mas varios parametros permanecem na versão 8.3, penso que pode ajudar tambem. Jota Obrigado pelos comentarios. Fernando Blz, vou estudar aqui, para depois ver se consigo, atualizar o artigo ja existente na wiki do PostgreSQLhttp://www.postgresql.org.br/PostgreSQLBrasil (em português/BR) ao invez de traduzir o existente em ingles. 2009/2/16 Fernando Ike f...@midstorm.org 2009/2/16 Lucas Souza lucassouzadav...@gmail.com: [...] To pensando em fazer a tradução deste artigo http://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server, para PT/ BR, (não encontrei um assim em nosso idioma...) Alguem apoia, a ideia? Não precisa de apoio. Basta fazer lá no wiki do postgresql internacional, tem versões para alemão e francês lá. :) []'s -- Fernando Ike ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- -- Lucas de Souza D'Ávila Graduando em Sistema de Informação - Escola Superior de Criciúma, ESUCRI (localizada em Criciuma, SC) CV Lattes: http://lattes.cnpq.br/9245658982061645 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Tunning Postgres
2009/2/16 Fernando Ike f...@midstorm.org: 2009/2/16 Lucas Souza lucassouzadav...@gmail.com: [...] To pensando em fazer a tradução deste artigo http://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server, para PT/ BR, (não encontrei um assim em nosso idioma...) Alguem apoia, a ideia? Não precisa de apoio. Basta fazer lá no wiki do postgresql internacional, tem versões para alemão e francês lá. :) Lucas, Apenas fazendo um adendo ao que o Fike falou, acho importante a sua iniciativa, e aconselharia você, após finalizar a tradução, enviar para a lista para que possamos revisar, pois, as vezes, alguns erros passam despercebidos aos olhares de uns mas não aos olhares de outros, e assim teremos uma tradução mais concisa. :) []s Guedes -- Dickson S. Guedes - mail/xmpp: gue...@guedesoft.net - skype: guediz http://guedesoft.net - http://planeta.postgresql.org.br ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] banco voltou no passado (urgente)
tive um problema com o erro arquivo pg_clog/ não existe vi em algumas discussoes mandando recriar esse arquivo usando: dd if=/dev/zero of=/var/lib/pgsql/data/pg_clog/ bs=512b count=1 após feito o banco voltou alguns meses no passado obs: o cara não tem backup o que aconteceu? há algo que posso fazer? alguem poderia ajudar em algo ? obrigado Édson ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral