[postgis-devel] Allowing use of PostGIS EXTENSION w/out raster

Sandro Santilli strk at kbt.io
Mon Oct 9 00:30:34 PDT 2017


On Sun, Oct 08, 2017 at 08:09:20PM -0400, Greg Troxel wrote:
> Sandro Santilli <strk at kbt.io> writes:
> 
> > The proposals are:
> >
> >  1) Move raster to its own extension "postgis_raster"
> >     See https://trac.osgeo.org/postgis/ticket/3888
> >
> >  2) Provide two versions of extension "postgis"
> >     See https://trac.osgeo.org/postgis/ticket/3890

> > Anything else to consider ?
> 
> 
>   what about the case where there are two users in one database?  Is
>   that already a situation where the DBA has to choose what's installed,
>   so if either wants raster there is raster and that's ok?

Seems ok to me. Extensions are enabled per-database, not per-user.
This is already the case for all other extensions
(topology,geocoder,..).
No difference between the two proposals I think.

    p1: ALTER EXTENSION postgis UPDATE; ALTER EXTENSION postgis_raster UPDATE;
    p2: ALTER EXTENSION postgis UPDATE; -- what you get depends on installed flavor

>   how should this be packaged?  Is there one postgis package with two
>   extensions, or one postgis-noraster and one postgis-raster?  Or is
>   there a postgis package that doesn't depend on gdal and a
>   postgis-raster that does?

I think what I'd like to have would be:

   - package postgis_core
   - package postgis_raster depends on postgis_core
   - package postgis_topology depends on postgis_core
   - package postgis_whatever depends on postgis_core
   - package postgis depends on all of the above

Right now you have a single "postgis" package with everything in it,
so can as well continue to have that for some time and postpone the
splitting of packages.

> If there are to be two packages, then perhaps there should be two
> distribution tarballs.

I don't understand this statement, Debian already has multiple
packages from a single tarball, for example:
    postgis
    postgis-gui
    postgis-doc
    postgresql-9.5-postgis-2.4,
    postgresql-9.4-postgis-2.4-scripts

>   what is the point of not "forcing" people to have raster?  What bad
>   thing happens now when someone installs postgis and there is raster
>   capability in the db, but nobody ever puts any rasters in?  How does
>   not installing raster change what happens in a way that solves any
>   problems?

It doesn't solve any problem for users of systems managed by someone else.

For those who build their systems it does allow to only install what's
really needed.

> I think the answer is that if nothing in pgsql depends on gdal, then you
> don't have to have gdal on the machine, and gdal library changes don't
> make you do anything.  But I'm not really sure that's the point.

Yes, that's one point. Another is reducing the set of available
functionality to reduce security risks. As an example for security
risk, until recently PostGIS had a security issue giving access to any
file on the system to whoever had access to postgis, due to functions
in the raster component.

--strk;



More information about the postgis-devel mailing list