[pgbr-geral] Java e Postgresql : problemas com aspas

2009-02-16 Por tôpico Marcos Fabrício Corso

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

2009-02-16 Por tôpico Vinicius
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

2009-02-16 Por tôpico André Volpato




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

2009-02-16 Por tôpico Jota
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

2009-02-16 Por tôpico Newton Teixeira do Nascimento Júnior
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

2009-02-16 Por tôpico Jota
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

2009-02-16 Por tôpico Marcelo Costa
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

2009-02-16 Por tôpico ivan viana
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-02-16 Por tôpico Osvaldo Kussama
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-02-16 Por tôpico Osvaldo Kussama
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

2009-02-16 Por tôpico Marcelo Costa
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

2009-02-16 Por tôpico Rodrigo Kravetz Oliveira

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-02-16 Por tôpico Lucas Souza
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-02-16 Por tôpico Fernando Ike
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

2009-02-16 Por tôpico Rodrigo Kravetz Oliveira

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-02-16 Por tôpico Leonardo Cezar
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

2009-02-16 Por tôpico coutinho

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

2009-02-16 Por tôpico Euler Taveira de Oliveira
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

2009-02-16 Por tôpico Lucas Souza
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-02-16 Por tôpico Dickson S. Guedes
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)

2009-02-16 Por tôpico Edson Mundin Ferreira
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