pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
pgsql: Allow using syncfs() in frontend utilities.
9+ messages / 4 participants
[nested] [flat]

* pgsql: Allow using syncfs() in frontend utilities.
@ 2023-09-06 23:28 Nathan Bossart <nathan@postgresql.org>
  2024-03-22 16:52 ` Re: pgsql: Allow using syncfs() in frontend utilities. Robert Haas <robertmhaas@gmail.com>
  0 siblings, 1 reply; 9+ messages in thread

From: Nathan Bossart @ 2023-09-06 23:28 UTC (permalink / raw)
  To: pgsql-committers@lists.postgresql.org

Allow using syncfs() in frontend utilities.

This commit allows specifying a --sync-method in several frontend
utilities that must synchronize many files to disk (initdb,
pg_basebackup, pg_checksums, pg_dump, pg_rewind, and pg_upgrade).
On Linux, users can specify "syncfs" to synchronize the relevant
file systems instead of calling fsync() for every single file.  In
many cases, using syncfs() is much faster.

As with recovery_init_sync_method, this new option comes with some
caveats.  The descriptions of these caveats have been moved to a
new appendix section in the documentation.

Co-authored-by: Justin Pryzby
Reviewed-by: Michael Paquier, Thomas Munro, Robert Haas, Justin Pryzby
Discussion: https://postgr.es/m/20210930004340.GM831%40telsasoft.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/8c16ad3b43299695f203f9157a2b27c22b9ed634

Modified Files
--------------
doc/src/sgml/config.sgml              | 12 +++---------
doc/src/sgml/filelist.sgml            |  1 +
doc/src/sgml/postgres.sgml            |  1 +
doc/src/sgml/ref/initdb.sgml          | 22 +++++++++++++++++++++
doc/src/sgml/ref/pg_basebackup.sgml   | 25 ++++++++++++++++++++++++
doc/src/sgml/ref/pg_checksums.sgml    | 22 +++++++++++++++++++++
doc/src/sgml/ref/pg_dump.sgml         | 21 ++++++++++++++++++++
doc/src/sgml/ref/pg_rewind.sgml       | 22 +++++++++++++++++++++
doc/src/sgml/ref/pgupgrade.sgml       | 23 ++++++++++++++++++++++
doc/src/sgml/syncfs.sgml              | 36 +++++++++++++++++++++++++++++++++++
src/bin/initdb/initdb.c               |  6 ++++++
src/bin/initdb/t/001_initdb.pl        | 12 ++++++++++++
src/bin/pg_basebackup/pg_basebackup.c |  7 +++++++
src/bin/pg_checksums/pg_checksums.c   |  6 ++++++
src/bin/pg_dump/pg_dump.c             |  7 +++++++
src/bin/pg_rewind/pg_rewind.c         |  8 ++++++++
src/bin/pg_upgrade/option.c           | 13 +++++++++++++
src/bin/pg_upgrade/pg_upgrade.c       |  6 ++++--
src/bin/pg_upgrade/pg_upgrade.h       |  1 +
src/fe_utils/option_utils.c           | 27 ++++++++++++++++++++++++++
src/include/fe_utils/option_utils.h   |  4 ++++
21 files changed, 271 insertions(+), 11 deletions(-)



^ permalink  raw  reply  [nested|flat] 9+ messages in thread

* Re: pgsql: Allow using syncfs() in frontend utilities.
  2023-09-06 23:28 pgsql: Allow using syncfs() in frontend utilities. Nathan Bossart <nathan@postgresql.org>
@ 2024-03-22 16:52 ` Robert Haas <robertmhaas@gmail.com>
  2024-03-26 10:18   ` Re: pgsql: Allow using syncfs() in frontend utilities. Peter Eisentraut <peter@eisentraut.org>
  2024-03-26 14:52   ` Re: pgsql: Allow using syncfs() in frontend utilities. Nathan Bossart <nathandbossart@gmail.com>
  0 siblings, 2 replies; 9+ messages in thread

From: Robert Haas @ 2024-03-22 16:52 UTC (permalink / raw)
  To: Nathan Bossart <nathan@postgresql.org>; +Cc: pgsql-hackers

On Wed, Sep 6, 2023 at 7:28 PM Nathan Bossart <nathan@postgresql.org> wrote:
> Allow using syncfs() in frontend utilities.
>
> This commit allows specifying a --sync-method in several frontend
> utilities that must synchronize many files to disk (initdb,
> pg_basebackup, pg_checksums, pg_dump, pg_rewind, and pg_upgrade).
> On Linux, users can specify "syncfs" to synchronize the relevant
> file systems instead of calling fsync() for every single file.  In
> many cases, using syncfs() is much faster.
>
> As with recovery_init_sync_method, this new option comes with some
> caveats.  The descriptions of these caveats have been moved to a
> new appendix section in the documentation.

Hi,

I'd like to complain about this commit's addition of a new appendix. I
do understand the temptation to document caveats like this centrally
instead of in multiple places, but as I've been complaining about over
in the "documentation structure" thread, our top-level documentation
index is too big, and I feel strongly that we need to de-clutter it
rather than cluttering it further. This added a new chapter which is
just 5 sentences long. I understand that this was done because the
same issue applies to a bunch of different utilities and we didn't
want to duplicate this text in all of those places, but I feel like
this approach just doesn't scale. If we did this in every place where
we have this much text that we want to avoid duplicating, we'd soon
have hundreds of appendixes.

What I would suggest we do instead is pick one of the places where
this comes up and document it there, perhaps the
recovery_init_sync_method GUC. And then make the documentation for the
other say something like, you know those issues we documented for
recovery_init_sync_method? Well they also apply to this.

-- 
Robert Haas
EDB: http://www.enterprisedb.com





^ permalink  raw  reply  [nested|flat] 9+ messages in thread

* Re: pgsql: Allow using syncfs() in frontend utilities.
  2023-09-06 23:28 pgsql: Allow using syncfs() in frontend utilities. Nathan Bossart <nathan@postgresql.org>
  2024-03-22 16:52 ` Re: pgsql: Allow using syncfs() in frontend utilities. Robert Haas <robertmhaas@gmail.com>
@ 2024-03-26 10:18   ` Peter Eisentraut <peter@eisentraut.org>
  2024-03-26 15:11     ` Re: pgsql: Allow using syncfs() in frontend utilities. Nathan Bossart <nathandbossart@gmail.com>
  1 sibling, 1 reply; 9+ messages in thread

From: Peter Eisentraut @ 2024-03-26 10:18 UTC (permalink / raw)
  To: Robert Haas <robertmhaas@gmail.com>; Nathan Bossart <nathan@postgresql.org>; +Cc: pgsql-hackers

On 22.03.24 17:52, Robert Haas wrote:
> On Wed, Sep 6, 2023 at 7:28 PM Nathan Bossart <nathan@postgresql.org> wrote:
>> Allow using syncfs() in frontend utilities.
>>
>> This commit allows specifying a --sync-method in several frontend
>> utilities that must synchronize many files to disk (initdb,
>> pg_basebackup, pg_checksums, pg_dump, pg_rewind, and pg_upgrade).
>> On Linux, users can specify "syncfs" to synchronize the relevant
>> file systems instead of calling fsync() for every single file.  In
>> many cases, using syncfs() is much faster.
>>
>> As with recovery_init_sync_method, this new option comes with some
>> caveats.  The descriptions of these caveats have been moved to a
>> new appendix section in the documentation.
> 
> Hi,
> 
> I'd like to complain about this commit's addition of a new appendix.

I already complained about that at 
<https://www.postgresql.org/message-id/42804669-7063-1320-ed37-3226d5f1067d@eisentraut.org; 
and some follow-up was announced but didn't happen.  It was on my list 
to look into cleaning up during beta.






^ permalink  raw  reply  [nested|flat] 9+ messages in thread

* Re: pgsql: Allow using syncfs() in frontend utilities.
  2023-09-06 23:28 pgsql: Allow using syncfs() in frontend utilities. Nathan Bossart <nathan@postgresql.org>
  2024-03-22 16:52 ` Re: pgsql: Allow using syncfs() in frontend utilities. Robert Haas <robertmhaas@gmail.com>
  2024-03-26 10:18   ` Re: pgsql: Allow using syncfs() in frontend utilities. Peter Eisentraut <peter@eisentraut.org>
@ 2024-03-26 15:11     ` Nathan Bossart <nathandbossart@gmail.com>
  2024-03-26 16:34       ` Re: pgsql: Allow using syncfs() in frontend utilities. Nathan Bossart <nathandbossart@gmail.com>
  0 siblings, 1 reply; 9+ messages in thread

From: Nathan Bossart @ 2024-03-26 15:11 UTC (permalink / raw)
  To: Peter Eisentraut <peter@eisentraut.org>; +Cc: Robert Haas <robertmhaas@gmail.com>; Nathan Bossart <nathan@postgresql.org>; pgsql-hackers

On Tue, Mar 26, 2024 at 11:18:57AM +0100, Peter Eisentraut wrote:
> On 22.03.24 17:52, Robert Haas wrote:
>> I'd like to complain about this commit's addition of a new appendix.
> 
> I already complained about that at <https://www.postgresql.org/message-id/42804669-7063-1320-ed37-3226d5f1067d@eisentraut.org;
> and some follow-up was announced but didn't happen.  It was on my list to
> look into cleaning up during beta.

Sorry about this, I lost track of it.

-- 
Nathan Bossart
Amazon Web Services: https://aws.amazon.com





^ permalink  raw  reply  [nested|flat] 9+ messages in thread

* Re: pgsql: Allow using syncfs() in frontend utilities.
  2023-09-06 23:28 pgsql: Allow using syncfs() in frontend utilities. Nathan Bossart <nathan@postgresql.org>
  2024-03-22 16:52 ` Re: pgsql: Allow using syncfs() in frontend utilities. Robert Haas <robertmhaas@gmail.com>
  2024-03-26 10:18   ` Re: pgsql: Allow using syncfs() in frontend utilities. Peter Eisentraut <peter@eisentraut.org>
  2024-03-26 15:11     ` Re: pgsql: Allow using syncfs() in frontend utilities. Nathan Bossart <nathandbossart@gmail.com>
@ 2024-03-26 16:34       ` Nathan Bossart <nathandbossart@gmail.com>
  2024-03-27 14:41         ` Re: pgsql: Allow using syncfs() in frontend utilities. Robert Haas <robertmhaas@gmail.com>
  0 siblings, 1 reply; 9+ messages in thread

From: Nathan Bossart @ 2024-03-26 16:34 UTC (permalink / raw)
  To: Peter Eisentraut <peter@eisentraut.org>; +Cc: Robert Haas <robertmhaas@gmail.com>; Nathan Bossart <nathan@postgresql.org>; pgsql-hackers

On Tue, Mar 26, 2024 at 10:11:31AM -0500, Nathan Bossart wrote:
> On Tue, Mar 26, 2024 at 11:18:57AM +0100, Peter Eisentraut wrote:
>> On 22.03.24 17:52, Robert Haas wrote:
>>> I'd like to complain about this commit's addition of a new appendix.
>> 
>> I already complained about that at <https://www.postgresql.org/message-id/42804669-7063-1320-ed37-3226d5f1067d@eisentraut.org;
>> and some follow-up was announced but didn't happen.  It was on my list to
>> look into cleaning up during beta.
> 
> Sorry about this, I lost track of it.

Here's a first attempt at a patch based on Robert's suggestion from
upthread.

-- 
Nathan Bossart
Amazon Web Services: https://aws.amazon.com

Attachments:

v1-0001-Adjust-documentation-for-syncfs.patch (text/x-diff, 10.9K) download From c51703257821079016456b152e4a9f41169dad96 Mon Sep 17 00:00:00 2001 From: Nathan Bossart <nathan@postgresql.org> Date: Tue, 26 Mar 2024 11:26:56 -0500 Subject: [PATCH v1 1/1] Adjust documentation for syncfs(). Commit 8c16ad3b43 created a new appendix for syncfs(), which is excessive for the small amount of content it contains. This commit moves the description of the caveats to be aware of when using syncfs() back to the documentation for recovery_init_sync_method. The documentation for the other utilities with syncfs() support now directs readers to recovery_init_sync_method for information about these caveats. Reported-by: Peter Eisentraut Suggested-by: Robert Haas Discussion: https://postgr.es/m/42804669-7063-1320-ed37-3226d5f1067d%40eisentraut.org Discussion: https://postgr.es/m/CA%2BTgmobUiqKr%2BZMCLc5Qap-sXBnjfGUU%2BZBmzYEjUuWyjsGr1g%40mail.gmail.com --- doc/src/sgml/config.sgml | 12 ++++++--- doc/src/sgml/filelist.sgml | 1 - doc/src/sgml/postgres.sgml | 1 - doc/src/sgml/ref/initdb.sgml | 4 +-- doc/src/sgml/ref/pg_basebackup.sgml | 4 +-- doc/src/sgml/ref/pg_checksums.sgml | 4 +-- doc/src/sgml/ref/pg_combinebackup.sgml | 4 +-- doc/src/sgml/ref/pg_dump.sgml | 5 ++-- doc/src/sgml/ref/pg_rewind.sgml | 4 +-- doc/src/sgml/ref/pgupgrade.sgml | 4 +-- doc/src/sgml/syncfs.sgml | 36 -------------------------- 11 files changed, 24 insertions(+), 55 deletions(-) delete mode 100644 doc/src/sgml/syncfs.sgml diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 65a6e6c408..5468637e2e 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -10870,9 +10870,15 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' On Linux, <literal>syncfs</literal> may be used instead, to ask the operating system to synchronize the file systems that contain the data directory, the WAL files and each tablespace (but not any other - file systems that may be reachable through symbolic links). See - <xref linkend="syncfs"/> for more information about using - <function>syncfs()</function>. + file systems that may be reachable through symbolic links). This may + be a lot faster than the <literal>fsync</literal> setting, because it + doesn't need to open each file one by one. On the other hand, it may + be slower if a file system is shared by other applications that + modify a lot of files, since those files will also be written to disk. + Furthermore, on versions of Linux before 5.8, I/O errors encountered + while writing data to disk may not be reported to + <productname>PostgreSQL</productname>, and relevant error messages may + appear only in kernel logs. </para> <para> This parameter can only be set in the diff --git a/doc/src/sgml/filelist.sgml b/doc/src/sgml/filelist.sgml index e0dca81cb2..c92a16c7ac 100644 --- a/doc/src/sgml/filelist.sgml +++ b/doc/src/sgml/filelist.sgml @@ -182,7 +182,6 @@ <!ENTITY acronyms SYSTEM "acronyms.sgml"> <!ENTITY glossary SYSTEM "glossary.sgml"> <!ENTITY color SYSTEM "color.sgml"> -<!ENTITY syncfs SYSTEM "syncfs.sgml"> <!ENTITY features-supported SYSTEM "features-supported.sgml"> <!ENTITY features-unsupported SYSTEM "features-unsupported.sgml"> diff --git a/doc/src/sgml/postgres.sgml b/doc/src/sgml/postgres.sgml index 2c107199d3..381af69be2 100644 --- a/doc/src/sgml/postgres.sgml +++ b/doc/src/sgml/postgres.sgml @@ -289,7 +289,6 @@ break is not needed in a wider output rendering. &acronyms; &glossary; &color; - &syncfs; &obsolete; </part> diff --git a/doc/src/sgml/ref/initdb.sgml b/doc/src/sgml/ref/initdb.sgml index 377c3cb20a..dc9011b40e 100644 --- a/doc/src/sgml/ref/initdb.sgml +++ b/doc/src/sgml/ref/initdb.sgml @@ -394,8 +394,8 @@ PostgreSQL documentation On Linux, <literal>syncfs</literal> may be used instead to ask the operating system to synchronize the whole file systems that contain the data directory, the WAL files, and each tablespace. See - <xref linkend="syncfs"/> for more information about using - <function>syncfs()</function>. + <xref linkend="guc-recovery-init-sync-method"/> for information about + the caveats to be aware of when using <literal>syncfs</literal>. </para> <para> This option has no effect when <option>--no-sync</option> is used. diff --git a/doc/src/sgml/ref/pg_basebackup.sgml b/doc/src/sgml/ref/pg_basebackup.sgml index 208530f393..82d0c8e008 100644 --- a/doc/src/sgml/ref/pg_basebackup.sgml +++ b/doc/src/sgml/ref/pg_basebackup.sgml @@ -642,8 +642,8 @@ PostgreSQL documentation backup directory. When the plain format is used, <command>pg_basebackup</command> will also synchronize the file systems that contain the WAL files and each tablespace. See - <xref linkend="syncfs"/> for more information about using - <function>syncfs()</function>. + <xref linkend="guc-recovery-init-sync-method"/> for information about + the caveats to be aware of when using <literal>syncfs</literal>. </para> <para> This option has no effect when <option>--no-sync</option> is used. diff --git a/doc/src/sgml/ref/pg_checksums.sgml b/doc/src/sgml/ref/pg_checksums.sgml index db5b29505c..95043aa329 100644 --- a/doc/src/sgml/ref/pg_checksums.sgml +++ b/doc/src/sgml/ref/pg_checksums.sgml @@ -152,8 +152,8 @@ PostgreSQL documentation On Linux, <literal>syncfs</literal> may be used instead to ask the operating system to synchronize the whole file systems that contain the data directory, the WAL files, and each tablespace. See - <xref linkend="syncfs"/> for more information about using - <function>syncfs()</function>. + <xref linkend="guc-recovery-init-sync-method"/> for information about + the caveats to be aware of when using <literal>syncfs</literal>. </para> <para> This option has no effect when <option>--no-sync</option> is used. diff --git a/doc/src/sgml/ref/pg_combinebackup.sgml b/doc/src/sgml/ref/pg_combinebackup.sgml index 8a0a600c2b..6f90dba281 100644 --- a/doc/src/sgml/ref/pg_combinebackup.sgml +++ b/doc/src/sgml/ref/pg_combinebackup.sgml @@ -176,8 +176,8 @@ PostgreSQL documentation backup directory. When the plain format is used, <command>pg_combinebackup</command> will also synchronize the file systems that contain the WAL files and each tablespace. See - <xref linkend="syncfs"/> for more information about using - <function>syncfs()</function>. + <xref linkend="guc-recovery-init-sync-method"/> for information about + the caveats to be aware of when using <literal>syncfs</literal>. </para> <para> This option has no effect when <option>--no-sync</option> is used. diff --git a/doc/src/sgml/ref/pg_dump.sgml b/doc/src/sgml/ref/pg_dump.sgml index 8edf03a03d..b99793e414 100644 --- a/doc/src/sgml/ref/pg_dump.sgml +++ b/doc/src/sgml/ref/pg_dump.sgml @@ -1319,8 +1319,9 @@ PostgreSQL documentation <para> On Linux, <literal>syncfs</literal> may be used instead to ask the operating system to synchronize the whole file system that contains the - archive directory. See <xref linkend="syncfs"/> for more information - about using <function>syncfs()</function>. + archive directory. See <xref linkend="guc-recovery-init-sync-method"/> + for information about the caveats to be aware of when using + <literal>syncfs</literal>. </para> <para> This option has no effect when <option>--no-sync</option> is used or diff --git a/doc/src/sgml/ref/pg_rewind.sgml b/doc/src/sgml/ref/pg_rewind.sgml index 841bd49fc7..dc039d8756 100644 --- a/doc/src/sgml/ref/pg_rewind.sgml +++ b/doc/src/sgml/ref/pg_rewind.sgml @@ -297,8 +297,8 @@ PostgreSQL documentation On Linux, <literal>syncfs</literal> may be used instead to ask the operating system to synchronize the whole file systems that contain the data directory, the WAL files, and each tablespace. See - <xref linkend="syncfs"/> for more information about using - <function>syncfs()</function>. + <xref linkend="guc-recovery-init-sync-method"/> for information about + the caveats to be aware of when using <literal>syncfs</literal>. </para> <para> This option has no effect when <option>--no-sync</option> is used. diff --git a/doc/src/sgml/ref/pgupgrade.sgml b/doc/src/sgml/ref/pgupgrade.sgml index 8de52bf752..80a50377b1 100644 --- a/doc/src/sgml/ref/pgupgrade.sgml +++ b/doc/src/sgml/ref/pgupgrade.sgml @@ -204,8 +204,8 @@ PostgreSQL documentation On Linux, <literal>syncfs</literal> may be used instead to ask the operating system to synchronize the whole file systems that contain the upgraded cluster's data directory, its WAL files, and each tablespace. - See <xref linkend="syncfs"/> for more information about using - <function>syncfs()</function>. + See <xref linkend="guc-recovery-init-sync-method"/> for information + about the caveats to be aware of when using <literal>syncfs</literal>. </para> <para> This option has no effect when <option>--no-sync</option> is used. diff --git a/doc/src/sgml/syncfs.sgml b/doc/src/sgml/syncfs.sgml deleted file mode 100644 index 00457d2457..0000000000 --- a/doc/src/sgml/syncfs.sgml +++ /dev/null @@ -1,36 +0,0 @@ -<!-- doc/src/sgml/syncfs.sgml --> - -<appendix id="syncfs"> - <title><function>syncfs()</function> Caveats</title> - - <indexterm zone="syncfs"> - <primary>syncfs</primary> - </indexterm> - - <para> - On Linux <function>syncfs()</function> may be specified for some - configuration parameters (e.g., - <xref linkend="guc-recovery-init-sync-method"/>), server applications (e.g., - <application>pg_upgrade</application>), and client applications (e.g., - <application>pg_basebackup</application>) that involve synchronizing many - files to disk. <function>syncfs()</function> is advantageous in many cases, - but there are some trade-offs to keep in mind. - </para> - - <para> - Since <function>syncfs()</function> instructs the operating system to - synchronize a whole file system, it typically requires many fewer system - calls than using <function>fsync()</function> to synchronize each file one by - one. Therefore, using <function>syncfs()</function> may be a lot faster than - using <function>fsync()</function>. However, it may be slower if a file - system is shared by other applications that modify a lot of files, since - those files will also be written to disk. - </para> - - <para> - Furthermore, on versions of Linux before 5.8, I/O errors encountered while - writing data to disk may not be reported to the calling program, and relevant - error messages may appear only in kernel logs. - </para> - -</appendix> -- 2.25.1
^ permalink raw reply [nested|flat] 9+ messages in thread

* Re: pgsql: Allow using syncfs() in frontend utilities.
  2023-09-06 23:28 pgsql: Allow using syncfs() in frontend utilities. Nathan Bossart <nathan@postgresql.org>
  2024-03-22 16:52 ` Re: pgsql: Allow using syncfs() in frontend utilities. Robert Haas <robertmhaas@gmail.com>
  2024-03-26 10:18   ` Re: pgsql: Allow using syncfs() in frontend utilities. Peter Eisentraut <peter@eisentraut.org>
  2024-03-26 15:11     ` Re: pgsql: Allow using syncfs() in frontend utilities. Nathan Bossart <nathandbossart@gmail.com>
  2024-03-26 16:34       ` Re: pgsql: Allow using syncfs() in frontend utilities. Nathan Bossart <nathandbossart@gmail.com>
@ 2024-03-27 14:41         ` Robert Haas <robertmhaas@gmail.com>
  2024-03-27 15:25           ` Re: pgsql: Allow using syncfs() in frontend utilities. Nathan Bossart <nathandbossart@gmail.com>
  0 siblings, 1 reply; 9+ messages in thread

From: Robert Haas @ 2024-03-27 14:41 UTC (permalink / raw)
  To: Nathan Bossart <nathandbossart@gmail.com>; +Cc: Peter Eisentraut <peter@eisentraut.org>; Nathan Bossart <nathan@postgresql.org>; pgsql-hackers

On Tue, Mar 26, 2024 at 12:34 PM Nathan Bossart
<nathandbossart@gmail.com> wrote:
> Here's a first attempt at a patch based on Robert's suggestion from
> upthread.

WFM.

-- 
Robert Haas
EDB: http://www.enterprisedb.com





^ permalink  raw  reply  [nested|flat] 9+ messages in thread

* Re: pgsql: Allow using syncfs() in frontend utilities.
  2023-09-06 23:28 pgsql: Allow using syncfs() in frontend utilities. Nathan Bossart <nathan@postgresql.org>
  2024-03-22 16:52 ` Re: pgsql: Allow using syncfs() in frontend utilities. Robert Haas <robertmhaas@gmail.com>
  2024-03-26 10:18   ` Re: pgsql: Allow using syncfs() in frontend utilities. Peter Eisentraut <peter@eisentraut.org>
  2024-03-26 15:11     ` Re: pgsql: Allow using syncfs() in frontend utilities. Nathan Bossart <nathandbossart@gmail.com>
  2024-03-26 16:34       ` Re: pgsql: Allow using syncfs() in frontend utilities. Nathan Bossart <nathandbossart@gmail.com>
  2024-03-27 14:41         ` Re: pgsql: Allow using syncfs() in frontend utilities. Robert Haas <robertmhaas@gmail.com>
@ 2024-03-27 15:25           ` Nathan Bossart <nathandbossart@gmail.com>
  2024-03-27 15:27             ` Re: pgsql: Allow using syncfs() in frontend utilities. Robert Haas <robertmhaas@gmail.com>
  0 siblings, 1 reply; 9+ messages in thread

From: Nathan Bossart @ 2024-03-27 15:25 UTC (permalink / raw)
  To: Robert Haas <robertmhaas@gmail.com>; +Cc: Peter Eisentraut <peter@eisentraut.org>; Nathan Bossart <nathan@postgresql.org>; pgsql-hackers

On Wed, Mar 27, 2024 at 10:41:42AM -0400, Robert Haas wrote:
> On Tue, Mar 26, 2024 at 12:34 PM Nathan Bossart
> <nathandbossart@gmail.com> wrote:
>> Here's a first attempt at a patch based on Robert's suggestion from
>> upthread.
> 
> WFM.

Committed.  Again, I apologize this took so long.

-- 
Nathan Bossart
Amazon Web Services: https://aws.amazon.com





^ permalink  raw  reply  [nested|flat] 9+ messages in thread

* Re: pgsql: Allow using syncfs() in frontend utilities.
  2023-09-06 23:28 pgsql: Allow using syncfs() in frontend utilities. Nathan Bossart <nathan@postgresql.org>
  2024-03-22 16:52 ` Re: pgsql: Allow using syncfs() in frontend utilities. Robert Haas <robertmhaas@gmail.com>
  2024-03-26 10:18   ` Re: pgsql: Allow using syncfs() in frontend utilities. Peter Eisentraut <peter@eisentraut.org>
  2024-03-26 15:11     ` Re: pgsql: Allow using syncfs() in frontend utilities. Nathan Bossart <nathandbossart@gmail.com>
  2024-03-26 16:34       ` Re: pgsql: Allow using syncfs() in frontend utilities. Nathan Bossart <nathandbossart@gmail.com>
  2024-03-27 14:41         ` Re: pgsql: Allow using syncfs() in frontend utilities. Robert Haas <robertmhaas@gmail.com>
  2024-03-27 15:25           ` Re: pgsql: Allow using syncfs() in frontend utilities. Nathan Bossart <nathandbossart@gmail.com>
@ 2024-03-27 15:27             ` Robert Haas <robertmhaas@gmail.com>
  0 siblings, 0 replies; 9+ messages in thread

From: Robert Haas @ 2024-03-27 15:27 UTC (permalink / raw)
  To: Nathan Bossart <nathandbossart@gmail.com>; +Cc: Peter Eisentraut <peter@eisentraut.org>; Nathan Bossart <nathan@postgresql.org>; pgsql-hackers

On Wed, Mar 27, 2024 at 11:25 AM Nathan Bossart
<nathandbossart@gmail.com> wrote:
> Committed.  Again, I apologize this took so long.

No worries from my side; I only noticed recently. I guess Peter's been
waiting a while, though. Thanks for committing.

-- 
Robert Haas
EDB: http://www.enterprisedb.com





^ permalink  raw  reply  [nested|flat] 9+ messages in thread

* Re: pgsql: Allow using syncfs() in frontend utilities.
  2023-09-06 23:28 pgsql: Allow using syncfs() in frontend utilities. Nathan Bossart <nathan@postgresql.org>
  2024-03-22 16:52 ` Re: pgsql: Allow using syncfs() in frontend utilities. Robert Haas <robertmhaas@gmail.com>
@ 2024-03-26 14:52   ` Nathan Bossart <nathandbossart@gmail.com>
  1 sibling, 0 replies; 9+ messages in thread

From: Nathan Bossart @ 2024-03-26 14:52 UTC (permalink / raw)
  To: Robert Haas <robertmhaas@gmail.com>; +Cc: Nathan Bossart <nathan@postgresql.org>; pgsql-hackers

On Fri, Mar 22, 2024 at 12:52:15PM -0400, Robert Haas wrote:
> I'd like to complain about this commit's addition of a new appendix. I
> do understand the temptation to document caveats like this centrally
> instead of in multiple places, but as I've been complaining about over
> in the "documentation structure" thread, our top-level documentation
> index is too big, and I feel strongly that we need to de-clutter it
> rather than cluttering it further. This added a new chapter which is
> just 5 sentences long. I understand that this was done because the
> same issue applies to a bunch of different utilities and we didn't
> want to duplicate this text in all of those places, but I feel like
> this approach just doesn't scale. If we did this in every place where
> we have this much text that we want to avoid duplicating, we'd soon
> have hundreds of appendixes.

Sorry I missed this.  I explored a couple of options last year but the
discussion trailed off [0].

> What I would suggest we do instead is pick one of the places where
> this comes up and document it there, perhaps the
> recovery_init_sync_method GUC. And then make the documentation for the
> other say something like, you know those issues we documented for
> recovery_init_sync_method? Well they also apply to this.

WFM.  I'll put together a patch.

[0] https://postgr.es/m/20231009204823.GA659480%40nathanxps13

-- 
Nathan Bossart
Amazon Web Services: https://aws.amazon.com





^ permalink  raw  reply  [nested|flat] 9+ messages in thread


end of thread, other threads:[~2024-03-27 15:27 UTC | newest]

Thread overview: 9+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2023-09-06 23:28 pgsql: Allow using syncfs() in frontend utilities. Nathan Bossart <nathan@postgresql.org>
2024-03-22 16:52 ` Robert Haas <robertmhaas@gmail.com>
2024-03-26 10:18   ` Peter Eisentraut <peter@eisentraut.org>
2024-03-26 15:11     ` Nathan Bossart <nathandbossart@gmail.com>
2024-03-26 16:34       ` Nathan Bossart <nathandbossart@gmail.com>
2024-03-27 14:41         ` Robert Haas <robertmhaas@gmail.com>
2024-03-27 15:25           ` Nathan Bossart <nathandbossart@gmail.com>
2024-03-27 15:27             ` Robert Haas <robertmhaas@gmail.com>
2024-03-26 14:52   ` Nathan Bossart <nathandbossart@gmail.com>

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox