Thread: pg_dump not including custom CAST?

pg_dump not including custom CAST?

From
"D. Dante Lorenso"
Date:
All,

I did this in my database:

   CREATE CAST (VARCHAR AS BYTEA) WITHOUT FUNCTION;

But when I use pg_dump to dump the database and use pg_restore to bring
it back on a freshly created database, the CAST is the only part of the
restore which is missing.

I'm using PostgreSQL 8.2.4 for both the dump and restore database.  Why
doesn't the CAST dump and restore?

-- Dante

Re: pg_dump not including custom CAST?

From
Tom Lane
Date:
"D. Dante Lorenso" <dante@lorenso.com> writes:
> I did this in my database:
>    CREATE CAST (VARCHAR AS BYTEA) WITHOUT FUNCTION;

> I'm using PostgreSQL 8.2.4 for both the dump and restore database.  Why
> doesn't the CAST dump and restore?

pg_dump thinks it's a built-in system object.

            regards, tom lane

Re: pg_dump not including custom CAST?

From
Michael Glaesemann
Date:
On Nov 17, 2007, at 0:36 , Tom Lane wrote:

> "D. Dante Lorenso" <dante@lorenso.com> writes:
>> I did this in my database:
>>    CREATE CAST (VARCHAR AS BYTEA) WITHOUT FUNCTION;
>
>> I'm using PostgreSQL 8.2.4 for both the dump and restore
>> database.  Why
>> doesn't the CAST dump and restore?
>
> pg_dump thinks it's a built-in system object.

What other objects might be susceptible to this? Operators? Operator
classes?

Michael Glaesemann
grzm seespotcode net



Re: pg_dump not including custom CAST?

From
Tom Lane
Date:
Michael Glaesemann <grzm@seespotcode.net> writes:
> On Nov 17, 2007, at 0:36 , Tom Lane wrote:
>> pg_dump thinks it's a built-in system object.

> What other objects might be susceptible to this? Operators? Operator
> classes?

It's just casts.  They're a bit of a problem since they have neither
owners nor schemas, so there's not anything very concrete to base a
dump-or-don't-dump decision on.  The rule pg_dump uses is to dump it
if at least one of the three underlying objects (source type, dest type,
or function) is dumpable.  Here you've got 2 builtin types and
no function, so you lose.

            regards, tom lane