'\" t
.\"     Title: pg_test_fsync
.\"    Author: The PostgreSQL Global Development Group
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
.\"      Date: 2024
.\"    Manual: PostgreSQL 12.22 Documentation
.\"    Source: PostgreSQL 12.22
.\"  Language: English
.\"
.TH "PG_TEST_FSYNC" "1" "2024" "PostgreSQL 12.22" "PostgreSQL 12.22 Documentation"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
pg_test_fsync \- determine fastest \fIwal_sync_method\fR for PostgreSQL
.SH "SYNOPSIS"
.HP \w'\fBpg_test_fsync\fR\ 'u
\fBpg_test_fsync\fR [\fIoption\fR...]
.SH "DESCRIPTION"
.PP
pg_test_fsync
is intended to give you a reasonable idea of what the fastest
wal_sync_method
is on your specific system, as well as supplying diagnostic information in the event of an identified I/O problem\&. However, differences shown by
pg_test_fsync
might not make any significant difference in real database throughput, especially since many database servers are not speed\-limited by their write\-ahead logs\&.
pg_test_fsync
reports average file sync operation time in microseconds for each
wal_sync_method, which can also be used to inform efforts to optimize the value of
commit_delay\&.
.SH "OPTIONS"
.PP
pg_test_fsync
accepts the following command\-line options:
.PP
\fB\-f\fR
.br
\fB\-\-filename\fR
.RS 4
Specifies the file name to write test data in\&. This file should be in the same file system that the
pg_wal
directory is or will be placed in\&. (pg_wal
contains the
WAL
files\&.) The default is
pg_test_fsync\&.out
in the current directory\&.
.RE
.PP
\fB\-s\fR
.br
\fB\-\-secs\-per\-test\fR
.RS 4
Specifies the number of seconds for each test\&. The more time per test, the greater the test\*(Aqs accuracy, but the longer it takes to run\&. The default is 5 seconds, which allows the program to complete in under 2 minutes\&.
.RE
.PP
\fB\-V\fR
.br
\fB\-\-version\fR
.RS 4
Print the
pg_test_fsync
version and exit\&.
.RE
.PP
\fB\-?\fR
.br
\fB\-\-help\fR
.RS 4
Show help about
pg_test_fsync
command line arguments, and exit\&.
.RE
.SH "ENVIRONMENT"
.PP
The environment variable
\fBPG_COLOR\fR
specifies whether to use color in diagnostic messages\&. Possible values are
always,
auto
and
never\&.
.SH "SEE ALSO"
\fBpostgres\fR(1)
