Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#3790 closed defect (invalid)

"ERROR: could not open extension control file" on BigSQL installation of PostgreSQL

Reported by: realityexists Owned by: strk
Priority: medium Milestone:
Component: build Version: 2.3.x
Keywords: Cc:

Description

When I run "CREATE EXTENSION postgis" on PostgreSQL 9.6.3 installed from the BigSQL installer (http://oscg-downloads.s3.amazonaws.com/packages/PostgreSQL-9.6.3-1-win64-bigsql.exe) I get the following error:

ERROR: could not open extension control file "C:/PROGRA~1/POSTGR~1/9.6/pg96/../pg96/share/postgresql/extension/postgis.control": No such file or directory SQL state: 58P01

I selected "C:\Program Files\PostgreSQL\9.6\pg96" as my "PostgreSQL directory" during installation (see #3789) and that file is actually under "C:\Program Files\PostgreSQL\9.6\pg96\share\extension".

Even if I move all the extension files to the directory it's looking in I get another error:

ERROR: could not access file "$libdir/postgis-2.3": No such file or directory

So it appears that the BigSQL installer uses some directory layout PostGIS does not support. It should either be supported or the lack of support should be documented on the download page and in the installer. The installer should detect this situation automatically and either handle it properly (install to the right locations) or tell the user to install from the EnterpriseDB installer instead (but this is not ideal, as the user may have done a lot with their cluster before trying to install PostGIS).

Change History (6)

comment:1 by robe, 7 years ago

Resolution: invalid
Status: newclosed

I think you are installing this wrong. The main installer binary does not include non-standard extensions.

To get binaries for additional extensions, you need to use the pgc commandline or use the pgDevOps console.

You need to from the bigsql folder run

 ./pgc install postgis23-pg96

As noted in these directions

https://www.openscg.com/2017/02/postgis-how-to-create-a-spatial-database-with-pgc-command-line/

comment:2 by realityexists, 7 years ago

Yes, the PostGIS installer is incompatible with the BigSQL PostgreSQL installer. I get that now, but I didn't know before I tried it, because neither the installer nor its download page tells me so. That's what this issue is about. If only the EnterpriseDB installation is supported then that should be made clear.

comment:3 by robe, 7 years ago

I had it noted on the download page already. I'll put this paragraph in bold so it jumps out more.


The installers are designed to work with EDB Application Stackbuilder. If you are using BigSQL distribution use the PostGIS available via the BigSQL distribution. If you are on BigSQL (PostgreSQL 9.5+) and need items not available in BigSQL distribution (e.g. SFCGAL, pgRouting, or development versions of PostGIS), you can use the binaries in the experimental section. Note the path you copy to in BigSQL is a little different (e.g. postgresql/lib instead of lib).


or you thinking the wording of above is not clear enough?

comment:4 by robe, 7 years ago

Just realized that folks may be going straight to osgeo downloads site or ftp.postgresql.org.

Where were you looking for the note? I guess I can put here as well, https://www.postgresql.org/ftp/postgis/ but didn't think people go directly there. I put there because that's where stack builder deploys from.

comment:5 by realityexists, 7 years ago

Sorry, you're right, it was mentioned on the download page - but there is rather a lot of text on that page, so it's easy to miss. What's confusing is that installer appears to succeed, but then the installation is actually unusable. So it would be nice to have the installer detect this somehow or at least show a notice - in bold - like "this installer will only work with PostgreSQL installed by the EnterpriseDB installer, not BigSQL".

I think the wording above is good, except that instead of "EDB Application Stackbuilder" I'd say "EnterpriseDB installation". I don't use the Stackbuilder - just install Postgres from EnterpriseDB, then install PostGIS.

comment:6 by robe, 7 years ago

okay I changed to put the message in bold and changed EDB to EnterpriseDB PostgreSQL distribution. I took out the application stackbuilder piece since you don't need to come to the site to download if you get it via stackbuilder.

If BigSQL didn't have their own PostGIS, I would consider revising the installer to work for both, but they'll soon have pgRouting and I think SFCGAL and already include ogrfdw so there will be even less of a reason to bother in the future.

I also put a note here just in case people get from here postgresql.org - https://www.postgresql.org/ftp/postgis/

Though I guess I should spell out EDB there too. I'll do that after I'm done with 9.5 and 9.4 packaging.

Note: See TracTickets for help on using tickets.