diff options
-rw-r--r-- | doc/src/sgml/config.sgml | 13 | ||||
-rw-r--r-- | src/backend/postmaster/postmaster.c | 11 |
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. |