diff --git a/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php b/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php
index 5dec0a8..597df9b 100644
--- a/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php
+++ b/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php
@@ -70,10 +70,21 @@ public function __construct(\PDO $connection, array $connection_options) {
     // Force PostgreSQL to use the UTF-8 character set by default.
     $this->connection->exec("SET NAMES 'UTF8'");
 
+    // Set PostgreSQL init_commands if not already defined.
+    $connection_options += array(
+      'init_commands' => array(),
+    );
+
+    $connection_options['init_commands'] += array(
+      // Set standard_conforming_strings to off so as to treat backslashes as
+      // escape characters, complying with historical PostgreSQL behavior. In
+      // PostgreSQL 9.1 and up this is on by default, however Drupal still
+      // assumes this to be off.
+      'standard_conforming_strings' => 'SET standard_conforming_strings = off',
+    );
+
     // Execute PostgreSQL init_commands.
-    if (isset($connection_options['init_commands'])) {
-      $this->connection->exec(implode('; ', $connection_options['init_commands']));
-    }
+    $this->connection->exec(implode('; ', $connection_options['init_commands']));
   }
 
   /**
diff --git a/core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php b/core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php
index 06b7540..35b44d0 100644
--- a/core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php
+++ b/core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php
@@ -721,7 +721,7 @@ public function changeField($table, $field, $field_new, $spec, $new_keys = array
         // Convert to a bytea type by using the SQL replace() function to
         // convert any single backslashes in the field content to double
         // backslashes ('\' to '\\').
-        $this->connection->query('ALTER TABLE {' . $table . '} ALTER "' . $field . '" TYPE ' . $field_def . ' USING decode(replace("' . $field . '"' . ", '\\', '\\\\'), 'escape');");
+        $this->connection->query('ALTER TABLE {' . $table . '} ALTER "' . $field . '" TYPE ' . $field_def . ' USING convert_to("' . $field . '", ' . "'UTF8')");
       }
     }
 
