Thread: pg_dump without oids

pg_dump without oids

From
Stéphane Schildknecht
Date:
Hi all,

pg_dump and pg_dumpall have the -o option that should tell them to
include oids in dump. I didn't chose this option, and the dump doesn't
include "WITH OIDS", but the tables are created with oids when restoring
this dump.

I'm dumping from 7.4.5 to 8.2.1.
I do have
#default_with_oids = off
in postgresql.conf for 8.2.

Is there a way to prevent creating table with oids ?

A table created by psql client is created without OID.

Thanks by advance

Stéphane Schildknecht


Re: pg_dump without oids

From
Tom Lane
Date:
=?ISO-8859-1?Q?St=E9phane_Schildknecht?= <stephane.schildknecht@postgresqlfr.org> writes:
> pg_dump and pg_dumpall have the -o option that should tell them to
> include oids in dump. I didn't chose this option, and the dump doesn't
> include "WITH OIDS", but the tables are created with oids when restoring
> this dump.

You misunderstand what that option is for: it's for trying to preserve
the exact OID values present in your old installation.  It's not about
adding or removing OID columns.

> Is there a way to prevent creating table with oids ?

No, and I don't think it'd be within pg_dump's charter to editorialize
on table definitions like that.  Instead see ALTER TABLE SET WITHOUT OIDS.

            regards, tom lane