Tuning for PostGreSQL Database

Jim C. Nasby jim at nasby.net
Mon Jul 21 12:45:21 PDT 2003

On Mon, Jul 21, 2003 at 12:26:45PM -0700, Sean Chittenden wrote:
> > > Softupdates on, async off.  Softupdates is just a better async.
> > 
> > postgresql fsync's all its files before returning from a commit in
> > order to ensure durability, right?  Does softupdates interfere with
> > the functioning of sync(2)/fsync(2)?
> It can, yes, but that's the risk of soft updates.  From tuning(7):
>      Softupdates drastically improves meta-data performance, mainly
>      file creation and deletion.  We recommend enabling softupdates on
>      most file systems; however, there are two limitations to
>      softupdates that you should be aware of when determining whether
>      to use it on a file system.  First, softupdates guarantees file
>      system consistency in the case of a crash but could very easily
>      be several seconds (even a minute!) behind on pending write to
>      the physical disk.  If you crash you may lose more work than
>      otherwise.  Secondly, softupdates delays the freeing of file
>      system blocks.  If you have a file system (such as the root file
>      system) which is close to full, doing a major update of it,
>      e.g. ``make installworld'', can run it out of space and cause the
>      update to fail.  For this reason, softupdates will not be enabled
>      on the root file system during a typical install.
So are you saying that softupdates on whatever partition contains the
database transaction logs is dangerous?

Luckily, the metadata for these files is changed very infrequently
(normally), so this shouldn't prove to be much of a performance impact.
Jim C. Nasby, Database Consultant                  jim at nasby.net
Member: Triangle Fraternity, Sports Car Club of America
Give your computer some brain candy! www.distributed.net Team #1828

Windows: "Where do you want to go today?"
Linux: "Where do you want to go tomorrow?"
FreeBSD: "Are you guys coming, or what?"

More information about the freebsd-performance mailing list