template0 is having high age of datforzenxid

Started by AI Rummanabout 7 years ago2 messagesgeneral
Jump to latest
#1AI Rumman
rummandba@gmail.com

Hi,

I am running Postgresql 10 where I can see the template0 database is having
longest datfrozenxid:
```db_name age_of_datfrozenxid
--------------------------------------
postgres 251365
template1 234574
template0 75366462
db1 253097
db2 250649
db3 250649
db4 14641
db5 14214```

Initially I had high age for all the databases and I ran "vacuum freeze"
which brought down the age of other databases. But how can I do the same
for template0?
Please advise.

Thanks.

#2Andres Freund
andres@anarazel.de
In reply to: AI Rumman (#1)
Re: template0 is having high age of datforzenxid

Hi,

On 2019-04-02 15:35:53 -0700, AI Rumman wrote:

I am running Postgresql 10 where I can see the template0 database is having
longest datfrozenxid:
```db_name age_of_datfrozenxid
--------------------------------------
postgres 251365
template1 234574
template0 75366462
db1 253097
db2 250649
db3 250649
db4 14641
db5 14214```

Initially I had high age for all the databases and I ran "vacuum freeze"
which brought down the age of other databases. But how can I do the same
for template0?

75 million isn't that high - autovacuum will automatically look at it
once above autovacuum_max_freeze_age (defaulting to 200 million). If
you really for some reason need to make it have a lower datfrozenxid
(why?), you'd need to update its pg_database entry to allow connections,
connect to it, vacuum it, and change datallowconn back.

Greetings,

Andres Freund