Thread: Dependency issue with postgresql-9.3-postgis-2.1 package, postgis does not work anymore

Hi,


I'm using packages from apt.postgresql.org. My OS: ubuntu 14.04.

On a new machine, I installed postgresql-9.3-postgis-2.1, and postgis
doesn't work any more.

Package version are:

postgresql-9.3-postgis-2.1: 2.1.8+dfsg-5~97.git43a09cc.pgdg14.04+1
postgresql-9.3-postgis-scripts: 2.2.1+dfsg-2.pgdg14.04+1

On other machines, installed versions are:

postgresql-9.3-postgis-2.1: 2.1.5+dfsg-1~exp2~90.git884bcd4.pgdg14.04+1
postgresql-9.3-postgis-scripts: 2.1.5+dfsg-1~exp2~90.git884bcd4.pgdg14.04+1

And it works well.

The issue :

$ psql -d test -c "CREATE EXTENSION postgis"
ERROR:  cannot access to « $libdir/postgis-2.2 » : No such file or directory

In fact, postgresql-9.3-postgis-scripts contains scripts for Postgis
*2.2* (/usr/share/postgresql/9.3/contrib/postgis-2.2) whereas scripts
for Postgis *2.1* are expected. older version of
postgresql-9.3-postgis-scripts contained scripts for Postgis *2.1*. So a
simple apt-get update && apt-get upgrade on machines having this old
version break postgis :-/

postgresql-9.3-postgis-2.1 should not have dependency to
postgresql-9.3-postgis-scripts but to an other package which should
contains /usr/share/postgresql/9.3/contrib/postgis-2.1.

A solution for me is to upgrade to postgresql-9.3-postgis-2.2 but this
is tricky on production machines...

Laurent



Hello Laurent,

On 02/18/2016 12:32 PM, laurent wrote:
> I'm using packages from apt.postgresql.org. My OS: ubuntu 14.04.

Cool.

> On a new machine, I installed postgresql-9.3-postgis-2.1, and postgis
> doesn't work any more.

Not cool, please use postgis-2.2, instead.

> In fact, postgresql-9.3-postgis-scripts contains scripts for Postgis
> *2.2* (/usr/share/postgresql/9.3/contrib/postgis-2.2) whereas scripts
> for Postgis *2.1* are expected.

Unfortunately, that's just your expectation. The current state of
affairs is that PgAPT is only supporting one PostGIS version at a time.
At the moment, that's 2.2.

We already have plans to mitigate the issue, but we (well, I certainly)
didn't get around to implement anything, yet.

> older version of
> postgresql-9.3-postgis-scripts contained scripts for Postgis *2.1*. So a
> simple apt-get update && apt-get upgrade on machines having this old
> version break postgis :-/

No, it doesn't.

It's just that 'CREATE EXTENSION postgis' will give you postgis-2.2
after the upgrade. (If you installed 2.1 before and did an upgrade,
you'll have both, postgresql-X.Y-postgis-2.1 and
postgresql-X.Y-postgis-2.2 on your box. Postgis-2.1 extensions already
created will continue to work until you remove
postgresql-X.Y-postgis-2.1 from your system. So please do that only
after upgrading all database instances to PostGIS 2.2. This is all well
explained in the accompanying NEWS file.)

> A solution for me is to upgrade to postgresql-9.3-postgis-2.2 but this
> is tricky on production machines...

Everything else actually means having to support older PostGIS versions
for some amount of time. Not something that's been done for any other
PostgreSQL extension of PgAPT, to my knowledge.

We might even get there. And you're welcome to help.

Kind Regards

Markus Wanner