Thanks, this clarifies things for me. There's DROP ROLE IF EXISTS, which I'm using.
2012/6/22 Tom Lane <t...@sss.pgh.pa.us> > > Roles are not considered to be part of an extension: they really can't > be, since an extension is local to a database while a role is global to > the whole installation. As per the documentation, you're allowed to do > CREATE ROLE in an extension script but it won't be managed by the > extension mechanism. > > Not sure about a better solution to your problem offhand. It might be > sane for the script to do CREATE ROLE IF NOT EXISTS, if we had that, > which we do not :-( > -- Victor Y. Yegorov