load a shared library file
Syntax
LOAD 'filename'
Syntax diagrams
Read left to right. Branches are choices, bypasses are optional, loops repeat. Select an underlined parameter to open its rule.
Description
This command loads a shared library file into the PostgreSQL server's address space. If the file has been loaded already, the command does nothing. Shared library files that contain C functions are automatically loaded whenever one of their functions is called. Therefore, an explicit LOAD is usually only needed to load a library that modifies the server's behavior through “hooks” rather than providing a set of functions.
The library file name is typically given as just a bare file name, which is sought in the server's library search path (set by dynamic_library_path). Alternatively it can be given as a full path name. In either case the platform's standard shared library file name extension may be omitted. See Section 36.10.1 for more information on this topic.
Non-superusers can only apply LOAD to library files located in $libdir/plugins/ — the specified filename must begin with exactly that string. (It is the database administrator's responsibility to ensure that only “safe” libraries are installed there.)
Compatibility
LOAD is a PostgreSQL extension.
See Also
Version history 4
- PG 16 → 17changed
- PG 13 → 14changed
- PG 11 → 12changed
- PG 10 → 11changed
Related entries
Definition snapshot: 2026-09-14T13:14:25.700916+00:00@99e6866c · English manual source