Skip To Content

Create a geodatabase on Amazon Relational Database Service for PostgreSQL

When you use an Esri AMI that includes Amazon Relational Database Service (RDS) for PostgreSQL with ArcGIS Server Cloud Builder on Amazon Web Services or one of the Esri-provided CloudFormation templates that create a stand-alone ArcGIS Server site on Amazon Web Services (AWS), two enterprise geodatabases are created in the RDS instance.

When you configure a stand-alone ArcGIS Server site on AWS using the AWS Management Console, no RDS instance, databases, sde or data owner login roles, sde or data owner schemas, or geodatabases are created. If you want to use enterprise geodatabases in an Amazon RDS for PostgreSQL instance with an ArcGIS Server site on AWS you created manually, you must manually create the geodatabase and the database objects it requires to function.

The following steps summarize what you need to create and the format these objects must take to be used with ArcGIS.

Follow instructions in PostgreSQL and AWS documentation to create all objects other than the geodatabase. To create the geodatabase, run both the Create Database Connection and Enable Enterprise Geodatabase geoprocessing tools from an ArcGIS client. Once you've created the geodatabase, create a second connection as a lower privileged login role, and use that connection to register the geodatabase with your ArcGIS Server site on AWS.

  1. Create a PostgreSQL RDS database instance and database, and load the PostGIS extension to the database.
  2. Create an sde login role in the PostgreSQL database cluster and grant it the rds_superuser role.

    Use all lowercase characters for the user name; mixed and uppercase character names are not supported with ArcGIS.

  3. Create a schema named sde in the database, and make the sde login the owner of the sde schema.

    The schema name must match the user name exactly to be used with ArcGIS.

  4. Create a login role that will own data. Grant this login privileges to create tables and views in the database.

    Use all lowercase characters for the login role; mixed and uppercase character names are not supported with ArcGIS.

  5. Create a schema for this new login role. The schema name must exactly match the login role name to be used with ArcGIS. Make the new login role the owner of the schema.
  6. Grant this new login usage on the sde schema.
  7. Grant the sde login usage on the new login's schema.
  8. Set the search path on the database so it searches the connected user's schema first ("$user"), searches the public schema second, and searches the sde schema last.
  9. Grant all privileges on the database to the sde login.
  10. Run the Create Database Connection geoprocessing tool from one of the following ArcGIS clients to connect to the database as the sde user: ArcMap, ArcCatalog, ArcGIS Pro, or ArcGIS Server.

    You will use the resultant database connection file (.sde) as input in the next step.

  11. Run the Enable Enterprise Geodatabase geoprocessing tool from the ArcGIS client.

    Note that you cannot use the Create Enterprise Geodatabase geoprocessing tool to create a geodatabase in PostgreSQL RDS; you must use the Enable Enterprise Geodatabase tool.

  12. Run the Create Database Connection geoprocessing tool from the ArcGIS client to connect to the database as the login you created to load data.

    Tip:

    Rename the resultant connection file to differentiate it from the one you created to connect as the sde user.

    You will use the resultant database connection file (.sde) as input in the next step.

  13. Use this new connection file to register your geodatabase with your ArcGIS Server site running on AWS.