Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rni8A-00Eeyx-ND for pgsql-hackers@arkaria.postgresql.org; Fri, 22 Mar 2024 16:52:35 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rni89-005QJw-6Z for pgsql-hackers@arkaria.postgresql.org; Fri, 22 Mar 2024 16:52:33 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rni88-005QJW-Q3 for pgsql-hackers@lists.postgresql.org; Fri, 22 Mar 2024 16:52:33 +0000 Received: from mail-ej1-x62e.google.com ([2a00:1450:4864:20::62e]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1rni86-005wKX-5N; Fri, 22 Mar 2024 16:52:32 +0000 Received: by mail-ej1-x62e.google.com with SMTP id a640c23a62f3a-a45f257b81fso293982266b.0; Fri, 22 Mar 2024 09:52:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711126347; x=1711731147; darn=postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=HaoaL9VUgWZmcQ6GfYPRXZUgbjh3qOF/V3gvQ6uq8d0=; b=HnCp8X00jVFcZz7oZsaVG6eSuJqoACPpYeKVfDAF13ynTVr5DAYAV61ZDUwx0uQRQ0 79kPHtuT9SX6wThp+q7jGK3yLmcQMGEsrWDHWXW70Wjel6Fy2xise58HPlEkz4vSydW/ vGtffobgwjbEAJXkj8B2LlRXp4oQ0Tf3ZXb0gMTYMry/tx7x49rxzHNGVLTGJxwreAt3 8L0tg8txkOccLG4xr1V/0icxz1Qfb8G8KcGOMgMkSSfDJF6uLvJsRonR09UYEd8Oa+vh Rgm200stX2yN9O+ljc+lvAlwZ7pKG/qj0bSZW88LtybpuVe9Rld9aKhajU8FQonNk/hy elag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711126347; x=1711731147; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HaoaL9VUgWZmcQ6GfYPRXZUgbjh3qOF/V3gvQ6uq8d0=; b=qfnmLWtvv5Ez8NVumdxZSKd8jh8xJ8CS9QAO6/YgpZc0ASrL/uge5xsXLxt5iQGF4g dBWLFjRHGa3BWFc1fCO7F1paJVnx1GDB/2q7YXcQpIFiFbJMjLG1P/vclEXi0K+2HUHY FRzrNtAQEGZ699wrzyhi7lJyUyXS1JR11PLDrS+5wAZ+yOqiLMoV+FHt9K5I1yuQRBFC nIZpb3/wuJZN1qPMvEqj9hO6DsboN9bzLcOl8KbqIBhoGq0FtYeOTyAeVqyseZ9jCaJo YT4ScSgVHixKmcjVOWQqQKNcGDpWP88ezaxYKitKE7huy3RYbZvcET2IEab+hEwpZZYl jyTg== X-Gm-Message-State: AOJu0Yw0YYg7a0NW3gOVK0LD2EMWcM4XM08W9HFxEvlClcVjNJzRUKwc 7fR6+ZhiLIS/Y62f+hiECnTuL2GRCW9j47rKoPOmHfWK7LF71oqogCA8CXn3hiQEvHJhHyQbKCC hK7kJBkgi2OQkilNmMuHR/CJ6YZKwG9sz X-Google-Smtp-Source: AGHT+IGAv5aSqMSn+TmzHwPgoWBa1cn56177oFLjmSft+eyN4zaOtDiY6f/ovG8AhyzST1vLEYgxyuMQ6dcX2Y7pwv0= X-Received: by 2002:a17:906:2c19:b0:a46:cc60:975b with SMTP id e25-20020a1709062c1900b00a46cc60975bmr251784ejh.17.1711126346728; Fri, 22 Mar 2024 09:52:26 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Robert Haas Date: Fri, 22 Mar 2024 12:52:15 -0400 Message-ID: Subject: Re: pgsql: Allow using syncfs() in frontend utilities. To: Nathan Bossart Cc: "pgsql-hackers@postgresql.org" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Wed, Sep 6, 2023 at 7:28=E2=80=AFPM Nathan Bossart 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. --=20 Robert Haas EDB: http://www.enterprisedb.com