Re: Dump/Restore ordering problem?

From: Sai Hertz And Control Systems <sank89(at)sancharnet(dot)in>
To: "D(dot) Dante Lorenso" <dante(at)lorenso(dot)com>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Dump/Restore ordering problem?
Date: 2004-01-12 20:23:34
Message-ID: 40030246.2050701@sancharnet.in
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Dear D. Dante Lorenso ,

pg_dump the schema alone and the data alone in two different files
with commands
pg_dump -R -s -F p -f my_schema.sql -U <username> <dbname> <----
for Schema
pg_dump --disable-triggers -U <username> -a -d -b -D -Fc Z 9
my_data.tar.gz <dbname> <--for data

Now restructure your schema file such that functions are created first .

Hope this helps
Regards ,
Vishal Kashyap

>
> First I created a function that selected the next available pin
> code from a table of pre-defined pin codes:
>
> CREATE FUNCTION "public"."get_next_pin_code" () RETURNS varchar AS'
> DECLARE
> my_pin_code VARCHAR;
> BEGIN
> ...
> /* this is the pincode we just fetched */
> RETURN (my_pin_code);
> END;
> 'LANGUAGE 'plpgsql';
>
> Then I created a table that used that function to set a default value:
>
> CREATE TABLE "public"."account" (
> "acct_id" BIGSERIAL,
> ...,
> "acct_pin_code" VARCHAR(16) NOT NULL DEFAULT get_next_pin_code()
> ) WITH OIDS;
>
> But, now when I pg_dump and pg_restore this database to another server,
> there seems to be a problem with the ordering of the dump in that the
> account table is not recreated because the function get_next_pin_code()
> is not yet defined. It seems like the function is not being created
> until AFTER the table is created and this causes an ordering problem.
>
> To dump and restore I've been doing this:
>
> pg_dump -U dbuser -Ft dbname | pg_restore -c -Ft | psql -U dbuser
> -h db.otherdbhost.com dbname
>
> I've been able to work around this by creating a TRIGGER that sets the
> default value instead of defining it in the table definition, but that
> just seems like a hack. Is there something I need to do to make the
> dependency ordering work smarter during a dump/restore? Or is this the
> right way to do it?
>
> Dante
>
>
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 7: don't forget to increase your free space map settings
>
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Greg Stark 2004-01-12 20:52:16 Re: Drawbacks of using BYTEA for PK?
Previous Message scott.marlowe 2004-01-12 19:52:19 Re: Drawbacks of using BYTEA for PK?