Select to view content in your preferred language

Creating Postgres Enterprise Geodatabase failed - ! Serious problem for every company

4079
5
10-14-2012 02:17 PM
HolmSeifert
Emerging Contributor
Hi

I have a problem creating an enterprise geodatabase with ArcGIS 10.1 and postgres.
It doesn´t work. Every time i get this message

"You must copy the latest ST_GEOMETRY and dependent libraries to the PostgreSQL software location. Refer to the ArcGIS help topics for more details.

Connected RDBMS instance is not setup for Esri spatial type configuration.
Failed to execute (EnableEnterpriseGeodatabase)."

windows Server 64 bit
ArcGIS 10.1 Desktop
ArcGIS 10.1 Server 64 bit

Postgres 9.05, 64 bit and/or 32 bit

So here is the problem
1) If you install postgres 9.02-64 bit you cannot create an connection, because everytime this failure are displayed:
"database client software failed to load"

2) If you install the 32 bit version you get a connection to a postgresql database.
! But if you want to "enable enterprise geodatabase" or create a new enterprise geodatabase" you always get a failure message from above (st_geometry is not right).

Are the reasons to find in the correct five "lib-Files" from postgres, that you need to copy to ArcGIS Desktop bin or in the st_geometry.dll?

Please not reference to some resource help. There I couldnÃ?t find any solution or help.

Are there any resource, where i can get the correct postgresql â?? Files? The Customer-Care-Portal cannot help you, because of these reasons.
� There aren´t any postgres files in the customer care portal. I don´t know, who was writting this in the resource help!
â?¢ Where can a normal user get these appropriate files without going to the Customer-Care-Portal?



thanks
Holm
0 Kudos
5 Replies
VinceAngelo
Esri Esteemed Contributor
You can't ever mix-n-match application and library word sizes.  64-bit libraries won't
ever work with a 32-bit application, nor will 32-bit DLLs work with a 64-bit application.

I wouldn't expect PostgreSQL 9.0.2 with any Esri software.

Esri media kits for are available for both 32-bit and 64-bit clients for all supported
databases; I don't know why you can't access them.

I haven't tried to configure PostgreSQL 9.0.5 on a Windows host, but I had no difficulty
using the 32-bit client installer to allow a 32-bit Desktop to talk to a 64-bit PG Linux
server.

You might be tangled in PATH issues -- Try using a second machine with Desktop and
32-bit libraries to talk to your 64-bit server (with the 64-bit ST_GEOMETRY DLL copied
from the 64-bit application server install).

- V
0 Kudos
tKasiaTuszynska
Regular Contributor
Holm,
I am sorry that you have incurred frustration.
For 10.1 we support the following:
Postgres server on a 64bit os platform
ArcGIS Server on 64bit os platform


Please try the following steps:
1. place the 64bit postgers client libraries in the ArcGIS Server/bin location
- you can use the 9.0.2 or 9.0.5 or the 9.1.3 libs, we have found no difference between them yet, but to be save I would recommend using the ones that correspond to your postgres server version.
- they are located in the Customer Care portal, under DBMS Support Files
- to my knowledge Postgres does not distribute their client libraries as a separate download, we separate them out and place them on the Customer Care portal for your convenience but aside from installing the postgres software on a 64bit os and separating out the libpq libraries and their dependencies, I do not know of any other way of finding them.
- I am guessing that you have gotten past this step since you are getting the st_geometry lib errors.

2. place the st_geometry library in the postres lib location
- on windows, the postgres lib loction is the following: C:\Program Files\PostgreSQL\9.0\lib
- the ArcGIS Server installation will provide you with st_geometry lib version per postgres version, per os
- the build of the library is specific to the version of Postgres, for example you can not use the 9.0.2 build of st_geometry with Postgres 9.1 etc. If your postgres version is 9.0.5 than you have to use the library build with 9.0.5.
- if the Postgres installation is on a linux os, it may be tricky to place the st_geometry library in the correct place, since the place varies depending on how you installed Postgres. The safest way is to refer to the PKGLIBDIR value listed with pg_config and place the library there, please make sure that it is executable.
- if ArcGIS Server is on a linux os, than you will need to fill out the init_user_param.sh under .../arcgis/server/usr for a direct connect to work

Please respond if this was not helpful,
Most Sincerely,
Kasia
0 Kudos
KimPeter
Esri Contributor
The message you saw when trying to create the geodatabase was due to the fact that the ST_Geometry libraries had not been copied to the PostgreSQL server. The information about copying the ST_Geometry library is in several places in the documentation on the Resource Center:

http://resources.arcgis.com/en/help/main/10.1/#/Setting_up_a_geodatabase_in_PostgreSQL/002p000000010...

"Move the st_geometry.so library to the PostgreSQL installation directory.

The st_geometry.so library for PostgreSQL 9.0 can be found in the DatabaseSupport/PostgreSQL/Linux64 directory of your ArcGIS client installation directory. Move the file from this location on the ArcGIS client, log in to the PostgreSQL server as the root user, and place the st_geometry.so file in the PostgreSQL lib directory. (This is the same location to which you set the LD_LIBRARY_PATH environment variable.)"

"Copy the st_geometry library to the PostgreSQL installation directory.

The st_geometry.dll file for use with PostgreSQL 9.0 can be found in the DatabaseSupport directory of your ArcGIS client installation directory. Move the st_geometry.dll file from the ArcGIS client to the PostgreSQL lib directory on your PostgreSQL server."

http://resources.arcgis.com/en/help/main/10.1/#/Tutorial_Getting_started_with_geodatabases_in_Postgr...

"Place the ST_Geometry libraries in the PostgreSQL lib directory

Geodatabase creation in PostgreSQL relies on the presence of the ST_Geometry library. You must place the appropriate library in the lib directory where PostgreSQL is installed before you can create a geodatabase. ST_Geometry libraries can be found in the DatabaseSupport folder of your ArcGIS client installation."

http://resources.arcgis.com/en/help/main/10.1/#/Creating_a_database_and_geodatabase_in_PostgreSQL/00...

"At a minimum, you must install PostgreSQL and set it up to accept remote connections, place the ST_Geometry library on the PostgreSQL server, and install the PostgreSQL client on the ArcGIS for Desktop client machine before you run the Create Enterprise Geodatabase tool"

http://resources.arcgis.com/en/help/main/10.1/#/Enabling_geodatabase_functionality_in_an_existing_Po...

"Copy the st_geometry library to the PostgreSQL installation directory.

The st_geometry library can be found in the DatabaseSupport directory of your ArcGIS client installation directory. Move the file from the client to the PostgreSQL lib directory on your PostgreSQL server. If PostgreSQL is installed on Linux, log in to the Linux server as the root user and place the st_geometry.so file in the /usr/lib64/pgsql directory. If PostgreSQL is installed on Windows, place the st_geometry.dll fiile in the %PostgreSQL%\lib directory."
0 Kudos
OleksandrChubatyy
Deactivated User
Hello,

I am getting the same error message.

The system settings are:
PostgeSQL 9.1 on Windows 2003 Server 32bit
ArcGIS Desktop on Windows 7 64 bit

When I checked the PostgreSQL log there is this error:
ERROR:  could not load library "C:/PostgreSQL/9.1/lib/st_geometry.dll": %1 is not a valid Win32 application.

Is there a 32 bit st_geometry.dll file because I copied the one from ..\DatabaseSupport\PostgreSQL\Windows64 folder as it was instructed by ArcGIS help.

Thanks
0 Kudos
VinceAngelo
Esri Esteemed Contributor
All ArcSDE server components are now 64-bit.  32-bit PostgreSQL is not supported.
You've got a 64-bit OS, so it's better to use the 64-bit app anyway.

- V
0 Kudos