Re: select on 22 GB table causes "An I/O error occured while sending to the backend." exception

From: Craig James <craig_james(at)emolecules(dot)com>
To: pgsql-performance(at)postgresql(dot)org
Subject: Re: select on 22 GB table causes "An I/O error occured while sending to the backend." exception
Date: 2008-08-28 05:58:51
Message-ID: 48B63E9B.4030603@emolecules.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

The OOM killer is a terrible idea for any serious database server. I wrote a detailed technical paper on this almost 15 years ago when Silicon Graphics had this same feature, and Oracle and other critical server processes couldn't be made reliable.

The problem with "overallocating memory" as Linux does by default is that EVERY application, no matter how well designed and written, becomes unreliable: It can be killed because of some OTHER process. You can be as clever as you like, and do all the QA possible, and demonstrate that there isn't a single bug in Postgres, and it will STILL be unreliable if you run it on a Linux system that allows overcommitted memory.

IMHO, all Postgres servers should run with memory-overcommit disabled. On Linux, that means /proc/sys/vm/overcommit_memory=2.

Craig

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message david 2008-08-28 06:16:22 Re: select on 22 GB table causes "An I/O error occured while sending to the backend." exception
Previous Message Tom Lane 2008-08-28 04:56:23 Re: select on 22 GB table causes "An I/O error occured while sending to the backend." exception