Proposed TODO: --encoding option for pg_dump

Started by Josh Berkusalmost 21 years ago10 messageshackers
Jump to latest
#1Josh Berkus
josh@agliodbs.com

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

#2Peter Eisentraut
peter_e@gmx.net
In reply to: Josh Berkus (#1)
Re: Proposed TODO: --encoding option for pg_dump

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/

#3Kris Jurka
books@ejurka.com
In reply to: Josh Berkus (#1)
Re: Proposed TODO: --encoding option for pg_dump

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

#4Magnus Hagander
magnus@hagander.net
In reply to: Kris Jurka (#3)
Re: [HACKERS] Proposed TODO: --encoding option for pg_dump

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

Attachments:

pg_dump.diffapplication/octet-stream; name=pg_dump.diffDownload+18-2
pg_dump.sgml.diffapplication/octet-stream; name=pg_dump.sgml.diffDownload+11-0
#5Alvaro Herrera
alvherre@surnet.cl
In reply to: Magnus Hagander (#4)
Re: [HACKERS] Proposed TODO: --encoding option for pg_dump

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)

#6Magnus Hagander
magnus@hagander.net
In reply to: Alvaro Herrera (#5)
Re: [HACKERS] Proposed TODO: --encoding option for pg_dump

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.

Oops. Fixed. Thanks.

//Magnus

Attachments:

pg_dump.sgml.diffapplication/octet-stream; name=pg_dump.sgml.diffDownload+12-0
#7Michael Paesold
mpaesold@gmx.at
In reply to: Magnus Hagander (#4)
Re: [HACKERS] Proposed TODO: --encoding option for pg_dump

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

#8Magnus Hagander
magnus@hagander.net
In reply to: Michael Paesold (#7)
Re: [HACKERS] Proposed TODO: --encoding option for pg_dump

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.

Yes - using docbook2man.

//Magnus

#9laser
laser@toping.com.cn
In reply to: Magnus Hagander (#4)
Re: Proposed TODO: --encoding option for pg_dump

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

#10Bruce Momjian
bruce@momjian.us
In reply to: Magnus Hagander (#6)
Re: [HACKERS] Proposed TODO: --encoding option for pg_dump

Add pg_dump --encoding.

Patch applied. Thanks.

---------------------------------------------------------------------------

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.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073