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: postgresql-cfbot/postgresql
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 3943f5c
Choose a base ref
...
head repository: postgresql-cfbot/postgresql
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 77587b5
Choose a head ref
  • 7 commits
  • 28 files changed
  • 4 contributors

Commits on Mar 17, 2025

  1. Expose f_smgr to extensions for manual implementation

    There are various reasons why one would want to create their own
    implementation of a storage manager, among which are block-level compression,
    encryption and offloading to cold storage. This patch is a first patch that
    allows extensions to register their own SMgr.
    
    Note, however, that this SMgr is not yet used - only the first SMgr to register
    is used, and this is currently the md.c smgr. Future commits will include
    facilities to select an SMgr for each tablespace.
    MMeent authored and Commitfest Bot committed Mar 17, 2025
    Configuration menu
    Copy the full SHA
    f67cb13 View commit details
    Browse the repository at this point in the history
  2. Allow extensions to override the global storage manager

    tristan957 authored and Commitfest Bot committed Mar 17, 2025
    Configuration menu
    Copy the full SHA
    c2dcf70 View commit details
    Browse the repository at this point in the history
  3. Add checkpoint_create_hook

    Allows an extension to hook into CheckPointCreate().
    tristan957 authored and Commitfest Bot committed Mar 17, 2025
    Configuration menu
    Copy the full SHA
    f13653e View commit details
    Browse the repository at this point in the history
  4. Add contrib/fsync_checker

    fsync_checker is an extension which overrides the global storage manager
    to check for volatile relations, those which have been written but not
    synced to disk.
    tristan957 authored and Commitfest Bot committed Mar 17, 2025
    Configuration menu
    Copy the full SHA
    87198ce View commit details
    Browse the repository at this point in the history
  5. Refactor smgr API: mdcreate needs the old relfilelocator

    With this change, mdcreate receives the old relfilelocator along
    with the new for operations that create a new file for an existing
    relation.
    
    This is required for tde_heap in pg_tde.
    dutow authored and Commitfest Bot committed Mar 17, 2025
    Configuration menu
    Copy the full SHA
    790fe55 View commit details
    Browse the repository at this point in the history
  6. SMGR GUC variable and chaining

    The overall goal of this commit is to introduce a user interface to
    the previous SMGR patch.
    
    The idea is to allow a simple configuration for multiple "modificator"
    SMGRs similar to the fsync_checker in the original proposal.
    
    * Extensions should be able to declare a named lists of SMGR implementations,
    also specifying if the given SMGR is an "end" implementation for
    actual storage, or if it is a modifier implementation for some other
    purpose.
    * Users should be able to specify a list of SMGRs: possibly multiple modifiers,
    and one storage implementation at the end to configure how the
    storage manager is constructed.
    
    This commit introduces a new GUC variable, `smgr_chain`, which allows
    users to configure multiple SMGR implementations: it is a comma separated list,
    where the last entry most be a storage implementation, the others must be
    modifiers. The default value of this variable is "md".
    
    The internal storage manager API is also refactored to include an easy
    way for SMGR implementations to support proper chaining. Modifier SMGR
    implementations also only have to implement the functions they actually
    change, and can leave everything else as empty (NULL). And with this
    change we can make the functions of the md smgr static.
    
    The fsync example extension is also modified to match the new API.
    dutow authored and Commitfest Bot committed Mar 17, 2025
    Configuration menu
    Copy the full SHA
    2b043f1 View commit details
    Browse the repository at this point in the history
  7. [CF 5616] v4 - Extensible storage manager API

    This branch was automatically generated by a robot using patches from an
    email thread registered at:
    
    https://commitfest.postgresql.org/patch/5616
    
    The branch will be overwritten each time a new patch version is posted to
    the thread, and also periodically to check for bitrot caused by changes
    on the master branch.
    
    Patch(es): https://www.postgresql.org/message-id/[email protected]
    Author(s): Andreas Karlsson, Anastasia Lubennikova, Matthias van de Meent, Tristan Partin
    Commitfest Bot committed Mar 17, 2025
    Configuration menu
    Copy the full SHA
    77587b5 View commit details
    Browse the repository at this point in the history
Loading