Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: postgres/postgres
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: postgres/postgres
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: REL_18_STABLE
Choose a head ref
  • 15 commits
  • 16 files changed
  • 10 contributors

Commits on Jun 30, 2025

  1. Adapt REL_18_STABLE to its new status as a stable branch

    Per the checklist in RELEASE_CHANGES for the creation of a new stable
    branch, this commit does the following things:
    - Arm gen_node_support.pl's nodetag ABI stability, based on the contents
    of nodetags.h.
    - Update URLs of top-level README and Makefile to point to the new
    stable version.
    jconway committed Jun 30, 2025
    Configuration menu
    Copy the full SHA
    42625ec View commit details
    Browse the repository at this point in the history
  2. doc: Fix typo in pg_sync_replication_slots documentation

    Commit 1546e17 accidentally misspelled additionally as
    additionaly.  Backpatch to v17 to match where the original
    commit was backpatched.
    
    Author: Daniel Gustafsson <daniel@yesql.se>
    Backpatch-through: 17
    danielgustafsson committed Jun 30, 2025
    Configuration menu
    Copy the full SHA
    b2a5774 View commit details
    Browse the repository at this point in the history
  3. aio: Fix reference to outdated name

    Reported-by: Antonin Houska <ah@cybertec.at>
    Author: Antonin Houska <ah@cybertec.at>
    Discussion: https://postgr.es/m/5250.1751266701@localhost
    Backpatch-through: 18, where da72269 introduced this
    anarazel committed Jun 30, 2025
    Configuration menu
    Copy the full SHA
    95163cb View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2025

  1. Fix typos in comments

    Commit 19d8e23 added enum values with the prefix TU_, but a few
    comments still referred to TUUI_, which was used in development
    versions of the patches committed as 19d8e23.
    
    Author: Yugo Nagata <nagata@sraoss.co.jp>
    Discussion: https://postgr.es/m/20250701110216.8ac8a9e4c6f607f1d954f44a@sraoss.co.jp
    Backpatch-through: 16
    amitlan committed Jul 1, 2025
    Configuration menu
    Copy the full SHA
    eb37fe7 View commit details
    Browse the repository at this point in the history
  2. Limit the size of numa_move_pages requests

    There's a kernel bug in do_pages_stat(), affecting systems combining
    64-bit kernel and 32-bit user space. The function splits the request
    into chunks of 16 pointers, but forgets the pointers are 32-bit when
    advancing to the next chunk. Some of the pointers get skipped, and
    memory after the array is interpreted as pointers. The result is that
    the produced status of memory pages is mostly bogus.
    
    Systems combining 64-bit and 32-bit environments like this might seem
    rare, but that's not the case - all 32-bit Debian packages are built in
    a 32-bit chroot on a system with a 64-bit kernel.
    
    This is a long-standing kernel bug (since 2010), affecting pretty much
    all kernels, so it'll take time until all systems get a fixed kernel.
    Luckily, we can work around the issue by chunking the requests the same
    way do_pages_stat() does, at least on affected systems. We don't know
    what kernel a 32-bit build will run on, so all 32-bit builds use chunks
    of 16 elements (the largest chunk before hitting the issue).
    
    64-bit builds are not affected by this issue, and so could work without
    the chunking. But chunking has other advantages, so we apply chunking
    even for 64-bit builds, with chunks of 1024 elements.
    
    Reported-by: Christoph Berg <myon@debian.org>
    Author: Christoph Berg <myon@debian.org>
    Author: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
    Discussion: https://postgr.es/m/aEtDozLmtZddARdB@msg.df7cb.de
    Context: https://marc.info/?l=linux-mm&m=175077821909222&w=2
    Backpatch-through: 18
    tvondra committed Jul 1, 2025
    Configuration menu
    Copy the full SHA
    45879f4 View commit details
    Browse the repository at this point in the history
  3. Silence valgrind about pg_numa_touch_mem_if_required

    When querying NUMA status of pages in shared memory, we need to touch
    the memory first to get valid results. This may trigger valgrind
    reports, because some of the memory (e.g. unpinned buffers) may be
    marked as noaccess.
    
    Solved by adding a valgrind suppresion. An alternative would be to
    adjust the access/noaccess status before touching the memory, but that
    seems far too invasive. It would require all those places to have
    detailed knowledge of what the shared memory stores.
    
    The pg_numa_touch_mem_if_required() macro is replaced with a function.
    Macros are invisible to suppressions, so it'd have to suppress reports
    for the caller - e.g. pg_get_shmem_allocations_numa(). So we'd suppress
    reports for the whole function, and that seems to heavy-handed. It might
    easily hide other valid issues.
    
    Reviewed-by: Christoph Berg <myon@debian.org>
    Reviewed-by: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
    Discussion: https://postgr.es/m/aEtDozLmtZddARdB@msg.df7cb.de
    Backpatch-through: 18
    tvondra committed Jul 1, 2025
    Configuration menu
    Copy the full SHA
    14e5222 View commit details
    Browse the repository at this point in the history
  4. Add CHECK_FOR_INTERRUPTS into pg_numa_query_pages

    Querying the NUMA status can be quite time consuming, especially with
    large shared buffers. 8cc139b called numa_move_pages() once, for
    all buffers, and we had to wait for the syscall to complete.
    
    But with the chunking, introduced by 7fe2f67 to work around a kernel
    bug, we can do CHECK_FOR_INTERRUPTS() after each chunk, allowing users
    to abort the execution.
    
    Reviewed-by: Christoph Berg <myon@debian.org>
    Reviewed-by: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
    Discussion: https://postgr.es/m/aEtDozLmtZddARdB@msg.df7cb.de
    Backpatch-through: 18
    tvondra committed Jul 1, 2025
    Configuration menu
    Copy the full SHA
    54ac494 View commit details
    Browse the repository at this point in the history
  5. Fix indentation in pg_numa code

    Broken by commits 7fe2f67, 81f287d and bf1119d. Backpatch
    to 18, same as the offending commits.
    
    Backpatch-through: 18
    tvondra committed Jul 1, 2025
    Configuration menu
    Copy the full SHA
    07448b3 View commit details
    Browse the repository at this point in the history
  6. Make safeguard against incorrect flags for fsync more portable.

    The existing code assumed that O_RDONLY is defined as 0, but this is
    not required by POSIX and is not true on GNU Hurd.  We can avoid
    the assumption by relying on O_ACCMODE to mask the fcntl() result.
    (Hopefully, all supported platforms define that.)
    
    Author: Michael Banck <mbanck@gmx.net>
    Co-authored-by: Samuel Thibault
    Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
    Discussion: https://postgr.es/m/6862e8d1.050a0220.194b8d.76fa@mx.google.com
    Discussion: https://postgr.es/m/68480868.5d0a0220.1e214d.68a6@mx.google.com
    Backpatch-through: 13
    tglsfdc committed Jul 1, 2025
    Configuration menu
    Copy the full SHA
    45c5276 View commit details
    Browse the repository at this point in the history
  7. Make sure IOV_MAX is defined.

    We stopped defining IOV_MAX on non-Windows systems in 75357ab, on
    the assumption that every non-Windows system defines it in <limits.h>
    as required by X/Open.  GNU Hurd, however, doesn't follow that
    standard either.  Put back the old logic to assume 16 if it's
    not defined.
    
    Author: Michael Banck <mbanck@gmx.net>
    Co-authored-by: Christoph Berg <myon@debian.org>
    Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
    Discussion: https://postgr.es/m/6862e8d1.050a0220.194b8d.76fa@mx.google.com
    Discussion: https://postgr.es/m/6846e0c3.df0a0220.39ef9b.c60e@mx.google.com
    Backpatch-through: 16
    tglsfdc and df7cb committed Jul 1, 2025
    Configuration menu
    Copy the full SHA
    581305a View commit details
    Browse the repository at this point in the history
  8. Fix outdated comment for IndexInfo

    Commit 7841623 removed the ii_OpclassOptions field, but the
    comment was not updated.
    
    Author: Japin Li <japinli@hotmail.com>
    Reviewed-by: Richard Guo <guofenglinux@gmail.com>
    Discussion: https://www.postgresql.org/message-id/flat/ME0P300MB04453E6C7EA635F0ECF41BFCB6832%40ME0P300MB0445.AUSP300.PROD.OUTLOOK.COM
    petere committed Jul 1, 2025
    Configuration menu
    Copy the full SHA
    b71351e View commit details
    Browse the repository at this point in the history
  9. Update comment for IndexInfo.ii_WithoutOverlaps

    Commit fc0438b added the ii_WithoutOverlaps field, but the comment
    was not updated.
    
    Author: Japin Li <japinli@hotmail.com>
    Reviewed-by: Richard Guo <guofenglinux@gmail.com>
    Discussion: https://www.postgresql.org/message-id/flat/ME0P300MB04453E6C7EA635F0ECF41BFCB6832%40ME0P300MB0445.AUSP300.PROD.OUTLOOK.COM
    petere committed Jul 1, 2025
    Configuration menu
    Copy the full SHA
    399997d View commit details
    Browse the repository at this point in the history
  10. Document pg_get_multixact_members().

    Oversight in commit 0ac5ad5.
    
    Author: Sami Imseih <samimseih@gmail.com>
    Co-authored-by: Álvaro Herrera <alvherre@kurilemu.de>
    Reviewed-by: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
    Discussion: https://postgr.es/m/20150619215231.GT133018%40postgresql.org
    Discussion: https://postgr.es/m/CAA5RZ0sjQDDwJfMRb%3DZ13nDLuRpF13ME2L_BdGxi0op8RKjmDg%40mail.gmail.com
    Backpatch-through: 13
    nathan-bossart and Álvaro Herrera committed Jul 1, 2025
    Configuration menu
    Copy the full SHA
    c8b9f75 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    3386b2f View commit details
    Browse the repository at this point in the history
  12. Update comment for IndexInfo.ii_NullsNotDistinct

    Commit 7a7b3e1 added the ii_NullsNotDistinct field, but the
    comment was not updated.
    
    Author: Japin Li <japinli@hotmail.com>
    Reviewed-by: Richard Guo <guofenglinux@gmail.com>
    Discussion: https://www.postgresql.org/message-id/flat/ME0P300MB04453E6C7EA635F0ECF41BFCB6832%40ME0P300MB0445.AUSP300.PROD.OUTLOOK.COM
    petere committed Jul 1, 2025
    Configuration menu
    Copy the full SHA
    b897a58 View commit details
    Browse the repository at this point in the history
Loading