Commit 0d5deebe authored by Robert Haas's avatar Robert Haas

Reorganize OS-specific details about write caching into a list.

Along the way, clarify that sdparm can be used on Linux as well as FreeBSD.
parent e6721c6e
......@@ -69,26 +69,57 @@
</para>
<para>
To check write caching on <productname>Linux</> use
<command>hdparm -I</>; it is enabled if there is a <literal>*</> next
to <literal>Write cache</>; <command>hdparm -W</> to turn off
write caching. On <productname>FreeBSD</> use
<application>atacontrol</>. (For SCSI disks use <ulink
url="http://sg.danny.cz/sg/sdparm.html"><application>sdparm</></ulink>
to turn off <literal>WCE</>.) On <productname>Solaris</> the disk
write cache is controlled by <ulink
url="http://www.sun.com/bigadmin/content/submitted/format_utility.jsp"><literal>format
-e</></ulink>. (The Solaris <acronym>ZFS</> file system is safe with
disk write-cache enabled because it issues its own disk cache flush
commands.) On <productname>Windows</> if <varname>wal_sync_method</>
is <literal>open_datasync</> (the default), write caching is disabled
by unchecking <literal>My Computer\Open\{select disk
drive}\Properties\Hardware\Properties\Policies\Enable write caching on
the disk</>. Also on Windows, <literal>fsync</> and
<literal>fsync_writethrough</> never do write caching. The
<literal>fsync_writethrough</> option can also be used to disable
write caching on <productname>MacOS X</>.
</para>
These caches can typically be disabled; however, the method for doing
this varies by operating system and drive type:
</para>
<itemizedlist>
<listitem>
<para>
On <productname>Linux</>, IDE drives can be queried using
<command>hdparm -I</command>; write caching is enabled if there is
a <literal>*</> next to <literal>Write cache</>. <command>hdparm -W</>
can be used to turn off write caching. SCSI drives can be queried
using <ulink url="http://sg.danny.cz/sg/sdparm.html"><application>sdparm</></ulink>.
for SCSI drives. Use <command>sdparm --get=WCE</command> to check
whether the write cache is enabled and <command>sdparm --clear=WCE</>
to disable it.
</para>
</listitem>
<listitem>
<para>
On <productname>FreeBSD</>, IDE drives can be queried using
<command>atacontrol</command>, and SCSI drives using
<command>sdparm</command>.
</para>
</listitem>
<listitem>
<para>
On <productname>Solaris</>, the disk write cache is controlled by
<ulink url="http://www.sun.com/bigadmin/content/submitted/format_utility.jsp"><literal>format -e</></ulink>.
(The Solaris <acronym>ZFS</> file system is safe with disk write-cache
enabled because it issues its own disk cache flush commands.)
</para>
</listitem>
<listitem>
<para>
On <productname>Windows</>, if <varname>wal_sync_method</> is
<literal>open_datasync</> (the default), write caching is disabled
by unchecking <literal>My Computer\Open\{select disk drive}\Properties\Hardware\Properties\Policies\Enable write caching on the disk</>.
Alternatively, set <varname>wal_sync_method</varname> to <literal>fsync</> or <literal>fsync_writethrough</>, which never do write caching.
</para>
</listitem>
<listitem>
<para>
On <productname>MacOS X</productname>, write caching can be disabled by
setting <varname>wal_sync_method</> to <literal>fsync_writethrough</>.
</para>
</listitem>
</itemizedlist>
<para>
Many file systems that use write barriers (e.g. <acronym>ZFS</>,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment