]> granicus.if.org Git - postgresql/commitdiff
Quiet repeated "loaded library" messages from child backends that are just
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 5 Jan 2009 13:57:12 +0000 (13:57 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 5 Jan 2009 13:57:12 +0000 (13:57 +0000)
re-loading a library already loaded into the postmaster.

ITAGAKI Takahiro

src/backend/utils/init/miscinit.c

index 461918ed3090d025a27c399ce0578181cf13d784..b4b87b6f10afabfb9e8015ce69f0ff89be4021b8 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/utils/init/miscinit.c,v 1.171 2009/01/03 20:03:08 tgl Exp $
+ *       $PostgreSQL: pgsql/src/backend/utils/init/miscinit.c,v 1.172 2009/01/05 13:57:12 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1145,6 +1145,7 @@ load_libraries(const char *libraries, const char *gucname, bool restricted)
 {
        char       *rawstring;
        List       *elemlist;
+       int                     elevel;
        ListCell   *l;
 
        if (libraries == NULL || libraries[0] == '\0')
@@ -1166,6 +1167,18 @@ load_libraries(const char *libraries, const char *gucname, bool restricted)
                return;
        }
 
+       /*
+        * Choose notice level: avoid repeat messages when re-loading a library
+        * that was preloaded into the postmaster.  (Only possible in EXEC_BACKEND
+        * configurations)
+        */
+#ifdef EXEC_BACKEND
+       if (IsUnderPostmaster && process_shared_preload_libraries_in_progress)
+               elevel = DEBUG2;
+       else
+#endif
+               elevel = LOG;
+
        foreach(l, elemlist)
        {
                char       *tok = (char *) lfirst(l);
@@ -1185,7 +1198,7 @@ load_libraries(const char *libraries, const char *gucname, bool restricted)
                        filename = expanded;
                }
                load_file(filename, restricted);
-               ereport(LOG,
+               ereport(elevel,
                                (errmsg("loaded library \"%s\"", filename)));
                pfree(filename);
        }