diff --git a/src/backend/commands/event_trigger.c b/src/backend/commands/event_trigger.c
index 59f0842c5ca8a63ed7761583a691fa1cc28aa1a7..024a4778a942062b0533d4af67ed3d94deb74040 100644
--- a/src/backend/commands/event_trigger.c
+++ b/src/backend/commands/event_trigger.c
@@ -51,7 +51,7 @@ typedef struct EventTriggerQueryState
 	struct EventTriggerQueryState *previous;
 } EventTriggerQueryState;
 
-EventTriggerQueryState *currentEventTriggerState = NULL;
+static EventTriggerQueryState *currentEventTriggerState = NULL;
 
 typedef struct
 {
diff --git a/src/backend/postmaster/bgworker.c b/src/backend/postmaster/bgworker.c
index 6a8a541f6d34ed6bf97a34326866353f1cd2f402..11fd7a5160564f17e1d6bc4a2203126679dd2afc 100644
--- a/src/backend/postmaster/bgworker.c
+++ b/src/backend/postmaster/bgworker.c
@@ -90,7 +90,7 @@ struct BackgroundWorkerHandle
 	uint64	generation;
 };
 
-BackgroundWorkerArray *BackgroundWorkerData;
+static BackgroundWorkerArray *BackgroundWorkerData;
 
 /*
  * Calculate shared memory needed.
diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c
index 5468eb1b7707a5b686eb618a0afacb659d1d98b9..7adc410b43aaefa02777972115b8f27f74de7cca 100644
--- a/src/backend/postmaster/postmaster.c
+++ b/src/backend/postmaster/postmaster.c
@@ -237,8 +237,6 @@ bool		enable_bonjour = false;
 char	   *bonjour_name;
 bool		restart_after_crash = true;
 
-char	   *output_config_variable = NULL;
-
 /* PIDs of special child processes; 0 when not running */
 static pid_t StartupPID = 0,
 			BgWriterPID = 0,
@@ -545,6 +543,7 @@ PostmasterMain(int argc, char *argv[])
 	char	   *userDoption = NULL;
 	bool		listen_addr_saved = false;
 	int			i;
+	char	   *output_config_variable = NULL;
 
 	MyProcPid = PostmasterPid = getpid();
 
diff --git a/src/backend/storage/lmgr/s_lock.c b/src/backend/storage/lmgr/s_lock.c
index 8ad2ad5cf8f9d46749cc5a469cae3f0d245eacd0..b3987494c13330aeddd94478dcfa0b5840bc23d4 100644
--- a/src/backend/storage/lmgr/s_lock.c
+++ b/src/backend/storage/lmgr/s_lock.c
@@ -19,6 +19,7 @@
 #include <unistd.h>
 
 #include "storage/s_lock.h"
+#include "storage/barrier.h"
 
 slock_t		dummy_spinlock;
 
diff --git a/src/backend/utils/init/globals.c b/src/backend/utils/init/globals.c
index 63c951e5160806648bbef526fa8221a369a77b92..be748357720c7ee9479e9cbda99b2692b835811b 100644
--- a/src/backend/utils/init/globals.c
+++ b/src/backend/utils/init/globals.c
@@ -18,6 +18,7 @@
  */
 #include "postgres.h"
 
+#include "libpq/libpq-be.h"
 #include "libpq/pqcomm.h"
 #include "miscadmin.h"
 #include "storage/backendid.h"
diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c
index a71320d94581fad5d4cba46448b2b2f85e868d2c..94151acb48698cde999b58dae65e75de5d99a2be 100644
--- a/src/bin/initdb/initdb.c
+++ b/src/bin/initdb/initdb.c
@@ -180,7 +180,7 @@ static const char *backend_options = "--single -F -O -c search_path=pg_catalog -
 #ifdef WIN32
 char	   *restrict_env;
 #endif
-const char *subdirs[] = {
+static const char *subdirs[] = {
 	"global",
 	"pg_xlog",
 	"pg_xlog/archive_status",
diff --git a/src/include/storage/pg_shmem.h b/src/include/storage/pg_shmem.h
index df094e801d939b4fb45c19f697ba96177847e07e..0d607298fbd5e41f5e19dd879943d2a0985f377b 100644
--- a/src/include/storage/pg_shmem.h
+++ b/src/include/storage/pg_shmem.h
@@ -49,7 +49,6 @@ typedef enum
 	HUGE_TLB_TRY
 } HugeTlbType;
 
-#ifdef EXEC_BACKEND
 #ifndef WIN32
 extern unsigned long UsedShmemSegID;
 #else
@@ -57,6 +56,7 @@ extern HANDLE UsedShmemSegID;
 #endif
 extern void *UsedShmemSegAddr;
 
+#ifdef EXEC_BACKEND
 extern void PGSharedMemoryReAttach(void);
 #endif
 
diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l
index 9606d86e9ef40a0a025dd1319f103c8bc0553bf4..3bd63b353d078ef8c40992488bc91bca560ca5d8 100644
--- a/src/interfaces/ecpg/preproc/pgc.l
+++ b/src/interfaces/ecpg/preproc/pgc.l
@@ -56,7 +56,7 @@ static bool isdefine(void);
 static bool isinformixdefine(void);
 
 char *token_start;
-int state_before;
+static int state_before;
 
 struct _yy_buffer
 {