On Thu, Feb 14, 2019 at 1:13 PM Francisco Olarte <fola...@peoplecall.com> wrote:
> Carlos: > > On Thu, Feb 14, 2019 at 6:48 PM Carlos T. Groero Carmona > <cton...@gmail.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