| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | Ravi Krishna <srkrishna1(at)aol(dot)com> |
| Cc: | pgsql-general(at)lists(dot)postgresql(dot)org |
| Subject: | Re: why select count(*) consumes wal logs |
| Date: | 2018-11-06 17:40:11 |
| Message-ID: | 26567.1541526011@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
Ravi Krishna <srkrishna1(at)aol(dot)com> writes:
> I loaded 133 million rows to a wide table (more than 100 cols) via COPY. The table has
> no index at this time. Since I am the only user I don't see any other activity.
> Now when I run select count(*) on the table where I just loaded data, it runs for ever,
> more than 10min and still running. Intrigued, I checked locks and saw nothing. Then I noticed something
> strange. When select count(*) runs, PG is writing to wal_logs, and that too a large amount. Why?
That represents setting the yes-this-row-is-committed hint bits on the
newly loaded rows. The first access to any such row will set that bit,
whether it's a select or a VACUUM or whatever.
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2018-11-06 17:53:31 | Re: Trouble Upgrading Postgres |
| Previous Message | Kumar, Virendra | 2018-11-06 17:38:38 | RE: why select count(*) consumes wal logs |