{
    "api_version": "1",
    "kind": "dse_post",
    "self": "https://update.dsesecurity.com/api/v1/posts/include-postgresql-toast-and-indexes-when-explaining-table-storage/",
    "item": {
        "id": "https://update.dsesecurity.com/updates/include-postgresql-toast-and-indexes-when-explaining-table-storage/",
        "slug": "include-postgresql-toast-and-indexes-when-explaining-table-storage",
        "url": "https://update.dsesecurity.com/updates/include-postgresql-toast-and-indexes-when-explaining-table-storage/",
        "alternate_urls": {
            "markdown": "https://update.dsesecurity.com/updates/include-postgresql-toast-and-indexes-when-explaining-table-storage.md",
            "json": "https://update.dsesecurity.com/api/v1/posts/include-postgresql-toast-and-indexes-when-explaining-table-storage/"
        },
        "title": "Include PostgreSQL TOAST and indexes when explaining table storage",
        "summary": "Separate heap, wide-value, and index storage before interpreting a PostgreSQL table-size difference.",
        "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:38+00:00",
        "modified_at": "2026-10-15T13:36:15+00:00",
        "reviewed_on": "2026-10-15",
        "reading_minutes": 2,
        "word_count": 251,
        "potentially_affected": "This applies to PostgreSQL 17 table-footprint investigation. It concerns component accounting and catalog-estimate freshness, not service-user quotas, filesystem cleanup, or replacing raw database files.",
        "dse_recommendation": "DSE recommends recording whether a reported size refers to the heap alone or includes its associated storage before comparing capacity reports.",
        "primary_source": {
            "name": "PostgreSQL 17 — Monitoring Disk Usage",
            "url": "https://www.postgresql.org/docs/17/diskusage.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>Separate heap, wide-value, and index storage before interpreting a PostgreSQL table-size difference.</p>\n<h2>Source facts</h2>\n<p>PostgreSQL 17 describes table storage as more than its main heap file. Wide values can live in an associated TOAST table with its own index, and the base table can have additional indexes. Relations may span more than one physical file. The manual recommends SQL size functions for ordinary monitoring. Its catalog-inspection examples use relpages, but that value updates through VACUUM, ANALYZE, and certain DDL commands rather than continuously reflecting every storage change.</p>\n<p>Source: <a href=\"https://www.postgresql.org/docs/17/diskusage.html\">PostgreSQL 17 — Monitoring Disk Usage</a>.</p>\n<h2>Applicability</h2>\n<p>This applies to PostgreSQL 17 table-footprint investigation. It concerns component accounting and catalog-estimate freshness, not service-user quotas, filesystem cleanup, or replacing raw database files.</p>\n<h2>DSE recommendation</h2>\n<p>DSE recommends recording whether a reported size refers to the heap alone or includes its associated storage before comparing capacity reports. Have the database owner identify significant wide-value and index contributions using supported SQL inspection. Record how fresh any catalog-derived estimate is and use the recommended size functions where appropriate. Avoid labeling an unexplained difference as corruption or wasted space without checking what each measurement includes. Keep any proposed index or data-retention change separate from this read-only investigation.</p>\n<h2>Verification</h2>\n<p>In a disposable database, compare storage measurements for a table with wide values and additional indexes. Review the components separately and observe catalog estimates before and after suitable analysis or maintenance. Retain query definitions and timestamps so reports with different scopes are not compared as equivalent measurements.</p>\n<h2>Official reference</h2>\n<p><a href=\"https://www.postgresql.org/docs/17/diskusage.html\">PostgreSQL 17 — Monitoring Disk Usage</a>. Reviewed October 15, 2026.</p>",
        "content_text": "Separate heap, wide-value, and index storage before interpreting a PostgreSQL table-size difference.\nSource facts\nPostgreSQL 17 describes table storage as more than its main heap file. Wide values can live in an associated TOAST table with its own index, and the base table can have additional indexes. Relations may span more than one physical file. The manual recommends SQL size functions for ordinary monitoring. Its catalog-inspection examples use relpages, but that value updates through VACUUM, ANALYZE, and certain DDL commands rather than continuously reflecting every storage change.\nSource: PostgreSQL 17 — Monitoring Disk Usage.\nApplicability\nThis applies to PostgreSQL 17 table-footprint investigation. It concerns component accounting and catalog-estimate freshness, not service-user quotas, filesystem cleanup, or replacing raw database files.\nDSE recommendation\nDSE recommends recording whether a reported size refers to the heap alone or includes its associated storage before comparing capacity reports. Have the database owner identify significant wide-value and index contributions using supported SQL inspection. Record how fresh any catalog-derived estimate is and use the recommended size functions where appropriate. Avoid labeling an unexplained difference as corruption or wasted space without checking what each measurement includes. Keep any proposed index or data-retention change separate from this read-only investigation.\nVerification\nIn a disposable database, compare storage measurements for a table with wide values and additional indexes. Review the components separately and observe catalog estimates before and after suitable analysis or maintenance. Retain query definitions and timestamps so reports with different scopes are not compared as equivalent measurements.\nOfficial reference\nPostgreSQL 17 — Monitoring Disk Usage. Reviewed October 15, 2026.",
        "content_markdown": "Separate heap, wide-value, and index storage before interpreting a PostgreSQL table-size difference.\n\n## Source facts\n\nPostgreSQL 17 describes table storage as more than its main heap file. Wide values can live in an associated TOAST table with its own index, and the base table can have additional indexes. Relations may span more than one physical file. The manual recommends SQL size functions for ordinary monitoring. Its catalog-inspection examples use relpages, but that value updates through VACUUM, ANALYZE, and certain DDL commands rather than continuously reflecting every storage change.\n\nSource: [PostgreSQL 17 — Monitoring Disk Usage](https://www.postgresql.org/docs/17/diskusage.html).\n\n## Applicability\n\nThis applies to PostgreSQL 17 table-footprint investigation. It concerns component accounting and catalog-estimate freshness, not service-user quotas, filesystem cleanup, or replacing raw database files.\n\n## DSE recommendation\n\nDSE recommends recording whether a reported size refers to the heap alone or includes its associated storage before comparing capacity reports. Have the database owner identify significant wide-value and index contributions using supported SQL inspection. Record how fresh any catalog-derived estimate is and use the recommended size functions where appropriate. Avoid labeling an unexplained difference as corruption or wasted space without checking what each measurement includes. Keep any proposed index or data-retention change separate from this read-only investigation.\n\n## Verification\n\nIn a disposable database, compare storage measurements for a table with wide values and additional indexes. Review the components separately and observe catalog estimates before and after suitable analysis or maintenance. Retain query definitions and timestamps so reports with different scopes are not compared as equivalent measurements.\n\n## Official reference\n\n[PostgreSQL 17 — Monitoring Disk Usage](https://www.postgresql.org/docs/17/diskusage.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/include-postgresql-toast-and-indexes-when-explaining-table-storage/",
                "url": "https://update.dsesecurity.com/updates/include-postgresql-toast-and-indexes-when-explaining-table-storage/",
                "isPartOf": {
                    "@id": "https://update.dsesecurity.com/#website"
                },
                "lastReviewed": "2026-10-15"
            },
            {
                "@type": "BreadcrumbList",
                "@id": "https://update.dsesecurity.com/updates/include-postgresql-toast-and-indexes-when-explaining-table-storage/#breadcrumbs",
                "itemListElement": [
                    {
                        "@type": "ListItem",
                        "position": 1,
                        "name": "DSE Updates",
                        "item": "https://update.dsesecurity.com/"
                    },
                    {
                        "@type": "ListItem",
                        "position": 2,
                        "name": "Include PostgreSQL TOAST and indexes when explaining table storage",
                        "item": "https://update.dsesecurity.com/updates/include-postgresql-toast-and-indexes-when-explaining-table-storage/"
                    }
                ]
            },
            {
                "@type": [
                    "Article",
                    "TechArticle"
                ],
                "@id": "https://update.dsesecurity.com/updates/include-postgresql-toast-and-indexes-when-explaining-table-storage/#article",
                "identifier": "https://update.dsesecurity.com/updates/include-postgresql-toast-and-indexes-when-explaining-table-storage/",
                "url": "https://update.dsesecurity.com/updates/include-postgresql-toast-and-indexes-when-explaining-table-storage/",
                "headline": "Include PostgreSQL TOAST and indexes when explaining table storage",
                "description": "Separate heap, wide-value, and index storage before interpreting a PostgreSQL table-size difference.",
                "abstract": "Separate heap, wide-value, and index storage before interpreting a PostgreSQL table-size difference.",
                "articleBody": "Separate heap, wide-value, and index storage before interpreting a PostgreSQL table-size difference.\nSource facts\nPostgreSQL 17 describes table storage as more than its main heap file. Wide values can live in an associated TOAST table with its own index, and the base table can have additional indexes. Relations may span more than one physical file. The manual recommends SQL size functions for ordinary monitoring. Its catalog-inspection examples use relpages, but that value updates through VACUUM, ANALYZE, and certain DDL commands rather than continuously reflecting every storage change.\nSource: PostgreSQL 17 — Monitoring Disk Usage.\nApplicability\nThis applies to PostgreSQL 17 table-footprint investigation. It concerns component accounting and catalog-estimate freshness, not service-user quotas, filesystem cleanup, or replacing raw database files.\nDSE recommendation\nDSE recommends recording whether a reported size refers to the heap alone or includes its associated storage before comparing capacity reports. Have the database owner identify significant wide-value and index contributions using supported SQL inspection. Record how fresh any catalog-derived estimate is and use the recommended size functions where appropriate. Avoid labeling an unexplained difference as corruption or wasted space without checking what each measurement includes. Keep any proposed index or data-retention change separate from this read-only investigation.\nVerification\nIn a disposable database, compare storage measurements for a table with wide values and additional indexes. Review the components separately and observe catalog estimates before and after suitable analysis or maintenance. Retain query definitions and timestamps so reports with different scopes are not compared as equivalent measurements.\nOfficial reference\nPostgreSQL 17 — Monitoring Disk Usage. Reviewed October 15, 2026.",
                "datePublished": "2026-10-15T13:32:38+00:00",
                "dateModified": "2026-10-15T13:36:15+00:00",
                "mainEntityOfPage": {
                    "@id": "https://update.dsesecurity.com/updates/include-postgresql-toast-and-indexes-when-explaining-table-storage/"
                },
                "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/include-postgresql-toast-and-indexes-when-explaining-table-storage/#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": "Include PostgreSQL TOAST and indexes when explaining table storage"
                },
                "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": 251,
                "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 — Monitoring Disk Usage",
                    "url": "https://www.postgresql.org/docs/17/diskusage.html"
                }
            }
        ]
    }
}