Always include encoding of database in pg_dumpall - Mailing list pgsql-hackers

From Jeremy Evans
Subject Always include encoding of database in pg_dumpall
Date
Msg-id 20121018174433.GL4122@jeremyevans.local
Whole thread Raw
Responses Re: Always include encoding of database in pg_dumpall  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
I've have a PostgreSQL database cluster that I've continually upgraded
from 7.1 to 9.1 without problems using pg_dumpall and psql.  When
migrating to 9.2, I decided to change the default encoding for the
database cluster from SQL_ASCII to UTF8.  When I went to restore my
database backup (created using 9.1's pg_dumpall), the tables
containing data not in UTF8 format were empty.

This appears to be caused by pg_dumpall omitting the ENCODING when
dumping if it is the same as the current database cluster's default
encoding.  I believe this is a bad idea, as there is no guarantee the
backup will be restored on a cluster with the same default encoding.

This patch always sets the ENCODING for the databases, even if it is
the same as the current database cluster default encoding. Thoughts?

I'm not sure if similar changes should be made for LC_COLLATE or
LC_CTYPE, but that's something that should be considered.

Please CC me when responding as I don't currently subscribe to the
list.

Thanks,
Jeremy

Attachment

pgsql-hackers by date:

Previous
From: Fujii Masao
Date:
Subject: Re: [BUG] False indication in pg_stat_replication.sync_state
Next
From: Philip Taylor
Date:
Subject: Add SHA-3 (Keccak) support to pgcrypto