summaryrefslogtreecommitdiffstats
path: root/doc/src/sgml/ref/load.sgml
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-16 19:46:48 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-16 19:46:48 +0000
commit311bcfc6b3acdd6fd152798c7f287ddf74fa2a98 (patch)
tree0ec307299b1dada3701e42f4ca6eda57d708261e /doc/src/sgml/ref/load.sgml
parentInitial commit. (diff)
downloadpostgresql-15-upstream.tar.xz
postgresql-15-upstream.zip
Adding upstream version 15.4.upstream/15.4upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'doc/src/sgml/ref/load.sgml')
-rw-r--r--doc/src/sgml/ref/load.sgml81
1 files changed, 81 insertions, 0 deletions
diff --git a/doc/src/sgml/ref/load.sgml b/doc/src/sgml/ref/load.sgml
new file mode 100644
index 0000000..2c214dd
--- /dev/null
+++ b/doc/src/sgml/ref/load.sgml
@@ -0,0 +1,81 @@
+<!--
+doc/src/sgml/ref/load.sgml
+PostgreSQL documentation
+-->
+
+<refentry id="sql-load">
+ <indexterm zone="sql-load">
+ <primary>LOAD</primary>
+ </indexterm>
+
+ <refmeta>
+ <refentrytitle>LOAD</refentrytitle>
+ <manvolnum>7</manvolnum>
+ <refmiscinfo>SQL - Language Statements</refmiscinfo>
+ </refmeta>
+
+ <refnamediv>
+ <refname>LOAD</refname>
+ <refpurpose>load a shared library file</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+<synopsis>
+LOAD '<replaceable class="parameter">filename</replaceable>'
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1 id="sql-load-description">
+ <title>Description</title>
+
+ <para>
+ This command loads a shared library file into the <productname>PostgreSQL</productname>
+ 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 <command>LOAD</command> is usually only needed to
+ load a library that modifies the server's behavior through <quote>hooks</quote>
+ rather than providing a set of functions.
+ </para>
+
+ <para>
+ 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 <xref linkend="guc-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 <xref linkend="xfunc-c-dynload"/> for more information on this topic.
+ </para>
+
+ <indexterm>
+ <primary><filename>$libdir/plugins</filename></primary>
+ </indexterm>
+
+ <para>
+ Non-superusers can only apply <command>LOAD</command> to library files
+ located in <filename>$libdir/plugins/</filename> &mdash; the specified
+ <replaceable class="parameter">filename</replaceable> must begin
+ with exactly that string. (It is the database administrator's
+ responsibility to ensure that only <quote>safe</quote> libraries
+ are installed there.)
+ </para>
+ </refsect1>
+
+ <refsect1 id="sql-load-compat">
+ <title>Compatibility</title>
+
+ <para>
+ <command>LOAD</command> is a <productname>PostgreSQL</productname>
+ extension.
+ </para>
+ </refsect1>
+
+
+ <refsect1>
+ <title>See Also</title>
+
+ <para>
+ <xref linkend="sql-createfunction"/>
+ </para>
+ </refsect1>
+</refentry>