[pgbr-geral] Partição de índices lotando
Bom dia! Possuo um banco de dados (versão do Postgresql 9.3.1) com um tamanho de 129G. A maioria dos indices ficam em uma tablespace chamada tablespace_indices (partição física chamada /dbind/tablespace_indices de 92G.) Os índices das tabelas mais utilizadas foram movidos pra outra tablespace chamada tablespace_corporativo (partição física chamada /dbtbl/tablespace_corporativo de 92G e 55% de utilização.) De um tempo para a partição /dbind/tablespace_indices tem ficado cheia e hoje atingiu 93% de utilização. Ressalto que todos os dias às 00:00h é rodado o vacuum full nessa referida base. A mesma já foi reindexada ,mas mesmo assim continua enchendo a partição. Alguém teria uma idéia do que estaria gerando isso? Há alguma forma de melhorar essa situação,pois do jeito que está indo a qualquer momento o SGBD vai parar. Att, Deliane Andrade PS: O S.O. é o Debian 6 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Quebra de string
Boa tarde! Tenho um campo do tipo string que está armazenado da seguinte forma: {51|15057267||5911898||563507-1827|1|1|14||,51|15057267||5911898||563737-1827|1|1|14||,51|15057267||5911898||563768-1827|1|1|26||,51|15057267||5911898||563564-1827|1|1|26||,51|15057267||5911898||563617-1827|1|1|26||,51|15057267||5911898||563721-1827|1|1|14||,51|15057267||5911898||563093-1827|1|1|26||,51|15057267||5911898||563092-1827|1|1|12|26|,51|15057267||5911898||563722-1827|1|1|14||,51|15057267||5911898||586654-1827|1|1|26||,51|15057267||5911898||563369-1827|1|1|26||,51|15057267||5911898||585761-1827|1|1|26||,51|15057267||5911898||563080-1827|1|1|26||,51|15057267||5911898||563094-1827|1|1|26||} Eu preciso quebrar essa string a cada vírgula (e sem as chaves também) com quebra de linha ,de forma que fique assim: 51|15057267||5911898||563507-1827|1|1|14|| 51|15057267||5911898||563737-1827|1|1|14|| 51|15057267||5911898||563768-1827|1|1|26|| 51|15057267||5911898||563564-1827|1|1|26|| 51|15057267||5911898||563617-1827|1|1|26|| 51|15057267||5911898||563721-1827|1|1|14|| 51|15057267||5911898||563093-1827|1|1|26|| 51|15057267||5911898||563092-1827|1|1|12|26| 51|15057267||5911898||563722-1827|1|1|14|| 51|15057267||5911898||586654-1827|1|1|26|| 51|15057267||5911898||563369-1827|1|1|26|| 51|15057267||5911898||585761-1827|1|1|26|| 51|15057267||5911898||563080-1827|1|1|26|| 51|15057267||5911898||563094-1827|1|1|26|| Ele deverá ficar armazenado desta forma em um único campo text. Tem como? Já tentei várias funções que trabalham com string,mas não consegui. Alguém já fez algo do tipo? Att, Deliane Andrade ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] PÂNICO: could not open critical system index 2662
Bom dia. Estou tentando acessar meu banco via psql e está retornando o seguinte ERRO: postgres@condor:~$ psql meu_banco psql: PÃNICO: could not open critical system index 2662 O arquivo de log é este: BRTPÃNICO: could not open critical system index 2662 %%2013-11-11 09:42:21.991 BRTLOG: processo servidor (PID 3050) foi terminado pelo sinal 6: Aborted %%2013-11-11 09:42:21.991 BRTLOG: terminando quaisquer outros processos servidor ativos %%2013-11-11 09:42:21.992 BRTLOG: todos os processos servidor foram terminados; reinicializando %%2013-11-11 09:42:22.063 BRTLOG: sistema de banco de dados foi interrompido; última execução em 2013-11-11 09:42:13 BRT %%2013-11-11 09:42:22.063 BRTLOG: sistema de banco de dados não foi desligado corretamente; recuperação automática está em andamento %%2013-11-11 09:42:22.071 BRTLOG: registro com tamanho zero em 1713/892DD040 %%2013-11-11 09:42:22.071 BRTLOG: redo não é requerido Resumindo, não consigo mais acessar a minha base. Alguém teria alguma idéia do que possa estar acontecendo? Será que tem alguma forma de recuperar isto? Att, Deliane Andrade ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] PÂNICO: could not open critical system index 2662
Pois é. O meu último backup é do dia 04/11/2013 as 00:00h. Dos dias posteriores não tenho backup,uma vez que nos dois dias seguintes(05 e 06) houve desligamentos bruscos dos servidores por causa de queda de energia(O no-break é enfeite). 1. Subir o PostgreSQL e tentar conectar com o psql (não use pgAdmin ou semelhante, estes vão tentar carregar tabelas e informações e vão se deparar com o erro acima); o PostgreSQL sobe. Essa base de dados específica é que não consigo conectar. 2. Reindexar as tabelas de sistema: REINDEX SYSTEM seu_banco; Já fiz isto 3. Gere um dump de *todas* suas bases (pode usar pg_dumpall ou pg_dump de cada um e `pg_dumpall -g` para recuperar os objetos globais); Após os desligamentos bruscos não consegui rodar vacuum e nem fazer o dump da base. Enfim,acredito que não há mais jeito de recuperar. Cinco dias de informação perdida.(Deixaram eu tirar do ar só nesta sexta-feira - 08/11/2013). :( Att, Deliane Andrade ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] pg_dump com erro
Bom dia a todos. Estou com um problemão. Desde o dia 04/11/2013 não consigo realizar o dump da minha base de produção. Faço desta forma: pg_dump -Ft -b meu_banco | gzip -9 /local/backup/bck_meu_banco_071113_0900.tar.gz O mesmo apresenta o seguinte erro: pg_dump: [arquivador (bd)] consulta falhou: ERRO: mais de um registro foi retornado por uma subconsulta utilizada como uma expressão pg_dump: [arquivador (bd)] consulta foi: SELECT tableoid, oid, typname, typnamespace, (SELECT rolname FROM pg_catalog.pg_roles WHERE oid = typowner) AS rolname, typinput::oid AS typinput, typoutput::oid AS typoutput, typelem, typrelid, CASE WHEN typrelid = 0 THEN ' '::char ELSE (SELECT relkind FROM pg_class WHERE oid = typrelid) END AS typrelkind, typtype, typisdefined, typname[0] = '_' AND typelem != 0 AND (SELECT typarray FROM pg_type te WHERE oid = pg_type.typelem) = oid AS isarray FROM pg_type Alguém teria uma sugestão do que poderia ser feito? Att, Deliane Andrade ___ 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 com erro
Olá,bom dia. E qual é a saída da consulta acima? É a seguinte: psql meu_banco psql (9.2.2) Digite help para ajuda. seduc_oficial=# SELECT tableoid, oid, typname, typnamespace, (SELECT rolname FROM pg_catalog.pg_roles WHERE oid = typowner) AS rolname, typinput::oid AS typinput, typoutput::oid AS typoutput, typelem, typrelid, CASE WHEN typrelid = 0 THEN ' '::char ELSE (SELECT relkind FROM pg_class WHERE oid = typrelid) END AS typrelkind, typtype, typisdefined, typname[0] = '_' AND typelem != 0 AND (SELECT typarray FROM pg_type te WHERE oid = pg_type.typelem) = oid AS isarray FROM pg_type; ERRO: mais de um registro foi retornado por uma subconsulta utilizada como uma expressão meu_banco=# Att, Deliane Andrade Em 7 de novembro de 2013 10:12, Euler Taveira eu...@timbira.com.brescreveu: On 07-11-2013 11:01, Deliane Andrade wrote: pg_dump: [arquivador (bd)] consulta falhou: ERRO: mais de um registro foi retornado por uma subconsulta utilizada como uma expressão pg_dump: [arquivador (bd)] consulta foi: SELECT tableoid, oid, typname, typnamespace, (SELECT rolname FROM pg_catalog.pg_roles WHERE oid = typowner) AS rolname, typinput::oid AS typinput, typoutput::oid AS typoutput, typelem, typrelid, CASE WHEN typrelid = 0 THEN ' '::char ELSE (SELECT relkind FROM pg_class WHERE oid = typrelid) END AS typrelkind, typtype, typisdefined, typname[0] = '_' AND typelem != 0 AND (SELECT typarray FROM pg_type te WHERE oid = pg_type.typelem) = oid AS isarray FROM pg_type E qual é a saída da consulta acima? -- Euler Taveira 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] pg_dump com erro
Atualmente estamos na 9.2.5. Eu atualizaria a versão na próxima janela de manutenção. Há vários bugs corrigidos. Pretendemos atualizar para a 9.3 Digo, de alguma das subconsultas (faltou cafeína nesta manhã). Experimente retirar alguma das subconsultas para saber qual é a problemática. Executei as três subconsultas que você colocou como exemplo e as que contém o CASE me retorna : Em 7 de novembro de 2013 11:13, Euler Taveira eu...@timbira.com.brescreveu: On 07-11-2013 11:17, Deliane Andrade wrote: psql meu_banco psql (9.2.2) Digite help para ajuda. Atualmente estamos na 9.2.5. Eu atualizaria a versão na próxima janela de manutenção. Há vários bugs corrigidos. seduc_oficial=# SELECT tableoid, oid, typname, typnamespace, (SELECT rolname FROM pg_catalog.pg_roles WHERE oid = typowner) AS rolname, typinput::oid AS typinput, typoutput::oid AS typoutput, typelem, typrelid, CASE WHEN typrelid = 0 THEN ' '::char ELSE (SELECT relkind FROM pg_class WHERE oid = typrelid) END AS typrelkind, typtype, typisdefined, typname[0] = '_' AND typelem != 0 AND (SELECT typarray FROM pg_type te WHERE oid = pg_type.typelem) = oid AS isarray FROM pg_type; ERRO: mais de um registro foi retornado por uma subconsulta utilizada como uma expressão meu_banco=# Digo, de alguma das subconsultas (faltou cafeína nesta manhã). Experimente retirar alguma das subconsultas para saber qual é a problemática. Por exemplo: SELECT tableoid, oid, typname, typnamespace, typinput::oid AS typinput, typoutput::oid AS typoutput, typelem, typrelid, CASE WHEN typrelid = 0 THEN ' '::char ELSE (SELECT relkind FROM pg_class WHERE oid = typrelid) END AS typrelkind, typtype, typisdefined, typname[0] = '_' AND typelem != 0 AND (SELECT typarray FROM pg_type te WHERE oid = pg_type.typelem) = oid AS isarray FROM pg_type SELECT tableoid, oid, typname, typnamespace, (SELECT rolname FROM pg_catalog.pg_roles WHERE oid = typowner) AS rolname, typinput::oid AS typinput, typoutput::oid AS typoutput, typelem, typrelid, typtype, typisdefined, typname[0] = '_' AND typelem != 0 AND (SELECT typarray FROM pg_type te WHERE oid = pg_type.typelem) = oid AS isarray FROM pg_type SELECT tableoid, oid, typname, typnamespace, (SELECT rolname FROM pg_catalog.pg_roles WHERE oid = typowner) AS rolname, typinput::oid AS typinput, typoutput::oid AS typoutput, typelem, typrelid, CASE WHEN typrelid = 0 THEN ' '::char ELSE (SELECT relkind FROM pg_class WHERE oid = typrelid) END AS typrelkind, typtype, typisdefined, typname[0] = '_' AND typelem != 0 FROM pg_type Da consulta que suceder, você vai ter que descobrir qual é a duplicidade. -- Euler Taveira 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] pg_dump com erro
Desculpem apertei a barra de espaço sem querer. Retomando Digo, de alguma das subconsultas (faltou cafeína nesta manhã). Experimente retirar alguma das subconsultas para saber qual é a problemática. Executei as três consultas que você colocou como exemplo e as que contém o CASE me retornam : ERRO: mais de um registro foi retornado por uma subconsulta utilizada como uma expressão Ao comentar o CASE em qualquer das consultas elas executam sem problema. Att, Deliane Andrade Em 7 de novembro de 2013 11:33, Deliane Andrade deliane.andr...@gmail.comescreveu: Atualmente estamos na 9.2.5. Eu atualizaria a versão na próxima janela de manutenção. Há vários bugs corrigidos. Pretendemos atualizar para a 9.3 Digo, de alguma das subconsultas (faltou cafeína nesta manhã). Experimente retirar alguma das subconsultas para saber qual é a problemática. Executei as três subconsultas que você colocou como exemplo e as que contém o CASE me retorna : Em 7 de novembro de 2013 11:13, Euler Taveira eu...@timbira.com.brescreveu: On 07-11-2013 11:17, Deliane Andrade wrote: psql meu_banco psql (9.2.2) Digite help para ajuda. Atualmente estamos na 9.2.5. Eu atualizaria a versão na próxima janela de manutenção. Há vários bugs corrigidos. seduc_oficial=# SELECT tableoid, oid, typname, typnamespace, (SELECT rolname FROM pg_catalog.pg_roles WHERE oid = typowner) AS rolname, typinput::oid AS typinput, typoutput::oid AS typoutput, typelem, typrelid, CASE WHEN typrelid = 0 THEN ' '::char ELSE (SELECT relkind FROM pg_class WHERE oid = typrelid) END AS typrelkind, typtype, typisdefined, typname[0] = '_' AND typelem != 0 AND (SELECT typarray FROM pg_type te WHERE oid = pg_type.typelem) = oid AS isarray FROM pg_type; ERRO: mais de um registro foi retornado por uma subconsulta utilizada como uma expressão meu_banco=# Digo, de alguma das subconsultas (faltou cafeína nesta manhã). Experimente retirar alguma das subconsultas para saber qual é a problemática. Por exemplo: SELECT tableoid, oid, typname, typnamespace, typinput::oid AS typinput, typoutput::oid AS typoutput, typelem, typrelid, CASE WHEN typrelid = 0 THEN ' '::char ELSE (SELECT relkind FROM pg_class WHERE oid = typrelid) END AS typrelkind, typtype, typisdefined, typname[0] = '_' AND typelem != 0 AND (SELECT typarray FROM pg_type te WHERE oid = pg_type.typelem) = oid AS isarray FROM pg_type SELECT tableoid, oid, typname, typnamespace, (SELECT rolname FROM pg_catalog.pg_roles WHERE oid = typowner) AS rolname, typinput::oid AS typinput, typoutput::oid AS typoutput, typelem, typrelid, typtype, typisdefined, typname[0] = '_' AND typelem != 0 AND (SELECT typarray FROM pg_type te WHERE oid = pg_type.typelem) = oid AS isarray FROM pg_type SELECT tableoid, oid, typname, typnamespace, (SELECT rolname FROM pg_catalog.pg_roles WHERE oid = typowner) AS rolname, typinput::oid AS typinput, typoutput::oid AS typoutput, typelem, typrelid, CASE WHEN typrelid = 0 THEN ' '::char ELSE (SELECT relkind FROM pg_class WHERE oid = typrelid) END AS typrelkind, typtype, typisdefined, typname[0] = '_' AND typelem != 0 FROM pg_type Da consulta que suceder, você vai ter que descobrir qual é a duplicidade. -- Euler Taveira 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] pg_dump com erro
E qual é a saída da consulta: SELECT t.oid, typname, COUNT(*) FROM pg_class c INNER JOIN pg_type t ON (c.oid = typrelid) WHERE typrelid 0 GROUP BY t.oid, typname HAVING COUNT(*) 1; oidtypnamecount 20674pg_toast_206702 Att, Deliane Andrade 2013/11/7 Euler Taveira eu...@timbira.com.br On 07-11-2013 12:37, Deliane Andrade wrote: Ao comentar o CASE em qualquer das consultas elas executam sem problema. E qual é a saída da consulta: SELECT t.oid, typname, COUNT(*) FROM pg_class c INNER JOIN pg_type t ON (c.oid = typrelid) WHERE typrelid 0 GROUP BY t.oid, typname HAVING COUNT(*) 1; -- Euler Taveira 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] pg_dump com erro
Descobrir a tabela relacionada: SELECT relname FROM pg_class WHERE relfilenode = 20674; resultado : vazio Descobrir os arquivos no disco: SELECT oid,ctid,cmin,cmax,relname, relfilenode,pg_relation_filepath(oid) FROM pg_class WHERE relname ~ 'pg_toast_20670'; resultado: oid ctid cmin cmax relname relfilenode pg_relation_filepath 20673 -43,11 5 5 pg_toast_20670 2095406497 base/16385/2095406497 20675 -43,12 5 5 pg_toast_20670_index 2095406499 base/16385/2095406499 20673 -108,39 5 5 pg_toast_20670 2101671235 base/16385/2095406497 20675 -109,3 5 5 pg_toast_20670_index 2101671237 base/16385/2095406499 -- Procurando os arquivos: root@condor:/dbprod/data/base/16385# find / -name 2095406497 /dbprod/data/base/16385/2095406497 root@condor:/dbprod/data/base/16385# find / -name 2095406499 /dbprod/data/base/16385/2095406499 -- Verificando tamanho e data dos arquivos : root@condor:/dbprod/data/base/16385# ls -lh 2095406497 -rw--- 1 postgres postgres 0 Nov 5 01:42 2095406497 root@condor:/dbprod/data/base/16385# ls -lh 2095406499 -rw--- 1 postgres postgres 0 Nov 5 01:42 2095406499 Posso apagá-los? estão vazios e com data do dia 05/11/2013. Por que será? Att, Deliane Andrade ___ 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 com erro
Euler,boa tarde. Verifiquei que haviam alguns registros duplicados em algumas tabelas do meu banco. Eliminei as duplicidades. Fiz o que você recomendou e executei o delete para remover as duplicatas do pg_class. Já consigo fazer o backup. Vou aproveitar e atualizar a versão do SGBD para a 9.3,uma vez que irão refazer esse servidor mesmo. Respondendo à sua pergunta, essa base é de uma secretaria do governo do estado. Um grevista em protesto invadiu o DATA CENTER e andou metendo a mão aqui e desligou todos os servidores na marra.(pode perceber que a segurança aqui é zer!!!). Pra completar dois dias seguidos houve desligamento brusco devido à queda de energia,uma vez que o no-break daqui tá bixado e ninguém resolve. Enfim Agradeço muitíssimo a sua ajuda. Att, Deliane Andrade Em 7 de novembro de 2013 16:05, Euler Taveira eu...@timbira.com.brescreveu: On 07-11-2013 13:49, Deliane Andrade wrote: Descobrir a tabela relacionada: SELECT relname FROM pg_class WHERE relfilenode = 20674; resultado : vazio Veja bem, a consulta que informei foi: SELECT relname FROM pg_class WHERE relfilenode = 20670; oid ctid cmin cmax relname relfilenode pg_relation_filepath 20673 -43,11 5 5 pg_toast_20670 2095406497 base/16385/2095406497 20675 -43,12 5 5 pg_toast_20670_index 2095406499 base/16385/2095406499 20673 -108,39 5 5 pg_toast_20670 2101671235 base/16385/2095406497 20675 -109,3 5 5 pg_toast_20670_index 2101671237 base/16385/2095406499 [Bem que você poderia formatar a saída de acordo. Fica difícil ficar separando linha por linha aqui.] Parece-me que tanto a entrada na tabela TOAST quanto o seu índice possuem identificação duplicada. Verifique *todos* os campos da pg_class antes de remover as duplicatas. Para remover as duplicatas faça: BEGIN; -- onde x e y são os números do ctid DELETE FROM pg_class WHERE relname = '...' AND ctid = '(x,y)'; COMMIT; O que me deixou curioso foi esses valores negativos do ctid (o mesmo é unsigned). Você tem certeza que não se enganou na saída? Veja: euler=# select oid,cmin,cmax,ctid,relname,relfilenode,pg_relation_filepath(oid) from pg_class where relname ~ 'xpto'; ─[ RECORD 1 ]┬─ oid │ 73074 cmin │ 0 cmax │ 0 ctid │ (0,4) relname │ xpto_id_seq relfilenode │ 73074 pg_relation_filepath │ base/73073/73074 ─[ RECORD 2 ]┼─ oid │ 73076 cmin │ 7 cmax │ 7 ctid │ (1,3) relname │ xpto relfilenode │ 73076 pg_relation_filepath │ base/73073/73076 ─[ RECORD 3 ]┼─ oid │ 73085 cmin │ 8 cmax │ 8 ctid │ (1,4) relname │ xpto_pkey relfilenode │ 73085 pg_relation_filepath │ base/73073/73085 Posso apagá-los? estão vazios e com data do dia 05/11/2013. Por que será? Não apague ainda. Houve alguma queda ou parada brusca (aka kill -9)? Vide os logs do dia 05/11 próximo a última hora de escrita do arquivo (01:42). -- Euler Taveira 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
[pgbr-geral] DBLINK DANDO ERRO NA INSERÇÃO
= siig_teste host = meu ip user = postgres password = minha senha port=5432', 'INSERT INTO sia.sia_unidade_ensino (codigo,codigo_sia_depd_adm,cod_entd_prpr_sia_depd_adm,cod_bairro_pap_unid_geografica,cod_mun_pap_unid_geografica, codigo_ace_estrut_orgn,codigo_escola,sequencial_anexo,codigo_secretaria,nome ,nome_abreviado,cgc, codigo_sia_sit_functo,codigo_sia_polo_ue,codigo_abp_imovel,logradouro,numero,complemento,codigo_pap_uf, cep,fone,fax,ramal,codigo_sia_localizacao,codigo_sia_delm_terreno,codigo_sia_topografia_terreno, codigo_sia_docm_terreno,codigo_sia_natr_ocupc_predio,area_total,area_construida,area_util,origem_construcao, ano_construcao,dificil_acesso,motivo_dificil_acesso,nte_bahia,cepes_paraiba,perc_dist_corrente,perc_dist_capital, perc_dist_terceiros,ind_inad ,particular_filantropica,setor,paisetor,codigo_pessoa_diretor,codigo_sia_ue_origem_diretor, nome_abreviado_fonetizar,escola_municipalizada,codigo_municipio,email,cd_escola,bairro,sequencial_anexo_mec, sequencial_anexo_setor,dt_criacao,ano_letivo_funcionamento,diario_oficial_estado,observacao,distrito,escola_sede_municipio, escola_jovem_futuro,ano_extincao) VALUES ( new.codigo,new.codigo_sia_depd_adm,new.cod_entd_prpr_sia_depd_adm,new.cod_bairro_pap_unid_geografica,new.cod_mun_pap_unid_geografica, new.codigo_ace_estrut_orgn,new.codigo_escola,new.sequencial_anexo,new.codigo_secretaria,new.nome ,new.nome_abreviado,new.cgc, new.codigo_sia_sit_functo,new.codigo_sia_polo_ue,new.codigo_abp_imovel,new.logradouro,new.numero,new.complemento,new.codigo_pap_uf, new.cep,new.fone,new.fax,new.ramal,new.codigo_sia_localizacao,new.codigo_sia_delm_terreno,new.codigo_sia_topografia_terreno, new.codigo_sia_docm_terreno,new.codigo_sia_natr_ocupc_predio,new.area_total,new.area_construida,new.area_util,new.origem_construcao, new.ano_construcao,new.dificil_acesso,new.motivo_dificil_acesso,new.nte_bahia,new.cepes_paraiba,new.perc_dist_corrente, new.perc_dist_capital,new.perc_dist_terceiros,new.ind_inad ,new.particular_filantropica,new.setor,new.paisetor,new.codigo_pessoa_diretor, new.codigo_sia_ue_origem_diretor,new.nome_abreviado_fonetizar,new.escola_municipalizada,new.codigo_municipio,new.email,new.cd_escola, new.bairro,new.sequencial_anexo_mec,new.sequencial_anexo_setor,new.dt_criacao,new.ano_letivo_funcionamento,new.diario_oficial_estado, new.observacao,new.distrito,new.escola_sede_municipio,new.escola_jovem_futuro,new.ano_extincao' ) PL/pgSQL function sia.func_trg_atualiza_sia_unidade_ensino_dblink() line 7 at comando SQL Ainda não consegui visualizar qual é o problema. Alguém teria alguma sugestão? Agradeço a atenção. Att, Deliane Andrade ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] DBLINK DANDO ERRO NA INSERÇÃO
Tem alguma regra (rule) ou gatilho (trigger) na tabela sia.sia_unidade_destino no banco remoto? Traga-nos o log do banco remoto se puder, por favor. Não existe trigger na tabela sia.sia_unidade_destino no banco remoto; Existe uma outra trigger na tabela sia.sia_unidade_origem no banco origem que fonetiza o campo nome_abreviado_fonetizar; O ERRO no log do banco remoto é este: [desconhecido]%[desconhecido]%2013-07-17 14:44:46.285 CDTLOG: conexão recebida: host=192.168.200.xx port=58183 postgres%siig_teste%2013-07-17 14:44:46.287 CDTLOG: conexão autorizada: usuário=postgres banco de dados=siig_teste postgres%siig_teste%2013-07-17 14:44:46.475 CDTLOG: comando: set client_encoding to 'SQL_ASCII' postgres%siig_teste%2013-07-17 14:44:46.475 CDTERRO: NEW utilizado em consulta que não é uma regra postgres%siig_teste%2013-07-17 14:44:46.475 CDTCOMANDO: INSERT INTO sia.sia_unidade_ensino ^M (codigo,codigo_sia_depd_adm,cod_entd_prpr_sia_depd_adm,cod_bairro_pap_unid_geografica,cod_mun_pap_unid_geografica, ^M codigo_ace_estrut_orgn,codigo_escola,sequencial_anexo,codigo_secretaria,nome ,nome_abreviado,cgc, ^M codigo_sia_sit_functo,codigo_sia_polo_ue,codigo_abp_imovel,logradouro,numero,complemento,codigo_pap_uf, ^M cep,fone,fax,ramal,codigo_sia_localizacao,codigo_sia_delm_terreno,codigo_sia_topografia_terreno, ^M codigo_sia_docm_terreno,codigo_sia_natr_ocupc_predio,area_total,area_construida,area_util,origem_construcao, ^M ano_construcao,dificil_acesso,motivo_dificil_acesso,nte_bahia,cepes_paraiba,perc_dist_corrente,perc_dist_capital, ^M perc_dist_terceiros,ind_inad ,particular_filantropica,setor,paisetor,codigo_pessoa_diretor,codigo_sia_ue_origem_diretor, ^M nome_abreviado_fonetizar,escola_municipalizada,codigo_municipio,email,cd_escola,bairro,sequencial_anexo_mec, ^M sequencial_anexo_setor,dt_criacao,ano_letivo_funcionamento,diario_oficial_estado,observacao,distrito,escola_sede_municipio, ^M escola_jovem_futuro,ano_extincao)^M VALUES^M ( new.codigo,new.codigo_sia_depd_adm,new.cod_entd_prpr_sia_depd_adm,new.cod_bairro_pap_unid_geografica,new.cod_mun_pap_unid_geografica,^M new.codigo_ace_estrut_orgn,new.codigo_escola,new.sequencial_anexo,new.codigo_secretaria,new.nome ,new.nome_abreviado,new.cgc,^M new.codigo_sia_sit_functo,new.codigo_sia_polo_ue,new.codigo_abp_imovel,new.logradouro,new.numero,new.complemento,new.codigo_pap_uf,^M new.cep,new.fone,new.fax,new.ramal,new.codigo_sia_localizacao,new.codigo_sia_delm_terreno,new.codigo_sia_topografia_terreno,^M new.codigo_sia_docm_terreno,new.codigo_sia_natr_ocupc_predio,new.area_total,new.area_construida,new.area_util,new.origem_construcao,^M new.ano_construcao,new.dificil_acesso,new.motivo_dificil_acesso,new.nte_bahia,new.cepes_paraiba,new.perc_dist_corrente,^M new.perc_dist_capital,new.perc_dist_terceiros,new.ind_inad ,new.particular_filantropica,new.setor,new.paisetor,new.codigo_pessoa_diretor,^M new.codigo_sia_ue_origem_diretor,new.nome_abreviado_fonetizar,new.escola_municipalizada,new.codigo_municipio,new.email,new.cd_escola,^M new.bairro,new.sequencial_anexo_mec,new.sequencial_anexo_setor,new.dt_criacao,new.ano_letivo_funcionamento,new.diario_oficial_estado,^M new.observacao,new.distrito,new.escola_sede_municipio,new.escola_jovem_futuro,new.ano_extincao Att, Deliane Andrade ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] DBLINK DANDO ERRO NA INSERÇÃO
Boa tarde! Matheus, concatenei da forma como você sugeriu e não deu mais o erro anteriormente citado. Agora está dando este aqui : ERRO: consulta não tem destino para os dados resultantes HINT: Se você quer descartar os resultados de um SELECT, utilize PERFORM. CONTEXT: função PL/pgSQL sia.func_trg_atualiza_sia_unidade_ensino_dblink() linha 8 em comando SQL Coloquei o PERFORM como o erro sugere: BEGIN -- Escolha da opção INSERT no banco siig_teste cujo IP é = 192.168.200.41 IF (TG_OP = 'INSERT') THEN PERFORM (SELECT dblink_exec ('dbname= siig_teste hostaddr = 192.168.200.41 user = postgres password = trf@27zpc port=5432', 'INSERT INTO sia.sia_unidade_ensino (codigo,codigo_sia_depd_adm,cod_entd_prpr_sia_depd_adm,cod_bairro_pap_unid_geografica,cod_mun_pap_unid_geografica, codigo_ace_estrut_orgn,codigo_escola,sequencial_anexo,codigo_secretaria,nome ,nome_abreviado,cgc, codigo_sia_sit_functo,codigo_sia_polo_ue,codigo_abp_imovel,logradouro,numero,complemento,codigo_pap_uf, cep,fone,fax,ramal,codigo_sia_localizacao,codigo_sia_delm_terreno,codigo_sia_topografia_terreno, codigo_sia_docm_terreno,codigo_sia_natr_ocupc_predio,area_total,area_construida,area_util,origem_construcao, ano_construcao,dificil_acesso,motivo_dificil_acesso,nte_bahia,cepes_paraiba,perc_dist_corrente,perc_dist_capital, perc_dist_terceiros,ind_inad ,particular_filantropica,setor,paisetor,codigo_pessoa_diretor,codigo_sia_ue_origem_diretor, nome_abreviado_fonetizar,escola_municipalizada,codigo_municipio,email,cd_escola,bairro,sequencial_anexo_mec, sequencial_anexo_setor,dt_criacao,ano_letivo_funcionamento,diario_oficial_estado,observacao,distrito,escola_sede_municipio, escola_jovem_futuro,ano_extincao) VALUES ('||quote_literal(new.codigo)||','||quote_literal(new.codigo_sia_depd_adm)||','||quote_literal(new.cod_entd_prpr_sia_depd_adm)|| ','||quote_literal(new.cod_bairro_pap_unid_geografica)||','||quote_literal(new.cod_mun_pap_unid_geografica)|| ','||quote_literal(new.codigo_ace_estrut_orgn)||','||quote_literal(new.codigo_escola)||','||quote_literal(new.sequencial_anexo)|| ','||quote_literal(new.codigo_secretaria)||','||quote_literal(new.nome)||','||quote_literal(new.nome_abreviado)|| ','||quote_literal(new.cgc)||','||quote_literal(new.codigo_sia_sit_functo)||','||quote_literal(new.codigo_sia_polo_ue)|| ','||quote_literal(new.codigo_abp_imovel)||','||quote_literal(new.logradouro)||','||quote_literal(new.numero)|| ','||quote_literal(new.complemento)||','||quote_literal(new.codigo_pap_uf)||','||quote_literal(new.cep)|| ','||quote_literal(new.fone)||','||quote_literal(new.fax)||','||quote_literal(new.ramal)||','||quote_literal(new.codigo_sia_localizacao)|| ','||quote_literal(new.codigo_sia_delm_terreno)||','||quote_literal(new.codigo_sia_topografia_terreno)|| ','||quote_literal(new.codigo_sia_docm_terreno)||','||quote_literal(new.codigo_sia_natr_ocupc_predio)|| ','||quote_literal(new.area_total)||','||quote_literal(new.area_construida)||','||quote_literal(new.area_util)|| ','||quote_literal(new.origem_construcao)||','||quote_literal(new.ano_construcao)||','||quote_literal(new.dificil_acesso)|| ','||quote_literal(new.motivo_dificil_acesso)||','||quote_literal(new.nte_bahia)||','||quote_literal(new.cepes_paraiba)|| ','||quote_literal(new.perc_dist_corrente)||','||quote_literal(new.perc_dist_capital)||','||quote_literal(new.perc_dist_terceiros)|| ','||quote_literal(new.ind_inad)||','||quote_literal(new.particular_filantropica)||','||quote_literal(new.setor)|| ','||quote_literal(new.paisetor)||','||quote_literal(new.codigo_pessoa_diretor)||','||quote_literal(new.codigo_sia_ue_origem_diretor)|| ','||quote_literal(new.nome_abreviado_fonetizar)||','||quote_literal(new.escola_municipalizada)||','||quote_literal(new.codigo_municipio)|| ','||quote_literal(new.email)||','||quote_literal(new.cd_escola)||','||quote_literal(new.bairro)||','||quote_literal(new.sequencial_anexo_mec)|| ','||quote_literal(new.sequencial_anexo_setor)||','||quote_literal(new.dt_criacao)||','||quote_literal(new.ano_letivo_funcionamento)|| ','||quote_literal(new.diario_oficial_estado)||','||quote_literal(new.observacao)||','||quote_literal(new.distrito)|| ','||quote_literal(new.escola_sede_municipio)||','||quote_literal(new.escola_jovem_futuro)||','||quote_literal(new.ano_extincao)||'' )); RETURN NEW; END IF; RETURN NEW; END; O resultado é: Query OK, 1 rows affected (16 ms) Faço o select lá na base remota e não foi inserido. Olhei o log e nem aparece a conexão da base origem lá. Att, Deliane Andrade ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Replicação nativa do postgresql 9.2 com problema
Olá, boa tarde. Pessoal, tenho um servidor master e um slave que estava trabalhando normalmente com a replicação nativa. Notei que quando o script de vacuum/backup entra em ação todo dia às 00:00h a replicação é parada. Tentei refazer o rsync ,mas quanto tento dar o start no slave o mesmo não inicia o serviço do postgresql. O log me informa o seguinte: %%2013-07-11 15:23:49.902 BRTLOG: sistema de banco de dados foi interrompido; última execução em 2013-07-11 15:24:57 BRT %%2013-07-11 15:23:49.903 BRTLOG: entrando no modo em espera %%2013-07-11 15:23:49.908 BRTLOG: replicação em fluxo conectou-se com sucesso ao servidor principal %%2013-07-11 15:23:50.235 BRTLOG: redo inicia em B72/3420 %%2013-07-11 15:23:50.236 BRTFATAL: não pôde acessar status da transação 65598726 %%2013-07-11 15:23:50.236 BRTDETALHE: não pôde ler do arquivo pg_clog/003E deslocado de 139264: Sucesso. %%2013-07-11 15:23:50.236 BRTCONTEXTO: redo do xlog commit: 2013-07-11 15:24:58.009033-03 %%2013-07-11 15:23:50.237 BRTLOG: processo de inicialização (PID 1719) terminou com código de retorno 1 %%2013-07-11 15:23:50.237 BRTLOG: terminando quaisquer outros processos servidor ativos ~ Resumindo, mesmo refazendo todo o processo da forma abaixo : MASTER : postgres@condor:~$ psql postgres@condor:~$ psql psql (9.2.2) Digite help para ajuda. postgres=# select pg_start_backup('replicacao', true); postgres=# \q postgres@condor:~$ rsync -a -v -e ssh /dbprod/data/ postgres@192.168.200.45:/dbprod/data/ --exclude postmaster.pid --exclude postgresql.conf --exclude pg_hba.conf postgres@condor:~$ psql postgres@condor:~$ psql psql (9.2.2) Digite help para ajuda. postgres=# select pg_stop_backup(); SLAVE : root@cidadevelha:/dbprod/data/pg_log# /etc/init.d/postgres start Starting PostgreSQL: ok root@cidadevelha:/dbprod/data/pg_log# /etc/init.d/postgres status pg_ctl: nenhum servidor está executando root@cidadevelha:/dbprod/data/pg_log# O meu SLAVE não sobe. A mensagem do log a citada anteriormente. Alguém teria idéia do que esteja acontecendo? Agradeço a atenção. Deliane Andrade ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Replicação nativa do postgresql 9.2 com problema
Vamos lá! Qual a saída completa do comando: SELECT version(); postgres=# SELECT version(); version -- PostgreSQL 9.2.2 on x86_64-unknown-linux-gnu, compiled by gcc (Debian 4.4.5-8) 4.4.5, 64-bit (1 registro) Verifique se seu PostgreSQL foi compilado com gcc 4.6.0 - tem um bug relacionado a isso. Como foi feita a instalação do seu PostgreSQL? root@condor:/dbprod/data# gcc --version gcc (Debian 4.4.5-8) 4.4.5 Copyright (C) 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Esta é a versão só do psql ou do servidor também? Verifique. Atualize imediatamente. A versão do Postgresql instalado é a 9.2.2 -- não posso trocar de versão no momento,pois está em produção. Inclua --delete na sua linha de comando do rsync pra não ficar lotando o espaço no seu escravo. OK Pode ser o tal bug no gcc. Verifique a versão dele como recomendei mais acima. Sua replicação está em modo síncrono? Se estiver, tente deixá-la assíncrona temporariamente e verifique se o problema se resolve. Assíncrona. Poste aqui por favor: Como está seu recovery.conf. recovery.conf : standby_mode = 'on' primary_conninfo = 'host=*ip do master* port=5432 user=replicacao password=*senha*' trigger_file = '/local/script/failover.trg' Apenas as configurações de replicação do postgresql.conf do mestre (grupo Master Servers do arquivo). #-- # REPLICATION #-- # - Sending Server(s) - # Set these on the master and on any standby that will send replication data. # max number of walsender processes max_wal_senders = 1 # (change requires restart) # in logfile segments, 16MB each; 0 disables wal_keep_segments = 100 #replication_timeout = 60s # in milliseconds; 0 disables # - Master Server - # These settings are ignored on a standby server. #synchronous_standby_names = '' # standby servers that provide sync rep # comma-separated list of application_name # from standby(s); '*' = all #vacuum_defer_cleanup_age = 0 # number of xacts by which cleanup is delayed # - Standby Servers - # These settings are ignored on a master server. #hot_standby = on # on allows queries during recovery # (change requires restart) #max_standby_archive_delay = 30s# max delay before canceling queries # when reading WAL from archive; # -1 allows indefinite delay #max_standby_streaming_delay = 30s # max delay before canceling queries # when reading streaming WAL; # -1 allows indefinite delay #wal_receiver_status_interval = 10s # send replies at least this often # 0 disables #hot_standby_feedback = off # send info from standby to prevent # query conflicts Apenas as configurações de replicação do postgresql.conf do escravo (grupo Standby Servers do arquivo). []s __** Flavio Henrique A. Gurgel Líder de Projetos Especiais Consultoria, Projetos Treinamentos 4LINUX Tel1: +55-11.2125-4747 ou 2125-4748 www.4linux.com.br email: fla...@4linux.com.br __ FREE SOFTWARE SOLUTIONS __**_ pgbr-geral mailing list pgbr-geral@listas.postgresql.**org.brpgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.**br/cgi-bin/mailman/listinfo/**pgbr-geralhttps://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] Replicação nativa do postgresql 9.2 com problema
Desculpem faltou um tópico: Apenas as configurações de replicação do postgresql.conf do escravo (grupo Standby Servers do arquivo). #-- # REPLICATION #-- # - Standby Servers - # These settings are ignored on a master server. hot_standby = on# on allows queries during recovery # (change requires restart) #max_standby_archive_delay = 30s# max delay before canceling queries # when reading WAL from archive; # -1 allows indefinite delay #max_standby_streaming_delay = 30s # max delay before canceling queries # when reading streaming WAL; # -1 allows indefinite delay #wal_receiver_status_interval = 10s # send replies at least this often # 0 disables #hot_standby_feedback = off # send info from standby to prevent # query conflicts Att, Deliane Andrade ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Replicação
Bom dia. Eu uso o seguinte usuário e funciona perfeitamente. Criei o usuario desta forma : CREATE ROLE replicacao SUPERUSER LOGIN REPLICATION PASSWORD 'minha senha'; A linha do meu PG_HBA.conf é a seguinte: host replication replicacao 192.168.200.45/32 md5 Att, Deliane Andrade Em 16 de abril de 2013 11:40, Kaui Aires kaui.olive...@gmail.com escreveu: Pessoas, Agradecido pela ajuda =) Descobri ontem a noite o que é. Na minha opinião é um bug do PG. Embora agora está funcionando. Vamos ao que descobri: Esta é a linha do meu PG_HDA. hostreplication postgres192.171.100.102/32 trust Dessa maneira acima está funcionando. Porém eu estava usando assim: hostmeudb usuario192.171.100.102/32 trust Se não for da maneira exata acima não funciona. O que então seria muito válido dizer nos tutoriais que fazem por ai, que deve se usar o usuário PG, mesmo o usuário que eu criei tem todos os mesmos privilégios, mas não funciona e já testei 1 por 1, seja o usuário quanto o Banco. Então se o usuário e o banco não forem como na primeira linha não funciona. Abraços a todos Em 15 de abril de 2013 15:30, JotaComm jota.c...@gmail.com escreveu: Opa, Em 15 de abril de 2013 15:23, Kaui Aires kaui.olive...@gmail.comescreveu: Senhores, Estou com problemas em fazer a replicação no PG 9.2. (Só para constar: versões iguais!) Estou tentando primeiramente nas máquinas virtuais e não estou conseguindo com que façam o sincronismo. Há de exemplo esse tutorial: ( http://www.debian-administration.org/article/How_to_setup_Postgresql_9.1_Streaming_Replication_Debian_Squeeze) Então o que eu preciso de vocês, já que não quero incomodar: Alguém ai conheçe algum tutorial, how to Qualquer cosia que realmente funcione? Pois realmente eu já tentei vários e não estou conseguindo. Sugestões? Qual o erro que você está recebendo? Onde você acha que está o seu problema? Agradecido, desde já! ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral Abraços -- JotaComm http://jotacomm.wordpress.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Best Regards, *Kaui Aires Oliveira* DBA (Oracle, PostgreSql), System Analyst, Security Analyst Mobile (41) 8834-0566 Skype: kauiaires Campaign: *Before you ask: Search on google.com* Please do not print this email unless it is absolutely necessary. The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. ___ 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] Replicação nativa do postgresql
Boa tarde. Em 25 de março de 2013 17:29, Flavio Henrique Araque Gurgel fla...@4linux.com.br escreveu: Não desligue o escravo quando estiver fazendo esses procedimentos. VACUUM faz muito log de transação e seu escravo ficou provavelmente muito atrasado. Ok. Não desliguei. Mas o vacuum full ( vacuumdb -v -f -z) do meu master é executado todo dia à 01:00h da manhã. Hoje fui verificar se alguma alteração feita no meu master, tipo criar uma tabela de teste, foi replicada para o meu slave. Nada. Percebi que sempre que ocorre o vacuum no master, parece que a replicação pára. Seria possível isso? O meu slave ainda não está disponibilizado para ninguém,além de mim. Há mais algum desses parâmetro do postgresql.conf que eu deva habilitar para evitar algo do tipo? #max_standby_archive_delay = 30s #max_standby_streaming_delay = 30s #wal_receiver_status_interval = 10s #hot_standby_feedback = off Att, Deliane Andrade ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Replicação nativa do postgresql
Ao retirar estas permissões quando retornar a replicação continuará normalmente ou afetará o meu slave? Quando você altera o pg_hba.conf e executa um reload, as alterações vão valer apenas para novas conexões, ou seja, aquelas que já haviam sido estabelecidas não serão afetadas. E, como acredito que o slave não perde a conexão, o mesmo não será afetado por esta operação (o que não seria verdade se você reiniciasse o PostgreSQL, seja no slave ou no master). Entretanto... Eu não vejo nenhum motivo para você realizar uma operação dessas, pelo contrário, vejos motivos para não fazer isso. Imagine que por algum motivo seu script tem a execução interrompida antes de voltar o pg_hba.conf original; nesse caso ninguém mais conecta no banco até que alguém arrume isso manualmente? E mais, não há necessidade de parar ou bloquear conexões para executar nem backup e nem vacuum, ambos irão bloquear operações dos usuários se e quando necessário. Atenciosamente, -- Matheus de Oliveira Analista de Banco de Dados Dextra Sistemas - MPS.Br nível F! www.dextra.com.br/postgres Olá,boa tarde. Exclui esse trecho do meu script que retira as permissões. Mas notei que após rodar o VACUUM FULL no MASTER o slave não iniciou mais. Ele reclama de algum arquivo no pg_clog. Será que o vacuum full afetou o meu slave? Att, Deliane Andrade ___ 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] Replicação nativa do postgresql
No e-mail anterior não postei a mensagem do log: %%2013-03-25 17:03:44.321 BRTLOG: sistema de banco de dados foi desligado durante recuperação em 2013-03-24 10:06:26 BRT %%2013-03-25 17:03:44.321 BRTLOG: entrando no modo em espera %%2013-03-25 17:03:44.329 BRTLOG: redo inicia em E3/F20 [desconhecido]%[desconhecido]%2013-03-25 17:03:50.623 BRTLOG: conexão recebida: host=[local] postgres%postgres%2013-03-25 17:03:50.623 BRTFATAL: o sistema de banco de dados está iniciando Att, Deliane Andrade Em 25 de março de 2013 15:53, Deliane Andrade deliane.andr...@gmail.comescreveu: Ao retirar estas permissões quando retornar a replicação continuará normalmente ou afetará o meu slave? Quando você altera o pg_hba.conf e executa um reload, as alterações vão valer apenas para novas conexões, ou seja, aquelas que já haviam sido estabelecidas não serão afetadas. E, como acredito que o slave não perde a conexão, o mesmo não será afetado por esta operação (o que não seria verdade se você reiniciasse o PostgreSQL, seja no slave ou no master). Entretanto... Eu não vejo nenhum motivo para você realizar uma operação dessas, pelo contrário, vejos motivos para não fazer isso. Imagine que por algum motivo seu script tem a execução interrompida antes de voltar o pg_hba.conf original; nesse caso ninguém mais conecta no banco até que alguém arrume isso manualmente? E mais, não há necessidade de parar ou bloquear conexões para executar nem backup e nem vacuum, ambos irão bloquear operações dos usuários se e quando necessário. Atenciosamente, -- Matheus de Oliveira Analista de Banco de Dados Dextra Sistemas - MPS.Br nível F! www.dextra.com.br/postgres Olá,boa tarde. Exclui esse trecho do meu script que retira as permissões. Mas notei que após rodar o VACUUM FULL no MASTER o slave não iniciou mais. Ele reclama de algum arquivo no pg_clog. Será que o vacuum full afetou o meu slave? Att, Deliane Andrade ___ 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] Replicação nativa do postgresql
Boa tarde a todos. Estou tentando utilizar a replicação nativa do postgresql 9.2,mas não identifiquei qual o problema, pois a base slave não sobe após o processo. Ressalto que fiz os mesmos passos em outros dois servidores( um simulando o meu produção/master e o outro simulando o meu slave) e funcionou. Seguem os passos seguidos: NO MASTER: editei o postgresql.conf listen_addresses = '*' wal_level = hot_standby max_wal_senders = 1 wal_keep_segments = 32 Restartei o postgresql. criei o seguinte usuario: postgres=# postgres=# CREATE ROLE replicacao LOGIN REPLICATION PASSWORD 'replicacao'; CREATE ROLE editei o pg_hba.conf host replication replicacao 192.168.200.46/32 md5 NO SLAVE: editei o postgresql.conf hot_standby = on criei o arquivo recovery.conf no mesmo diretório do postgresql.conf com o seguinte conteúdo: standby_mode = 'on' primary_conninfo = 'host=192.168.200.46 port=5432 user=replicacao password =replicacao' trigger_file = '/local/script/failover.trg' Parei os dois postmasters. Reiniciei o MASTER (Tenho que fazer a cópia com o MASTER rodando) postgres@dbteste:~$ psql psql (9.2.2) Digite help para ajuda. postgres=# select pg_start_backup('replicacao', true); pg_start_backup - 0/5044CB4 (1 row) postgres=# \q postgres@dbteste:~$ rsync -a -v -e ssh /dbprod/data/ 192.168.200.46:/dbprod/data/ --exclude postmaster.pid RESULTADO DO rsync : sent 26776580460 bytes received 236148 bytes 11569158.18 bytes/sec total size is 26776480623 speedup is 1.00 NO SLAVE: editei o postgresql.conf colocar hot_standby = on postgres@dbteste:~$ psql psql (9.2.2) Digite help para ajuda. NO MASTER : postgres=# select pg_stop_backup(); NOTA: arquivamento do WAL não está habilitado; você deve garantir que todos os segmentos do WAL necessários foram copiados por outros meios para completar a cópia de segurança pg_stop_backup B/A3002460 (1 registro) Fui iniciar o postmaster slave : /etc/init.d/postgres start Starting PostgreSQL: ok /etc/init.d/postgres status pg_ctl: servidor está executando (PID: 27913) /usr/local/pgsql/bin/postgres -D /dbprod/data mas quando executo comando exibe a mensagem abaixo: postgres@marco:~$ psql psql: FATAL: o sistema de banco de dados está iniciando o log me mostra o seguinte : [desconhecido]%[desconhecido]%2013-03-22 12:05:13.147 BRTLOG: conexão recebida: host=192.168.200.46 porta=35976 replicacao%[desconhecido]%2013-03-22 12:05:13.148 BRTFATAL: o sistema de banco de dados está iniciando %%2013-03-22 12:05:13.148 BRTFATAL: não pôde conectar ao servidor principal: FATAL: o sistema de banco de dados está iniciando [desconhecido]%[desconhecido]%2013-03-22 12:05:18.152 BRTLOG: conexão recebida: host=192.168.200.46 porta=35977 replicacao%[desconhecido]%2013-03-22 12:05:18.153 BRTFATAL: o sistema de banco de dados está iniciando %%2013-03-22 12:05:18.153 BRTFATAL: não pôde conectar ao servidor principal: FATAL: o sistema de banco de dados está iniciando [desconhecido]%[desconhecido]%2013-03-22 12:05:23.157 BRTLOG: conexão recebida: host=192.168.200.46 porta=35978 replicacao%[desconhecido]%2013-03-22 12:05:23.158 BRTFATAL: o sistema de banco de dados está iniciando %%2013-03-22 12:05:23.158 BRTFATAL: não pôde conectar ao servidor principal: FATAL: o sistema de banco de dados está iniciando Alguém teria uma sugestão de qual seria o problema? Att, Deliane Andrade ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Replicação nativa do postgresql
Oi Matheus. Boa tarde. O ip do servidor master estava errado. standby_mode = 'on' primary_conninfo = 'host=192.168.200.46 port=5432 user=replicacao password =replicacao' Aqui você está realizando a conexão no servidor 192.168.200.46, que parece ser o seu slave não o master. Correto? CORRETO. trigger_file = '/local/script/failover.trg' CORRIGIDO. Agora ta tudo certo. Obrigada pelo toque. :) Tenho uma dúvida ainda. O meu script de vacuum/backup é disparado pelo crontab às 00:00h todo dia. Ele tira as permissões do banco antes de fazer o vaccum e backup e só retorna as mesmas após a conclusão dos mesmos. Está aí o trecho do script : # Declaracao de variaveis BASE2=base_oficial HBA=/dbprod/data/ MSG1=- Acesso ao banco retirado com sucesso... MSG2=- Retornado acessos ao banco... # Retirando acessos ao banco mv $HBApg_hba.conf $HBApg_hba.conf_ori mv $HBApg_hba.conf_bck $HBApg_hba.conf chown postgres.postgres $HBApg_hba.conf /etc/init.d/postgresql reload echo $MSG1 .. .. # Voltando acesso ao banco mv $HBApg_hba.conf $HBApg_hba.conf_bck mv $HBApg_hba.conf_ori $HBApg_hba.conf chown postgres.postgres $HBApg_hba.conf /etc/init.d/postgresql reload echo $MSG2 Ao retirar estas permissões quando retornar a replicação continuará normalmente ou afetará o meu slave? Att, Deliane Andrade. ___ 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] Replicação nativa - problema ao startar o servidor slave
Bom dia a todos. Estou tentando utilizar a replicação nativa do postgresql 9.2,mas não identifiquei qual o problema, pois a base slave não sobe após o processo. Seguem os passos seguidos: NO MASTER: editei o postgresql.conf listen_addresses = '*' wal_level = hot_standby max_wal_senders = 1 wal_keep_segments = 32 Restartei o postgresql. editei o pg_hba.conf host replication postgres 192.168.200.12/32 trust NO SLAVE: editei o postgresql.conf hot_standby = on criei o arquivo recovery.conf no mesmo diretório do postgresql.conf com o seguinte conteúdo: standby_mode = 'on' primary_conninfo = 'host=192.168.200.45 port=5432 user=postgres' trigger_file = '/local/script/failover.trg' Parei os dois postmasters. Reiniciei o MASTER (Tenho que fazer a cópia com o MASTER rodando) postgres@dbteste:~$ psql psql (9.2.2) Digite help para ajuda. postgres=# select pg_start_backup('replicacao', true); pg_start_backup - 0/5044CB4 (1 row) postgres=# \q postgres@dbteste:~$ rsync -a -v -e ssh /dbprod/data/ 192.168.200.12:/dbprod/data/ --exclude postmaster.pid *RESULTADO DO rsync :* sent 26776580460 bytes received 236148 bytes 11569158.18 bytes/sec total size is 26776480623 speedup is 1.00 NO SLAVE: editei o postgresql.conf colocar hot_standby = on postgres@dbteste:~$ psql psql (9.2.2) Digite help para ajuda. NO MASTER : postgres=# select pg_stop_backup(); NOTA: arquivamento do WAL não está habilitado; você deve garantir que todos os segmentos do WAL necessários foram copiados por outros meios para completar a cópia de segurança pg_stop_backup B/A3002460 (1 registro) Fui iniciar o postmaster slave : /etc/init.d/postgres start Starting PostgreSQL: ok /etc/init.d/postgres status pg_ctl: servidor está executando (PID: 27913) /usr/local/pgsql/bin/postgres -D /dbprod/data mas quando executo comando exibe a mensagem abaixo: postgres@marco:~$ psql psql: FATAL: o sistema de banco de dados está iniciando o resultado no serverlog é : FATAL: o sistema de banco de dados está iniciando FATAL: não pôde conectar ao servidor principal: FATAL: nenhuma entrada no pg_hba.conf para conexão de replicação da máquina 192.168.200.12, usuário postgres, SSL desabilitado Confesso que me perdi e não entendi o que ele quer . Ele reclama de qual pg_hba? Estou confusa. Se alguém tiver uma idéia do que poderia ter acontecido. Desde já agradeço. Att, Deliane Andrade ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Function com Erro de matriz mal formada
Obrigada Flavio Henrique. A Opção 2: Ajuste a configuração standard_conforming_strings para off,resolveu o problema. Att, Deliane Andrade Em 15 de fevereiro de 2013 16:14, Flavio Henrique Araque Gurgel fla...@4linux.com.br escreveu: Em 15-02-2013 17:05, Deliane Andrade escreveu: Boa tarde! Tenho uma function para fonetizar nomes na minha base de dados. Ela foi escrita na versão 8.4.5 e agora migramos para a 9.2 e está ocorrendo o seguinte erro: ERRO: matriz mal formada: {.,/,,$,?,:,\\,;,,,-,_,,!,~,`,(,),Ý,=,+,,} CONTEXT: PL/pgSQL function corporativo.func_fonetizar(text,boolean) line 43 at atribuição Executo o seguinte comando : select * from corporativo.func_fonetizar ('DELIANE ANDRADE',FALSE); Alguém sabe o que pode estar ocorrendo? Está na linha: vCaracteresEspeciais:= '{.,/,,$,?,:,\\,;,,,-,_,,!,~,`,(,),Ý,=,+,,}'; O escape de caracteres está fora do padrão ANSI-SQL. Opção 1: Verifique o link [1] Opção 2: Ajuste a configuração standard_conforming_strings para off, explicação em [2] O uso de escapes de acordo com o padrão ANSI-SQL foi reforçado nas versões mais recentes do PostgreSQL. [1] http://www.postgresql.org/docs/9.2/interactive/sql-syntax-lexical.html#SQL-SYNTAX-STRINGS [2] http://www.postgresql.org/docs/9.2/interactive/runtime-config-compatible.html#GUC-STANDARD-CONFORMING-STRINGS []s __ Flavio Henrique A. Gurgel Líder de Projetos Especiais Consultoria, Projetos Treinamentos 4LINUX Tel1: +55-11.2125-4747 ou 2125-4748 www.4linux.com.br email: fla...@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 mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] add_missing_from na versão 9.2 do postgresql
Bom dia! O parâmetro *add_missing_from* ,existente na versão 8.4.5 ,na versão 9.2 do postgresql deixou de existir ou mudou a sua nomenclatura? Alguém sabe me dizer? Att, Deliane Andrade ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Function com Erro de matriz mal formada
Boa tarde! Tenho uma function para fonetizar nomes na minha base de dados. Ela foi escrita na versão 8.4.5 e agora migramos para a 9.2 e está ocorrendo o seguinte erro: ERRO: matriz mal formada: {.,/,,$,?,:,\\,;,,,-,_,,!,~,`,(,),Ý,=,+,,} CONTEXT: PL/pgSQL function corporativo.func_fonetizar(text,boolean) line 43 at atribuição Executo o seguinte comando : select * from corporativo.func_fonetizar ('DELIANE ANDRADE',FALSE); Alguém sabe o que pode estar ocorrendo? Att, Deliane Andrade Segue a function : - CREATE OR REPLACE FUNCTION corporativo.func_fonetizar ( text, boolean ) RETURNS text AS $body$ declare bConsulta alias for $2; tStr text; tParticula text; tFonetizado text; bFonetizar boolean; tAux text; i integer; iCont integer; vAcentos varchar[]; vAcentosSub varchar[]; vCaracteresEspeciais varchar[]; vCaracteresEspeciaisSub varchar[]; vPreposicoes varchar[]; vAlgRomano varchar[]; vNumero varchar[]; vAlgarismo varchar[]; vAlgarismoExtenso varchar[]; vLetras varchar[]; begin tStr := upper($1); tStr := trim(both ' ' from tStr); /*ELIMINAR ACENTOS*/ vAcentos:= '{á,Á,à,À,â,Â,ã,Ã,é,É,è,È,ê,Ê,í,Í,ì,Ì,î,Î,ó,Ó,ò,Ò,ô,Ô,õ,Õ,ú,Ú,ù,Ù,û,Û,ü,Ü,ç,Ç}'; vAcentosSub := '{A,A,A,A,A,A,A,A,E,E,E,E,E,E,I,I,I,I,I,I,O,O,O,O,O,O,O,O,U,U,U,U,U,U,U,U,S,S}'; for i in 1..38 /*array_length(vAcentos)*/ loop select replace(tStr, vAcentos[i], vAcentosSub[i]) into tStr; end loop; /*/ if tStr = ' H ' then tStr := ' AGA '; end if; /*ELIMINAR CARACTERES ESPECIAIS*/ /*verificar*/ vCaracteresEspeciais:= '{.,/,,$,?,:,\\,;,,,-,_,,!,~,`,(,),Ý,=,+,,}'; vCaracteresEspeciaisSub := '{, , , , , , , , , , , , , , , , , , , , , }'; for i in 1..20 /*length(vCaracteresEspeciais)*/ loop select replace(tStr, vCaracteresEspeciais[i], ' '/*vCaracteresEspeciaisSub[i]*/) into tStr; end loop; /*ELIMINAR ESPACOS EM BRANCO MAIOR QUE 1*/ for i in 1..2 loop select replace(tStr, ' ', ' ') into tStr; end loop; /*ELIMINAR PALAVRAS ESPECIAIS*/ select replace(tStr, ' LTDA ', ' ') into tStr; /*ELIMINAR PREPOSICOES*/ vPreposicoes := '{ DE , DA , DAS , DO , DOS , AS , OS , AO , AOS , NA , NAS , NO , NOS , COM }'; for i in 1..14 /*length(vPreposicoes)*/ loop select replace(tStr, vPreposicoes[i], ' ') into tStr; end loop; /*CONVERTE ALGARISMO ROMANO PARA NUMERO*/ vAlgRomano = '{ X , IX , VIII , VII , VI , V , IV , III , II , I }'; vNumero= '{ 10 , 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 }'; for i in 1..10 /*length(vAlgRomano)*/ loop select replace(tStr, vAlgRomano[i], vNumero[i]) into tStr; end loop; /*CONVERTE NUMERO PARA LITERAL*/ vAlgarismo= '{0,1,2,3,4,5,6,7,8,9}'; vAlgarismoExtenso = '{ZERO,UM,DOIS,TRES,QUATRO,CINCO,SEIS,SETE,OITO,NOVE}'; for i in 1..10 /*length(vAlgarismo)*/ loop select replace(tStr, vAlgarismo[i], vAlgarismoExtenso[i]) into tStr; end loop; /*/ /*ELIMINAR PREPOSICOES E ARTIGOS*/ vLetras = '{ A , B , C , D , E , F , G , H , I , J , K , L , M , N , O , P , Q , R , S , T , U , V , X , Z , W , Y }'; for i in 1..26 /*length(vLetras)*/ loop select replace(tStr, vLetras[i], ' ') into tStr; end loop; tStr := trim(both ' ' from tStr); tParticula := ''; tFonetizado := ''; for iCont in 1..length(tStr) + 1 loop if iCont length(tStr) + 1 then if substring(tStr,iCont,1) ' ' then tParticula := tParticula || substring(tStr,iCont,1); bFonetizar := false; else bFonetizar := true; end if; else bFonetizar := true; end if; if bFonetizar then tParticula := corporativo.func_fonetizar_particula(tParticula); tFonetizado := tFonetizado || ' ' || tParticula; tParticula := ''; end if; end loop; tFonetizado := trim(both ' ' from tFonetizado); /*PREPARA A STRING PARA UM LIKE*/ if bConsulta then tAux := '%'; for i in 1..length(tFonetizado) loop if substring(tFonetizado,i,1) = ' ' then tAux := tAux || '% %'; else tAux := tAux || substring(tFonetizado,i,1); end if; end loop; if substring(tFonetizado,Length(tFonetizado),1) '%' then tAux := tAux || '%'; end if; tFonetizado := tAux; end if; return tFonetizado; end; $body$ LANGUAGE 'plpgsql' VOLATILE RETURNS NULL ON NULL INPUT SECURITY INVOKER COST 100; ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Servidor sentando - load average alto
Em 8 de fevereiro de 2013 10:50, Euler Taveira eu...@timbira.com escreveu: Atualize a versão (já estamos na 8.4.16) -- há inúmeras correções de bugs e segurança. - Pois é .Já quiz atualizar,mas a gerência aqui tem medo que impacte alguma coisa nas aplicações que neste período do ano estão sendo muito utilizadas. A versão 9.2.2 não seria melhor? Você precisa aumentar a capacidade de I/O de seu servidor. - Concordo. shared_buffers = 512000kB valor muito baixo. work_mem=15729kB maintenance_work_mem = 2GB wal_buffers = 64kB valor baixo. checkpoint_segments =300 valor alto. - Esqueci de citar que o shmmax e o shmall dessa máquina está em 16G. - Hum.Você tem algum material que ajude a fazer os cálculos desses valores? Talvez você precise de uma consultoria para lhe indicar o que deve ser melhorado no servidor, no PostgreSQL e quais são as rotinas de manutenção adequadas. - Consultoria não vão querer pagar. - Existem rotinas que fazem backup de algumas tabelas e limpam as mesmas. - Toda madrugada roda o vacuum : vacuumdb -v -f -z. Obrigada desde já. Att, Deliane Andrade PS: E pensar que há 3 anos atrás deixei essa base com 21G de tamanho , o servidor com um load average de 0.4 Mexeram tanto que baunçaram tudo. Hoje a base está com 83G e o looad average chegando a 300/ 400. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Digest pgbr-geral, volume 50, assunto 10
Em 8 de fevereiro de 2013 12:15, Eduardo Rodrigues edua...@ookle.com.brescreveu: 3. Servidor sentando - load average alto (Deliane Andrade) Servidor de banco de dados ele tenta colocar toda a informação em mémoria para poder ter um tempo de resposta mais eficiente. O seu servidor esta utilizando um storage (disco) 1TB, ai vem as perguntas: - há um array de discos para formar esse storage de um 1TB? Se sim qual o nível RAID que você esta utilizando? Antes sim,mas me disseram que queimou a storage. Eu tomei conta dessa base durante 6 anos. Estou voltando agora e o cenário está desse jeito. Colocaram num HD comum SATA de 1T como medida provisória (se depender deles não vai mudar tão cedo) - você consegue analisar o IO de disco atual do seu servidor? - Não. - As ferramentas PgFouine e pgbadger irão te auxiliar para fazer analise de log e demonstrar quais as operações que esão levando maior tempo de execução. Mas o Load pode ter aumentando por causa do IO de disco. Utilize as ferramentas que citei no ultimo ítem você poderá verificar o que alterar no arquivo postgresql.conf - certo... vou verificar as ferramentas. Subi o backup dessa base num servidor mais modesto com 4 núcleos e,4G de RAM e HD de 500G SATA. O restore levou 10 horas!!! Pelo que andei observando,esta base tem aproximadamente 31G só de índices!!! A coisa tá feia. :( Att, Deliane Andrade ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Servidor sentando - load average alto
Bom dia pessoal! Estamos com problema em um servidor Xenon de 16 núcleos com 16G de RAM. HD SATA DE 1T. O postgresql é o 8.4.4 O load average da máquina está da forma abaixo(sendo que já chegou até a 300) : top - 09:20:09 up 2 days, 2:12, 6 users, load average: 96.90, 116.55, 118.03 Tasks: 488 total, 2 running, 486 sleeping, 0 stopped, 0 zombie Cpu(s): 3.2%us, 0.7%sy, 0.0%ni, 56.5%id, 39.7%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 16458500k total, 14891364k used, 1567136k free,19108k buffers Swap: 9765616k total, 8208k used, 9757408k free, 13512336k cached A configuração do postgresql.conf atual é a seguinte: (sendo que mudaram a mesma aleatoriamente) listen_addresses = '*' # what IP address(es) to listen on; # comma-separated list of addresses; # defaults to 'localhost', '*' = all # (change requires restart) port = 5432# (change requires restart) max_connections = 900 # (change requires restart) shared_buffers = 512000kB work_mem=15729kB maintenance_work_mem = 2GB wal_buffers = 64kB checkpoint_segments =300 effective_cache_size = 14680060kB Esse servidor é acessado por três aplicações diferentes que executam muitas consultas e updates , e alguns poucos deletes. A base encontra-se hoje com 83G de tamanho. Já rodei o vacuum full. Já fizeram o reindex. Enfim, os sistemas estão muito lentos, quase parando. Alguém tem alguma sugestão de alteração na configuração para que a performance melhore? Att, Deliane Andrade ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Ajuda equivalência
Olá pessoal,boa tarde. Tenho uma consulta em mysql que trabalha com tratamento de campos do tipo date. Tentei fazer a consulta equivalente no postgresql ,mas sem sucesso. Alguém poderia me ajudar? Olhei o manual,mas não consegui achar nada que ajudasse. Segue,abaixo, a consulta no mysql: SELECT data_feriado AS dia_semana, fixo_feriado AS permanente FROM feriados WHERE ( data_feriado BETWEEN variavel_1 AND variavel_2 AND date_format( data_feriado, '%w' ) NOT IN ( 0, 6 ) ) OR ( fixo_feriado =1 AND date_format( data_feriado, '%m-%d' ) BETWEEN date_format( variavel_1, '%m-%d' ) AND date_format( variavel_2 , '%m-%d' ) AND CONCAT_WS( '-', variavel_aux, date_format( data_feriado, '%m-%d' ) ) BETWEEN variavel_1 AND variavel_2 AND date_format( CONCAT_WS( '-', variavel_aux, date_format( data_feriado, '%m-%d' ) ) , '%w' ) NOT IN ( 0, 6 ) ) GROUP BY date_format( data_feriado, '%m-%d' ) - Agradeço desde já. Att, Deliane Andrade ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Processo de seleção para PostgreS QL e SQL Server
Da última vez que uma vaga similar a vaga foi disponibilizada a grana era de R$9.000,00. No entanto,não se tratava de CLT,mas sim receber por demanda concluída.Dessa forma,você só recebia a grana quando completasse um determinado módulo(este podendo durar de 3 a 4 meses). Att, Deliane Andrade ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] RES: RES: RES: Performance.. !
Olá,boa tarde! Como você mudou de máquina com uma configuração maior,você deve refazer os cálculos,a princípio, para o seu shared_buffers ,work_mem,maintenance_work_mem ,effective_cache_size. Deve também aumentar os seus parâmetros do kernel: shmmax e shmall. Já tive o mesmo problema que você e depois que refiz essas configurações a máquina ficou uma maravilha. Espero ter ajudado. Deliane Andrade ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral