{"kind": "tool", "major": "18", "item": {"slug": "pg-test-fsync", "name": "pg_test_fsync", "name_zh": "", "category": "Server applications", "summary": "pg_test_fsync \u2014 determine fastest wal_sync_method for PostgreSQL", "aliases": ["pg_test_fsync"], "content_hash": "fd03d7a154df75ef9123bc7b2df97e4337f675b43d44906632263c7594049320", "versions": {"10": {"facts": [{"label": "Documented executable", "value": "pg_test_fsync"}, {"label": "Executable version", "value": "10.23"}, {"label": "Reference inventory", "value": "Server applications"}, {"label": "Option definition groups", "value": "4"}], "tables": [{"key": "options", "rows": [{"summary": "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.", "signature": {"url": "/docs/10/pgtestfsync.html", "text": "-f --filename"}}, {"summary": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.", "signature": {"url": "/docs/10/pgtestfsync.html", "text": "-s --secs-per-test"}}, {"summary": "Print the pg_test_fsync version and exit.", "signature": {"url": "/docs/10/pgtestfsync.html", "text": "-V --version"}}, {"summary": "Show help about pg_test_fsync command line arguments, and exit.", "signature": {"url": "/docs/10/pgtestfsync.html", "text": "-? --help"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}], "options": [{"names": ["-f", "--filename"], "summary": "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.", "signature": "-f --filename", "source_url": "/docs/10/pgtestfsync.html", "description": "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."}, {"names": ["-s", "--secs-per-test"], "summary": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.", "signature": "-s --secs-per-test", "source_url": "/docs/10/pgtestfsync.html", "description": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes."}, {"names": ["-V", "--version"], "summary": "Print the pg_test_fsync version and exit.", "signature": "-V --version", "source_url": "/docs/10/pgtestfsync.html", "description": "Print the pg_test_fsync version and exit."}, {"names": ["-?", "--help"], "summary": "Show help about pg_test_fsync command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/10/pgtestfsync.html", "description": "Show help about pg_test_fsync command line arguments, and exit."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "label": "10.23", "major": "10", "channel": "historical", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/10/postgresql-10-A4.pdf", "bytes": 12631706, "pages": 2591, "sha256": "34497ab9efb45c5bdf1bd11b9016b5451354feb462fa029cf74557a5fa5fbbc1", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/10/postgresql-10-US.pdf", "bytes": 12531684, "pages": 2724, "sha256": "429cc7133ddf4f97c560aa466dc9caea4b718721a8321e293357037cf0af4733", "built_at": "2026-09-26"}}, "tree": "10", "index": "index.html", "major": "10", "pages": 1085, "release": "10.23", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "svg_assets": 0, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "revision": "f9301feba91e2e2566038a36b8cee0e4402db68989538f88670fddd20b1f78ea", "evidence_kind": "English manual and source declarations", "source_sha256": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "sources": [{"url": "/docs/10/pgtestfsync.html", "file": "pgtestfsync.html", "label": "10.23 English manual \u00b7 pgtestfsync.html", "anchor": "", "sha256": "9df00cee5105325a81d7ceda97b9297cbb3affe58b2d321d2cb4a4ce2b02ea42"}, {"url": "/docs/10/reference-server.html", "file": "reference-server.html", "label": "Server applications inventory", "anchor": "", "sha256": "2a6043b88501763a31348758a370a42cd7f9a179c7fdf3ef0e353c82e95b33e9"}], "sections": [], "synopsis": ["pg_test_fsync [ option ...]"], "signature": "pg_test_fsync [ option ...]", "description": ["pg_test_fsync \u2014 determine fastest wal_sync_method for PostgreSQL"], "environment": [], "manual_html": "<div><div class=\"refentry\" id=\"PGTESTFSYNC\">\n<div class=\"titlepage\"></div>\n\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">pg_test_fsync</span></span></h2>\n<p>pg_test_fsync \u2014 determine fastest <code class=\"varname\">wal_sync_method</code> for <span class=\"productname\">PostgreSQL</span></p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.5.9.4.1\"><code class=\"command\">pg_test_fsync</code> [<em class=\"replaceable\"><code>option</code></em>...]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.9.5\">\n<h2>Description</h2>\n<p><span class=\"application\">pg_test_fsync</span> is intended to give you a reasonable idea of what the fastest <a class=\"xref\" href=\"/docs/10/runtime-config-wal.html#GUC-WAL-SYNC-METHOD\">wal_sync_method</a> is on your specific system, as well as supplying diagnostic information in the event of an identified I/O problem. However, differences shown by <span class=\"application\">pg_test_fsync</span> might not make any significant difference in real database throughput, especially since many database servers are not speed-limited by their write-ahead logs. <span class=\"application\">pg_test_fsync</span> reports average file sync operation time in microseconds for each <code class=\"literal\">wal_sync_method</code>, which can also be used to inform efforts to optimize the value of <a class=\"xref\" href=\"/docs/10/runtime-config-wal.html#GUC-COMMIT-DELAY\">commit_delay</a>.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.9.6\">\n<h2>Options</h2>\n<p><span class=\"application\">pg_test_fsync</span> accepts the following command-line options:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-f</code><br></span><span class=\"term\"><code class=\"option\">--filename</code></span></dt>\n<dd>\n<p>Specifies the file name to write test data in. This file should be in the same file system that the <code class=\"filename\">pg_wal</code> directory is or will be placed in. (<code class=\"filename\">pg_wal</code> contains the WAL files.) The default is <code class=\"filename\">pg_test_fsync.out</code> in the current directory.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-s</code><br></span><span class=\"term\"><code class=\"option\">--secs-per-test</code></span></dt>\n<dd>\n<p>Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">pg_test_fsync</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">pg_test_fsync</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.9.7\">\n<h2>See Also</h2>\n<span class=\"simplelist\"><a class=\"xref\" href=\"/docs/10/app-postgres.html\" title=\"postgres\"><span class=\"refentrytitle\"><span class=\"application\">postgres</span></span></a></span></div>\n</div></div>", "manual_path": "pgtestfsync.html", "comparison_data": {"options": [{"names": ["-f", "--filename"], "signature": "-f --filename", "description": "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."}, {"names": ["-s", "--secs-per-test"], "signature": "-s --secs-per-test", "description": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the pg_test_fsync version and exit."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about pg_test_fsync command line arguments, and exit."}], "synopsis": ["pg_test_fsync [ option ...]"], "environment": []}, "comparison_hash": "1389a6353245619e571d6357305cd2d322eb179aa5ff5046733d528888531d25"}, "11": {"facts": [{"label": "Documented executable", "value": "pg_test_fsync"}, {"label": "Executable version", "value": "11.22"}, {"label": "Reference inventory", "value": "Server applications"}, {"label": "Option definition groups", "value": "4"}], "tables": [{"key": "options", "rows": [{"summary": "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.", "signature": {"url": "/docs/11/pgtestfsync.html", "text": "-f --filename"}}, {"summary": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.", "signature": {"url": "/docs/11/pgtestfsync.html", "text": "-s --secs-per-test"}}, {"summary": "Print the pg_test_fsync version and exit.", "signature": {"url": "/docs/11/pgtestfsync.html", "text": "-V --version"}}, {"summary": "Show help about pg_test_fsync command line arguments, and exit.", "signature": {"url": "/docs/11/pgtestfsync.html", "text": "-? --help"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}], "options": [{"names": ["-f", "--filename"], "summary": "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.", "signature": "-f --filename", "source_url": "/docs/11/pgtestfsync.html", "description": "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."}, {"names": ["-s", "--secs-per-test"], "summary": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.", "signature": "-s --secs-per-test", "source_url": "/docs/11/pgtestfsync.html", "description": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes."}, {"names": ["-V", "--version"], "summary": "Print the pg_test_fsync version and exit.", "signature": "-V --version", "source_url": "/docs/11/pgtestfsync.html", "description": "Print the pg_test_fsync version and exit."}, {"names": ["-?", "--help"], "summary": "Show help about pg_test_fsync command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/11/pgtestfsync.html", "description": "Show help about pg_test_fsync command line arguments, and exit."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "label": "11.22", "major": "11", "channel": "historical", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/11/postgresql-11-A4.pdf", "bytes": 13057499, "pages": 2732, "sha256": "41d75855e610d0d9b8802b87dc5b080bef8d7e91c7cf69401fbf8d3cf801b4b5", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/11/postgresql-11-US.pdf", "bytes": 12961189, "pages": 2883, "sha256": "6a8899ef36935a5b7ed2b436207564a567a4ef1eb1c2200195876b8de4d4fa30", "built_at": "2026-09-26"}}, "tree": "11", "index": "index.html", "major": "11", "pages": 1125, "release": "11.22", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "svg_assets": 0, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "revision": "53315ddaf3b3f9e6669fd1edc096bbb2cd4a65ea3e836c89e542b43af9ba3a7f", "evidence_kind": "English manual and source declarations", "source_sha256": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "sources": [{"url": "/docs/11/pgtestfsync.html", "file": "pgtestfsync.html", "label": "11.22 English manual \u00b7 pgtestfsync.html", "anchor": "", "sha256": "33bf63b561bc351085c363562f884a99e9c106681ec2712a13be97facd87f67f"}, {"url": "/docs/11/reference-server.html", "file": "reference-server.html", "label": "Server applications inventory", "anchor": "", "sha256": "e940a8505b6742c717a1683d19bf8f759aad245633a59db9e83a345ae7c5709a"}], "sections": [], "synopsis": ["pg_test_fsync [ option ...]"], "signature": "pg_test_fsync [ option ...]", "description": ["pg_test_fsync \u2014 determine fastest wal_sync_method for PostgreSQL"], "environment": [], "manual_html": "<div><div class=\"refentry\" id=\"PGTESTFSYNC\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">pg_test_fsync</span></span></h2>\n<p>pg_test_fsync \u2014 determine fastest <code class=\"varname\">wal_sync_method</code> for <span class=\"productname\">PostgreSQL</span></p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.5.9.4.1\"><code class=\"command\">pg_test_fsync</code> [<em class=\"replaceable\"><code>option</code></em>...]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.9.5\">\n<h2>Description</h2>\n<p><span class=\"application\">pg_test_fsync</span> is intended to give you a reasonable idea of what the fastest <a class=\"xref\" href=\"/docs/11/runtime-config-wal.html#GUC-WAL-SYNC-METHOD\">wal_sync_method</a> is on your specific system, as well as supplying diagnostic information in the event of an identified I/O problem. However, differences shown by <span class=\"application\">pg_test_fsync</span> might not make any significant difference in real database throughput, especially since many database servers are not speed-limited by their write-ahead logs. <span class=\"application\">pg_test_fsync</span> reports average file sync operation time in microseconds for each <code class=\"literal\">wal_sync_method</code>, which can also be used to inform efforts to optimize the value of <a class=\"xref\" href=\"/docs/11/runtime-config-wal.html#GUC-COMMIT-DELAY\">commit_delay</a>.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.9.6\">\n<h2>Options</h2>\n<p><span class=\"application\">pg_test_fsync</span> accepts the following command-line options:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-f</code><br></span><span class=\"term\"><code class=\"option\">--filename</code></span></dt>\n<dd>\n<p>Specifies the file name to write test data in. This file should be in the same file system that the <code class=\"filename\">pg_wal</code> directory is or will be placed in. (<code class=\"filename\">pg_wal</code> contains the WAL files.) The default is <code class=\"filename\">pg_test_fsync.out</code> in the current directory.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-s</code><br></span><span class=\"term\"><code class=\"option\">--secs-per-test</code></span></dt>\n<dd>\n<p>Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">pg_test_fsync</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">pg_test_fsync</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.9.7\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/11/app-postgres.html\" title=\"postgres\"><span class=\"refentrytitle\"><span class=\"application\">postgres</span></span></a></span>\n</div>\n</div></div>", "manual_path": "pgtestfsync.html", "comparison_data": {"options": [{"names": ["-f", "--filename"], "signature": "-f --filename", "description": "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."}, {"names": ["-s", "--secs-per-test"], "signature": "-s --secs-per-test", "description": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the pg_test_fsync version and exit."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about pg_test_fsync command line arguments, and exit."}], "synopsis": ["pg_test_fsync [ option ...]"], "environment": []}, "comparison_hash": "1389a6353245619e571d6357305cd2d322eb179aa5ff5046733d528888531d25"}, "12": {"facts": [{"label": "Documented executable", "value": "pg_test_fsync"}, {"label": "Executable version", "value": "12.22"}, {"label": "Reference inventory", "value": "Server applications"}, {"label": "Option definition groups", "value": "4"}], "tables": [{"key": "options", "rows": [{"summary": "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.", "signature": {"url": "/docs/12/pgtestfsync.html", "text": "-f --filename"}}, {"summary": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.", "signature": {"url": "/docs/12/pgtestfsync.html", "text": "-s --secs-per-test"}}, {"summary": "Print the pg_test_fsync version and exit.", "signature": {"url": "/docs/12/pgtestfsync.html", "text": "-V --version"}}, {"summary": "Show help about pg_test_fsync command line arguments, and exit.", "signature": {"url": "/docs/12/pgtestfsync.html", "text": "-? --help"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}], "options": [{"names": ["-f", "--filename"], "summary": "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.", "signature": "-f --filename", "source_url": "/docs/12/pgtestfsync.html", "description": "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."}, {"names": ["-s", "--secs-per-test"], "summary": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.", "signature": "-s --secs-per-test", "source_url": "/docs/12/pgtestfsync.html", "description": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes."}, {"names": ["-V", "--version"], "summary": "Print the pg_test_fsync version and exit.", "signature": "-V --version", "source_url": "/docs/12/pgtestfsync.html", "description": "Print the pg_test_fsync version and exit."}, {"names": ["-?", "--help"], "summary": "Show help about pg_test_fsync command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/12/pgtestfsync.html", "description": "Show help about pg_test_fsync command line arguments, and exit."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "label": "12.22", "major": "12", "channel": "historical", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/12/postgresql-12-A4.pdf", "bytes": 13424351, "pages": 2803, "sha256": "7422cf53fd1939e7a3d2925231a88b0330e468afa5393627cac0ff86158a0621", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/12/postgresql-12-US.pdf", "bytes": 13322565, "pages": 2958, "sha256": "51f3b04e72907fc38512685946223452ea65f84419c60c66241dfa3396035e77", "built_at": "2026-09-26"}}, "tree": "12", "index": "index.html", "major": "12", "pages": 1131, "release": "12.22", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "svg_assets": 2, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "revision": "7a827e97cbfacd7febff75f34443e2043e40723de5b6d8c9d81a9430b65a37e4", "evidence_kind": "English manual and source declarations", "source_sha256": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "sources": [{"url": "/docs/12/pgtestfsync.html", "file": "pgtestfsync.html", "label": "12.22 English manual \u00b7 pgtestfsync.html", "anchor": "", "sha256": "c6c680b0d811cde0c7294cf4d72e4b9dc245a1f1d08933fdbd625a3051683606"}, {"url": "/docs/12/reference-server.html", "file": "reference-server.html", "label": "Server applications inventory", "anchor": "", "sha256": "7f6ae1fadc1b0bffa606551460e62aacdc2508a3fb66566ddae861928ca6080b"}], "sections": [], "synopsis": ["pg_test_fsync [ option ...]"], "signature": "pg_test_fsync [ option ...]", "description": ["pg_test_fsync \u2014 determine fastest wal_sync_method for PostgreSQL"], "environment": [], "manual_html": "<div><div class=\"refentry\" id=\"PGTESTFSYNC\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">pg_test_fsync</span></span></h2>\n<p>pg_test_fsync \u2014 determine fastest <code class=\"varname\">wal_sync_method</code> for <span class=\"productname\">PostgreSQL</span></p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.5.10.4.1\"><code class=\"command\">pg_test_fsync</code> [<em class=\"replaceable\"><code>option</code></em>...]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.10.5\">\n<h2>Description</h2>\n<p><span class=\"application\">pg_test_fsync</span> is intended to give you a reasonable idea of what the fastest <a class=\"xref\" href=\"/docs/12/runtime-config-wal.html#GUC-WAL-SYNC-METHOD\">wal_sync_method</a> is on your specific system, as well as supplying diagnostic information in the event of an identified I/O problem. However, differences shown by <span class=\"application\">pg_test_fsync</span> might not make any significant difference in real database throughput, especially since many database servers are not speed-limited by their write-ahead logs. <span class=\"application\">pg_test_fsync</span> reports average file sync operation time in microseconds for each <code class=\"literal\">wal_sync_method</code>, which can also be used to inform efforts to optimize the value of <a class=\"xref\" href=\"/docs/12/runtime-config-wal.html#GUC-COMMIT-DELAY\">commit_delay</a>.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.10.6\">\n<h2>Options</h2>\n<p><span class=\"application\">pg_test_fsync</span> accepts the following command-line options:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-f</code><br></span><span class=\"term\"><code class=\"option\">--filename</code></span></dt>\n<dd>\n<p>Specifies the file name to write test data in. This file should be in the same file system that the <code class=\"filename\">pg_wal</code> directory is or will be placed in. (<code class=\"filename\">pg_wal</code> contains the WAL files.) The default is <code class=\"filename\">pg_test_fsync.out</code> in the current directory.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-s</code><br></span><span class=\"term\"><code class=\"option\">--secs-per-test</code></span></dt>\n<dd>\n<p>Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">pg_test_fsync</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">pg_test_fsync</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.10.7\">\n<h2>Environment</h2>\n<p>The environment variable <code class=\"envar\">PG_COLOR</code> specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.10.8\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/12/app-postgres.html\" title=\"postgres\"><span class=\"refentrytitle\"><span class=\"application\">postgres</span></span></a></span>\n</div>\n</div></div>", "manual_path": "pgtestfsync.html", "comparison_data": {"options": [{"names": ["-f", "--filename"], "signature": "-f --filename", "description": "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."}, {"names": ["-s", "--secs-per-test"], "signature": "-s --secs-per-test", "description": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the pg_test_fsync version and exit."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about pg_test_fsync command line arguments, and exit."}], "synopsis": ["pg_test_fsync [ option ...]"], "environment": []}, "comparison_hash": "1389a6353245619e571d6357305cd2d322eb179aa5ff5046733d528888531d25"}, "13": {"facts": [{"label": "Documented executable", "value": "pg_test_fsync"}, {"label": "Executable version", "value": "13.23"}, {"label": "Reference inventory", "value": "Server applications"}, {"label": "Option definition groups", "value": "4"}], "tables": [{"key": "options", "rows": [{"summary": "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.", "signature": {"url": "/docs/13/pgtestfsync.html", "text": "-f --filename"}}, {"summary": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.", "signature": {"url": "/docs/13/pgtestfsync.html", "text": "-s --secs-per-test"}}, {"summary": "Print the pg_test_fsync version and exit.", "signature": {"url": "/docs/13/pgtestfsync.html", "text": "-V --version"}}, {"summary": "Show help about pg_test_fsync command line arguments, and exit.", "signature": {"url": "/docs/13/pgtestfsync.html", "text": "-? --help"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}], "options": [{"names": ["-f", "--filename"], "summary": "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.", "signature": "-f --filename", "source_url": "/docs/13/pgtestfsync.html", "description": "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."}, {"names": ["-s", "--secs-per-test"], "summary": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.", "signature": "-s --secs-per-test", "source_url": "/docs/13/pgtestfsync.html", "description": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes."}, {"names": ["-V", "--version"], "summary": "Print the pg_test_fsync version and exit.", "signature": "-V --version", "source_url": "/docs/13/pgtestfsync.html", "description": "Print the pg_test_fsync version and exit."}, {"names": ["-?", "--help"], "summary": "Show help about pg_test_fsync command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/13/pgtestfsync.html", "description": "Show help about pg_test_fsync command line arguments, and exit."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "label": "13.23", "major": "13", "channel": "historical", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/13/postgresql-13-A4.pdf", "bytes": 13843239, "pages": 2826, "sha256": "171cc09f90936dbc1cbd503a98ff07ae72ea58ab9771ff051313f1217737799c", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/13/postgresql-13-US.pdf", "bytes": 13739572, "pages": 2984, "sha256": "48d09c6e197d9db4220f41afe83efe848a8661b1b168d3b89419751ecaf6c24d", "built_at": "2026-09-26"}}, "tree": "13", "index": "index.html", "major": "13", "pages": 1139, "release": "13.23", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "svg_assets": 3, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "revision": "614ee3133270254e476c118cdf6f72af78d4e4b8bbd9b28ed9ab1e14e4e9c0f6", "evidence_kind": "English manual and source declarations", "source_sha256": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "sources": [{"url": "/docs/13/pgtestfsync.html", "file": "pgtestfsync.html", "label": "13.23 English manual \u00b7 pgtestfsync.html", "anchor": "", "sha256": "eb1aa94c0563f66201304956cf051c3dd1916c504fc1e4a48e9fd645e5478d41"}, {"url": "/docs/13/reference-server.html", "file": "reference-server.html", "label": "Server applications inventory", "anchor": "", "sha256": "074ef8577fd368272a2360309e1226e2d0b1e570a3e1da62dfcca63ac9ee5539"}], "sections": [], "synopsis": ["pg_test_fsync [ option ...]"], "signature": "pg_test_fsync [ option ...]", "description": ["pg_test_fsync \u2014 determine fastest wal_sync_method for PostgreSQL"], "environment": [], "manual_html": "<div><div class=\"refentry\" id=\"PGTESTFSYNC\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">pg_test_fsync</span></span></h2>\n<p>pg_test_fsync \u2014 determine fastest <code class=\"varname\">wal_sync_method</code> for <span class=\"productname\">PostgreSQL</span></p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.5.10.4.1\"><code class=\"command\">pg_test_fsync</code> [<em class=\"replaceable\"><code>option</code></em>...]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.10.5\">\n<h2>Description</h2>\n<p><span class=\"application\">pg_test_fsync</span> is intended to give you a reasonable idea of what the fastest <a class=\"xref\" href=\"/docs/13/runtime-config-wal.html#GUC-WAL-SYNC-METHOD\">wal_sync_method</a> is on your specific system, as well as supplying diagnostic information in the event of an identified I/O problem. However, differences shown by <span class=\"application\">pg_test_fsync</span> might not make any significant difference in real database throughput, especially since many database servers are not speed-limited by their write-ahead logs. <span class=\"application\">pg_test_fsync</span> reports average file sync operation time in microseconds for each <code class=\"literal\">wal_sync_method</code>, which can also be used to inform efforts to optimize the value of <a class=\"xref\" href=\"/docs/13/runtime-config-wal.html#GUC-COMMIT-DELAY\">commit_delay</a>.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.10.6\">\n<h2>Options</h2>\n<p><span class=\"application\">pg_test_fsync</span> accepts the following command-line options:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-f</code><br></span><span class=\"term\"><code class=\"option\">--filename</code></span></dt>\n<dd>\n<p>Specifies the file name to write test data in. This file should be in the same file system that the <code class=\"filename\">pg_wal</code> directory is or will be placed in. (<code class=\"filename\">pg_wal</code> contains the WAL files.) The default is <code class=\"filename\">pg_test_fsync.out</code> in the current directory.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-s</code><br></span><span class=\"term\"><code class=\"option\">--secs-per-test</code></span></dt>\n<dd>\n<p>Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">pg_test_fsync</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">pg_test_fsync</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.10.7\">\n<h2>Environment</h2>\n<p>The environment variable <code class=\"envar\">PG_COLOR</code> specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.10.8\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/13/app-postgres.html\" title=\"postgres\"><span class=\"refentrytitle\"><span class=\"application\">postgres</span></span></a></span>\n</div>\n</div></div>", "manual_path": "pgtestfsync.html", "comparison_data": {"options": [{"names": ["-f", "--filename"], "signature": "-f --filename", "description": "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."}, {"names": ["-s", "--secs-per-test"], "signature": "-s --secs-per-test", "description": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the pg_test_fsync version and exit."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about pg_test_fsync command line arguments, and exit."}], "synopsis": ["pg_test_fsync [ option ...]"], "environment": []}, "comparison_hash": "1389a6353245619e571d6357305cd2d322eb179aa5ff5046733d528888531d25"}, "14": {"facts": [{"label": "Documented executable", "value": "pg_test_fsync"}, {"label": "Executable version", "value": "14.24"}, {"label": "Reference inventory", "value": "Server applications"}, {"label": "Option definition groups", "value": "4"}], "tables": [{"key": "options", "rows": [{"summary": "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.", "signature": {"url": "/docs/14/pgtestfsync.html", "text": "-f --filename"}}, {"summary": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.", "signature": {"url": "/docs/14/pgtestfsync.html", "text": "-s --secs-per-test"}}, {"summary": "Print the pg_test_fsync version and exit.", "signature": {"url": "/docs/14/pgtestfsync.html", "text": "-V --version"}}, {"summary": "Show help about pg_test_fsync command line arguments, and exit.", "signature": {"url": "/docs/14/pgtestfsync.html", "text": "-? --help"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}], "options": [{"names": ["-f", "--filename"], "summary": "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.", "signature": "-f --filename", "source_url": "/docs/14/pgtestfsync.html", "description": "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."}, {"names": ["-s", "--secs-per-test"], "summary": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.", "signature": "-s --secs-per-test", "source_url": "/docs/14/pgtestfsync.html", "description": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes."}, {"names": ["-V", "--version"], "summary": "Print the pg_test_fsync version and exit.", "signature": "-V --version", "source_url": "/docs/14/pgtestfsync.html", "description": "Print the pg_test_fsync version and exit."}, {"names": ["-?", "--help"], "summary": "Show help about pg_test_fsync command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/14/pgtestfsync.html", "description": "Show help about pg_test_fsync command line arguments, and exit."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "label": "14.24", "major": "14", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/14/postgresql-14-A4.pdf", "bytes": 14354704, "pages": 2944, "sha256": "8bc6b9dd7b246888bb77f0a5e8c39a2eae52e9926569832669c7d1600becb27c", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/14/postgresql-14-US.pdf", "bytes": 14242178, "pages": 3102, "sha256": "b7ecb5a5f62d8b9f73a69e25a7d26ba285373bc53168a553bff7b77955506db4", "built_at": "2026-09-26"}}, "tree": "14", "index": "index.html", "major": "14", "pages": 1158, "release": "14.24", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "svg_assets": 3, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "revision": "588700d46356d8837c77c7c0a4e71e645fe6535983b8f1830aa8f2e4e41c40ae", "evidence_kind": "English manual and source declarations", "source_sha256": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "sources": [{"url": "/docs/14/pgtestfsync.html", "file": "pgtestfsync.html", "label": "14.24 English manual \u00b7 pgtestfsync.html", "anchor": "", "sha256": "0ec4cc875832c6728e2a9e482606a9b0bd72856677069116711529451af60c1c"}, {"url": "/docs/14/reference-server.html", "file": "reference-server.html", "label": "Server applications inventory", "anchor": "", "sha256": "db0cdccaa8d3c65ad3b2a07d4956eb5a783a18505bfa0f9d9626eef4ab94fe44"}], "sections": [], "synopsis": ["pg_test_fsync [ option ...]"], "signature": "pg_test_fsync [ option ...]", "description": ["pg_test_fsync \u2014 determine fastest wal_sync_method for PostgreSQL"], "environment": [], "manual_html": "<div><div class=\"refentry\" id=\"PGTESTFSYNC\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">pg_test_fsync</span></span></h2>\n<p>pg_test_fsync \u2014 determine fastest <code class=\"varname\">wal_sync_method</code> for <span class=\"productname\">PostgreSQL</span></p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.5.10.4.1\"><code class=\"command\">pg_test_fsync</code> [<em class=\"replaceable\"><code>option</code></em>...]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.10.5\">\n<h2>Description</h2>\n<p><span class=\"application\">pg_test_fsync</span> is intended to give you a reasonable idea of what the fastest <a class=\"xref\" href=\"/docs/14/runtime-config-wal.html#GUC-WAL-SYNC-METHOD\">wal_sync_method</a> is on your specific system, as well as supplying diagnostic information in the event of an identified I/O problem. However, differences shown by <span class=\"application\">pg_test_fsync</span> might not make any significant difference in real database throughput, especially since many database servers are not speed-limited by their write-ahead logs. <span class=\"application\">pg_test_fsync</span> reports average file sync operation time in microseconds for each <code class=\"literal\">wal_sync_method</code>, which can also be used to inform efforts to optimize the value of <a class=\"xref\" href=\"/docs/14/runtime-config-wal.html#GUC-COMMIT-DELAY\">commit_delay</a>.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.10.6\">\n<h2>Options</h2>\n<p><span class=\"application\">pg_test_fsync</span> accepts the following command-line options:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-f</code><br></span><span class=\"term\"><code class=\"option\">--filename</code></span></dt>\n<dd>\n<p>Specifies the file name to write test data in. This file should be in the same file system that the <code class=\"filename\">pg_wal</code> directory is or will be placed in. (<code class=\"filename\">pg_wal</code> contains the WAL files.) The default is <code class=\"filename\">pg_test_fsync.out</code> in the current directory.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-s</code><br></span><span class=\"term\"><code class=\"option\">--secs-per-test</code></span></dt>\n<dd>\n<p>Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">pg_test_fsync</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">pg_test_fsync</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.10.7\">\n<h2>Environment</h2>\n<p>The environment variable <code class=\"envar\">PG_COLOR</code> specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.10.8\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/14/app-postgres.html\" title=\"postgres\"><span class=\"refentrytitle\"><span class=\"application\">postgres</span></span></a></span>\n</div>\n</div></div>", "manual_path": "pgtestfsync.html", "comparison_data": {"options": [{"names": ["-f", "--filename"], "signature": "-f --filename", "description": "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."}, {"names": ["-s", "--secs-per-test"], "signature": "-s --secs-per-test", "description": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the pg_test_fsync version and exit."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about pg_test_fsync command line arguments, and exit."}], "synopsis": ["pg_test_fsync [ option ...]"], "environment": []}, "comparison_hash": "1389a6353245619e571d6357305cd2d322eb179aa5ff5046733d528888531d25"}, "15": {"facts": [{"label": "Documented executable", "value": "pg_test_fsync"}, {"label": "Executable version", "value": "15.19"}, {"label": "Reference inventory", "value": "Server applications"}, {"label": "Option definition groups", "value": "4"}], "tables": [{"key": "options", "rows": [{"summary": "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.", "signature": {"url": "/docs/15/pgtestfsync.html", "text": "-f --filename"}}, {"summary": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.", "signature": {"url": "/docs/15/pgtestfsync.html", "text": "-s --secs-per-test"}}, {"summary": "Print the pg_test_fsync version and exit.", "signature": {"url": "/docs/15/pgtestfsync.html", "text": "-V --version"}}, {"summary": "Show help about pg_test_fsync command line arguments, and exit.", "signature": {"url": "/docs/15/pgtestfsync.html", "text": "-? --help"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}], "options": [{"names": ["-f", "--filename"], "summary": "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.", "signature": "-f --filename", "source_url": "/docs/15/pgtestfsync.html", "description": "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."}, {"names": ["-s", "--secs-per-test"], "summary": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.", "signature": "-s --secs-per-test", "source_url": "/docs/15/pgtestfsync.html", "description": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes."}, {"names": ["-V", "--version"], "summary": "Print the pg_test_fsync version and exit.", "signature": "-V --version", "source_url": "/docs/15/pgtestfsync.html", "description": "Print the pg_test_fsync version and exit."}, {"names": ["-?", "--help"], "summary": "Show help about pg_test_fsync command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/15/pgtestfsync.html", "description": "Show help about pg_test_fsync command line arguments, and exit."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "label": "15.19", "major": "15", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/15/postgresql-15-A4.pdf", "bytes": 14609140, "pages": 2987, "sha256": "66228564a4d16efb47d6a914085716ecfe22ca1566db56bc7c3d82f790646d72", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/15/postgresql-15-US.pdf", "bytes": 14495690, "pages": 3153, "sha256": "645a498c2390d47a6223ec74770631185807a19c484edb0fc5a295d9f460bc02", "built_at": "2026-09-26"}}, "tree": "15", "index": "index.html", "major": "15", "pages": 1168, "release": "15.19", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "svg_assets": 3, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "revision": "6af958c6520151fc7697d56e0616b03fb00522c4568158674d452ae0644ba545", "evidence_kind": "English manual and source declarations", "source_sha256": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "sources": [{"url": "/docs/15/pgtestfsync.html", "file": "pgtestfsync.html", "label": "15.19 English manual \u00b7 pgtestfsync.html", "anchor": "", "sha256": "e1766fbe87deffb8229edff619a54f96a6f4bec72cb49cd0a61a4dcca2a3e62e"}, {"url": "/docs/15/reference-server.html", "file": "reference-server.html", "label": "Server applications inventory", "anchor": "", "sha256": "1240cfbb13ebfd22aac8d5ae40c62a9015b246f7774bcf0bce97355ce06350a0"}], "sections": [], "synopsis": ["pg_test_fsync [ option ...]"], "signature": "pg_test_fsync [ option ...]", "description": ["pg_test_fsync \u2014 determine fastest wal_sync_method for PostgreSQL"], "environment": [], "manual_html": "<div><div class=\"refentry\" id=\"PGTESTFSYNC\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">pg_test_fsync</span></span></h2>\n<p>pg_test_fsync \u2014 determine fastest <code class=\"varname\">wal_sync_method</code> for <span class=\"productname\">PostgreSQL</span></p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.5.10.4.1\"><code class=\"command\">pg_test_fsync</code> [<em class=\"replaceable\"><code>option</code></em>...]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.10.5\">\n<h2>Description</h2>\n<p><span class=\"application\">pg_test_fsync</span> is intended to give you a reasonable idea of what the fastest <a class=\"xref\" href=\"/docs/15/runtime-config-wal.html#GUC-WAL-SYNC-METHOD\">wal_sync_method</a> is on your specific system, as well as supplying diagnostic information in the event of an identified I/O problem. However, differences shown by <span class=\"application\">pg_test_fsync</span> might not make any significant difference in real database throughput, especially since many database servers are not speed-limited by their write-ahead logs. <span class=\"application\">pg_test_fsync</span> reports average file sync operation time in microseconds for each <code class=\"literal\">wal_sync_method</code>, which can also be used to inform efforts to optimize the value of <a class=\"xref\" href=\"/docs/15/runtime-config-wal.html#GUC-COMMIT-DELAY\">commit_delay</a>.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.10.6\">\n<h2>Options</h2>\n<p><span class=\"application\">pg_test_fsync</span> accepts the following command-line options:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-f</code><br></span><span class=\"term\"><code class=\"option\">--filename</code></span></dt>\n<dd>\n<p>Specifies the file name to write test data in. This file should be in the same file system that the <code class=\"filename\">pg_wal</code> directory is or will be placed in. (<code class=\"filename\">pg_wal</code> contains the WAL files.) The default is <code class=\"filename\">pg_test_fsync.out</code> in the current directory.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-s</code><br></span><span class=\"term\"><code class=\"option\">--secs-per-test</code></span></dt>\n<dd>\n<p>Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">pg_test_fsync</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">pg_test_fsync</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.10.7\">\n<h2>Environment</h2>\n<p>The environment variable <code class=\"envar\">PG_COLOR</code> specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.10.8\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/15/app-postgres.html\" title=\"postgres\"><span class=\"refentrytitle\"><span class=\"application\">postgres</span></span></a></span>\n</div>\n</div></div>", "manual_path": "pgtestfsync.html", "comparison_data": {"options": [{"names": ["-f", "--filename"], "signature": "-f --filename", "description": "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."}, {"names": ["-s", "--secs-per-test"], "signature": "-s --secs-per-test", "description": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the pg_test_fsync version and exit."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about pg_test_fsync command line arguments, and exit."}], "synopsis": ["pg_test_fsync [ option ...]"], "environment": []}, "comparison_hash": "1389a6353245619e571d6357305cd2d322eb179aa5ff5046733d528888531d25"}, "16": {"facts": [{"label": "Documented executable", "value": "pg_test_fsync"}, {"label": "Executable version", "value": "16.15"}, {"label": "Reference inventory", "value": "Server applications"}, {"label": "Option definition groups", "value": "4"}], "tables": [{"key": "options", "rows": [{"summary": "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.", "signature": {"url": "/docs/16/pgtestfsync.html", "text": "-f --filename"}}, {"summary": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.", "signature": {"url": "/docs/16/pgtestfsync.html", "text": "-s --secs-per-test"}}, {"summary": "Print the pg_test_fsync version and exit.", "signature": {"url": "/docs/16/pgtestfsync.html", "text": "-V --version"}}, {"summary": "Show help about pg_test_fsync command line arguments, and exit.", "signature": {"url": "/docs/16/pgtestfsync.html", "text": "-? --help"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}], "options": [{"names": ["-f", "--filename"], "summary": "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.", "signature": "-f --filename", "source_url": "/docs/16/pgtestfsync.html", "description": "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."}, {"names": ["-s", "--secs-per-test"], "summary": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.", "signature": "-s --secs-per-test", "source_url": "/docs/16/pgtestfsync.html", "description": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes."}, {"names": ["-V", "--version"], "summary": "Print the pg_test_fsync version and exit.", "signature": "-V --version", "source_url": "/docs/16/pgtestfsync.html", "description": "Print the pg_test_fsync version and exit."}, {"names": ["-?", "--help"], "summary": "Show help about pg_test_fsync command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/16/pgtestfsync.html", "description": "Show help about pg_test_fsync command line arguments, and exit."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "label": "16.15", "major": "16", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/16/postgresql-16-A4.pdf", "bytes": 15282337, "pages": 3055, "sha256": "4bb6c1f63deedac98736d8c4c7bc0fad0ac24e85b07e21ee10411872f06afd06", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/16/postgresql-16-US.pdf", "bytes": 15164148, "pages": 3220, "sha256": "5b6b6166c89991199e144bb0ae34c17a5f29826251dbf19db1abc0df3a3e771b", "built_at": "2026-09-26"}}, "tree": "16", "index": "index.html", "major": "16", "pages": 1169, "release": "16.15", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "svg_assets": 3, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "revision": "3c21e58b35318021716440e67bb8bafd392b6a2b965a244d90e9e33c99e0bdef", "evidence_kind": "English manual and source declarations", "source_sha256": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "sources": [{"url": "/docs/16/pgtestfsync.html", "file": "pgtestfsync.html", "label": "16.15 English manual \u00b7 pgtestfsync.html", "anchor": "", "sha256": "b36e9ff5e4045b024303e927a551e593b7161dabd514d3f7b2970c6fdd4a733f"}, {"url": "/docs/16/reference-server.html", "file": "reference-server.html", "label": "Server applications inventory", "anchor": "", "sha256": "8aaa4422eece8f26d84715f855d9d0f7f87b200f8b82898c73c865ee42c2c70f"}], "sections": [], "synopsis": ["pg_test_fsync [ option ...]"], "signature": "pg_test_fsync [ option ...]", "description": ["pg_test_fsync \u2014 determine fastest wal_sync_method for PostgreSQL"], "environment": [], "manual_html": "<div><div class=\"refentry\" id=\"PGTESTFSYNC\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">pg_test_fsync</span></span></h2>\n<p>pg_test_fsync \u2014 determine fastest <code class=\"varname\">wal_sync_method</code> for <span class=\"productname\">PostgreSQL</span></p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.5.10.4.1\"><code class=\"command\">pg_test_fsync</code> [<em class=\"replaceable\"><code>option</code></em>...]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.10.5\">\n<h2>Description</h2>\n<p><span class=\"application\">pg_test_fsync</span> is intended to give you a reasonable idea of what the fastest <a class=\"xref\" href=\"/docs/16/runtime-config-wal.html#GUC-WAL-SYNC-METHOD\">wal_sync_method</a> is on your specific system, as well as supplying diagnostic information in the event of an identified I/O problem. However, differences shown by <span class=\"application\">pg_test_fsync</span> might not make any significant difference in real database throughput, especially since many database servers are not speed-limited by their write-ahead logs. <span class=\"application\">pg_test_fsync</span> reports average file sync operation time in microseconds for each <code class=\"literal\">wal_sync_method</code>, which can also be used to inform efforts to optimize the value of <a class=\"xref\" href=\"/docs/16/runtime-config-wal.html#GUC-COMMIT-DELAY\">commit_delay</a>.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.10.6\">\n<h2>Options</h2>\n<p><span class=\"application\">pg_test_fsync</span> accepts the following command-line options:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-f</code><br></span><span class=\"term\"><code class=\"option\">--filename</code></span></dt>\n<dd>\n<p>Specifies the file name to write test data in. This file should be in the same file system that the <code class=\"filename\">pg_wal</code> directory is or will be placed in. (<code class=\"filename\">pg_wal</code> contains the WAL files.) The default is <code class=\"filename\">pg_test_fsync.out</code> in the current directory.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-s</code><br></span><span class=\"term\"><code class=\"option\">--secs-per-test</code></span></dt>\n<dd>\n<p>Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">pg_test_fsync</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">pg_test_fsync</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.10.7\">\n<h2>Environment</h2>\n<p>The environment variable <code class=\"envar\">PG_COLOR</code> specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.10.8\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/16/app-postgres.html\" title=\"postgres\"><span class=\"refentrytitle\"><span class=\"application\">postgres</span></span></a></span>\n</div>\n</div></div>", "manual_path": "pgtestfsync.html", "comparison_data": {"options": [{"names": ["-f", "--filename"], "signature": "-f --filename", "description": "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."}, {"names": ["-s", "--secs-per-test"], "signature": "-s --secs-per-test", "description": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the pg_test_fsync version and exit."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about pg_test_fsync command line arguments, and exit."}], "synopsis": ["pg_test_fsync [ option ...]"], "environment": []}, "comparison_hash": "1389a6353245619e571d6357305cd2d322eb179aa5ff5046733d528888531d25"}, "17": {"facts": [{"label": "Documented executable", "value": "pg_test_fsync"}, {"label": "Executable version", "value": "17.11"}, {"label": "Reference inventory", "value": "Server applications"}, {"label": "Option definition groups", "value": "4"}], "tables": [{"key": "options", "rows": [{"summary": "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.", "signature": {"url": "/docs/17/pgtestfsync.html", "text": "-f --filename"}}, {"summary": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.", "signature": {"url": "/docs/17/pgtestfsync.html", "text": "-s --secs-per-test"}}, {"summary": "Print the pg_test_fsync version and exit.", "signature": {"url": "/docs/17/pgtestfsync.html", "text": "-V --version"}}, {"summary": "Show help about pg_test_fsync command line arguments, and exit.", "signature": {"url": "/docs/17/pgtestfsync.html", "text": "-? --help"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}], "options": [{"names": ["-f", "--filename"], "summary": "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.", "signature": "-f --filename", "source_url": "/docs/17/pgtestfsync.html", "description": "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."}, {"names": ["-s", "--secs-per-test"], "summary": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.", "signature": "-s --secs-per-test", "source_url": "/docs/17/pgtestfsync.html", "description": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes."}, {"names": ["-V", "--version"], "summary": "Print the pg_test_fsync version and exit.", "signature": "-V --version", "source_url": "/docs/17/pgtestfsync.html", "description": "Print the pg_test_fsync version and exit."}, {"names": ["-?", "--help"], "summary": "Show help about pg_test_fsync command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/17/pgtestfsync.html", "description": "Show help about pg_test_fsync command line arguments, and exit."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "label": "17.11", "major": "17", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/17/postgresql-17-A4.pdf", "bytes": 15521293, "pages": 3099, "sha256": "1991354df0dc89e70ec39328c28988ef8b19c6a93671dab3893650b63e9f4e36", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/17/postgresql-17-US.pdf", "bytes": 15398150, "pages": 3270, "sha256": "07696c8f38abf31babf22d2db337093936e7c472d2af36d050b000c49bbcf52c", "built_at": "2026-09-26"}}, "tree": "17", "index": "index.html", "major": "17", "pages": 1143, "release": "17.11", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "svg_assets": 3, "source_mode": "en SGML built with pinned official archive", "source_sha256": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "revision": "58419c9b0dd42cb34c8d53695bb025a7e582edf55ccd4c5bcb1c2c7c71a37487", "evidence_kind": "English manual and source declarations", "source_sha256": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "sources": [{"url": "/docs/17/pgtestfsync.html", "file": "pgtestfsync.html", "label": "17.11 English manual \u00b7 pgtestfsync.html", "anchor": "", "sha256": "6b8f45c16f9ea42a1d514cbc9c14a0ea360180940f3c8ef9640608c1732ae5aa"}, {"url": "/docs/17/reference-server.html", "file": "reference-server.html", "label": "Server applications inventory", "anchor": "", "sha256": "01f07993ff020684f4c290d17cdafa26fb17ea5c1d476bc3a5efc68bf8ddd9b9"}], "sections": [], "synopsis": ["pg_test_fsync [ option ...]"], "signature": "pg_test_fsync [ option ...]", "description": ["pg_test_fsync \u2014 determine fastest wal_sync_method for PostgreSQL"], "environment": [], "manual_html": "<div><div class=\"refentry\" id=\"PGTESTFSYNC\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">pg_test_fsync</span></span></h2>\n<p>pg_test_fsync \u2014 determine fastest <code class=\"varname\">wal_sync_method</code> for <span class=\"productname\">PostgreSQL</span></p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.5.11.4.1\"><code class=\"command\">pg_test_fsync</code> [<em class=\"replaceable\"><code>option</code></em>...]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.11.5\">\n<h2>Description</h2>\n<p><span class=\"application\">pg_test_fsync</span> is intended to give you a reasonable idea of what the fastest <a class=\"xref\" href=\"/docs/17/runtime-config-wal.html#GUC-WAL-SYNC-METHOD\">wal_sync_method</a> is on your specific system, as well as supplying diagnostic information in the event of an identified I/O problem. However, differences shown by <span class=\"application\">pg_test_fsync</span> might not make any significant difference in real database throughput, especially since many database servers are not speed-limited by their write-ahead logs. <span class=\"application\">pg_test_fsync</span> reports average file sync operation time in microseconds for each <code class=\"literal\">wal_sync_method</code>, which can also be used to inform efforts to optimize the value of <a class=\"xref\" href=\"/docs/17/runtime-config-wal.html#GUC-COMMIT-DELAY\">commit_delay</a>.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.11.6\">\n<h2>Options</h2>\n<p><span class=\"application\">pg_test_fsync</span> accepts the following command-line options:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-f</code><br></span><span class=\"term\"><code class=\"option\">--filename</code></span></dt>\n<dd>\n<p>Specifies the file name to write test data in. This file should be in the same file system that the <code class=\"filename\">pg_wal</code> directory is or will be placed in. (<code class=\"filename\">pg_wal</code> contains the WAL files.) The default is <code class=\"filename\">pg_test_fsync.out</code> in the current directory.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-s</code><br></span><span class=\"term\"><code class=\"option\">--secs-per-test</code></span></dt>\n<dd>\n<p>Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">pg_test_fsync</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">pg_test_fsync</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.11.7\">\n<h2>Environment</h2>\n<p>The environment variable <code class=\"envar\">PG_COLOR</code> specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.11.8\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/17/app-postgres.html\" title=\"postgres\"><span class=\"refentrytitle\"><span class=\"application\">postgres</span></span></a></span>\n</div>\n</div></div>", "manual_path": "pgtestfsync.html", "comparison_data": {"options": [{"names": ["-f", "--filename"], "signature": "-f --filename", "description": "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."}, {"names": ["-s", "--secs-per-test"], "signature": "-s --secs-per-test", "description": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the pg_test_fsync version and exit."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about pg_test_fsync command line arguments, and exit."}], "synopsis": ["pg_test_fsync [ option ...]"], "environment": []}, "comparison_hash": "1389a6353245619e571d6357305cd2d322eb179aa5ff5046733d528888531d25"}, "18": {"facts": [{"label": "Documented executable", "value": "pg_test_fsync"}, {"label": "Executable version", "value": "18.6"}, {"label": "Reference inventory", "value": "Server applications"}, {"label": "Option definition groups", "value": "4"}], "tables": [{"key": "options", "rows": [{"summary": "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.", "signature": {"url": "/docs/18/pgtestfsync.html", "text": "-f --filename"}}, {"summary": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.", "signature": {"url": "/docs/18/pgtestfsync.html", "text": "-s --secs-per-test"}}, {"summary": "Print the pg_test_fsync version and exit.", "signature": {"url": "/docs/18/pgtestfsync.html", "text": "-V --version"}}, {"summary": "Show help about pg_test_fsync command line arguments, and exit.", "signature": {"url": "/docs/18/pgtestfsync.html", "text": "-? --help"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}], "options": [{"names": ["-f", "--filename"], "summary": "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.", "signature": "-f --filename", "source_url": "/docs/18/pgtestfsync.html", "description": "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."}, {"names": ["-s", "--secs-per-test"], "summary": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.", "signature": "-s --secs-per-test", "source_url": "/docs/18/pgtestfsync.html", "description": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes."}, {"names": ["-V", "--version"], "summary": "Print the pg_test_fsync version and exit.", "signature": "-V --version", "source_url": "/docs/18/pgtestfsync.html", "description": "Print the pg_test_fsync version and exit."}, {"names": ["-?", "--help"], "summary": "Show help about pg_test_fsync command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/18/pgtestfsync.html", "description": "Show help about pg_test_fsync command line arguments, and exit."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/18/postgresql-18-A4.pdf", "bytes": 15865106, "pages": 3154, "sha256": "19512c405da53f9f7fcf0abba359223aa65f021be025bf3411381918f92e3190", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/18/postgresql-18-US.pdf", "bytes": 15748059, "pages": 3328, "sha256": "facbe6c229e598b872d3d98bef53308f46e06746006fa4590de9a7de9dd46319", "built_at": "2026-09-26"}}, "tree": "18", "index": "index.html", "major": "18", "pages": 1148, "release": "18.6", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "svg_assets": 3, "source_mode": "en SGML built with pinned official archive", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "revision": "ee8d1a3612338fd9adf250730cb640fcc5233b5491337cc00a316a44e3a0b9f8", "evidence_kind": "English manual and source declarations", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sources": [{"url": "/docs/18/pgtestfsync.html", "file": "pgtestfsync.html", "label": "18.6 English manual \u00b7 pgtestfsync.html", "anchor": "", "sha256": "652324385d110f032bf5ca1885da156d3ec56140284a2971a79ed60c75cc70ef"}, {"url": "/docs/18/reference-server.html", "file": "reference-server.html", "label": "Server applications inventory", "anchor": "", "sha256": "e9f8bbcc8e3641fadd1d20991e8aad6b532155b786ba5a1b7b364ec4f1a5bef3"}], "sections": [], "synopsis": ["pg_test_fsync [ option ...]"], "signature": "pg_test_fsync [ option ...]", "description": ["pg_test_fsync \u2014 determine fastest wal_sync_method for PostgreSQL"], "environment": [], "manual_html": "<div><div class=\"refentry\" id=\"PGTESTFSYNC\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">pg_test_fsync</span></span></h2>\n<p>pg_test_fsync \u2014 determine fastest <code class=\"varname\">wal_sync_method</code> for <span class=\"productname\">PostgreSQL</span></p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.5.11.4.1\"><code class=\"command\">pg_test_fsync</code> [<em class=\"replaceable\"><code>option</code></em>...]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.11.5\">\n<h2>Description</h2>\n<p><span class=\"application\">pg_test_fsync</span> is intended to give you a reasonable idea of what the fastest <a class=\"xref\" href=\"/docs/18/runtime-config-wal.html#GUC-WAL-SYNC-METHOD\">wal_sync_method</a> is on your specific system, as well as supplying diagnostic information in the event of an identified I/O problem. However, differences shown by <span class=\"application\">pg_test_fsync</span> might not make any significant difference in real database throughput, especially since many database servers are not speed-limited by their write-ahead logs. <span class=\"application\">pg_test_fsync</span> reports average file sync operation time in microseconds for each <code class=\"literal\">wal_sync_method</code>, which can also be used to inform efforts to optimize the value of <a class=\"xref\" href=\"/docs/18/runtime-config-wal.html#GUC-COMMIT-DELAY\">commit_delay</a>.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.11.6\">\n<h2>Options</h2>\n<p><span class=\"application\">pg_test_fsync</span> accepts the following command-line options:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-f</code><br></span><span class=\"term\"><code class=\"option\">--filename</code></span></dt>\n<dd>\n<p>Specifies the file name to write test data in. This file should be in the same file system that the <code class=\"filename\">pg_wal</code> directory is or will be placed in. (<code class=\"filename\">pg_wal</code> contains the WAL files.) The default is <code class=\"filename\">pg_test_fsync.out</code> in the current directory.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-s</code><br></span><span class=\"term\"><code class=\"option\">--secs-per-test</code></span></dt>\n<dd>\n<p>Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">pg_test_fsync</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">pg_test_fsync</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.11.7\">\n<h2>Environment</h2>\n<p>The environment variable <code class=\"envar\">PG_COLOR</code> specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.11.8\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/18/app-postgres.html\" title=\"postgres\"><span class=\"refentrytitle\"><span class=\"application\">postgres</span></span></a></span>\n</div>\n</div></div>", "manual_path": "pgtestfsync.html", "comparison_data": {"options": [{"names": ["-f", "--filename"], "signature": "-f --filename", "description": "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."}, {"names": ["-s", "--secs-per-test"], "signature": "-s --secs-per-test", "description": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the pg_test_fsync version and exit."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about pg_test_fsync command line arguments, and exit."}], "synopsis": ["pg_test_fsync [ option ...]"], "environment": []}, "comparison_hash": "1389a6353245619e571d6357305cd2d322eb179aa5ff5046733d528888531d25"}, "19": {"facts": [{"label": "Documented executable", "value": "pg_test_fsync"}, {"label": "Executable version", "value": "19beta4"}, {"label": "Reference inventory", "value": "Server applications"}, {"label": "Option definition groups", "value": "4"}], "tables": [{"key": "options", "rows": [{"summary": "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.", "signature": {"url": "/docs/19/pgtestfsync.html", "text": "-f --filename"}}, {"summary": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.", "signature": {"url": "/docs/19/pgtestfsync.html", "text": "-s --secs-per-test"}}, {"summary": "Print the pg_test_fsync version and exit.", "signature": {"url": "/docs/19/pgtestfsync.html", "text": "-V --version"}}, {"summary": "Show help about pg_test_fsync command line arguments, and exit.", "signature": {"url": "/docs/19/pgtestfsync.html", "text": "-? --help"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}], "options": [{"names": ["-f", "--filename"], "summary": "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.", "signature": "-f --filename", "source_url": "/docs/19/pgtestfsync.html", "description": "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."}, {"names": ["-s", "--secs-per-test"], "summary": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.", "signature": "-s --secs-per-test", "source_url": "/docs/19/pgtestfsync.html", "description": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes."}, {"names": ["-V", "--version"], "summary": "Print the pg_test_fsync version and exit.", "signature": "-V --version", "source_url": "/docs/19/pgtestfsync.html", "description": "Print the pg_test_fsync version and exit."}, {"names": ["-?", "--help"], "summary": "Show help about pg_test_fsync command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/19/pgtestfsync.html", "description": "Show help about pg_test_fsync command line arguments, and exit."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "label": "19beta4", "major": "19", "channel": "preview", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/19/postgresql-19-A4.pdf", "bytes": 16064841, "pages": 3052, "sha256": "4dd099e4125c591128fc5f3ebd02178dc24781f9e5ae629f96d67c4c8547427b", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/19/postgresql-19-US.pdf", "bytes": 15974616, "pages": 3225, "sha256": "61971fa857f0956d47341a0388fa6af9ae10acf691d4b2fc009007d384b0342b", "built_at": "2026-09-26"}}, "tree": "19", "index": "index.html", "major": "19", "pages": 1155, "release": "19beta4", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "svg_assets": 5, "source_mode": "en SGML built with pinned official archive", "source_sha256": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86"}, "revision": "1bbbbf4133d426f0e4304010688d2984c30fb67df0cc3a61b3e37eb3f6f37833", "evidence_kind": "English manual and source declarations", "source_sha256": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86"}, "sources": [{"url": "/docs/19/pgtestfsync.html", "file": "pgtestfsync.html", "label": "19beta4 English manual \u00b7 pgtestfsync.html", "anchor": "", "sha256": "30138c05a9fc31680f1ff37bbffbfb194dbadef9860e3b54e52293c8543a4194"}, {"url": "/docs/19/reference-server.html", "file": "reference-server.html", "label": "Server applications inventory", "anchor": "", "sha256": "425b070323b448b5516d2cb4e9e4ac77efb5d19dd4e8005d0ae1c61db9ec78e6"}], "sections": [], "synopsis": ["pg_test_fsync [ option ...]"], "signature": "pg_test_fsync [ option ...]", "description": ["pg_test_fsync \u2014 determine fastest wal_sync_method for PostgreSQL"], "environment": [], "manual_html": "<div><div class=\"refentry\" id=\"PGTESTFSYNC\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">pg_test_fsync</span></span></h2>\n<p>pg_test_fsync \u2014 determine fastest <code class=\"varname\">wal_sync_method</code> for <span class=\"productname\">PostgreSQL</span></p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.5.11.4.1\"><code class=\"command\">pg_test_fsync</code> [<em class=\"replaceable\"><code>option</code></em>...]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.11.5\">\n<h2>Description</h2>\n<p><span class=\"application\">pg_test_fsync</span> is intended to give you a reasonable idea of what the fastest <a class=\"xref\" href=\"/docs/19/runtime-config-wal.html#GUC-WAL-SYNC-METHOD\">wal_sync_method</a> is on your specific system, as well as supplying diagnostic information in the event of an identified I/O problem. However, differences shown by <span class=\"application\">pg_test_fsync</span> might not make any significant difference in real database throughput, especially since many database servers are not speed-limited by their write-ahead logs. <span class=\"application\">pg_test_fsync</span> reports average file sync operation time in microseconds for each <code class=\"literal\">wal_sync_method</code>, which can also be used to inform efforts to optimize the value of <a class=\"xref\" href=\"/docs/19/runtime-config-wal.html#GUC-COMMIT-DELAY\">commit_delay</a>.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.11.6\">\n<h2>Options</h2>\n<p><span class=\"application\">pg_test_fsync</span> accepts the following command-line options:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-f</code><br></span><span class=\"term\"><code class=\"option\">--filename</code></span></dt>\n<dd>\n<p>Specifies the file name to write test data in. This file should be in the same file system that the <code class=\"filename\">pg_wal</code> directory is or will be placed in. (<code class=\"filename\">pg_wal</code> contains the WAL files.) The default is <code class=\"filename\">pg_test_fsync.out</code> in the current directory.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-s</code><br></span><span class=\"term\"><code class=\"option\">--secs-per-test</code></span></dt>\n<dd>\n<p>Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">pg_test_fsync</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">pg_test_fsync</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.11.7\">\n<h2>Environment</h2>\n<p>The environment variable <code class=\"envar\">PG_COLOR</code> specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.11.8\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/19/app-postgres.html\" title=\"postgres\"><span class=\"refentrytitle\"><span class=\"application\">postgres</span></span></a></span>\n</div>\n</div></div>", "manual_path": "pgtestfsync.html", "comparison_data": {"options": [{"names": ["-f", "--filename"], "signature": "-f --filename", "description": "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."}, {"names": ["-s", "--secs-per-test"], "signature": "-s --secs-per-test", "description": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the pg_test_fsync version and exit."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about pg_test_fsync command line arguments, and exit."}], "synopsis": ["pg_test_fsync [ option ...]"], "environment": []}, "comparison_hash": "1389a6353245619e571d6357305cd2d322eb179aa5ff5046733d528888531d25"}, "20": {"facts": [{"label": "Documented executable", "value": "pg_test_fsync"}, {"label": "Executable version", "value": "20devel"}, {"label": "Reference inventory", "value": "Server applications"}, {"label": "Option definition groups", "value": "4"}], "tables": [{"key": "options", "rows": [{"summary": "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.", "signature": {"url": "/docs/devel/pgtestfsync.html", "text": "-f --filename"}}, {"summary": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.", "signature": {"url": "/docs/devel/pgtestfsync.html", "text": "-s --secs-per-test"}}, {"summary": "Print the pg_test_fsync version and exit.", "signature": {"url": "/docs/devel/pgtestfsync.html", "text": "-V --version"}}, {"summary": "Show help about pg_test_fsync command line arguments, and exit.", "signature": {"url": "/docs/devel/pgtestfsync.html", "text": "-? --help"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}], "options": [{"names": ["-f", "--filename"], "summary": "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.", "signature": "-f --filename", "source_url": "/docs/devel/pgtestfsync.html", "description": "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."}, {"names": ["-s", "--secs-per-test"], "summary": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.", "signature": "-s --secs-per-test", "source_url": "/docs/devel/pgtestfsync.html", "description": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes."}, {"names": ["-V", "--version"], "summary": "Print the pg_test_fsync version and exit.", "signature": "-V --version", "source_url": "/docs/devel/pgtestfsync.html", "description": "Print the pg_test_fsync version and exit."}, {"names": ["-?", "--help"], "summary": "Show help about pg_test_fsync command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/devel/pgtestfsync.html", "description": "Show help about pg_test_fsync command line arguments, and exit."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "label": "20devel", "major": "20", "channel": "devel", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/20/postgresql-20-A4.pdf", "bytes": 16030631, "pages": 3052, "sha256": "bd5d82c0ce38fc18f92a0447818a91a193a261776bca1c37564bf9a683e177d0", "built_at": "2026-09-28"}, "US": {"url": "/files/documentation/pdf/20/postgresql-20-US.pdf", "bytes": 15936613, "pages": 3223, "sha256": "d97d9e0db479a02f4234b175f50fcad70c3661619afc8d6df9b9437882e3c299", "built_at": "2026-09-28"}}, "tree": "0", "index": "index.html", "major": "20", "pages": 1156, "release": "20devel", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "svg_assets": 6, "source_mode": "en SGML built with pinned official archive", "source_sha256": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_snapshot_utc": "26-Sep-2026 20:22"}, "revision": "2eba5e0fd4c3bffb2803247b6cd537878e9d6ee5a6dfbe3c50ece8b421b80918", "evidence_kind": "English manual and source declarations", "source_sha256": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41"}, "sources": [{"url": "/docs/devel/pgtestfsync.html", "file": "pgtestfsync.html", "label": "20devel English manual \u00b7 pgtestfsync.html", "anchor": "", "sha256": "02db184d68a0c2c2ef04b98a47eb1e5f040a8beda6c4ea9b292d37b5b37f3781"}, {"url": "/docs/devel/reference-server.html", "file": "reference-server.html", "label": "Server applications inventory", "anchor": "", "sha256": "5532c1ebfb8c6f310301be63a28daf0ae212e2a78025bea61a1bdca99e02c43d"}], "sections": [], "synopsis": ["pg_test_fsync [ option ...]"], "signature": "pg_test_fsync [ option ...]", "description": ["pg_test_fsync \u2014 determine fastest wal_sync_method for PostgreSQL"], "environment": [], "manual_html": "<div><div class=\"refentry\" id=\"PGTESTFSYNC\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">pg_test_fsync</span></span></h2>\n<p>pg_test_fsync \u2014 determine fastest <code class=\"varname\">wal_sync_method</code> for <span class=\"productname\">PostgreSQL</span></p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.5.11.4.1\"><code class=\"command\">pg_test_fsync</code> [<em class=\"replaceable\"><code>option</code></em>...]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.11.5\">\n<h2>Description</h2>\n<p><span class=\"application\">pg_test_fsync</span> is intended to give you a reasonable idea of what the fastest <a class=\"xref\" href=\"/docs/devel/runtime-config-wal.html#GUC-WAL-SYNC-METHOD\">wal_sync_method</a> is on your specific system, as well as supplying diagnostic information in the event of an identified I/O problem. However, differences shown by <span class=\"application\">pg_test_fsync</span> might not make any significant difference in real database throughput, especially since many database servers are not speed-limited by their write-ahead logs. <span class=\"application\">pg_test_fsync</span> reports average file sync operation time in microseconds for each <code class=\"literal\">wal_sync_method</code>, which can also be used to inform efforts to optimize the value of <a class=\"xref\" href=\"/docs/devel/runtime-config-wal.html#GUC-COMMIT-DELAY\">commit_delay</a>.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.11.6\">\n<h2>Options</h2>\n<p><span class=\"application\">pg_test_fsync</span> accepts the following command-line options:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-f</code><br></span><span class=\"term\"><code class=\"option\">--filename</code></span></dt>\n<dd>\n<p>Specifies the file name to write test data in. This file should be in the same file system that the <code class=\"filename\">pg_wal</code> directory is or will be placed in. (<code class=\"filename\">pg_wal</code> contains the WAL files.) The default is <code class=\"filename\">pg_test_fsync.out</code> in the current directory.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-s</code><br></span><span class=\"term\"><code class=\"option\">--secs-per-test</code></span></dt>\n<dd>\n<p>Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">pg_test_fsync</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">pg_test_fsync</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.11.7\">\n<h2>Environment</h2>\n<p>The environment variable <code class=\"envar\">PG_COLOR</code> specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.11.8\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/devel/app-postgres.html\" title=\"postgres\"><span class=\"refentrytitle\"><span class=\"application\">postgres</span></span></a></span>\n</div>\n</div></div>", "manual_path": "pgtestfsync.html", "comparison_data": {"options": [{"names": ["-f", "--filename"], "signature": "-f --filename", "description": "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."}, {"names": ["-s", "--secs-per-test"], "signature": "-s --secs-per-test", "description": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the pg_test_fsync version and exit."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about pg_test_fsync command line arguments, and exit."}], "synopsis": ["pg_test_fsync [ option ...]"], "environment": []}, "comparison_hash": "1389a6353245619e571d6357305cd2d322eb179aa5ff5046733d528888531d25"}}}, "snapshot": {"facts": [{"label": "Documented executable", "value": "pg_test_fsync"}, {"label": "Executable version", "value": "18.6"}, {"label": "Reference inventory", "value": "Server applications"}, {"label": "Option definition groups", "value": "4"}], "tables": [{"key": "options", "rows": [{"summary": "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.", "signature": {"url": "/docs/18/pgtestfsync.html", "text": "-f --filename"}}, {"summary": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.", "signature": {"url": "/docs/18/pgtestfsync.html", "text": "-s --secs-per-test"}}, {"summary": "Print the pg_test_fsync version and exit.", "signature": {"url": "/docs/18/pgtestfsync.html", "text": "-V --version"}}, {"summary": "Show help about pg_test_fsync command line arguments, and exit.", "signature": {"url": "/docs/18/pgtestfsync.html", "text": "-? --help"}}], "title": "Documented options", "columns": [{"key": "signature", "label": "Option and arguments"}, {"key": "summary", "label": "Description"}]}], "options": [{"names": ["-f", "--filename"], "summary": "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.", "signature": "-f --filename", "source_url": "/docs/18/pgtestfsync.html", "description": "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."}, {"names": ["-s", "--secs-per-test"], "summary": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.", "signature": "-s --secs-per-test", "source_url": "/docs/18/pgtestfsync.html", "description": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes."}, {"names": ["-V", "--version"], "summary": "Print the pg_test_fsync version and exit.", "signature": "-V --version", "source_url": "/docs/18/pgtestfsync.html", "description": "Print the pg_test_fsync version and exit."}, {"names": ["-?", "--help"], "summary": "Show help about pg_test_fsync command line arguments, and exit.", "signature": "-? --help", "source_url": "/docs/18/pgtestfsync.html", "description": "Show help about pg_test_fsync command line arguments, and exit."}], "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/18/postgresql-18-A4.pdf", "bytes": 15865106, "pages": 3154, "sha256": "19512c405da53f9f7fcf0abba359223aa65f021be025bf3411381918f92e3190", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/18/postgresql-18-US.pdf", "bytes": 15748059, "pages": 3328, "sha256": "facbe6c229e598b872d3d98bef53308f46e06746006fa4590de9a7de9dd46319", "built_at": "2026-09-26"}}, "tree": "18", "index": "index.html", "major": "18", "pages": 1148, "release": "18.6", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "svg_assets": 3, "source_mode": "en SGML built with pinned official archive", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "revision": "ee8d1a3612338fd9adf250730cb640fcc5233b5491337cc00a316a44e3a0b9f8", "evidence_kind": "English manual and source declarations", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sources": [{"url": "/docs/18/pgtestfsync.html", "file": "pgtestfsync.html", "label": "18.6 English manual \u00b7 pgtestfsync.html", "anchor": "", "sha256": "652324385d110f032bf5ca1885da156d3ec56140284a2971a79ed60c75cc70ef"}, {"url": "/docs/18/reference-server.html", "file": "reference-server.html", "label": "Server applications inventory", "anchor": "", "sha256": "e9f8bbcc8e3641fadd1d20991e8aad6b532155b786ba5a1b7b364ec4f1a5bef3"}], "sections": [], "synopsis": ["pg_test_fsync [ option ...]"], "signature": "pg_test_fsync [ option ...]", "description": ["pg_test_fsync \u2014 determine fastest wal_sync_method for PostgreSQL"], "environment": [], "manual_html": "<div><div class=\"refentry\" id=\"PGTESTFSYNC\">\n<div class=\"titlepage\"></div>\n<div class=\"refnamediv\">\n<h2><span class=\"refentrytitle\"><span class=\"application\">pg_test_fsync</span></span></h2>\n<p>pg_test_fsync \u2014 determine fastest <code class=\"varname\">wal_sync_method</code> for <span class=\"productname\">PostgreSQL</span></p>\n</div>\n<div class=\"refsynopsisdiv\">\n<h2>Synopsis</h2>\n<div class=\"cmdsynopsis\">\n<p id=\"id-1.9.5.11.4.1\"><code class=\"command\">pg_test_fsync</code> [<em class=\"replaceable\"><code>option</code></em>...]</p>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.11.5\">\n<h2>Description</h2>\n<p><span class=\"application\">pg_test_fsync</span> is intended to give you a reasonable idea of what the fastest <a class=\"xref\" href=\"/docs/18/runtime-config-wal.html#GUC-WAL-SYNC-METHOD\">wal_sync_method</a> is on your specific system, as well as supplying diagnostic information in the event of an identified I/O problem. However, differences shown by <span class=\"application\">pg_test_fsync</span> might not make any significant difference in real database throughput, especially since many database servers are not speed-limited by their write-ahead logs. <span class=\"application\">pg_test_fsync</span> reports average file sync operation time in microseconds for each <code class=\"literal\">wal_sync_method</code>, which can also be used to inform efforts to optimize the value of <a class=\"xref\" href=\"/docs/18/runtime-config-wal.html#GUC-COMMIT-DELAY\">commit_delay</a>.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.11.6\">\n<h2>Options</h2>\n<p><span class=\"application\">pg_test_fsync</span> accepts the following command-line options:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"option\">-f</code><br></span><span class=\"term\"><code class=\"option\">--filename</code></span></dt>\n<dd>\n<p>Specifies the file name to write test data in. This file should be in the same file system that the <code class=\"filename\">pg_wal</code> directory is or will be placed in. (<code class=\"filename\">pg_wal</code> contains the WAL files.) The default is <code class=\"filename\">pg_test_fsync.out</code> in the current directory.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-s</code><br></span><span class=\"term\"><code class=\"option\">--secs-per-test</code></span></dt>\n<dd>\n<p>Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-V</code><br></span><span class=\"term\"><code class=\"option\">--version</code></span></dt>\n<dd>\n<p>Print the <span class=\"application\">pg_test_fsync</span> version and exit.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"option\">-?</code><br></span><span class=\"term\"><code class=\"option\">--help</code></span></dt>\n<dd>\n<p>Show help about <span class=\"application\">pg_test_fsync</span> command line arguments, and exit.</p>\n</dd>\n</dl>\n</div>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.11.7\">\n<h2>Environment</h2>\n<p>The environment variable <code class=\"envar\">PG_COLOR</code> specifies whether to use color in diagnostic messages. Possible values are <code class=\"literal\">always</code>, <code class=\"literal\">auto</code> and <code class=\"literal\">never</code>.</p>\n</div>\n<div class=\"refsect1\" id=\"id-1.9.5.11.8\">\n<h2>See Also</h2><span class=\"simplelist\"><a class=\"xref\" href=\"/docs/18/app-postgres.html\" title=\"postgres\"><span class=\"refentrytitle\"><span class=\"application\">postgres</span></span></a></span>\n</div>\n</div></div>", "manual_path": "pgtestfsync.html", "comparison_data": {"options": [{"names": ["-f", "--filename"], "signature": "-f --filename", "description": "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."}, {"names": ["-s", "--secs-per-test"], "signature": "-s --secs-per-test", "description": "Specifies the number of seconds for each test. The more time per test, the greater the test's accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes."}, {"names": ["-V", "--version"], "signature": "-V --version", "description": "Print the pg_test_fsync version and exit."}, {"names": ["-?", "--help"], "signature": "-? --help", "description": "Show help about pg_test_fsync command line arguments, and exit."}], "synopsis": ["pg_test_fsync [ option ...]"], "environment": []}, "comparison_hash": "1389a6353245619e571d6357305cd2d322eb179aa5ff5046733d528888531d25"}, "comparison": {"left": "17", "right": "18", "status": "unchanged", "diff": ""}}