{
    "api_version": "1",
    "kind": "dse_post",
    "self": "https://update.dsesecurity.com/api/v1/posts/preserve-postgresql-global-objects-beside-database-dumps/",
    "item": {
        "id": "https://update.dsesecurity.com/updates/preserve-postgresql-global-objects-beside-database-dumps/",
        "slug": "preserve-postgresql-global-objects-beside-database-dumps",
        "url": "https://update.dsesecurity.com/updates/preserve-postgresql-global-objects-beside-database-dumps/",
        "alternate_urls": {
            "markdown": "https://update.dsesecurity.com/updates/preserve-postgresql-global-objects-beside-database-dumps.md",
            "json": "https://update.dsesecurity.com/api/v1/posts/preserve-postgresql-global-objects-beside-database-dumps/"
        },
        "title": "Preserve PostgreSQL global objects beside database dumps",
        "summary": "Give shared roles and tablespaces an explicit recovery step beside per-database archives.",
        "format": {
            "slug": "guide",
            "name": "Guide"
        },
        "priority": {
            "slug": "info",
            "name": "Information"
        },
        "featured": false,
        "image": {
            "theme": "continuity-recovery",
            "label": "Continuity & recovery",
            "alt": "Paired infrastructure paths converging on a stable recovered service.",
            "card_url": "https://update.dsesecurity.com/assets/editorial/continuity-recovery-card.webp?v=1.8.20",
            "hero_url": "https://update.dsesecurity.com/assets/editorial/continuity-recovery-hero.webp?v=1.8.20",
            "social_url": "https://update.dsesecurity.com/assets/editorial/continuity-recovery-social-v2.jpg?v=1.8.20",
            "width": 2400,
            "height": 1350
        },
        "topics": [
            {
                "slug": "business-continuity",
                "name": "Business Continuity",
                "url": "https://update.dsesecurity.com/topic/business-continuity/"
            },
            {
                "slug": "it",
                "name": "IT",
                "url": "https://update.dsesecurity.com/topic/it/"
            }
        ],
        "author": {
            "name": "DSE Security Editorial Team",
            "url": "https://update.dsesecurity.com/#editorial-team",
            "type": "Organization"
        },
        "publisher": {
            "name": "Detection Systems & Engineering",
            "url": "https://dsesecurity.com/"
        },
        "published_at": "2026-10-15T13:32:24+00:00",
        "modified_at": "2026-10-15T13:36:14+00:00",
        "reviewed_on": "2026-10-15",
        "reading_minutes": 2,
        "word_count": 238,
        "potentially_affected": "This applies to PostgreSQL 17 recovery plans built around per-database logical archives. It concerns cluster-wide prerequisites, not a substitute for backing up each database's data.",
        "dse_recommendation": "DSE recommends pairing each database-backup policy with an owned global-object export and recording which recovery stage restores it.",
        "primary_source": {
            "name": "PostgreSQL 17 — pg_dumpall",
            "url": "https://www.postgresql.org/docs/17/app-pg-dumpall.html",
            "published_on": null,
            "authority": "www.postgresql.org"
        },
        "publishing_principles": "https://update.dsesecurity.com/updates/dse-updates-editorial-methodology/",
        "usage_info": "https://update.dsesecurity.com/usage/",
        "copyright_notice": "Copyright © 2026 Detection Systems & Engineering. All rights reserved.",
        "content_html": "<p>Give shared roles and tablespaces an explicit recovery step beside per-database archives.</p>\n<h2>Source facts</h2>\n<p>A PostgreSQL 17 pg_dumpall export includes cluster-wide objects that individual pg_dump archives omit, including roles and tablespaces. Its globals-only option exports the shared objects without database contents. Producing a complete cluster export and restoring its role definitions commonly require elevated database privileges. The no-role-passwords option deliberately omits role password values; after restoration those roles cannot use password authentication until passwords are assigned. A globals export therefore needs an explicit credential-recovery decision.</p>\n<p>Source: <a href=\"https://www.postgresql.org/docs/17/app-pg-dumpall.html\">PostgreSQL 17 — pg_dumpall</a>.</p>\n<h2>Applicability</h2>\n<p>This applies to PostgreSQL 17 recovery plans built around per-database logical archives. It concerns cluster-wide prerequisites, not a substitute for backing up each database&#8217;s data.</p>\n<h2>DSE recommendation</h2>\n<p>DSE recommends pairing each database-backup policy with an owned global-object export and recording which recovery stage restores it. Protect that export as sensitive administration material. Decide deliberately whether password values are retained or reset during recovery, and document the separate recovery authority required. Include intended tablespace locations and ownership in the build sheet. Avoid assuming that restoring an application&#8217;s tables also reconstructs every role and filesystem prerequisite its owners depend on.</p>\n<h2>Verification</h2>\n<p>Build an isolated empty cluster and rehearse the global-object stage before the selected database restore. Check role membership, intended ownership, tablespace paths, and the planned authentication-reset procedure. Record any deliberate differences from production so they are not mistaken for missing backup content.</p>\n<h2>Official reference</h2>\n<p><a href=\"https://www.postgresql.org/docs/17/app-pg-dumpall.html\">PostgreSQL 17 — pg_dumpall</a>. Reviewed October 15, 2026.</p>",
        "content_text": "Give shared roles and tablespaces an explicit recovery step beside per-database archives.\nSource facts\nA PostgreSQL 17 pg_dumpall export includes cluster-wide objects that individual pg_dump archives omit, including roles and tablespaces. Its globals-only option exports the shared objects without database contents. Producing a complete cluster export and restoring its role definitions commonly require elevated database privileges. The no-role-passwords option deliberately omits role password values; after restoration those roles cannot use password authentication until passwords are assigned. A globals export therefore needs an explicit credential-recovery decision.\nSource: PostgreSQL 17 — pg_dumpall.\nApplicability\nThis applies to PostgreSQL 17 recovery plans built around per-database logical archives. It concerns cluster-wide prerequisites, not a substitute for backing up each database’s data.\nDSE recommendation\nDSE recommends pairing each database-backup policy with an owned global-object export and recording which recovery stage restores it. Protect that export as sensitive administration material. Decide deliberately whether password values are retained or reset during recovery, and document the separate recovery authority required. Include intended tablespace locations and ownership in the build sheet. Avoid assuming that restoring an application’s tables also reconstructs every role and filesystem prerequisite its owners depend on.\nVerification\nBuild an isolated empty cluster and rehearse the global-object stage before the selected database restore. Check role membership, intended ownership, tablespace paths, and the planned authentication-reset procedure. Record any deliberate differences from production so they are not mistaken for missing backup content.\nOfficial reference\nPostgreSQL 17 — pg_dumpall. Reviewed October 15, 2026.",
        "content_markdown": "Give shared roles and tablespaces an explicit recovery step beside per-database archives.\n\n## Source facts\n\nA PostgreSQL 17 pg_dumpall export includes cluster-wide objects that individual pg_dump archives omit, including roles and tablespaces. Its globals-only option exports the shared objects without database contents. Producing a complete cluster export and restoring its role definitions commonly require elevated database privileges. The no-role-passwords option deliberately omits role password values; after restoration those roles cannot use password authentication until passwords are assigned. A globals export therefore needs an explicit credential-recovery decision.\n\nSource: [PostgreSQL 17 — pg_dumpall](https://www.postgresql.org/docs/17/app-pg-dumpall.html).\n\n## Applicability\n\nThis applies to PostgreSQL 17 recovery plans built around per-database logical archives. It concerns cluster-wide prerequisites, not a substitute for backing up each database’s data.\n\n## DSE recommendation\n\nDSE recommends pairing each database-backup policy with an owned global-object export and recording which recovery stage restores it. Protect that export as sensitive administration material. Decide deliberately whether password values are retained or reset during recovery, and document the separate recovery authority required. Include intended tablespace locations and ownership in the build sheet. Avoid assuming that restoring an application’s tables also reconstructs every role and filesystem prerequisite its owners depend on.\n\n## Verification\n\nBuild an isolated empty cluster and rehearse the global-object stage before the selected database restore. Check role membership, intended ownership, tablespace paths, and the planned authentication-reset procedure. Record any deliberate differences from production so they are not mistaken for missing backup content.\n\n## Official reference\n\n[PostgreSQL 17 — pg_dumpall](https://www.postgresql.org/docs/17/app-pg-dumpall.html). Reviewed October 15, 2026."
    },
    "json_ld": {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "https://dsesecurity.com/#organization",
                "name": "Detection Systems & Engineering",
                "alternateName": "DSE Security",
                "url": "https://dsesecurity.com/",
                "logo": {
                    "@type": "ImageObject",
                    "url": "https://update.dsesecurity.com/assets/dse-logo-20260812.png?v=1.8.20"
                }
            },
            {
                "@type": "Organization",
                "@id": "https://update.dsesecurity.com/#editorial-team",
                "name": "DSE Security Editorial Team",
                "url": "https://update.dsesecurity.com/",
                "parentOrganization": {
                    "@id": "https://dsesecurity.com/#organization"
                }
            },
            {
                "@type": "WebSite",
                "@id": "https://update.dsesecurity.com/#website",
                "name": "DSE Updates",
                "alternateName": "DSE Security Knowledge Hub",
                "url": "https://update.dsesecurity.com/",
                "inLanguage": "en-US",
                "publisher": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "potentialAction": {
                    "@type": "SearchAction",
                    "target": {
                        "@type": "EntryPoint",
                        "urlTemplate": "https://update.dsesecurity.com/?q={search_term_string}"
                    },
                    "query-input": "required name=search_term_string"
                }
            },
            {
                "@type": "WebPage",
                "@id": "https://update.dsesecurity.com/updates/preserve-postgresql-global-objects-beside-database-dumps/",
                "url": "https://update.dsesecurity.com/updates/preserve-postgresql-global-objects-beside-database-dumps/",
                "isPartOf": {
                    "@id": "https://update.dsesecurity.com/#website"
                },
                "lastReviewed": "2026-10-15"
            },
            {
                "@type": "BreadcrumbList",
                "@id": "https://update.dsesecurity.com/updates/preserve-postgresql-global-objects-beside-database-dumps/#breadcrumbs",
                "itemListElement": [
                    {
                        "@type": "ListItem",
                        "position": 1,
                        "name": "DSE Updates",
                        "item": "https://update.dsesecurity.com/"
                    },
                    {
                        "@type": "ListItem",
                        "position": 2,
                        "name": "Preserve PostgreSQL global objects beside database dumps",
                        "item": "https://update.dsesecurity.com/updates/preserve-postgresql-global-objects-beside-database-dumps/"
                    }
                ]
            },
            {
                "@type": [
                    "Article",
                    "TechArticle"
                ],
                "@id": "https://update.dsesecurity.com/updates/preserve-postgresql-global-objects-beside-database-dumps/#article",
                "identifier": "https://update.dsesecurity.com/updates/preserve-postgresql-global-objects-beside-database-dumps/",
                "url": "https://update.dsesecurity.com/updates/preserve-postgresql-global-objects-beside-database-dumps/",
                "headline": "Preserve PostgreSQL global objects beside database dumps",
                "description": "Give shared roles and tablespaces an explicit recovery step beside per-database archives.",
                "abstract": "Give shared roles and tablespaces an explicit recovery step beside per-database archives.",
                "articleBody": "Give shared roles and tablespaces an explicit recovery step beside per-database archives.\nSource facts\nA PostgreSQL 17 pg_dumpall export includes cluster-wide objects that individual pg_dump archives omit, including roles and tablespaces. Its globals-only option exports the shared objects without database contents. Producing a complete cluster export and restoring its role definitions commonly require elevated database privileges. The no-role-passwords option deliberately omits role password values; after restoration those roles cannot use password authentication until passwords are assigned. A globals export therefore needs an explicit credential-recovery decision.\nSource: PostgreSQL 17 — pg_dumpall.\nApplicability\nThis applies to PostgreSQL 17 recovery plans built around per-database logical archives. It concerns cluster-wide prerequisites, not a substitute for backing up each database’s data.\nDSE recommendation\nDSE recommends pairing each database-backup policy with an owned global-object export and recording which recovery stage restores it. Protect that export as sensitive administration material. Decide deliberately whether password values are retained or reset during recovery, and document the separate recovery authority required. Include intended tablespace locations and ownership in the build sheet. Avoid assuming that restoring an application’s tables also reconstructs every role and filesystem prerequisite its owners depend on.\nVerification\nBuild an isolated empty cluster and rehearse the global-object stage before the selected database restore. Check role membership, intended ownership, tablespace paths, and the planned authentication-reset procedure. Record any deliberate differences from production so they are not mistaken for missing backup content.\nOfficial reference\nPostgreSQL 17 — pg_dumpall. Reviewed October 15, 2026.",
                "datePublished": "2026-10-15T13:32:24+00:00",
                "dateModified": "2026-10-15T13:36:14+00:00",
                "mainEntityOfPage": {
                    "@id": "https://update.dsesecurity.com/updates/preserve-postgresql-global-objects-beside-database-dumps/"
                },
                "inLanguage": "en-US",
                "isAccessibleForFree": true,
                "author": {
                    "@type": "Organization",
                    "name": "DSE Security Editorial Team",
                    "url": "https://update.dsesecurity.com/#editorial-team"
                },
                "publisher": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "image": {
                    "@type": "ImageObject",
                    "@id": "https://update.dsesecurity.com/updates/preserve-postgresql-global-objects-beside-database-dumps/#primaryimage",
                    "url": "https://update.dsesecurity.com/assets/editorial/continuity-recovery-social-v2.jpg?v=1.8.20",
                    "contentUrl": "https://update.dsesecurity.com/assets/editorial/continuity-recovery-social-v2.jpg?v=1.8.20",
                    "width": 1200,
                    "height": 630,
                    "caption": "Preserve PostgreSQL global objects beside database dumps"
                },
                "articleSection": [
                    "Business Continuity",
                    "IT"
                ],
                "keywords": [
                    "Business Continuity",
                    "IT",
                    "Guide",
                    "Information priority"
                ],
                "genre": "Guide",
                "about": [
                    {
                        "@type": "Thing",
                        "name": "Business Continuity",
                        "url": "https://update.dsesecurity.com/topic/business-continuity/"
                    },
                    {
                        "@type": "Thing",
                        "name": "IT",
                        "url": "https://update.dsesecurity.com/topic/it/"
                    }
                ],
                "wordCount": 238,
                "timeRequired": "PT2M",
                "publishingPrinciples": "https://update.dsesecurity.com/updates/dse-updates-editorial-methodology/",
                "usageInfo": "https://update.dsesecurity.com/usage/",
                "copyrightHolder": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "copyrightNotice": "Copyright © 2026 Detection Systems & Engineering. All rights reserved.",
                "citation": {
                    "@type": "CreativeWork",
                    "name": "PostgreSQL 17 — pg_dumpall",
                    "url": "https://www.postgresql.org/docs/17/app-pg-dumpall.html"
                }
            }
        ]
    }
}