Thread: Proposed TODO: --encoding option for pg_dump

Proposed TODO: --encoding option for pg_dump

From
Josh Berkus
Date:
Folks,

There's no time to do this for 8.1, but I'd like to get it on the books for 
8.2:

The Problem:  Occassionally a DBA needs to dump a database to a new 
encoding.   In instances where the current encoding, (or lack of an 
encoding, like SQL_ASCII) is poorly supported on the target database 
server, it can be useful to dump into a particular encoding.  But, 
currently the only way to set the encoding of a pg_dump file is to change 
client_encoding in postgresql.conf and restart postmaster.   This is more 
than a little awkward for production systems.

The TODO:  add an --encoding=[encoding name] option to pg_dump.  This would 
set client_encoding for pg_dump's session(s).

-- 
--Josh

Josh Berkus
Aglio Database Solutions
San Francisco


Re: Proposed TODO: --encoding option for pg_dump

From
Kris Jurka
Date:

On Tue, 28 Jun 2005, Josh Berkus wrote:

> The TODO:  add an --encoding=[encoding name] option to pg_dump.  This would 
> set client_encoding for pg_dump's session(s).
> 

What about just using the PGCLIENTENCODING environment variable?

Kris Jurka


Re: Proposed TODO: --encoding option for pg_dump

From
Peter Eisentraut
Date:
Josh Berkus wrote:
> currently the only way to set the encoding of a pg_dump file is to
> change client_encoding in postgresql.conf and restart postmaster.  

Another way is to set the environment variable PGCLIENTENCODING.

-- 
Peter Eisentraut
http://developer.postgresql.org/~petere/


Re: Proposed TODO: --encoding option for pg_dump

From
"Magnus Hagander"
Date:
> There's no time to do this for 8.1, but I'd like to get it on
> the books for
> 8.2:
>
> The Problem:  Occassionally a DBA needs to dump a database to a new
> encoding.   In instances where the current encoding, (or lack of an
> encoding, like SQL_ASCII) is poorly supported on the target
> database server, it can be useful to dump into a particular
> encoding.  But, currently the only way to set the encoding of
> a pg_dump file is to change
> client_encoding in postgresql.conf and restart postmaster.
> This is more
> than a little awkward for production systems.
>
> The TODO:  add an --encoding=[encoding name] option to
> pg_dump.  This would set client_encoding for pg_dump's session(s).

I *think* that's easy enough to do in time for 8.1. Trivial patch
attached. I hope it's enough :-) It passed my very quick testing...

(Yup, I read the mails aobut PGCLIENTENCODING, but an option to pg_dump
is certainly easier)

//Magnus

Attachment

Re: [PATCHES] Proposed TODO: --encoding option for pg_dump

From
Alvaro Herrera
Date:
On Tue, Jun 28, 2005 at 10:24:19PM +0200, Magnus Hagander wrote:

> I *think* that's easy enough to do in time for 8.1. Trivial patch
> attached. I hope it's enough :-) It passed my very quick testing...
>
> (Yup, I read the mails aobut PGCLIENTENCODING, but an option to pg_dump
> is certainly easier)

You forgot to document the long option, I think.

--
Alvaro Herrera (<alvherre[a]surnet.cl>)
"No necesitamos banderas
 No reconocemos fronteras"                  (Jorge González)

Re: [PATCHES] Proposed TODO: --encoding option for pg_dump

From
"Michael Paesold"
Date:
Alvaro Herrera wrote:


> On Tue, Jun 28, 2005 at 10:24:19PM +0200, Magnus Hagander wrote:
>
>> I *think* that's easy enough to do in time for 8.1. Trivial patch
>> attached. I hope it's enough :-) It passed my very quick testing...
>>
>> (Yup, I read the mails aobut PGCLIENTENCODING, but an option to pg_dump
>> is certainly easier)
>
> You forgot to document the long option, I think.

Are the man pages generated from the sgml docs? Have never had a look at
that.

Best Regards,
Michael Paesold


Re: Proposed TODO: --encoding option for pg_dump

From
laser
Date:
I support to add the option, for I've been seeing too many of
our client got 'bad' dump just because they don't set PGCLIENTENCODING
correctly, (mostly because they use UTF8 as database encoding
but use some other encoding, like GBK as client encoding, but some
words break the autoconversion at present version and set
PGCLIENTENCODING to UTF8 would fix the problem).
Adding such a switch would remind DBAs there exists some encoding
conversion. In fact, I even think that we should use database encoding
to dump data regardless the PGCLIENTENCODING setting (unless
the user set the --encoding switch explicit), but I think
that might be break someone's application somewhere. :(

regards laser