Re: postgres table statistics

From: Ron Johnson <ronljohnsonjr(at)gmail(dot)com>
To: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: postgres table statistics
Date: 2024-06-12 08:27:56
Message-ID: CANzqJaAcCDZX3L1O9Dj3ETZ4JZRyX6S1JJ_EMp8NaDgCovkbbw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Wed, Jun 12, 2024 at 3:48 AM Chandy G <vgchandru(at)yahoo(dot)com> wrote:

> Hi,
> We have postgres 13.9 running with tables thats got billions of records
> of varying sizes. Eventhough pg jdbc driver provides a way to set fetch
> size to tune the driver to achieve better throughput, the JVM fails at the
> driver level when records of large size (say 200mb each) flows through.
> this forces to reduce the fetch size (if were to operate at a fixed Xmx
> setting of client jvm).
>
> It get a bit trickier when 100s of such tables exists with varying records
> sizes. trying to see if the fetch size can be set dynamically based on the
> row count and the record size distribution for a table. Unfortunately,
> trying to get this data by a query run against each table (for row size:
> max(length(t::text))) seem to be quite time consuming too.
>

Maybe create your own table with three columns:
table_name (PK; taken from pg_class.relname)
average_rec_size (taken from sum(pg_stat.avg_width))
max_rec_size (calculated yourself)

Periodically refresh it. (How periodic depends on how often the average
and max change substantively.)

Does postgres maintain metadata about tables for the following.
> 1. row count
>

https://www.postgresql.org/docs/13/catalog-pg-class.html

pg_class.reltuples. This is an estimate, so make sure your tables are
regularly analyzed.

> 2. max row size.
>

https://www.postgresql.org/docs/13/view-pg-stats.html

pg_stats.avg_width

> or is there some other pg metadata that can help get this data quicker.
>
> TIA.
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Hans Schou 2024-06-12 09:54:38 Oracle Linux 9 Detected RPMs with RSA/SHA1 signature
Previous Message Chandy G 2024-06-12 07:47:43 postgres table statistics