Re: [HACKERS] Database owner installable modules patch

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Tom Dunstan" <pgsql(at)tomd(dot)cc>
Cc: "Gregory Stark" <stark(at)enterprisedb(dot)com>, "PostgreSQL Hackers" <pgsql-hackers(at)postgresql(dot)org>, pgsql-patches(at)postgresql(dot)org
Subject: Re: [HACKERS] Database owner installable modules patch
Date: 2008-04-07 14:25:05
Message-ID: 5038.1207578305@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

"Tom Dunstan" <pgsql(at)tomd(dot)cc> writes:
> OK, I found an example that does NOT fit the "just drop all
> dependencies" scenario, but that I would still like to support. I just
> had a look at the postgis pl/java support, and its install does stuff
> like "SELECT sqlj.install_jar('file://${PWD}/postgis_pljava.jar',
> 'postgis_pljava_jar', false);" and "SELECT
> sqlj.add_type_mapping('geometry', 'org.postgis.pljava.PLJGeometry');".
> There's no way we can deal with that sort of thing automatically, so
> we'll have to support uninstall scripts regardless.

Well, that just begs the question of what those commands actually *do*.
It seems not unlikely that they'd be inserting data into tables that
would belong to the module, in which case an uninstall that dropped
the table would be fine.

I still like the idea of uninstall being just a "DROP MODULE" with
subsequent cascading. If you want to argue that that isn't sufficient
you really need a pretty convincing example why not.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Heikki Linnakangas 2008-04-07 14:30:29 Re: Improve shutdown during online backup
Previous Message Peter Eisentraut 2008-04-07 14:15:58 pgsql: Implement a few changes to how shared libraries and dynamically

Browse pgsql-patches by date

  From Date Subject
Next Message Heikki Linnakangas 2008-04-07 14:30:29 Re: Improve shutdown during online backup
Previous Message Bruce Momjian 2008-04-07 13:32:29 Re: WIP: plpgsql source code obfuscation