Create Enterprise Geodatabase can't find ST_GEOMETRY library

1434
3
Jump to solution
07-01-2021 11:52 AM
BrianWilson
Occasional Contributor II

I am trying to create a geodatabase using the ArcGIS Pro 2.8 "Create Enterprise Geodatabase" tool.

The database is PostgreSQL 12.7 running on Ubuntu 20.04 (I have also tested on a Debian 10 server with the same results) 

After installing Postgres, I copied st_geometry.so from C:/Program Files (x86)/ArcGIS/Desktop10.8/DatabaseSupport/PostgreSQL/12/Linux64/ to /usr/lib/postgresql/12/lib/

(There is also a copy of st_geometry.so in Server 10.9 and I tried that one as well, same error.)

I confirmed that the library loads by connecting to the server as user postgres, using the psql command "load 'st_geometry';".

Output in ArcGIS Pro from "Create Enterprise Geodatabase" looks like this.

Start Time: Thursday, July 1, 2021 10:09:50 AM
User has privileges required to create database objects.
Geodatabase admin user created.
Database created.
Validated authorization file.
User has required privileges for geodatabase setup.
XML support is enabled for the database instance.
You must copy the latest ST_GEOMETRY library to the PostgreSQL software location and ensure the correct dependent libraries are also installed. Refer to the ArcGIS help topics for more details.
Connected RDBMS instance is not setup for Esri spatial type configuration.
Failed to execute (CreateEnterpriseGeodatabase).

 

I have searched community and found several other similar reports, usually the replies talk only about loading st_geometry.dll on a postgresql instance running on Windows; I am running PostgreSQL on Linux not Windows so please don't offer a Windows solution.

This is 2021 so everything is 64-bit including the server and the st_geometry.so file.

cd /usr/lib/postgresql/12/lib
postgres@fc7d300e3ccd:/usr/lib/postgresql/12/lib$ file st_geometry.so
st_geometry.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped

psql (12.7 (Ubuntu 12.7-0ubuntu0.20.04.1))
Type "help" for help.

postgres=# select version();

PostgreSQL 12.7 (Ubuntu 12.7-0ubuntu0.20.04.1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.3.
0-17ubuntu1~20.04) 9.3.0, 64-bit
(1 row)

postgres=# load 'st_geometry';
LOAD
postgres=#

 

0 Kudos
1 Solution

Accepted Solutions
ReeseFacendini
Esri Contributor

ArcGIS Pro has specific ST_GEOMETRY files, and the ones used above are for Desktop only.  Go to the ArcGIS Pro downloads page in MyEsri, and scroll down to the 'Database Support Files' section to download the PostgreSQL specific files.

Pro_STGeom.png

View solution in original post

3 Replies
ReeseFacendini
Esri Contributor

ArcGIS Pro has specific ST_GEOMETRY files, and the ones used above are for Desktop only.  Go to the ArcGIS Pro downloads page in MyEsri, and scroll down to the 'Database Support Files' section to download the PostgreSQL specific files.

Pro_STGeom.png

BrianWilson7
Regular Contributor

YES-- this worked! THANKS. I just created  a parcel fabric to test it.

I got slightly misleading help from Esri Support yesterday, the tech told me to use any of the st_geometry.so files for the version of Postgresql I am running. I tried the ones I already had.

Does this mean the database is inaccessible from Desktop? Does not matter to me but still, awkward.

 

 

 

0 Kudos
ReeseFacendini
Esri Contributor

The database will be accessible from Desktop like normal.  The ST_GEOMETRY files needed to match the software being used to create the initial database.