From: Tom Lane <tgl@sss.pgh.pa.us>
To: Natalie Wenz <nataliewenz@ebureau.com>
Cc: pgsql-admin <pgsql-admin@postgresql.org>
Subject: Re: pg_toast oid limits
Date: Wed, 26 Oct 2016 15:22:57 -0400
Message-ID: <24095.1477509777@sss.pgh.pa.us> (raw)
In-Reply-To: <A88C1E63-DB62-43C6-B8EC-E78D07574690@ebureau.com>
References: <A88C1E63-DB62-43C6-B8EC-E78D07574690@ebureau.com>
List-Unsubscribe: <mailto:majordomo@postgresql.org?body=unsub%20pgsql-admin>
Natalie Wenz <nataliewenz@ebureau.com> writes:
> I am seeing some performance issues that I'm trying to track down on a large database. One of the things I'm beginning to suspect is a particularly large table with many columns, about 200 of which (type text) contain large chunks of data. Now, for a given row, maybe 10-30 of those columns contain data, so not all 200 for each row, but the data can still be pretty sizable. There are currently around 750 million records in this table (and is about 22TB in size). I was trying to learn more about toast, and I see some references in the wiki and the hackers list to performance issues when you approach the 4 billion oids for a single table (which, I gather, are used when the data is toasted). Given my rudimentary understanding of how the whole toast thing works, I was wondering if there is a way to see how many oids are used for a table, or another way to know if we're running into toast limits for a single table.
You could do
select reltoastrelid::regclass from pg_class where relname = 'problem_table';
which will give you something like
reltoastrelid
-------------------------
pg_toast.pg_toast_78004
and then poke into the contents of that table. Probably
select count(distinct chunk_id) from pg_toast.pg_toast_78004;
would answer your immediate question.
regards, tom lane
--
Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-admin@postgresql.org
Cc: tgl@sss.pgh.pa.us, nataliewenz@ebureau.com
Subject: Re: pg_toast oid limits
In-Reply-To: <24095.1477509777@sss.pgh.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox