Re: Determine size of table before it's committed?

From: Justin Pryzby <pryzby(at)telsasoft(dot)com>
To: Seamus Abshere <seamus(at)abshere(dot)net>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Determine size of table before it's committed?
Date: 2017-10-11 13:53:10
Message-ID: 20171011135310.GE32739@telsasoft.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Wed, Oct 11, 2017 at 10:43:26AM -0300, Seamus Abshere wrote:
> I've had an `INSERT INTO x SELECT FROM [...]` query running for more
> then 2 days.
>
> Is there a way to see how big x has gotten? Even a very rough estimate
> (off by a gigabyte) would be fine.

On linux:

Run ps -fu postgres (or SELECT pid, query FROM pg_stat_activity) and
look at: ls -l /proc/PID/fd

writing to XXXXXX.22 means it's written ~22GB.

You can also SELECT relfilenode FROM pg_class WHERE oid='x'::regclass (or
relname='x').

Or try using strace (but beware I've seen its interruption to syscalls change
the behavior of the program being straced).

Justin

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Melvin Davidson 2017-10-11 13:54:41 Re: Determine size of table before it's committed?
Previous Message Seamus Abshere 2017-10-11 13:43:26 Determine size of table before it's committed?