Saturday, June 21, 2008

Re: [HACKERS] Not valid dump [8.2.9, 8.3.1]

"Gaetano Mendola" <mendola@gmail.com> writes:
> On Fri, Jun 20, 2008 at 4:37 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> (Of course you realize that referencing any table at all in an
>> "immutable" function is probably a mortal sin...)

> Yes Tom I know, in our case that table is a lookup table, noone update,
> delete, insert data in it, so from my point of view it is like I have
> declared a static array inside the function declaration.

No, you'd like to imagine that it is a static array, but that technique
is just a foot-gun waiting to bite you. As an example, since pg_dump
has no idea that that function has any dependency on the lookup table,
there is nothing to stop it from trying to create the index before it's
populated the lookup table.

(I think it probably works for you at the moment because pg_dump tends
to fill all the tables before creating any indexes, but the planned
changes to support multi-threaded restores will certainly break your
case.)

regards, tom lane

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

No comments: