[pgbr-geral] Partição de índices lotando

2015-05-06 Por tôpico Deliane Andrade
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

2014-07-01 Por tôpico Deliane Andrade
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

2013-11-11 Por tôpico Deliane Andrade
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

2013-11-11 Por tôpico Deliane Andrade
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

2013-11-07 Por tôpico Deliane Andrade
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

2013-11-07 Por tôpico Deliane Andrade
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

2013-11-07 Por tôpico Deliane Andrade
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

2013-11-07 Por tôpico Deliane Andrade
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

2013-11-07 Por tôpico Deliane Andrade
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

2013-11-07 Por tôpico Deliane Andrade
 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

2013-11-07 Por tôpico Deliane Andrade
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

2013-07-17 Por tôpico Deliane Andrade
= 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

2013-07-17 Por tôpico Deliane Andrade
 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

2013-07-17 Por tôpico Deliane Andrade
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

2013-07-11 Por tôpico Deliane Andrade
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

2013-07-11 Por tôpico Deliane Andrade
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

2013-07-11 Por tôpico Deliane Andrade
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

2013-04-16 Por tôpico Deliane Andrade
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

2013-03-26 Por tôpico Deliane Andrade
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

2013-03-25 Por tôpico Deliane Andrade
 
 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

2013-03-25 Por tôpico Deliane Andrade
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

2013-03-22 Por tôpico Deliane Andrade
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

2013-03-22 Por tôpico Deliane Andrade
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

2013-03-07 Por tôpico Deliane Andrade
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

2013-02-16 Por tôpico Deliane Andrade
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

2013-02-16 Por tôpico Deliane Andrade
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

2013-02-15 Por tôpico Deliane Andrade
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

2013-02-09 Por tôpico Deliane Andrade
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

2013-02-09 Por tôpico Deliane Andrade
 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

2013-02-08 Por tôpico Deliane Andrade
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

2011-09-20 Por tôpico Deliane Andrade
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

2010-09-09 Por tôpico Deliane Andrade
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.. !

2007-09-24 Por tôpico Deliane Andrade
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