Thread

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Throw a more on-point error for publications depending on columns.

  1. Allowing ALTER COLUMN TYPE for columns in publication column lists

    Kevin K Biju <kevinkbiju@gmail.com> — 2025-12-22T02:30:00Z

    Hi,
    
    Currently, ALTER COLUMN TYPE is blocked for any column with a
    pg_publication_rel dependency, even when the column is only in a
    publication's column list and not referenced in a row filter. This is
    because both column lists and row filters create identical entries in
    pg_depend. The code that raises this error was added in commit 5f4a1a0a [1]
    
    ALTER COLUMN TYPE should have no adverse effects on column lists, so it
    makes sense to unblock that case. This is done by looking up the
    corresponding pg_publication_rel entry and fetching prqual (containing the
    serialized row filter expression). In case prqual is NULL, the pg_depend
    entry corresponds only to a column list and ALTER COLUMN TYPE is therefore
    safe to apply.
    
    There is, however, an edge case when a publication contains both column
    lists and row filters, and the column being ALTERed is only in the former
    and not in the latter. In this case, we need to actually parse prqual and
    check if the column in question is present in it.
    
    I've attached a patch that does both these checks, along with regression
    tests.
    
    Thanks,
    Kevin
    
    [1]
    https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=5f4a1a0a7758bb3bd0cfa58a48a1537bb2c0024b