SOLVED: Amazon PostgreSQL RDS - Enable Enterprise Geodatabase crashes, using 10.4

8334
6
Jump to solution
04-06-2016 08:11 AM
AiroboticsLtd
New Contributor II

Hi all,

I have two AWS machines set up and running:

EC2 with Windows 2012 - running ArcGIS for Server Enterprise Standard and ArcGIS for Desktop Standard 10.4.

RDS with PostgreSQL 9.4.5.

I have followed all the instructions shown here:

Create a geodatabase on Amazon Relational Database Service for PostgreSQL—ArcGIS for Server (10.4) |...

But I got stuck in stage 7:

"Run the Enable Enterprise Geodatabase geoprocessing tool or a Python script to create a geodatabase in the database.".

Whenever I try to run the Enable Enterprise Geodatabase tool, it crashes. Even when I create it as a standalone python script, it crashes python.exe. I tried both Python 64 bit installed by the ArcGIS Server and the Python 32 bit installed by the Desktop. Both of them do not work and crash.

I've manage to take a screen shot in ArcCatalog just before it crashes while running the tool:

I've looked everywhere for a solution and couldn't find any documentation or anyone else who've came across the same issue.

Does anyone has any idea?

Thanks in advance.

1 Solution

Accepted Solutions
AiroboticsLtd
New Contributor II

I actually solved it.

Don't use Create Enterprise Geodatabase - that won't work for Amazon RDS (because you never get true super user permissions, only the customized one that amazon create for you when you launch the RDS instance).

The problem was, I tried to create the role and schema and run the tool on the postgres database, instead of the RDS-name database. The problem was that there was no PostGIS configured for the the postgres database, only for the RDS-name one. When I ran the script on this one, it worked without any problem.

Solved.

View solution in original post

0 Kudos
6 Replies
ReneCasiano
New Contributor

I also have the same problem, but I'm only using the Create Enterprise Geodatabase processing GUI tool:

  • PostgreSQL 9.3.12
  • Windows 2012 R2 EC2
  • ArcGIS 10.3.1 for Desktop Advanced
    • 64 bit background processing installed

I haven't tried running Python scripts to solve this, but it seems like (based on the original post) it wouldn't help. I tried the exact same process on my local machine and everything worked perfectly. I haven't tried another physical machine or another VM in my own network yet.

Any thoughts?

0 Kudos
AiroboticsLtd
New Contributor II

I actually solved it.

Don't use Create Enterprise Geodatabase - that won't work for Amazon RDS (because you never get true super user permissions, only the customized one that amazon create for you when you launch the RDS instance).

The problem was, I tried to create the role and schema and run the tool on the postgres database, instead of the RDS-name database. The problem was that there was no PostGIS configured for the the postgres database, only for the RDS-name one. When I ran the script on this one, it worked without any problem.

Solved.

0 Kudos
RobertMarros
Occasional Contributor II

Any more details that you can provide on this? Rene, were you ever successful? I am able to create the database connection to the RDS postgres fine but I cannot enable the database in ArcCatalog because the superuser role is locked down by Amazon RDS. I did manually create the schema and sde login inside of PgAdmin but of course I cannot apply the superuser status. I have tried running the Create and Enable enterprise geodatabase tools just to see what kind of error I would get but it all just comes back to issues with not having the superuser status assigned to the sde login. I was hoping for some more clarification from Airobotics as to more detailed steps as to how they got this to work.

Thanks, Jason

MingLee
New Contributor

I got this to work with AWS RDS for PostgreSQL.

  1. Used Cloudformation to create RDS PostgreSQL Instance, (engine 9.4.5).
  2. Used PGADMIN tool to ensure that the newly created DB was working as intended.
  3. Followed the instructions on Create a geodatabase on Amazon Relational Database Service for PostgreSQL—ArcGIS for Server (10.4) |...
  4. Step 5 -- for some reason, the newly created SDE user could not own the schema (SDE) so I went to the login role for SDE and edited the privileges to include 'create database' and it all worked.
  5. I did not create a new user but just used the SDE user to load data. I know not good but this was an initial test to ensure that all the parts worked.
  6. Did not register the DB with ArcGIS Server. Just used desktop to directly connect to the RDS.
  7. Successfully imported 10GBs of featureclasses.
  8. Haven't tried to apply RDS snapshots etc; however -- performance is quite impressive.

Good luck.

Ming

ScottKearney
New Contributor II

Has anyone been able to enable a geodatabase on an AWS RDS PostgreSQL without using ArcGIS Cloud Builder?

Scott

WalterSimonazzi1
New Contributor III

The workflow to create an enterprise geodatabase in PostgreSQL/RDS is bit different compared it with going through the same workflow in a PostgreSQL deployed on premises. We basically need to manually do some of the steps the tool Create Enterprise Geodatabase does and then complete the process using the tool Enable Enterprise Geodatabase.

The steps are:

  • Create a connection to the PostgreSQL/RDS instance using PgAdmin 4
  • In PgAdmin4, create or select the database you want to use for your GIS data.
  • Create the sde user,
  • Add the user to the rds_superuser role
  • and create an sde schema.
  • If in addition to the st_geometry storage type you want to have the option to store geometries in PostGIS storage type, check out this link , it describes the process to install PostGIS in Amazon RDS.
  • Open ArcMap and search for the tool Enable Enterprise Geodatabase. Add the link to the connection file you previously created in ArcMap and browse for the license. The Enable Enterprise Geodatabase tool will create the sde repository using the sde user you created in the previous steps. Once the process completes, create a connection using the sde user. You will use this connection to perform admin tasks in the enterprise geodatabase.

Note: make sure you have installed the PostgreSQL database drivers in ArcGIS Desktop (the 32 bits version) and/or Pro/ArcGIS Server (64 bits version). To avoid complications, download the drivers from My Esri.

The good practice in terms of loading data into an enterprise geodatabase is to use a user specifically created for that end. This user is normally a headless database user, in other words, a connection that can be shared with all the users of your team that will load data into the geodatabase.

  • Create a new user (called data_owner, for example), create a connection to the database with this new user and use this connection to load data in the geodatabase. The result will be that all your data will be owned by this user which ease a lot the administration of the geodatabase.

 

Link: Create a geodatabase on Amazon Relational Database Service for PostgreSQL—ArcGIS Enterprise on AWS |... 

0 Kudos