On Tue, Jun 21, 2005 at 09:16:08 +0200, postgresql@xxxxxxxxxxxx wrote: > I come from a MSSQL background and am trying to figure out how to write > deployment scripts for PostgreSQL. Typically, if I want to drop a > function, I would write a script that first checks for it's existence and > then performs the drop. > > In MSSQL it would be as easy as (this can be done in native TSQL): > IF EXISTS (...some query to system tables...) > DROP function XXX > All the development that I do needs to be deployed in a script fashion and > generally I need to check for the existence of an object before replacing > or dropping. If the script isn't running in a single transaction, consider just dropping the table and ignoring any error messages. If you do need to worry about a failed drop aborting a transaction, then you can use savepoints in 8.0. However, it doesn't look like you can have conditional rollbacks in psql until 8.1. So to use this feature in a script you will need to write a function that traps the exception and rolls back to the the savepoint for the case where the drop fails. For pre 8.0 versions, consider having a function that checks the system catalog before issuing the drop. ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend