Re: Urgente, postgres down

From: "Carlos T(dot) Groero Carmona" <ctonetg(at)gmail(dot)com>
To: Francisco Olarte <folarte(at)peoplecall(dot)com>
Cc: Lista Postgres ES <pgsql-es-ayuda(at)postgresql(dot)org>, Horacio Miranda <hmiranda(at)gmail(dot)com>
Subject: Re: Urgente, postgres down
Date: 2019-02-14 20:42:33
Message-ID: CABh6Tc274D9rB80Jj43PfKu8gCwSC4qwmATqevNQ55FWgzzJ5A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Thu, Feb 14, 2019 at 1:13 PM Francisco Olarte <folarte(at)peoplecall(dot)com>
wrote:

> Carlos:
>
> On Thu, Feb 14, 2019 at 6:48 PM Carlos T. Groero Carmona
> <ctonetg(at)gmail(dot)com> wrote:
> > Entonces, podria eliminar mi template0 y volverlo a crear desde
> template1?, claro esta, que esto solo lo haria en caso que no encuentre
> como diminuir el XID de template0.
>
> **** NO NO NO!

Francisco agradesco mucho su comentario y honestidad, no se preocupe, no se
si haya notado que a veces demoro en contestar sus correos cuando necesito
revisar algo en mi servidor, es porque antes realizo un procedimiento de
prueba en 3 servidores diferentes y 6 diferentes base de datos antes de
llegar a mi servidor en production y mi base de datos en producion.

> Mexplico, template0 no es tu problema, casi seguro, puse esto solo por
> cultura! NO BORRES ningun template, especialmente en un cluster
> problematico, sin que alguien que sepa mucho te lo confirme!

Ese seria my ultimo recurso antes de explotar muchas otras opciones que
tengo en mente, y que he compartido con ustedes, adem'as estoy seguro que
con la colaboracion de ustedes podemos buscar una alternativa en la cual no
perdamos ningun dato y el servidor no caiga nuevamente, al menos sin una
planificacion como debe ser.

>
>
Te digo que no lo hagas por si tu problema es otro y al borrar
> template0/1 la lias, te contaba esto para indicarte que template0/1 no
> suelen dar problemas, con lo que no se muy bien que te sale en esos
> cuadros.
>

> No recuerdo muy bien que queries usabas para sacar esos valores de las
> tablas, y que funciones. Ahora no recuerdo si algunas funciones
> reportan edades con parametros globales del cluster ( hay cosas como
> los usuarios que lo son ), o que sale, pero salvo que estes haciendo
> marcianadas tu problema no debe venir de template0 ( que es
> inconectable ) o template1 ( que normalmente nadie usa ), salvo que
> tengas algun tipo de herramienta de esas to chulas, tipo pgadmin o
> alguna de monitorizacion o similar, que instale / ejecute cosas en
> todas las BD del cluster ( pgadmin creo que no lo hace, pero no te
> fies de mi, yo solo uso el psql que viene de serie ).
>
Las queries que estoy usando son:
1.Para encontrar las edades (XID) por base de datos:
SELECT
datname,
max(age(datfrozenxid)),
round(max(age(datfrozenxid)) / 2100000000.0 * 100.0, 3) AS
percentage_transaction_ids_used
FROM pg_database
-- where datallowconn = true
group by datname
order by 2 desc;

2.Una vez que detecto la base de datos con mayor IXD me conecto y reviso
cuales son las tablas con mayor XID usando esta otra query:
SELECT
c.oid::regclass as table_name,
greatest(age(c.relfrozenxid),age(t.relfrozenxid)) as age,
round((age(c.relfrozenxid)) / 2100000000.0 * 100.0, 2) AS
percentage,
pg_size_pretty(pg_table_size(c.oid)) as table_size
FROM
pg_class c
LEFT JOIN pg_class t ON c.reltoastrelid = t.oid
WHERE c.relkind = 'r'
ORDER BY 2 DESC
LIMIT 20;

3. Entonces realizo manualmente vacuum a las tablas que me ayudaran a
abajar el XID
vacuum analyze verbose table_name;

Asi es como he ido manejando la situacion con aquellas base de datos que me
permiten conectarme, el unico problema es template0, que no me deja

Sobre quienes se conectan a las base de datos, puedo decirle que solo los
servidores clientes y por supuesto desarrolladores de base de datos, nadie
se conecta a ESCRIBIR a template0 o template1.

Pasegurarnos, supon que YO ignoro completamente que es o como
> funciona el postgres y que TODO lo que he dicho son melonadas,
> potencialmente con mala intencion. No hagas nada basandote en nada de
> lo que yo haya dicho.
>

Fransisco, estoy en esta lista desde el 2005 creo, quizas unos anos antes,
ya ni recuerdo, y siempre lo he visto a usted, Horacio, Jaime y muchos mas
responder a la llamda de muchos desarrolladores y administradores de
postgres, han sido contribuidores incansables de la comunidad en espanol de
postgres.

> Francisco Olarte, over & out.
>

Bueno por ahora voy a realizar algunas pruebas de como utilizando
autovacuum_freze_max_age tratar que autovacuum centre su esfuerzos en
template0, les dejo saber el resultado de mis pruebas.

Si se les ocurre alguna otra alternativa para disminuir el XID en template0
se los agradecere.

Saludos,
Carlos

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Carlos T. Groero Carmona 2019-02-14 20:58:56 Re: Urgente, postgres down
Previous Message Francisco Olarte 2019-02-14 19:12:58 Re: Urgente, postgres down