diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index d3a8b2648d..fa2dcf336c 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -6192,28 +6192,6 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1)
-
- trace_userlocks (boolean)
-
- trace_userlocks> configuration parameter
-
-
-
- If on, emit information about user lock usage. Output is the same
- as for trace_locks, only for user locks.
-
-
- User locks were removed as of PostgreSQL version 8.2. This option
- currently has no effect.
-
-
- This parameter is only available if the LOCK_DEBUG
- macro was defined when PostgreSQL was
- compiled.
-
-
-
-
trace_lock_oidmin (integer)
diff --git a/src/backend/storage/lmgr/lock.c b/src/backend/storage/lmgr/lock.c
index 905502f145..ed8344ff8f 100644
--- a/src/backend/storage/lmgr/lock.c
+++ b/src/backend/storage/lmgr/lock.c
@@ -213,12 +213,7 @@ static const LockMethodData user_lockmethod = {
AccessExclusiveLock, /* highest valid lock mode number */
true,
LockConflicts,
- lock_mode_names,
-#ifdef LOCK_DEBUG
- &Trace_userlocks
-#else
- &Dummy_trace
-#endif
+ lock_mode_names
};
/*
@@ -276,7 +271,6 @@ static ResourceOwner awaitedOwner;
int Trace_lock_oidmin = FirstNormalObjectId;
bool Trace_locks = false;
-bool Trace_userlocks = false;
int Trace_lock_table = 0;
bool Debug_deadlocks = false;
diff --git a/src/backend/utils/misc/check_guc b/src/backend/utils/misc/check_guc
index 293fb0363f..91c1c581ac 100755
--- a/src/backend/utils/misc/check_guc
+++ b/src/backend/utils/misc/check_guc
@@ -20,7 +20,7 @@ INTENTIONALLY_NOT_INCLUDED="autocommit debug_deadlocks \
is_superuser lc_collate lc_ctype lc_messages lc_monetary lc_numeric lc_time \
pre_auth_delay role seed server_encoding server_version server_version_int \
session_authorization trace_lock_oidmin trace_lock_table trace_locks trace_lwlocks \
-trace_notify trace_userlocks transaction_isolation transaction_read_only \
+trace_notify transaction_isolation transaction_read_only \
zero_damaged_pages"
### What options are listed in postgresql.conf.sample, but don't appear
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index 106096faee..f1d35a9a11 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -1058,16 +1058,6 @@ static struct config_bool ConfigureNamesBool[] =
false,
NULL, NULL, NULL
},
- {
- {"trace_userlocks", PGC_SUSET, DEVELOPER_OPTIONS,
- gettext_noop("No description available."),
- NULL,
- GUC_NOT_IN_SAMPLE
- },
- &Trace_userlocks,
- false,
- NULL, NULL, NULL
- },
{
{"trace_lwlocks", PGC_SUSET, DEVELOPER_OPTIONS,
gettext_noop("No description available."),
diff --git a/src/include/storage/lock.h b/src/include/storage/lock.h
index e106ad5401..bc746a39e4 100644
--- a/src/include/storage/lock.h
+++ b/src/include/storage/lock.h
@@ -34,7 +34,6 @@ extern int max_locks_per_xact;
#ifdef LOCK_DEBUG
extern int Trace_lock_oidmin;
extern bool Trace_locks;
-extern bool Trace_userlocks;
extern int Trace_lock_table;
extern bool Debug_deadlocks;
#endif /* LOCK_DEBUG */