Jean-Christian Imbeault <jc@mega-bucks.co.jp> writes:
> As a follow-up I get an error when dropping plpgsql and then trying to
> re-create it ...
> $ psql JC -c "drop language plpgsql cascade"
> NOTICE: Drop cascades to function cancell_all_li()
> NOTICE: Drop cascades to trigger insert_invoices on table invoices
> NOTICE: Drop cascades to function update_invoice_price()
> NOTICE: Drop cascades to trigger update_invoice_li_price on table
> invoice_li
> NOTICE: Drop cascades to function max(date,date,date)
> DROP LANGUAGE
> $ createlang plpgsql JC
> ERROR: function plpgsql_call_handler already exists with same argument
> types
> createlang: language installation failed
> Once a language is dropped I should be able to re-add it no? Or isn't
> dropping it enough?
DROP LANGUAGE only drops the pg_language entry, not the call handler.
I think the dropdb script would drop the handler too, but you didn't
do that.
regards, tom lane