Re: Dump/Restore ordering problem? - Mailing list pgsql-general

From Sai Hertz And Control Systems
Subject Re: Dump/Restore ordering problem?
Date
Msg-id 40030246.2050701@sancharnet.in
Whole thread Raw
In response to Dump/Restore ordering problem?  ("D. Dante Lorenso" <dante@lorenso.com>)
List 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
>
>


pgsql-general by date:

Previous
From: "scott.marlowe"
Date:
Subject: Re: Drawbacks of using BYTEA for PK?
Next
From: Greg Stark
Date:
Subject: Re: Drawbacks of using BYTEA for PK?