On Thu, Sep 01, 2005 at 02:59:37PM -0400, Tom Lane wrote:
> Patrick Welche <prlw1@newn.cam.ac.uk> writes:
> > I tried the fix mentioned in the earlier message to encourage
> > validation. Now dumping this "fixed" database, and loadinging it into the
> > new database gives:
>
> > ALTER FUNCTION
> > psql:./huge.db:4403: ERROR: function plpgsql_validator(oid) does not exist
> > CREATE FUNCTION
> > ALTER FUNCTION
> > psql:./huge.db:4517: ERROR: language "plpgsql" does not exist
> > HINT: You need to use "createlang" to load the language into the database.
>
> Ah, right, *that's* why it's a good idea to have the dependency from the
> language to the function ;-) ... else there's no guarantee pg_dump will
> dump them in the right order. If you want you could add a suitable
> pg_depend row.
:-) Thanks all OK..
One other thing I noticed on this longlived database, is that one can
pg_dump new tables, and their associated sequences will be created,
but for old tables, the associated sequences need creating. The
difference seems to be old:
Table "public.meter"id | integer | not null default nextval('"meter_id_seq"'::text)
new:
Table "public.summary"id | integer | not null default nextval('public.summary_id_seq'::text)
that the old sequence hasn't got the schema explicitly appended..
(Just in case someone else comes across this..)
Cheers,
Patrick