Re: Setting up functions in psql.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Paul Lambert <paul(dot)lambert(at)autoledgers(dot)com(dot)au>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Setting up functions in psql.
Date: 2007-02-16 04:52:45
Message-ID: 9077.1171601565@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Paul Lambert <paul(dot)lambert(at)autoledgers(dot)com(dot)au> writes:
> What I am confused about is: Why does the creation of a function fail if
> a table it uses does not exist when the function itself is creating the
> table further up to where it references it?

Because the function isn't actually being *executed*, only
syntax-checked.

The syntax precheck isn't completely reliable, for this reason among
others, so you can turn it off via check_function_bodies = off.

However, I'm not sure but what the function would fail anyway at runtime
for the same reason. I think in a SQL function, it all gets parsed
before any is executed. (This could probably get fixed, if we thought
it was worth the trouble.)

> Secondly, and here's the obviously easy one that I'm having a mental
> blank trying to figure out... How would I execute a function (such as
> the above) from psql?

select "fnLoadAppraisals"();

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Paul Lambert 2007-02-16 05:06:43 Re: Setting up functions in psql.
Previous Message Tom Lane 2007-02-16 04:46:04 Re: requests / suggestions to help with backups