{"id":2965710,"date":"2026-08-19T15:00:29","date_gmt":"2026-08-19T22:00:29","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2965710"},"modified":"2026-08-20T10:41:09","modified_gmt":"2026-08-20T17:41:09","slug":"deploy-an-enterprise-geodatabase-in-postgresql","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/deploy-an-enterprise-geodatabase-in-postgresql","title":{"rendered":"Deploy an enterprise geodatabase in PostgreSQL"},"author":156961,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[23851],"tags":[763732,25381,766052,766062,781038],"industry":[],"product":[36561],"class_list":["post-2965710","blog","type-blog","status-publish","format-standard","hentry","category-data-management","tag-database","tag-geodatabase","tag-postgis","tag-postgresql","tag-st_geometry","product-arcgis-pro"],"acf":{"short_description":"Set up PostgreSQL for ArcGIS: learn prep steps, spatial types, and deployment options for enterprise geodatabases.","flexible_content":[{"acf_fc_layout":"content","content":"<p>PostgreSQL is a popular choice for organizations building flexible, open-source GIS infrastructures. When used with ArcGIS, it provides a modern database platform, support for multiple spatial types, and deployment options for both self-managed and cloud database services. This article explains how PostgreSQL and ArcGIS work together, what to prepare before you begin, how spatial types fit into the picture, and when to use the Enable Enterprise Geodatabase and Create Enterprise Geodatabase tools.<\/p>\n<h1><strong>PostgreSQL and ArcGIS<\/strong><\/h1>\n<p>PostgreSQL is one of the database management systems supported in ArcGIS. In this blog, we refer to the PostgreSQL deployment options as:<\/p>\n<ul>\n<li><strong>Self-managed PostgreSQL (on-premises or self-hosted in the cloud): <\/strong>PostgreSQL is installed and managed by your organization, on a physical server or virtual machine hosted on-premises or in the cloud, with full control over the database instance.<\/li>\n<li><strong>Managed PostgreSQL service (Database-as-a-Service\/DBaaS):<\/strong> PostgreSQL is provided as a managed service by cloud providers, such as AWS, Microsoft Azure, or Google Cloud Platform. While you typically administer databases and roles, the provider manages the underlying infrastructure, operating system, and database instance. As a result, certain server-level configurations and extensions may be restricted.<\/li>\n<\/ul>\n"},{"acf_fc_layout":"image","image":{"ID":2980351,"id":2980351,"title":"diagram","filename":"diagram.png","filesize":61852,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/08\/diagram.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/deploy-an-enterprise-geodatabase-in-postgresql\/diagram-16","alt":"","author":"156961","description":"","caption":"","name":"diagram-16","status":"inherit","uploaded_to":2965710,"date":"2026-08-17 21:33:50","modified":"2026-08-17 21:33:50","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":850,"height":430,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/08\/diagram-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/08\/diagram.png","medium-width":464,"medium-height":235,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/08\/diagram.png","medium_large-width":768,"medium_large-height":389,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/08\/diagram.png","large-width":850,"large-height":430,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/08\/diagram.png","1536x1536-width":850,"1536x1536-height":430,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/08\/diagram.png","2048x2048-width":850,"2048x2048-height":430,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/08\/diagram-826x418.png","card_image-width":826,"card_image-height":418,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/08\/diagram.png","wide_image-width":850,"wide_image-height":430}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>PostgreSQL supports multiple spatial storage options in both self-managed and DBaaS deployments. ArcGIS supports three spatial types in PostgreSQL:<\/p>\n<ul>\n<li><strong>ST_Geometry (Esri)<\/strong> \u2014 The default spatial type for enterprise geodatabases in PostgreSQL.<\/li>\n<li><strong>PostGIS geometry<\/strong> \u2014 A widely used open-source spatial type that integrates well with many GIS and analytics tools.<\/li>\n<li><strong>PostGIS geography<\/strong>\u00a0\u2014 An open-source spatial type designed for geodetic data and global-scale analysis.<\/li>\n<\/ul>\n<p>You can use one or more of these types depending on your workflows. For example, DBaaS offerings support PostGIS but do not support ST_Geometry. <span data-teams=\"true\">If your long-term strategy includes moving to a PostgreSQL DBaaS platform, consider adopting PostGIS early and creating your spatial datasets using PostGIS spatial types.<\/span><\/p>\n<p>It is also important to distinguish between a\u00a0<strong>spatial type<\/strong>\u00a0and a\u00a0<strong>geodatabase<\/strong>. The spatial type defines how geometry is stored in PostgreSQL. The geodatabase adds to the underlying database a set of system tables, stored procedures, functions, and metadata allowing the database to support GIS-specific behavior.<\/p>\n"},{"acf_fc_layout":"content","content":"<h1><strong>Prepare your environment<\/strong><\/h1>\n<p>Before you install or upgrade PostgreSQL, validate compatibility across your ArcGIS stack:<\/p>\n<p>Ensure that the PostgreSQL version used by your organization is supported by all the ArcGIS client versions you plan to use.<strong>\u00a0<\/strong>This\u00a0maintains\u00a0optimal\u00a0performance and workflow functionality.<\/p>\n<ul>\n<li>Check the <a href=\"https:\/\/support.esri.com\/en-us\/knowledge-base\/faq-what-postgresql-database-versions-are-supported-by--000030040\" target=\"_blank\" rel=\"noopener\">What PostgreSQL database versions are supported by ArcGIS Enterprise and ArcGIS Pro?<\/a> knowledge article.<\/li>\n<\/ul>\n<p>Choose a PostgreSQL\u00a0database version with\u00a0long-term\u00a0support\u00a0to minimize the frequency of upgrades.<\/p>\n<ul>\n<li>Check the <a href=\"https:\/\/www.postgresql.org\/developer\/roadmap\/\" target=\"_blank\" rel=\"noopener\">Release Schedule of Current PostgreSQL Database Releases<\/a>\u00a0article.<\/li>\n<\/ul>\n<p>Ensure the\u00a0database client is at a release that is compatible with the PostgreSQL version,\u00a0to allow the ArcGIS client applications to communicate with your database.<\/p>\n<p>For PostgreSQL, the client libraries (for example, libpq) are included with ArcGIS Pro and ArcGIS Server installations, so a separate local PostgreSQL client installation is typically not required. However, always verify version compatibility. Conflicts can still occur despite bundled client files; for example, because of library path issues (such as LD_LIBRARY_PATH on Linux) or manually replaced client DLL\/SO files that cause ArcGIS to load an unintended libpq version. If a supported ArcGIS release is paired with an unsupported PostgreSQL major version (or vice versa), connection and geodatabase operation issues can occur.<\/p>\n<ul>\n<li>Check out the <a href=\"https:\/\/community.esri.com\/t5\/arcgis-ips-blog\/how-to-install-database-clients-for-arcgis\/ba-p\/1372451\" target=\"_blank\" rel=\"noopener\">How to Install Database Clients for ArcGIS<\/a> article for more information.<\/li>\n<\/ul>\n"},{"acf_fc_layout":"content","content":"<h1><strong>Configure PostgreSQL connectivity and authentication<\/strong><\/h1>\n<p>Before ArcGIS connects, confirm the database is reachable and authentication is configured according to your organization\u2019s security requirements. These parameters apply only to self-managed deployments.<\/p>\n<ul>\n<li>In postgresql.conf, set listen_addresses, which controls which network interfaces PostgreSQL listens on to &#8220;* &#8221; for all interfaces, or specific hostnames\/IPs for tighter control.<\/li>\n<li>Confirm the PostgreSQL port (default 5432, sometimes 5433 or another value in custom deployments) in postgresql.conf or with SHOW port.<\/li>\n<li>In pg_hba.conf, allow the required client hosts and authentication methods so ArcGIS clients can connect from expected machines\/subnets.<\/li>\n<li>Ensure required login or group roles have CONNECT privileges on the target database.<\/li>\n<\/ul>\n<p>While this is a standard PostgreSQL configuration task, it helps to ensure ArcGIS connects successfully to the database.<\/p>\n"},{"acf_fc_layout":"content","content":"<h1><strong>Considerations for memory and initialization parameters<\/strong><\/h1>\n<p>You can create an enterprise geodatabase with default settings, but performance and maintenance improve quickly with a few targeted adjustments. These tuning considerations apply to both self-managed PostgreSQL and DBaaS deployments, although the exact limits you can configure may vary by cloud provider and service tier.<\/p>\n<p>Consider the following starter-level tuning areas:<\/p>\n<ul>\n<li><strong>shared_buffers<\/strong>\n<ul>\n<li><strong>Start value: ~25% of total RAM<\/strong><\/li>\n<li><strong>Upper bound:<\/strong> Avoid exceeding ~40% of RAM<\/li>\n<li><strong>Example:<\/strong> 32 GB RAM \u2192 shared_buffers = 8GB<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>Why this matters for geodatabases:<\/strong><\/p>\n<p>Shared_buffers\u00a0helps cache frequently accessed tables and indexes, which is important for spatial queries and versioned access patterns. PostgreSQL also depends heavily on OS cache, so over-sizing\u00a0shared_buffers\u00a0often gives diminishing returns. If you increase\u00a0shared_buffers, also review\u00a0max_wal_size, since larger buffer settings typically require a higher WAL threshold to reduce checkpoint pressure and spread write activity over longer intervals.<\/p>\n<ul>\n<li><strong>work_mem<\/strong>\n<ul>\n<li><strong>Start value: <\/strong>8 MB \u2013 32 MB (typical starting range)<\/li>\n<li><strong>Scale up cautiously<\/strong> based on workload<\/li>\n<li><strong>Example baseline:<\/strong> work_mem = 16MB<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>The work_mem parameter is especially important in geodatabase workloads because it applies per sort\/hash operation, not per connection. Branch versioning and spatial queries can involve large joins and sorting intermediate result sets. If work_mem is too small, operations spill to disk and slow down; if it is too large, concurrent queries can overconsume memory. If your workload includes many complex sorts and the server has sufficient memory, increasing work_mem allows larger in-memory sorts, which are typically much faster than disk-based sorts.<\/p>\n<p>On the other side, maintenance_work_mem is separate and defines memory for maintenance operations such as VACUUM, CREATE INDEX, ALTER TABLE, and ADD FOREIGN KEY. The default is 64 MB, which is often conservative. Because a single session runs one maintenance operation at a time, and only a limited number of maintenance tasks usually run concurrently, maintenance_work_mem can often be set higher than work_mem to improve maintenance and restore performance.<\/p>\n<ul>\n<li><strong>effective_cache_size<\/strong>\n<ul>\n<li><strong>Conservative:<\/strong> ~50% of RAM<\/li>\n<li><strong>Typical production:<\/strong> 50%\u201375% of RAM<\/li>\n<li><strong>Example:<\/strong> effective_cache_size = 16GB\u00a0 (conservative approach on a 32GB system)<br \/>\neffective_cache_size = 24GB\u00a0 (more aggressive approach)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>The effective_cache_size parameter is a PostgreSQL planner hint, not a direct memory allocation. It should represent the memory likely available for caching, including both the OS page cache and PostgreSQL cache. In geodatabase workloads, a realistic value can improve plan selection and increase the likelihood of index-based plans, which is especially important for selective attribute and spatial queries.<\/p>\n<p>A common conservative setting is about\u00a050% of total system memory, while\u00a075%\u00a0is a more aggressive but still common production estimate. You can refine this value using operating system statistics. On Linux systems, combine relevant memory values reported by tools such as\u00a0free\u00a0or\u00a0top; on Windows, review\u00a0System Cache\u00a0in Task Manager (Performance tab). Changing\u00a0effective_cache_size\u00a0does not require a database restart.<\/p>\n<p><strong>Bottom line<\/strong><\/p>\n<ul>\n<li>shared_buffers: <strong>25% RAM<\/strong><\/li>\n<li>effective_cache_size: <strong>50\u201375% RAM<\/strong><\/li>\n<li>work_mem: <strong>start ~16MB and tune carefully<\/strong><\/li>\n<\/ul>\n<p>The values above are\u00a0<em>starting points<\/em>, not universal rules for PostgreSQL backed geodatabases. Validate them with your own workloads and adjust based on monitoring (query performance, cache behavior, WAL activity, and maintenance windows) and not as a one-time \u201cset-and-forget\u201d change.<\/p>\n"},{"acf_fc_layout":"content","content":"<h1><strong>Create an enterprise geodatabase<\/strong><\/h1>\n<p>Creating an enterprise geodatabase in PostgreSQL involves two related but separate concepts:<\/p>\n<ol>\n<li>Provide PostgreSQL access to a supported spatial type.<\/li>\n<li>Enable or create the geodatabase itself.<\/li>\n<\/ol>\n<h3><strong>Spatial type requirements<\/strong><\/h3>\n<p>Before you create the geodatabase, PostgreSQL must have access to a supported spatial type.<\/p>\n<ul>\n<li><strong>ST_Geometry requirements<\/strong><\/li>\n<\/ul>\n<p>If you want to use ST_Geometry, download the ST_Geometry package from <a href=\"https:\/\/my.esri.com\/\" target=\"_blank\" rel=\"noopener\">My Esri<\/a>.<\/p>\n<p>A few details matter here:<\/p>\n<ul>\n<li>The package is tied to the\u00a0ArcGIS release\u00a0from which you will create the geodatabase.<\/li>\n<li>The library file must also match your\u00a0PostgreSQL version.<\/li>\n<li>You must choose the correct file for your\u00a0operating system.<\/li>\n<li>As stated earlier, the ST_Geometry spatial type cannot be used on DBaaS deployments.<\/li>\n<\/ul>\n<p>For example, if you are creating the geodatabase with ArcGIS Pro 3.7 and using PostgreSQL 17, download the ST_Geometry package for the ArcGIS Pro 3.7 release from <a href=\"https:\/\/www.esri.com\/en-us\/my-esri-login\" target=\"_blank\" rel=\"noopener\">My Esri<\/a> and use the library file for PostgreSQL 17 and your operating system.<\/p>\n<p>On Windows, place the st_geometry.dll file in the PostgreSQL lib directory, such as: <em>C:\\Program Files\\PostgreSQL\\&lt;PostgreSQL version&gt;\\lib<\/em><\/p>\n<p>Also note that the st_geometry.dll file requires the appropriate Microsoft Visual C++ Redistributable Package (x64) on the PostgreSQL server when running on a Windows server. If the required package is not installed, geodatabase creation can fail.<\/p>\n<ul>\n<li><strong>PostGIS requirements<\/strong><\/li>\n<\/ul>\n<p>If you want to use PostGIS geometry or PostGIS geography, install a version of PostGIS that is<a href=\"https:\/\/doc.esri.com\/en\/arcgis-pro\/latest\/help\/data\/databases\/database-requirements-postgresql.html\" target=\"_blank\" rel=\"noopener\"> supported by ArcGIS<\/a> for your PostgreSQL deployment. Once PostGIS is installed, configure the database to use the PostGIS types according to PostGIS documentation. In practice, this usually means creating the database from a PostGIS-enabled template or enabling PostGIS in an existing database.<\/p>\n<p>On DBaaS deployments, you may need to enable PostGIS as well. Consult the technical documentation for your cloud provider.<\/p>\n<h3><strong>Create the geodatabase<\/strong><\/h3>\n<p>ArcGIS provides two geoprocessing tools to create an enterprise geodatabase in PostgreSQL:\u00a0<a href=\"https:\/\/doc.esri.com\/en\/arcgis-pro\/latest\/tool-reference\/data-management\/enable-enterprise-geodatabase.html?tabs=dialog\" target=\"_blank\" rel=\"noopener\"><strong>Enable Enterprise Geodatabase <\/strong><\/a>and\u00a0<a href=\"https:\/\/doc.esri.com\/en\/arcgis-pro\/latest\/tool-reference\/data-management\/create-enterprise-geodatabase.html?tabs=dialog\" target=\"_blank\" rel=\"noopener\"><strong>Create Enterprise Geodatabase<\/strong><\/a>.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2980580,"id":2980580,"title":"Geoprocessing tools available in ArcGIS Pro","filename":"gp-tools-psg3.png","filesize":59711,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/1999\/08\/gp-tools-psg3.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/deploy-an-enterprise-geodatabase-in-postgresql\/gp-tools-psg3","alt":"Geoprocessing tools available in ArcGIS Pro","author":"156961","description":"Geoprocessing tools available in ArcGIS Pro","caption":"Geoprocessing tools available in ArcGIS Pro","name":"gp-tools-psg3","status":"inherit","uploaded_to":2965710,"date":"2026-08-19 18:11:44","modified":"2026-08-19 18:11:51","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":795,"height":534,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/1999\/08\/gp-tools-psg3-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/1999\/08\/gp-tools-psg3.png","medium-width":389,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/1999\/08\/gp-tools-psg3.png","medium_large-width":768,"medium_large-height":516,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/1999\/08\/gp-tools-psg3.png","large-width":795,"large-height":534,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/1999\/08\/gp-tools-psg3.png","1536x1536-width":795,"1536x1536-height":534,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/1999\/08\/gp-tools-psg3.png","2048x2048-width":795,"2048x2048-height":534,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/1999\/08\/gp-tools-psg3-692x465.png","card_image-width":692,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/1999\/08\/gp-tools-psg3.png","wide_image-width":795,"wide_image-height":534}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>The\u00a0sde\u00a0user is the geodatabase administrator in both workflows; what differs is how the database,\u00a0sde\u00a0login role, and\u00a0sde\u00a0schema are prepared.<\/p>\n<h3><strong>The\u00a0geodatabase administrator<\/strong><\/h3>\n<p>In PostgreSQL, the geodatabase administrator must be named sde. ArcGIS uses this account to own the sde schema and geodatabase system objects.<\/p>\n<p><span data-teams=\"true\">Creating a geodatabase in a self-managed PostgreSQL deployment requires the sde user to have the superuser privileges. If the sde user does not need to terminate database connections that are locking data,<\/span> that elevated privilege can be revisited after geodatabase creation, subject to your administrative and security requirements, but superuser status must be regranted to the sde user when it is time to upgrade the geodatabase.<\/p>\n<p><span data-teams=\"true\">Note: See the <a href=\"https:\/\/doc.esri.com\/en\/arcgis-pro\/latest\/help\/data\/geodatabases\/manage-postgresql\/privileges-postgresql.html#96C\" target=\"_blank\" rel=\"noopener\">Privileges for geodatabases in PostgreSQL<\/a> for the privileges required for your environment.<\/span><\/p>\n"},{"acf_fc_layout":"content","content":"<p><strong>Geoprocessing tools to create a geodatabase in ArcGIS Pro<\/strong><\/p>\n<table>\n<thead>\n<tr>\n<td width=\"101\"><strong>Tool<\/strong><\/td>\n<td width=\"133\"><strong>When to use it<\/strong><\/td>\n<td width=\"143\"><strong>What it does<\/strong><\/td>\n<td width=\"106\"><strong>Deployment options<\/strong><\/td>\n<td width=\"139\"><strong>Key requirements<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td width=\"101\">\n<h4><strong>Enable Enterprise Geodatabase<\/strong><\/h4>\n<\/td>\n<td width=\"133\">Use when the database already exists. Common when DBA and geodatabase admin responsibilities are separated, and typical in DBaaS workflows.<\/td>\n<td width=\"143\">Creates geodatabase system tables, views, functions, and procedures in the existing\u00a0sde\u00a0schema.<\/td>\n<td width=\"106\">&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Self-managed and DBaaS<\/td>\n<td width=\"139\">Requires an existing database, an sde login with required privileges, an sde schema, and a saved database connection as sde.<\/td>\n<\/tr>\n<tr>\n<td width=\"101\">\n<h4><strong>Create Enterprise Geodatabase<\/strong><\/h4>\n<\/td>\n<td width=\"133\">Use when you want ArcGIS to create the PostgreSQL database and geodatabase components for you. Common when the same person is both PostgreSQL admin and geodatabase admin.<\/td>\n<td width=\"143\">Creates the database, creates or uses the\u00a0sde\u00a0login, creates the\u00a0sde\u00a0schema, and creates the geodatabase.<\/td>\n<td width=\"106\">&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Self-managed only<\/td>\n<td width=\"139\">Requires PostgreSQL superuser credentials (typically\u00a0postgres).<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n"},{"acf_fc_layout":"content","content":"<p><strong>Note:<\/strong> Obtain the <a href=\"https:\/\/doc.esri.com\/en\/arcgis-enterprise\/latest\/deploy\/authorize-arcgis-server.html?pivots=os-windows\" target=\"_blank\" rel=\"noopener\">ArcGIS Server keycodes file<\/a> and place it in a location accessible from the ArcGIS client machine you will use to enable or create the geodatabase.<\/p>\n<p>This distinction is important: you do not always need to create the PostgreSQL database manually first. If you use the <strong>Create Enterprise Geodatabase <\/strong>tool, ArcGIS can create the database using PostgreSQL\u2019s default template unless you choose to pre-create it.<\/p>\n<p>If you need a different database template, or your administration model separates database administration from geodatabase administration, create the database first and then use the appropriate workflow.<\/p>\n<h3><strong>If you create the database first<\/strong><\/h3>\n<p>If you create the database yourself before enabling the geodatabase, you must make sure the following are in place:<\/p>\n<ul>\n<li>The database exists.<\/li>\n<li>A login role named\u00a0sde\u00a0exists.<\/li>\n<li>The sde\u00a0user has the privileges required to create the geodatabase.<\/li>\n<li>A schema named\u00a0sde\u00a0exists in the database.<\/li>\n<li>The\u00a0sde\u00a0user has authority on the\u00a0sde\u00a0schema.<\/li>\n<li>PostgreSQL has access to a supported spatial type.<\/li>\n<li>The\u00a0public schema\u00a0exists.<\/li>\n<\/ul>\n<p><strong>What creating or enabling a geodatabase does<\/strong><\/p>\n<p>Whether you use the <strong>Enable Enterprise Geodatabase <\/strong>or <strong>Create Enterprise Geodatabase <\/strong>tool, ArcGIS creates the system objects required for geodatabase behavior.<\/p>\n<p>These include geodatabase system tables, views, functions, and procedures, primarily in the\u00a0sde\u00a0schema. In PostgreSQL, one geodatabase system table is also created in the\u00a0public\u00a0schema, which is why the\u00a0public\u00a0schema must exist when enabling a geodatabase in an existing database.<\/p>\n"},{"acf_fc_layout":"content","content":"<h3 style=\"text-align: left\"><strong>Managed PostgreSQL service considerations<\/strong><\/h3>\n<p style=\"text-align: left\">ArcGIS supports several\u00a0cloud-based PostgreSQL database services. The overall concepts are the same, but the workflow is usually different from a fully self-managed PostgreSQL installation.<\/p>\n<p style=\"text-align: left\">In DBaaS deployments, you typically:<\/p>\n<ul style=\"text-align: left\">\n<li>Provision the database service instance first.<\/li>\n<li>Configure it to accept connections from the ArcGIS clients.<\/li>\n<li>Create the sde user login. Only database-authenticated sde logins are supported in DBaaS offerings.<\/li>\n<li>Grant\u00a0the sde\u00a0user the privileges required for geodatabase creation. See <a href=\"https:\/\/doc.esri.com\/en\/arcgis-pro\/latest\/help\/data\/geodatabases\/manage-postgresql\/privileges-postgresql.html#96C\" target=\"_blank\" rel=\"noopener\">Privileges for geodatabases in PostgreSQL<\/a> for the specific privilege needed for the database service you use.<\/li>\n<li>Create the sde schema and grant\u00a0the sde\u00a0user authority on it.<\/li>\n<li>Install ArcGIS Pro or ArcGIS Server in the\u00a0same cloud platform and region.<\/li>\n<li>Create a database connection as\u00a0the sde\u00a0user and\u00a0save the password with the connection file.<\/li>\n<li>Use\u00a0Enable Enterprise Geodatabase tool to create the geodatabase.<\/li>\n<\/ul>\n<p style=\"text-align: left\">While the security concepts are similar, the exact administrative steps and assigned privileges depend on the cloud provider\u2019s PostgreSQL offering.<\/p>\n"},{"acf_fc_layout":"content","content":"<p><strong>Note:\u00a0<\/strong>Follow the\u00a0<a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-enterprise\/data-management\/arcgis-clients-and-dbms-upgrade-considerations\/\" target=\"_blank\" rel=\"noopener\">ArcGIS clients and DBMS upgrade considerations blog article<\/a> which\u00a0illustrates a common workflow example that many organizations\u00a0use\u00a0when upgrading their systems.<\/p>\n<h1><strong>Connect to your geodatabase in ArcGIS Pro<\/strong><\/h1>\n<p>Once the geodatabase exists, connect to it from ArcGIS Pro.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2980597,"id":2980597,"title":"Make a database connection","filename":"dbconnection-psg3.png","filesize":47625,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/1999\/08\/dbconnection-psg3.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/deploy-an-enterprise-geodatabase-in-postgresql\/dbconnection-psg3","alt":"Make a database connection","author":"156961","description":"Make a database connection","caption":"Make a database connection","name":"dbconnection-psg3","status":"inherit","uploaded_to":2965710,"date":"2026-08-19 20:51:20","modified":"2026-08-19 20:51:30","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":553,"height":605,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/1999\/08\/dbconnection-psg3-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/1999\/08\/dbconnection-psg3.png","medium-width":239,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/1999\/08\/dbconnection-psg3.png","medium_large-width":553,"medium_large-height":605,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/1999\/08\/dbconnection-psg3.png","large-width":553,"large-height":605,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/1999\/08\/dbconnection-psg3.png","1536x1536-width":553,"1536x1536-height":605,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/1999\/08\/dbconnection-psg3.png","2048x2048-width":553,"2048x2048-height":605,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/1999\/08\/dbconnection-psg3-425x465.png","card_image-width":425,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/1999\/08\/dbconnection-psg3.png","wide_image-width":553,"wide_image-height":605}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>To create a database connection file in ArcGIS Pro:<\/p>\n<ol>\n<li>Open the\u00a0<strong>Catalog<\/strong>\u00a0pane.<\/li>\n<li>Right-click\u00a0<strong>Databases<\/strong>\u00a0or a folder under\u00a0<strong>Folders<\/strong>, and click\u00a0<strong>New Database Connection<\/strong>.<\/li>\n<li>Choose\u00a0<strong>PostgreSQL<\/strong>\u00a0from the\u00a0<strong>Database Platform<\/strong>\u00a0list.<\/li>\n<li>In\u00a0<strong>Instance<\/strong>, provide the database cluster name, host name, or IP address.<\/li>\n<li>Choose the authentication type.<\/li>\n<li>Specify the database name.<\/li>\n<li>Provide the connection file name.<\/li>\n<li>If PostgreSQL uses a nondefault port, expand\u00a0<strong>Additional Properties<\/strong>, choose\u00a0<strong>Port<\/strong>, and enter the port number.<\/li>\n<li>Click\u00a0<strong>Validate<\/strong>.<\/li>\n<li>Click\u00a0<strong>OK<\/strong>.<\/li>\n<\/ol>\n<h1><strong>Manage users and roles<\/strong><\/h1>\n<p>After the geodatabase is created, create users and roles for the people in your organizations that will own, edit, or view data.<\/p>\n<p>A best practice for geodatabases in PostgreSQL is to\u00a0separate geodatabase administration from data ownership.<\/p>\n<ul>\n<li>The\u00a0<strong>sde<\/strong>\u00a0user administers the geodatabase.<\/li>\n<li>Business data should usually be owned by\u00a0<strong>other users<\/strong>, not by\u00a0sde.<\/li>\n<\/ul>\n<p>ArcGIS tools can help with user creation in some workflows. For example, in a PostgreSQL environment you can use the <a href=\"https:\/\/doc.esri.com\/en\/arcgis-pro\/latest\/tool-reference\/data-management\/create-database-user.html?tabs=dialog\" target=\"_blank\" rel=\"noopener\">Create Database User tool<\/a> to create a database user who can create tables and feature classes. PostgreSQL roles can also be managed directly with database tools such as psql or pgAdmin.<\/p>\n<p>If a read-only user is needed,\u00a0you\u00a0must\u00a0create the user role\u00a0using DBMS tools such as psql or pgAdmin. For example, you would type the following:<\/p>\n<p><strong><em>create-reader-role.sql<\/em><\/strong><\/p>\n<pre><em>CREATE ROLE reader1 LOGIN<\/em>\r\n<em>ENCRYPTED PASSWORD 'pw.4reader1'<\/em>\r\n<em>NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;<\/em>\r\n<em>GRANT readers TO reader1;<\/em><\/pre>\n<p><strong>Note<\/strong>: See the\u00a0<a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/data\/geodatabases\/manage-postgresql\/privileges-postgresql.htm\" target=\"_blank\" rel=\"noopener\">Privileges for geodatabases in PostgreSQL<\/a>\u00a0topic to learn more about privileges for geodatabases in PostgreSQL.<\/p>\n<p>It is important to mention that ArcGIS expects lowercase object names when working with PostgreSQL. Database names, schema names, and other object names used for geodatabase setup should be lowercase only.<\/p>\n<p>You can also use the <a href=\"https:\/\/doc.esri.com\/en\/arcgis-pro\/latest\/tool-reference\/data-management\/create-role.html?tabs=dialog\" target=\"_blank\" rel=\"noopener\">Create Role<\/a> geoprocessing tool to manage permissions across multiple users.<\/p>\n"},{"acf_fc_layout":"content","content":"<h1><strong>Create and manage datasets<\/strong><\/h1>\n<p>Once your geodatabase and users are in place, you can create or add datasets to the enterprise geodatabase using the data owners you created earlier.<\/p>\n<p>You can also register existing data with the geodatabase. Registering data with the geodatabase allows you to use several geodatabase capabilities such as:<\/p>\n<ul>\n<li><a href=\"https:\/\/doc.esri.com\/en\/arcgis-pro\/latest\/help\/data\/geodatabases\/overview\/overview-of-versioning-in-arcgis-pro.html\" target=\"_blank\" rel=\"noopener\">versioning<\/a><\/li>\n<li><a href=\"https:\/\/doc.esri.com\/en\/arcgis-pro\/latest\/help\/data\/topologies\/an-overview-of-topology-in-arcgis.html\" target=\"_blank\" rel=\"noopener\">topology<\/a><\/li>\n<li><a href=\"https:\/\/doc.esri.com\/en\/arcgis-pro\/latest\/help\/data\/geodatabases\/overview\/an-overview-of-attribute-rules.html\" target=\"_blank\" rel=\"noopener\">attribute rules<\/a><\/li>\n<\/ul>\n<p>As the data owner you can use the <a href=\"https:\/\/doc.esri.com\/en\/arcgis-pro\/latest\/tool-reference\/data-management\/change-privileges.html\" target=\"_blank\" rel=\"noopener\">Change Privileges<\/a> geoprocessing tool to revoke or grant database users read or write access to your datasets.<\/p>\n"},{"acf_fc_layout":"content","content":"<h1>Final thoughts<\/h1>\n<p>Deploying an enterprise geodatabase in PostgreSQL starts with choosing the right supported versions and spatial type, ensuring connectivity and authentication align with your organization requirements, and then creating the geodatabase with an access model that matches your organization\u2019s roles. Once it\u2019s in place, PostgreSQL supports a clear, role-driven security approach, and ArcGIS tools help keep dataset permissions consistent as your geodatabase grows.<\/p>\n<p>See the following additional\u00a0resources:<\/p>\n<ul>\n<li>For an\u00a0overview of enterprise geodatabases, watch the\u00a0<a href=\"https:\/\/mediaspace.esri.com\/media\/t\/1_hf0tikqx\/373038502\" target=\"_blank\" rel=\"noopener\">Enterprise Geodatabase: An Introduction<\/a> technical workshop presented at the Esri User Conference 2025.<\/li>\n<li>\n<p class=\"MuiTypography-root __private__-typography-root MuiTypography-h3 __private__-typography-h3 e1oopdiu0 e1ie5gf00 kltr-host-1o8uuip-__private__-typography-root\">To learn about tools that you can use to troubleshoot cases in your own organization watch the <a href=\"https:\/\/mediaspace.esri.com\/media\/t\/1_qowjjpry\/373038502\" target=\"_blank\" rel=\"noopener\">Enterprise Geodatabase: Performance Troubleshooting<\/a> technical workshop presented at the Esri User Conference 2025.<\/p>\n<\/li>\n<li>Follow the\u00a0example workflow\u00a0to upgrade\u00a0ArcGIS clients and the database version in an organization\u00a0in the\u00a0<a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-enterprise\/data-management\/arcgis-clients-and-dbms-upgrade-considerations\/\" target=\"_blank\" rel=\"noopener\">ArcGIS clients and DBMS upgrade considerations<\/a>\u00a0blog article.<\/li>\n<li>If you want to understand how to best upgrade your geodatabase when using services, check out <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-enterprise\/data-management\/manage-geodatabase-upgrades-in-a-service-based-architecture\" target=\"_blank\" rel=\"noopener\">Manage geodatabase upgrades in a service-based architecture<\/a> blog.<\/li>\n<li>If your enterprise geodatabase is backed by an Oracle database, the <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/deploy-an-enterprise-geodatabase-in-oracle\" target=\"_blank\" rel=\"noopener\">Deploy an enterprise geodatabase on Oracle\u00a0<\/a>blog is for you.<\/li>\n<\/ul>\n<p>For additional resources on spatial data management check out the\u00a0<a href=\"https:\/\/geodatabase-resources-gdbteam.hub.arcgis.com\/\" target=\"_blank\" rel=\"noopener\">Geodatabase Resources Hub<\/a>.<\/p>\n"}],"related_articles":[{"ID":1641242,"post_author":"9882","post_date":"2022-06-29 09:12:02","post_date_gmt":"2022-06-29 16:12:02","post_content":"","post_title":"Create an on-premises PostGIS only geodatabase in PostgreSQL","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"create-an-on-premises-postgis-only-geodatabase-in-postgresql","to_ping":"","pinged":"","post_modified":"2022-06-29 09:37:59","post_modified_gmt":"2022-06-29 16:37:59","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=1641242","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"2","filter":"raw"},{"ID":2188072,"post_author":"156961","post_date":"2024-01-11 09:37:33","post_date_gmt":"2024-01-11 17:37:33","post_content":"","post_title":"ArcGIS clients and DBMS upgrade considerations","post_excerpt":"","post_status":"publish","comment_status":"closed","ping_status":"closed","post_password":"","post_name":"arcgis-clients-and-dbms-upgrade-considerations","to_ping":"","pinged":"","post_modified":"2024-01-11 09:37:49","post_modified_gmt":"2024-01-11 17:37:49","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2188072","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":2832232,"post_author":"156961","post_date":"2025-06-13 11:00:00","post_date_gmt":"2025-06-13 18:00:00","post_content":"","post_title":"Manage geodatabase upgrades in a service-based architecture","post_excerpt":"","post_status":"publish","comment_status":"closed","ping_status":"closed","post_password":"","post_name":"manage-geodatabase-upgrades-in-a-service-based-architecture","to_ping":"","pinged":"","post_modified":"2026-08-12 13:51:46","post_modified_gmt":"2026-08-12 20:51:46","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2832232","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":2952687,"post_author":"156961","post_date":"2026-01-05 12:12:26","post_date_gmt":"2026-01-05 20:12:26","post_content":"","post_title":"Deploy an enterprise geodatabase in Oracle","post_excerpt":"","post_status":"publish","comment_status":"closed","ping_status":"closed","post_password":"","post_name":"deploy-an-enterprise-geodatabase-in-oracle","to_ping":"","pinged":"","post_modified":"2026-08-20 10:33:23","post_modified_gmt":"2026-08-20 17:33:23","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2952687","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"}],"authors":[{"ID":156961,"user_firstname":"Diana","user_lastname":"Muresan","nickname":"Diana Muresan","user_nicename":"dmuresan","display_name":"Diana Muresan","user_email":"dmuresan@esri.com","user_url":"","user_registered":"2021-01-12 23:13:12","user_description":"Product Engineer on the Geodatabase team, passionate about making a difference in people's lives using GIS. Hiker and a true \u00c9clair and Cr\u00eape lover in her free time.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/02\/Photo_crop-213x200.jpg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"show_article_image":false,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/08\/SMALLcard-final.png","wide_image":false},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Deploy an enterprise geodatabase in PostgreSQL<\/title>\n<meta name=\"description\" content=\"Learn how to prepare PostgreSQL and create an enterprise geodatabase for ArcGIS on-premises or in the cloud.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/deploy-an-enterprise-geodatabase-in-postgresql\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Deploy an enterprise geodatabase in PostgreSQL\" \/>\n<meta property=\"og:description\" content=\"Learn how to prepare PostgreSQL and create an enterprise geodatabase for ArcGIS on-premises or in the cloud.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/deploy-an-enterprise-geodatabase-in-postgresql\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-20T17:41:09+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/deploy-an-enterprise-geodatabase-in-postgresql#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/deploy-an-enterprise-geodatabase-in-postgresql\"},\"author\":{\"name\":\"Diana Muresan\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/4fd5d4cc17e6b2cf4dede740d9a70ca8\"},\"headline\":\"Deploy an enterprise geodatabase in PostgreSQL\",\"datePublished\":\"2026-08-19T22:00:29+00:00\",\"dateModified\":\"2026-08-20T17:41:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/deploy-an-enterprise-geodatabase-in-postgresql\"},\"wordCount\":6,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"database\",\"geodatabase\",\"PostGIS\",\"PostgreSQL\",\"ST_Geometry\"],\"articleSection\":[\"Data Management\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/deploy-an-enterprise-geodatabase-in-postgresql\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/deploy-an-enterprise-geodatabase-in-postgresql\",\"name\":\"Deploy an enterprise geodatabase in PostgreSQL\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2026-08-19T22:00:29+00:00\",\"dateModified\":\"2026-08-20T17:41:09+00:00\",\"description\":\"Learn how to prepare PostgreSQL and create an enterprise geodatabase for ArcGIS on-premises or in the cloud.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/deploy-an-enterprise-geodatabase-in-postgresql#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/deploy-an-enterprise-geodatabase-in-postgresql\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/deploy-an-enterprise-geodatabase-in-postgresql#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Deploy an enterprise geodatabase in PostgreSQL\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/4fd5d4cc17e6b2cf4dede740d9a70ca8\",\"name\":\"Diana Muresan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/02\/Photo_crop-213x200.jpg\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/02\/Photo_crop-213x200.jpg\",\"caption\":\"Diana Muresan\"},\"description\":\"Product Engineer on the Geodatabase team, passionate about making a difference in people's lives using GIS. Hiker and a true \u00c9clair and Cr\u00eape lover in her free time.\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/dmuresan\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Deploy an enterprise geodatabase in PostgreSQL","description":"Learn how to prepare PostgreSQL and create an enterprise geodatabase for ArcGIS on-premises or in the cloud.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/deploy-an-enterprise-geodatabase-in-postgresql","og_locale":"en_US","og_type":"article","og_title":"Deploy an enterprise geodatabase in PostgreSQL","og_description":"Learn how to prepare PostgreSQL and create an enterprise geodatabase for ArcGIS on-premises or in the cloud.","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/deploy-an-enterprise-geodatabase-in-postgresql","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2026-08-20T17:41:09+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","twitter_misc":{"Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/deploy-an-enterprise-geodatabase-in-postgresql#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/deploy-an-enterprise-geodatabase-in-postgresql"},"author":{"name":"Diana Muresan","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/4fd5d4cc17e6b2cf4dede740d9a70ca8"},"headline":"Deploy an enterprise geodatabase in PostgreSQL","datePublished":"2026-08-19T22:00:29+00:00","dateModified":"2026-08-20T17:41:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/deploy-an-enterprise-geodatabase-in-postgresql"},"wordCount":6,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["database","geodatabase","PostGIS","PostgreSQL","ST_Geometry"],"articleSection":["Data Management"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/deploy-an-enterprise-geodatabase-in-postgresql","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/deploy-an-enterprise-geodatabase-in-postgresql","name":"Deploy an enterprise geodatabase in PostgreSQL","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2026-08-19T22:00:29+00:00","dateModified":"2026-08-20T17:41:09+00:00","description":"Learn how to prepare PostgreSQL and create an enterprise geodatabase for ArcGIS on-premises or in the cloud.","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/deploy-an-enterprise-geodatabase-in-postgresql#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/deploy-an-enterprise-geodatabase-in-postgresql"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/deploy-an-enterprise-geodatabase-in-postgresql#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Deploy an enterprise geodatabase in PostgreSQL"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/4fd5d4cc17e6b2cf4dede740d9a70ca8","name":"Diana Muresan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/02\/Photo_crop-213x200.jpg","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/02\/Photo_crop-213x200.jpg","caption":"Diana Muresan"},"description":"Product Engineer on the Geodatabase team, passionate about making a difference in people's lives using GIS. Hiker and a true \u00c9clair and Cr\u00eape lover in her free time.","url":"https:\/\/www.esri.com\/arcgis-blog\/author\/dmuresan"}]}},"text_date":"August 19, 2026","author_name":"Diana Muresan","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/dmuresan","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/08\/Newsroom-Keyart-Wide-1920-x-1080.jpg","primary_product":"ArcGIS Pro","tag_data":[{"term_id":763732,"name":"database","slug":"database","term_group":0,"term_taxonomy_id":763732,"taxonomy":"post_tag","description":"","parent":0,"count":5,"filter":"raw"},{"term_id":25381,"name":"geodatabase","slug":"geodatabase","term_group":0,"term_taxonomy_id":25381,"taxonomy":"post_tag","description":"","parent":0,"count":52,"filter":"raw"},{"term_id":766052,"name":"PostGIS","slug":"postgis","term_group":0,"term_taxonomy_id":766052,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"},{"term_id":766062,"name":"PostgreSQL","slug":"postgresql","term_group":0,"term_taxonomy_id":766062,"taxonomy":"post_tag","description":"","parent":0,"count":4,"filter":"raw"},{"term_id":781038,"name":"ST_Geometry","slug":"st_geometry","term_group":0,"term_taxonomy_id":781038,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"}],"category_data":[{"term_id":23851,"name":"Data Management","slug":"data-management","term_group":0,"term_taxonomy_id":23851,"taxonomy":"category","description":"","parent":0,"count":971,"filter":"raw"}],"product_data":[{"term_id":36561,"name":"ArcGIS Pro","slug":"arcgis-pro","term_group":0,"term_taxonomy_id":36561,"taxonomy":"product","description":"","parent":0,"count":2151,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=arcgis-pro","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2965710","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/156961"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=2965710"}],"version-history":[{"count":30,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2965710\/revisions"}],"predecessor-version":[{"id":2980623,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2965710\/revisions\/2980623"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=2965710"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=2965710"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=2965710"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=2965710"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=2965710"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}