Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
fc32c709
Commit
fc32c709
authored
Oct 09, 1999
by
Thomas G. Lockhart
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Minor repairs of markup.
parent
b8c3226d
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
7 deletions
+15
-7
doc/src/sgml/dfunc.sgml
doc/src/sgml/dfunc.sgml
+15
-7
No files found.
doc/src/sgml/dfunc.sgml
View file @
fc32c709
<chapter id="dfunc">
<chapter id="dfunc">
<title id="dfunc-title">Linking Dynamically-Loaded Functions</title>
<title id="dfunc-title">Linking Dynamically-Loaded Functions</title>
<para>
<!--
<!--
.SH "Compiling Dynamically-Loaded C Functions"
.SH "Compiling Dynamically-Loaded C Functions"
.PP
.PP
...
@@ -100,19 +102,23 @@ You should look at the Postgres User's Manual for an explanation of this
...
@@ -100,19 +102,23 @@ You should look at the Postgres User's Manual for an explanation of this
procedure.
procedure.
-->
-->
<para>
After you have created and registered a user-defined
After you have created and registered a user-defined
function, your work is essentially done. <productname>Postgres</productname>,
function, your work is essentially done.
however, must load the object code (e.g., a <filename>.o</filename> file, or
<productname>Postgres</productname>,
however, must load the object code
(e.g., a <literal>.o</literal> file, or
a shared library) that implements your function. As
a shared library) that implements your function. As
previously mentioned, <productname>Postgres</productname> loads your code at
previously mentioned, <productname>Postgres</productname>
loads your code at
runtime, as required. In order to allow your code to be
runtime, as required. In order to allow your code to be
dynamically loaded, you may have to compile and
dynamically loaded, you may have to compile and
link-edit it in a special way. This section briefly
link-edit it in a special way. This section briefly
describes how to perform the compilation and
describes how to perform the compilation and
link-editing required before you can load your user-defined
link-editing required before you can load your user-defined
functions into a running <productname>Postgres</productname> server. Note that
functions into a running <productname>Postgres</productname> server.
Note that
this process has changed as of Version 4.2.
this process has changed as of Version 4.2.
</para>
<!--
<!--
<tip>
<tip>
...
@@ -123,7 +129,8 @@ procedure.
...
@@ -123,7 +129,8 @@ procedure.
and alignment of executable instructions within memory, etc.
and alignment of executable instructions within memory, etc.
on the part of the person writing the dynamic loader. Such
on the part of the person writing the dynamic loader. Such
loaders tended to be slow and buggy. As of Version 4.2, the
loaders tended to be slow and buggy. As of Version 4.2, the
<productname>Postgres</productname> dynamic loading mechanism has been rewritten to use
<productname>Postgres</productname> dynamic loading mechanism
has been rewritten to use
the dynamic loading mechanism provided by the operating
the dynamic loading mechanism provided by the operating
system. This approach is generally faster, more reliable and
system. This approach is generally faster, more reliable and
more portable than our previous dynamic loading mechanism.
more portable than our previous dynamic loading mechanism.
...
@@ -131,7 +138,8 @@ procedure.
...
@@ -131,7 +138,8 @@ procedure.
Unix use a dynamic loading mechanism to implement shared
Unix use a dynamic loading mechanism to implement shared
libraries and must therefore provide a fast and reliable
libraries and must therefore provide a fast and reliable
mechanism. On the other hand, the object file must be
mechanism. On the other hand, the object file must be
postprocessed a bit before it can be loaded into <productname>Postgres</productname>. We
postprocessed a bit before it can be loaded into
<productname>Postgres</productname>. We
hope that the large increase in speed and reliability will
hope that the large increase in speed and reliability will
make up for the slight decrease in convenience.
make up for the slight decrease in convenience.
</para>
</para>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment