Not so sure about omitting OR REPLACE. In my experience it is more often needed than not. Main argument for omitting might be to protect hackers from carelesse users :)
On Wed, Jul 23, 2008 at 5:50 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> At 2008-07-17 18:28:19 -0400, tgl@sss.pgh.pa.us wrote: >> It wouldn't take a whole lot to convince me that a pg_get_functiondef >> would be useful, although I don't foresee either of those applications >> wanting to use it because of their backward-compatibility constraints.
> What would the function return? "CREATE OR REPLACE FUNCTION ..."? Would > that be good enough for everyone who might want to call it?
I think I'd go with CREATE FUNCTION for simplicity. It would be easy enough for something like \ef to splice in OR REPLACE before shipping the command back to the server.