On 07/10/2012 04:28 AM, Steve Erickson wrote:
I’ve got a script to update the schema on a number of servers. These servers are at various versions of the schema, so I used the following syntax for each function, not knowing if it needed to be created or merely updated:
CREATE OR REPLACE FUNCTION foo() …
But I get the error, “function foo() does not exist” if it indeed does not exist. Shouldn’t the “create or replace” just create it in this instance? Why the error?
I think you need to show us the full conversation with the server. I suspect the CREATE OR REPLACE is failing because of bad function syntax or similar, so a following invocation of the function is causing your function foo() does not exist error.
--
Craig Ringer