postgres-github.git / summary / log / commit / refs

commit    d516974840f4059d331ae6057ede3e4edd3c6747
Author:   Tom Lane <tgl@sss.pgh.pa.us>
Date:     Mon Apr 06 19:16:21 2026 +0000

    Support more object types within CREATE SCHEMA.
    
    Having rejected the principle that we should know how to re-order
    the sub-commands of CREATE SCHEMA, there is not really anything
    except a little coding to stop us from supporting more object types.
    This patch adds support for creating functions (including procedures
    and aggregates), operators, types (including domains), collations,
    and text search objects.
    
    SQL:2021 specifies that we should allow functions, procedures,
    types, domains, and collations, so this moves us a great deal
    closer to full SQL compatibility of CREATE SCHEMA.  What remains
    missing from their list are casts, transforms, roles, and some
    object types we don't support yet (e.g. CREATE CHARACTER SET).
    Supporting casts or transforms would be problematic because
    they don't have names at all, let alone schema-qualified names,
    so it'd be quite a stretch to say that they belong to a schema.
    Roles likewise are not schema-qualified, plus they are global
    to a cluster, making it even less reasonable to consider them
    as belonging to a schema.  So I don't see us trying to complete
    the list.
    
    User-defined aggregates and operators are outside the spec's ken,
    as are text search objects, so adding them does not do anything for
    spec compatibility.  But they go along with these other object types,
    plus it takes no additional code to support them since they are
    represented as DefineStmts like some variants of CREATE TYPE.
    It would indeed take some effort to reject them.
    
    Author: Kirill Reshke <reshkekirill@gmail.com>
    Author: Jian He <jian.universality@gmail.com>
    Author: Tom Lane <tgl@sss.pgh.pa.us>
    Discussion: https://postgr.es/m/CALdSSPh4jUSDsWu3K58hjO60wnTRR0DuO4CKRcwa8EVuOSfXxg@mail.gmail.com

[parent: 404db8f9edbb]