diff --git a/packages/pg/lib/client.js b/packages/pg/lib/client.js
index 589aa9f84..18238f6fb 100644
--- a/packages/pg/lib/client.js
+++ b/packages/pg/lib/client.js
@@ -403,6 +403,9 @@ class Client extends EventEmitter {
     if (params.statement_timeout) {
       data.statement_timeout = String(parseInt(params.statement_timeout, 10))
     }
+    if (params.lock_timeout) {
+      data.lock_timeout = String(parseInt(params.lock_timeout, 10))
+    }
     if (params.idle_in_transaction_session_timeout) {
       data.idle_in_transaction_session_timeout = String(parseInt(params.idle_in_transaction_session_timeout, 10))
     }
diff --git a/packages/pg/lib/connection-parameters.js b/packages/pg/lib/connection-parameters.js
index 165e6d5d3..6a535a820 100644
--- a/packages/pg/lib/connection-parameters.js
+++ b/packages/pg/lib/connection-parameters.js
@@ -103,6 +103,7 @@ class ConnectionParameters {
     this.application_name = val('application_name', config, 'PGAPPNAME')
     this.fallback_application_name = val('fallback_application_name', config, false)
     this.statement_timeout = val('statement_timeout', config, false)
+    this.lock_timeout = val('lock_timeout', config, false)
     this.idle_in_transaction_session_timeout = val('idle_in_transaction_session_timeout', config, false)
     this.query_timeout = val('query_timeout', config, false)
 
diff --git a/packages/pg/lib/defaults.js b/packages/pg/lib/defaults.js
index 9384e01cb..5c5d997d2 100644
--- a/packages/pg/lib/defaults.js
+++ b/packages/pg/lib/defaults.js
@@ -54,6 +54,10 @@ module.exports = {
   // false=unlimited
   statement_timeout: false,
 
+  // Abort any statement that waits longer than the specified duration in milliseconds while attempting to acquire a lock.
+  // false=unlimited
+  lock_timeout: false,
+
   // Terminate any session with an open transaction that has been idle for longer than the specified duration in milliseconds
   // false=unlimited
   idle_in_transaction_session_timeout: false,
diff --git a/packages/pg/test/unit/connection-parameters/creation-tests.js b/packages/pg/test/unit/connection-parameters/creation-tests.js
index 40381e788..cd27d5011 100644
--- a/packages/pg/test/unit/connection-parameters/creation-tests.js
+++ b/packages/pg/test/unit/connection-parameters/creation-tests.js
@@ -28,6 +28,7 @@ var compare = function (actual, expected, type) {
   assert.equal(actual.password, expected.password, type + ' password')
   assert.equal(actual.binary, expected.binary, type + ' binary')
   assert.equal(actual.statement_timeout, expected.statement_timeout, type + ' statement_timeout')
+  assert.equal(actual.lock_timeout, expected.lock_timeout, type + ' lock_timeout')
   assert.equal(actual.options, expected.options, type + ' options')
   assert.equal(
     actual.idle_in_transaction_session_timeout,
@@ -51,6 +52,7 @@ suite.test('ConnectionParameters initializing from defaults with connectionStrin
     host: 'foo.bar.net',
     binary: defaults.binary,
     statement_timeout: false,
+    lock_timeout: false,
     idle_in_transaction_session_timeout: false,
     options: '-c geqo=off',
   }
@@ -78,6 +80,7 @@ suite.test('ConnectionParameters initializing from config', function () {
       asdf: 'blah',
     },
     statement_timeout: 15000,
+    lock_timeout: 15000,
     idle_in_transaction_session_timeout: 15000,
     options: '-c geqo=off',
   }