[pgbr-geral] Autovacuum ON ou OFF ?
Amigos da Lista, Minha estrutura de banco de dados se renume a um cluster que roda com vários databases, em média 50 bancos em um único cluster. Temos rotinas que rodam diariamente com várias transações e muitas alterações, usamos OIDS (Arquivos dentro dos Bancos) em larga escala. Rodamos semanalmente um vacuum full nas bases, e não usamos autovacuum, decidimos isso com receio de perda de performance já que o banco é constantemente exigido. Alguém poderia me ajudar com casos de uso ou explicar os benefícios e/ou malefícios de uso do autovacuum caso exista? Se depende de caso a caso. OBS: Hoje estou usando a versão 8.4 e estou me preparando para migrar para 9.0. Agradeço. -- Atenciosamente, Emanuel Araújo http://eacshm.wordpress.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] Problema com Vacuum
Em 21-12-2010 08:36, Edson neto escreveu: Tenho o vacuum agendado para rodar todos os dias durante a madrugada, normalmente esse procedimento leva 1 hora. Hoje porém estava em execução a mais de 8 horas. Não encontrei nenhum erro no log do postgresql. Alguém ja teve algum problema como esse? Você realizou alguma atualização ou remoção em massa? Meu sistema é de tempo real, o agendamento do vacuum diário é a melhor estratégia? Não. O melhor modelo é habilitar o autovacuum *e* agendar um vacuum diário _somente_ naquelas tabelas que sofrem muitas modificações dias; há casos em que você deve ajustar o autovacuum para tabelas específicas. Devo executar o vacuum full apenas nas tabelas com bastante rotatividade de registros? Não. O VACUUM FULL é uma das operações mais dispendiosas no PostgreSQL. Evite-o! Se houver grande rotatividade em uma tabela, utilize a dupla CLUSTER + REINDEX. -- 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] Autovacuum ON ou OFF ?
Minha estrutura de banco de dados se renume a um cluster que roda com vários databases, em média 50 bancos em um único cluster. Temos rotinas que rodam diariamente com várias transações e muitas alterações, usamos OIDS (Arquivos dentro dos Bancos) em larga escala. Rodamos semanalmente um vacuum full nas bases, e não usamos autovacuum, decidimos isso com receio de perda de performance já que o banco é constantemente exigido. Alguém poderia me ajudar com casos de uso ou explicar os benefícios e/ou malefícios de uso do autovacuum caso exista? Se depende de caso a caso. OBS: Hoje estou usando a versão 8.4 e estou me preparando para migrar para 9.0. Deixar o autovacuum desligado numa aplicação que faz alterações frequentes no banco de dados é um tiro no pé. Esta semana foi respondida uma dúvida similar aqui nesta lista. []s Flavio Henrique A. Gurgel tel. 55-11-2125.4786 cel. 55-11-6429.0496 www.4linux.com.br FREE SOFTWARE SOLUTIONS ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Converter SQL_ASCII - UTF-8
Boa tarde Galera! Estou com um problema, e não sei resolver... Tenho um banco de dados legado, em postgresql, o qual está com encoding sql_ascii. Preciso exportar algumas tabelas para arquivo txt para posterior importação em um banco sybase. O detalhe é que nesse banco de dados existem inúmeros registros com caracteres especiais. Que na aplicação são demonstrados, porém, no pgadmin os campos que tem caracteres especiais são apresentados em branco. Tentei usar to_ascii, porém, não é possível, pois ele não tem suporte para converter sql_ascii. Tentei usar a função CREATE OR REPLACE FUNCTION limpa_acentos(text) RETURNS text AS $BODY$ select translate($1,'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ','aiiioAIIIOcC'); $BODY$ LANGUAGE 'sql' IMMUTABLE STRICT; porém, também sem sucesso. Os campos que são JOÃO, ficam JOaO, porém, os campos que são MUNICÍPIO ficam em branco. Alguma sugestão ? Obrigado DRauber ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Converter SQL_ASCII - UTF-8
Eu uso essa função sem problemas mais uso da seguinte forma select upper(cidade) from cad_cidades where upper( limpa_acentos(cidade)) = upper( limpa_acentos('São pedro')) pra min aqui funciona _ Boa tarde Galera! Estou com um problema, e não sei resolver... Tenho um banco de dados legado, em postgresql, o qual está com encoding sql_ascii. Preciso exportar algumas tabelas para arquivo txt para posterior importação em um banco sybase. O detalhe é que nesse banco de dados existem inúmeros registros com caracteres especiais. Que na aplicação são demonstrados, porém, no pgadmin os campos que tem caracteres especiais são apresentados em branco. Tentei usar to_ascii, porém, não é possível, pois ele não tem suporte para converter sql_ascii. Tentei usar a função CREATE OR REPLACE FUNCTION limpa_acentos(text) RETURNS text AS $BODY$ select translate($1,'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ','aiiiooo ooAIIIOcC'); $BODY$ LANGUAGE 'sql' IMMUTABLE STRICT; porém, também sem sucesso. Os campos que são JOÃO, ficam JOaO, porém, os campos que são MUNICÍPIO ficam em branco. Alguma sugestão ? Obrigado DRauber ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Converter SQL_ASCII - UTF-8
Utiliza a funçâo UPPER att Rodrigo Della Justina Em 22 de dezembro de 2010 15:29, Douglas.grupos Rauber douglas.gru...@gmail.com escreveu: Boa tarde Galera! Estou com um problema, e não sei resolver... Tenho um banco de dados legado, em postgresql, o qual está com encoding sql_ascii. Preciso exportar algumas tabelas para arquivo txt para posterior importação em um banco sybase. O detalhe é que nesse banco de dados existem inúmeros registros com caracteres especiais. Que na aplicação são demonstrados, porém, no pgadmin os campos que tem caracteres especiais são apresentados em branco. Tentei usar to_ascii, porém, não é possível, pois ele não tem suporte para converter sql_ascii. Tentei usar a função CREATE OR REPLACE FUNCTION limpa_acentos(text) RETURNS text AS $BODY$ select translate($1,'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ','aiiioAIIIOcC'); $BODY$ LANGUAGE 'sql' IMMUTABLE STRICT; porém, também sem sucesso. Os campos que são JOÃO, ficam JOaO, porém, os campos que são MUNICÍPIO ficam em branco. Alguma sugestão ? Obrigado DRauber ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- *Atenciosamente* * * *Rodrigo Della Justina* *(46) 8801-6165* ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] função receber valores para selec ionar dentro do IN
--Baseado no seu exemplo faria dessa forma: --SELECT * FROM rel_treinamento_admin2(13,$$1,2,3,4$$); -- criacao de tipo, acho que não é necessário no seu caso, criei só para exemplificar CREATE TYPE public.tpi AS ( id INTEGER ); -- O segundo parametro ficaria como text, dentro da função seria feito cast para inteiro --a função começa assim versao 2 : DROP FUNCTION IF EXISTS rel_treinamento_admin2 (IN x integer, IN y text); CREATE OR REPLACE FUNCTION rel_treinamento_admin2(IN x integer, IN y text) RETURNS SETOF tpi AS $$ DECLARE jtpi; BEGIN FOR j IN ( SELECT sua_query FROM generate_series(1,x) AS sua_query -- aqui poderia ser a sua consulta WHERE sua_query -- a parte do in IN ( SELECT z.id[i]::integer FROM ( SELECT * FROM string_to_array(y,',') AS id ) AS z, generate_series( 1,array_upper(string_to_array(y,','),1)) AS i ) ) LOOP RETURN NEXT j; END LOOP; RAISE NOTICE 'Processo concluido com sucesso!!!'; RETURN; EXCEPTION WHEN QUERY_CANCELED THEN RAISE NOTICE 'Processo cancelado, ROLLBACK EFETUADO!!!'; RETURN; END; $$ LANGUAGE 'plpgsql'; -- Sintetizando ... a parte do IN em query, basicamente seria assim: SELECT sua_query FROM generate_series(1,13) AS sua_query WHERE sua_query IN ( SELECT z.id[i]::integer FROM ( SELECT * FROM string_to_array('1,2,3,4',',') AS id ) AS z, generate_series( 1,array_upper(string_to_array('1,2,3,4',','),1)) AS i ) ; Espero ter ajudado! Cordialmente, Emerson Hermann Em 22 de dezembro de 2010 11:03, Beto Lima betol...@gmail.com escreveu: pessoal fiz uma função mas preciso passar uma lista de valores para buscar dentro do IN... SELECT * FROM rel_treinamento_admin(13,1,2,3,4) a função começa assim: CREATE OR REPLACE FUNCTION rel_treinamento_admin(IN x integer, IN y integer, OUT nome_posto text, OUT nome text, OUT soma_notas text) numa parte do select preciso comparar uma coluna com IN valores do segundo parametro ex: AND coluna IN ($2) Só que não sei como passar estes valores para o segundo parametro no caso o IN y integer valeu ___ 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] Converter SQL_ASCII - UTF-8
Infelizmente, mesmo com o upper não funfou... Obrigado Douglas Em 22 de dezembro de 2010 15:47, Rodrigo Della Justina rodrigodellajust...@gmail.com escreveu: Utiliza a funçâo UPPER att Rodrigo Della Justina Em 22 de dezembro de 2010 15:29, Douglas.grupos Rauber douglas.gru...@gmail.com escreveu: Boa tarde Galera! Estou com um problema, e não sei resolver... Tenho um banco de dados legado, em postgresql, o qual está com encoding sql_ascii. Preciso exportar algumas tabelas para arquivo txt para posterior importação em um banco sybase. O detalhe é que nesse banco de dados existem inúmeros registros com caracteres especiais. Que na aplicação são demonstrados, porém, no pgadmin os campos que tem caracteres especiais são apresentados em branco. Tentei usar to_ascii, porém, não é possível, pois ele não tem suporte para converter sql_ascii. Tentei usar a função CREATE OR REPLACE FUNCTION limpa_acentos(text) RETURNS text AS $BODY$ select translate($1,'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ','aiiioAIIIOcC'); $BODY$ LANGUAGE 'sql' IMMUTABLE STRICT; porém, também sem sucesso. Os campos que são JOÃO, ficam JOaO, porém, os campos que são MUNICÍPIO ficam em branco. Alguma sugestão ? Obrigado DRauber ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- *Atenciosamente* * * *Rodrigo Della Justina* *(46) 8801-6165* ___ 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] Converter SQL_ASCII - UTF-8
Ja tentou select to_ascii(CAMPO,'LATIN1') as NOME from sua_tabela Aí na hora de importar para o SysBase você retira os acentos Deve-se lembrar que o arquivo TEXTO.TXT exportado deve estar no formato coerente com os dados ASCII ou UTF8. Marcelo Silva msn: marc...@ig.com.br Tel.: (11) 2962-7390 Cel.: (11) 9693-4251 Programador: Delphi, PHP Linux Kubuntu User number is # 24362 - Original Message - From: Douglas.grupos Rauber To: Comunidade PostgreSQL Brasileira Sent: Wednesday, December 22, 2010 5:06 PM Subject: Re: [pgbr-geral] Converter SQL_ASCII - UTF-8 Infelizmente, mesmo com o upper não funfou... Obrigado Douglas Em 22 de dezembro de 2010 15:47, Rodrigo Della Justina rodrigodellajust...@gmail.com escreveu: Utiliza a funçâo UPPER att Rodrigo Della Justina Em 22 de dezembro de 2010 15:29, Douglas.grupos Rauber douglas.gru...@gmail.com escreveu: Boa tarde Galera! Estou com um problema, e não sei resolver... Tenho um banco de dados legado, em postgresql, o qual está com encoding sql_ascii. Preciso exportar algumas tabelas para arquivo txt para posterior importação em um banco sybase. O detalhe é que nesse banco de dados existem inúmeros registros com caracteres especiais. Que na aplicação são demonstrados, porém, no pgadmin os campos que tem caracteres especiais são apresentados em branco. Tentei usar to_ascii, porém, não é possível, pois ele não tem suporte para converter sql_ascii. Tentei usar a função CREATE OR REPLACE FUNCTION limpa_acentos(text) RETURNS text AS $BODY$ select translate($1,'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ','aiiioAIIIOcC'); $BODY$ LANGUAGE 'sql' IMMUTABLE STRICT; porém, também sem sucesso. Os campos que são JOÃO, ficam JOaO, porém, os campos que são MUNICÍPIO ficam em branco. Alguma sugestão ? Obrigado DRauber ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Atenciosamente Rodrigo Della Justina (46) 8801-6165 ___ 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 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Converter SQL_ASCII - UTF-8
Já tentou converter o arquivo txt gerado em ascii para utf8 com iconv ? [1] [1]http://linux.die.net/man/1/iconv Emerson Hermann Em 22 de dezembro de 2010 16:57, Marcelo Silva marc...@ig.com.br escreveu: Ja tentou select to_ascii(CAMPO,'LATIN1') as NOME from sua_tabela Aí na hora de importar para o SysBase você retira os acentos Deve-se lembrar que o arquivo TEXTO.TXT exportado deve estar no formato coerente com os dados ASCII ou UTF8. Marcelo Silva msn: marc...@ig.com.br Tel.: (11) 2962-7390 Cel.: (11) 9693-4251 Programador: Delphi, PHP Linux Kubuntu User number is # 24362 - Original Message - From: Douglas.grupos Rauber To: Comunidade PostgreSQL Brasileira Sent: Wednesday, December 22, 2010 5:06 PM Subject: Re: [pgbr-geral] Converter SQL_ASCII - UTF-8 Infelizmente, mesmo com o upper não funfou... Obrigado Douglas Em 22 de dezembro de 2010 15:47, Rodrigo Della Justina rodrigodellajust...@gmail.com escreveu: Utiliza a funçâo UPPER att Rodrigo Della Justina Em 22 de dezembro de 2010 15:29, Douglas.grupos Rauber douglas.gru...@gmail.com escreveu: Boa tarde Galera! Estou com um problema, e não sei resolver... Tenho um banco de dados legado, em postgresql, o qual está com encoding sql_ascii. Preciso exportar algumas tabelas para arquivo txt para posterior importação em um banco sybase. O detalhe é que nesse banco de dados existem inúmeros registros com caracteres especiais. Que na aplicação são demonstrados, porém, no pgadmin os campos que tem caracteres especiais são apresentados em branco. Tentei usar to_ascii, porém, não é possível, pois ele não tem suporte para converter sql_ascii. Tentei usar a função CREATE OR REPLACE FUNCTION limpa_acentos(text) RETURNS text AS $BODY$ select translate($1,'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ','aiiioAIIIOcC'); $BODY$ LANGUAGE 'sql' IMMUTABLE STRICT; porém, também sem sucesso. Os campos que são JOÃO, ficam JOaO, porém, os campos que são MUNICÍPIO ficam em branco. Alguma sugestão ? Obrigado DRauber ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Atenciosamente Rodrigo Della Justina (46) 8801-6165 ___ 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 ___ 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] Converter SQL_ASCII - UTF-8
Em 22/12/10, Douglas.grupos Rauberdouglas.gru...@gmail.com escreveu: Boa tarde Galera! Estou com um problema, e não sei resolver... Tenho um banco de dados legado, em postgresql, o qual está com encoding sql_ascii. Preciso exportar algumas tabelas para arquivo txt para posterior importação em um banco sybase. O detalhe é que nesse banco de dados existem inúmeros registros com caracteres especiais. Que na aplicação são demonstrados, porém, no pgadmin os campos que tem caracteres especiais são apresentados em branco. Tentei usar to_ascii, porém, não é possível, pois ele não tem suporte para converter sql_ascii. Tentei usar a função CREATE OR REPLACE FUNCTION limpa_acentos(text) RETURNS text AS $BODY$ select translate($1,'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ','aiiioAIIIOcC'); $BODY$ LANGUAGE 'sql' IMMUTABLE STRICT; porém, também sem sucesso. Os campos que são JOÃO, ficam JOaO, porém, os campos que são MUNICÍPIO ficam em branco. Alguma sugestão ? Se o enconding especificado para este banco é SQL_ASCII então você precisa descobrir qual o encoding utilizado pelas aplicações que incluíram/atualizaram os dados neste banco. Se, como você afirma, na aplicação os dados são demonstrados( presumo que queira dizer: corretamente), então tente descobrir qual o encoding utilizado por esta aplicação e utilize o SET CLIENT_ENCODING [1] adequado. Osvaldo [1] http://www.postgresql.org/docs/current/interactive/runtime-config-client.html#RUNTIME-CONFIG-CLIENT-FORMAT ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Autovacuum ON ou OFF ?
Entendo... Vou fazer as devidas análises e adotar a melhor política. Agradeço a todos. -- Atenciosamente, Emanuel Araújo http://eacshm.wordpress.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] Converter SQL_ASCII - UTF-8
Estou com um problema, e não sei resolver... Tenho um banco de dados legado, em postgresql, o qual está com encoding sql_ascii. Preciso exportar algumas tabelas para arquivo txt para posterior importação em um banco sybase. O detalhe é que nesse banco de dados existem inúmeros registros com caracteres especiais. Que na aplicação são demonstrados, porém, no pgadmin os campos que tem caracteres especiais são apresentados em branco. Você poderia realizar um dump do banco ou da tabela e depois apenas importar para o sybase. Tente algo como: pg_dump database -Fp --table=tabela --encoding=ISO88591 --data-only --column-inserts --file=dump_db.sql Voce pode alterar o encoding conforme for sua aplicação e/ou local onde vai importar os dados. Tive o mesmo problema quando tive que converter bases de SQL_ASCII para UTF8, e com dump/restore funcionou. Espero ter ajudado. -- Atenciosamente, Emanuel Araújo http://eacshm.wordpress.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral