aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/src/sgml/config.sgml13
-rw-r--r--src/backend/postmaster/postmaster.c11
2 files changed, 22 insertions, 2 deletions
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 841ff73322b..9ffcd30abbe 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.98.2.3 2007/02/08 03:57:52 momjian Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.98.2.4 2007/02/08 17:04:48 momjian Exp $ -->
<chapter Id="runtime-config">
<title>Server Configuration</title>
@@ -990,6 +990,17 @@ SET ENABLE_SEQSCAN TO OFF;
libraries that will be used in most sessions.
</para>
+ <note>
+ <para>
+ On Windows hosts, preloading a library at server start will not reduce
+ the time required to start each new server process; each server process
+ will re-load all preload libraries. However, <varname>shared_preload_libraries
+ </varname> is still useful on Windows hosts because some shared libraries may
+ need to perform certain operations that only take place at postmaster start
+ (for example, a shared library may need to reserve lightweight locks
+ or shared memory and you can't do that after the postmaster has started).
+ </para>
+ </note>
<para>
If a specified library is not found,
the server will fail to start.
diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c
index 2b5e7d1ae0d..809dfdebb5c 100644
--- a/src/backend/postmaster/postmaster.c
+++ b/src/backend/postmaster/postmaster.c
@@ -37,7 +37,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.505.2.1 2007/01/04 00:58:01 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.505.2.2 2007/02/08 17:04:48 momjian Exp $
*
* NOTES
*
@@ -3333,6 +3333,15 @@ SubPostmasterMain(int argc, char *argv[])
#endif
/*
+ * process any libraries that should be preloaded at postmaster start
+ *
+ * NOTE: we have to re-load the shared_preload_libraries here because
+ * this backend is not fork()ed so we can't inherit any shared
+ * libraries / DLL's from our parent (the postmaster).
+ */
+ process_shared_preload_libraries();
+
+ /*
* Perform additional initialization and client authentication.
*
* We want to do this before InitProcess() for a couple of reasons: 1.