On this page
Package extregistry implements the PostgreSQL extension capability registry, mapping extension names to the types, opclasses, functions, and DDL names they provide.
#internal/extregistry
#internal/extregistry
Package extregistry implements the PostgreSQL extension capability registry, mapping extension names to the types, opclasses, and functions they provide.
#Extension
type Extension structExtension describes what a PostgreSQL extension provides.
#Registry
type Registry structRegistry holds extensions and reverse-lookup maps.
#UserExtension
type UserExtension structUserExtension represents a user-defined extension from pgdesign.toml config.
#NewBuiltinRegistry
func NewBuiltinRegistry() *RegistryNewBuiltinRegistry returns a registry pre-loaded with common PostgreSQL extensions.
#NewRegistry
func NewRegistry() *RegistryNewRegistry creates an empty registry.
#Registry.Register
func (r *Registry) Register(ext *Extension)Register adds an extension to the registry and builds reverse maps.
#Registry.ResolveDDLName
func (r *Registry) ResolveDDLName(name string) stringResolveDDLName returns the PostgreSQL extension name to use in CREATE EXTENSION statements. Three-tier fallback: - If extension found and ext.DDLName non-empty, return ext.DDLName - If extension found and ext.DDLName empty, return ext.Name - If extension not found (user-defined), return input name as-is
#Registry.RequiredExtension
func (r *Registry) RequiredExtension(opclass string) (string, bool)RequiredExtension returns which extension provides the given opclass.
#Registry.RequiredExtensionForType
func (r *Registry) RequiredExtensionForType(typeName string) (string, bool)RequiredExtensionForType returns which extension provides the given type.
#Registry.RequiredExtensionForFunction
func (r *Registry) RequiredExtensionForFunction(funcName string) (string, bool)RequiredExtensionForFunction returns which extension provides the given function.
#Registry.RequiredExtensionForMethod
func (r *Registry) RequiredExtensionForMethod(method string) (string, bool)RequiredExtensionForMethod returns which extension provides the given index method.
#Registry.ValidIndexParams
func (r *Registry) ValidIndexParams(method string) ([]string, bool)ValidIndexParams returns the valid WITH parameter names for an index method. Returns (nil, false) if the method is not registered.
#Registry.LoadUserExtensions
func (r *Registry) LoadUserExtensions(exts []UserExtension)LoadUserExtensions adds user-defined extensions to the registry.