Tengo el mismo problema con el vacuum. Antes usaba la versión 9.4 y todo bien. Ahora uso la 9.6 y tengo problemas.
Saludos, jose El dom., 9 jun. 2019 a las 22:07, Carlos T. Groero Carmona (< cton...@gmail.com>) escribió: > > Despues de mas de 19 horas seguidas, estos procesos se siguen ejecutando, > sin reflejar ningun resultado en la base de datos. > > pid | query | > age > > > -------+----------------------------------------------------+------------------------- > > 6279 | autovacuum: VACUUM ANALYZE pg_catalog.pg_class | 25 days > 18:37:41.526188 > > 32520 | VACUUM (ANALYZE); | > 19:27:39.746022 > > 20776 | vacuum ANALYZE verbose; | > 19:11:23.328425 > > Los he tratado de detener si resultado alguno. > > postgres=# select pg_terminate_backend(32520); > > pg_terminate_backend > > ---------------------- > > t > > (1 row) > > > > pid | query | > age > > > -------+-------------------------------------------------------------+------------------------- > > 6279 | autovacuum: VACUUM ANALYZE pg_catalog.pg_class | 25 > days 18:41:12.710997 > > 32520 | VACUUM (ANALYZE); | > 19:31:10.930831 > > 20776 | vacuum ANALYZE verbose; > > Hace 25 dias que el proceso 6279 ha estado corriendo interrumpidamente, si > no mal recuerdo en un momento que reinicie el servicio de postgres ese > proceso se detuvo forzosamente y cuando el servicio reanudo entonces el > proceso se empezo a ajecutar interrumpidamente desde ese entonces. > > Autovacuum se esta ejecutando sin problema, pero no puedo ejecutar un > vacuum manual. > > Ejecute un vacuum manual a una tabla specificamente, pero el relfrozendid > no se reinicio tampoco. > > postgres=# vacuum ANALYZE pg_shdescription; > > VACUUM > > > postgres=# vacuum pg_shdescription; > > VACUUM > > > table_name | age | percentage_transaction_ids_used | > table_size > > > -----------------------+-----------+---------------------------------+------------ > > pg_shdescription | 747265306 | 35.584 | 48 > kB > > > > No recuerdo si lo dije anteriormente, pero el mismo cron job ha estado > ejecutandoce por casi 4 meses en mi servidor de pre-production sin ningun > tipo de problema. > > > Algo que deben saber, que este es el servidor que hace unas semanas que > migre hace 9.6 del servidor que tenia la tabala pg_databases corructa en > 9.3, y ahora que me pongo a pensar desde que lo hice el analyze y vacuum > manual de alguna manera u otra no han funcionado correctamente, pero > autovacuum reinicio todo los XID para evitar un wraparound en us momento. > > > Este un comportamiento que no habia visto antes en postgres, asi que > agradecere cualquier tipo de ayuda, sugerencia o documentacion que me guie > a una solucion. > > Carlos > > > > > > > On Sun, Jun 9, 2019 at 1:59 AM Carlos T. Groero Carmona <cton...@gmail.com> > wrote: > >> Hola lista, >> >> Esyou utilizando la version 9.6 de postgres, y hal algo que me tiene un >> poco confundifo con utovacuum/analyze. >> >> Primero desde que migre a este nueva version, se ha estado ejecuatando un >> proceso autovacuum analyze por mas de 24 dias, he tratado de eliminarlo >> ejecutando terminate_backend() y no se detiene, tambien trate con kill pid >> y tampoco se detiene. >> >> Lo otro que me esta sucediendo un poco raro es que se esta demorando >> demaisado un siemple vacuum analyze en base de datos con menos de 1GB de >> tamano, ademas lo ejecute en postgres database, y nunca se reinicio el xid. >> >> postgres=# vacuum ANALYZE ; >> >> VACUUM >> >> postgres=# SELECT >> >> datname, >> >> max(age(datfrozenxid)), >> >> round(max(age(datfrozenxid)) / 2100000000.0 * 100.0, 3) AS >> percentage_transaction_ids_used >> >> FROM pg_database >> >> group by datname >> >> order by 2 desc; >> >> datname | max | percentage_transaction_ids_used >> >> -------------------------+-----------+--------------------------------- >> >> sami_production | 874194263 | 41.628 >> >> locations | 799037901 | 38.049 >> >> ofx_production | 799037901 | 38.049 >> >> locations_backup | 799037901 | 38.049 >> >> internal_p2p_production | 799035844 | 38.049 >> >> template1 | 799035844 | 38.049 >> >> semi_temp | 799035709 | 38.049 >> >> auth_db | 749061558 | 35.670 >> >> template0 | 749045061 | 35.669 >> >> postgres | 730570342 | 34.789 >> >> (10 rows) >> >> >> el xid in postgres deberia estar por debajo del 10% despues de ejecutar >> vacuum en esa base de datos. >> >> >> >> >> postgres=# select pg_terminate_backend(20776); >> >> pg_terminate_backend >> >> ---------------------- >> >> t >> >> (1 row) >> >> >> postgres=# select pid, query, age(now(), xact_start) from pg_stat_activity >> where upper(query) like upper('vacuu%') and state = 'active' or >> upper(query) like upper('auto%') order by 3 desc; >> >> pid | query | >> age >> >> >> -------+------------------------------------------------------+------------------------- >> >> 6279 | autovacuum: VACUUM ANALYZE pg_catalog.pg_class | 24 days >> 23:43:14.417379 >> >> 26680 | autovacuum: VACUUM public.transactions_w | >> 02:43:22.432889 >> >> 28142 | autovacuum: VACUUM public.featureusagereportusers | >> 01:06:05.995937 >> >> 1682 | autovacuum: VACUUM public.sessionusagereportusers | >> 00:58:54.605847 >> >> 30236 | autovacuum: VACUUM ANALYZE public.sessions | >> 00:43:47.847795 >> >> 32520 | VACUUM (ANALYZE); | >> 00:33:12.637213 >> >> 20776 | vacuum ANALYZE verbose; | >> 00:16:56.219616 >> >> 10801 | autovacuum: VACUUM ANALYZE pg_catalog.pg_attribute | >> 00:16:54.8015 >> >> 24212 | autovacuum: VACUUM public.transactions_f | >> 00:16:27.303903 >> >> 1533 | autovacuum: VACUUM public.mobileusermo . | >> 00:10:12.41268 >> >> 27837 | autovacuum: VACUUM public.batchhistories_fieldpoint | >> 00:00:53.361894 >> >> 30151 | autovacuum: VACUUM public.featureusagereportyearlies | >> 00:00:23.799779 >> >> (12 rows) >> >> >> El proceso 32520 es ejecutado por un cronjob que tengo planificado >> correr cada domingo a la 1am >> >> y el proceso 20776 lo ejecute para probar si mi sospecha de que vacuum no >> se esta ejecutando correctamente y no quisiera usar la palabra corrupta, >> apenas cabo de migrar a la version 9.6 porque tuve pg_databa estaba >> corructa en la version 9.3 >> >> >> sobre autovacuum solo tengo 10 workers y el cost_limit es 1200. >> >> >> Alguna idea de lo que esta pasando y como podria detener esos processos >> que sin afectar el cluster. >> >> >> es una option kill -9 vacuum_pid? >> >> >> Una vez mas gracias por la ayuda, >> >> Carlos >> >