diff --git a/core/lib/Drupal/Core/Database/Connection.php b/core/lib/Drupal/Core/Database/Connection.php
index 39a856e966eb15d15839dbf220b094ad6a924674..aecaed728ffcadf7faad6385c68243c0758ac9ad 100644
--- a/core/lib/Drupal/Core/Database/Connection.php
+++ b/core/lib/Drupal/Core/Database/Connection.php
@@ -668,8 +668,14 @@ public function getLogger() {
    *
    * @return string
    *   A table prefix-parsed string for the sequence name.
+   *
+   * @deprecated in drupal:10.2.0 and is removed from drupal:11.0.0. There is
+   *   no replacement.
+   *
+   * @see https://www.drupal.org/node/3377046
    */
   public function makeSequenceName($table, $field) {
+    @trigger_error(__METHOD__ . "() is deprecated in drupal:10.2.0 and is removed from drupal:11.0.0. There is no replacement. See https://www.drupal.org/node/3377046", E_USER_DEPRECATED);
     $sequence_name = $this->prefixTables('{' . $table . '}_' . $field . '_seq');
     // Remove identifier quotes as we are constructing a new name from a
     // prefixed and quoted table name.
diff --git a/core/modules/mysql/tests/src/Kernel/mysql/ConnectionTest.php b/core/modules/mysql/tests/src/Kernel/mysql/ConnectionTest.php
index 71be9ea5139eba382b9c0af2afed0991599f2c05..6521a339f9fbe11259c957ca98a58570e6490885 100644
--- a/core/modules/mysql/tests/src/Kernel/mysql/ConnectionTest.php
+++ b/core/modules/mysql/tests/src/Kernel/mysql/ConnectionTest.php
@@ -21,4 +21,14 @@ public function testMultipleStatementsForNewPhp(): void {
     Database::getConnection('default', 'default')->query('SELECT * FROM {test}; SELECT * FROM {test_people}', [], ['allow_delimiter_in_query' => TRUE]);
   }
 
+  /**
+   * Tests deprecation of ::makeSequenceName().
+   *
+   * @group legacy
+   */
+  public function testMakeSequenceNameDeprecation(): void {
+    $this->expectDeprecation("Drupal\\Core\\Database\\Connection::makeSequenceName() is deprecated in drupal:10.2.0 and is removed from drupal:11.0.0. There is no replacement. See https://www.drupal.org/node/3377046");
+    $this->assertIsString($this->connection->makeSequenceName('foo', 'bar'));
+  }
+
 }
diff --git a/core/modules/pgsql/src/Driver/Database/pgsql/Connection.php b/core/modules/pgsql/src/Driver/Database/pgsql/Connection.php
index 3ba9748bcdded287d10328d56dada9fa6d45124c..6bda0f314778ee1b174e736d61a6604c6b3eaabb 100644
--- a/core/modules/pgsql/src/Driver/Database/pgsql/Connection.php
+++ b/core/modules/pgsql/src/Driver/Database/pgsql/Connection.php
@@ -294,6 +294,28 @@ public function mapConditionOperator($operator) {
     return static::$postgresqlConditionOperatorMap[$operator] ?? NULL;
   }
 
+  /**
+   * Creates the appropriate sequence name for a given table and serial field.
+   *
+   * This method should only be called by the driver's code.
+   *
+   * @param string $table
+   *   The table name to use for the sequence.
+   * @param string $field
+   *   The field name to use for the sequence.
+   *
+   * @return string
+   *   A table prefix-parsed string for the sequence name.
+   *
+   * @internal
+   */
+  public function makeSequenceName($table, $field) {
+    $sequence_name = $this->prefixTables('{' . $table . '}_' . $field . '_seq');
+    // Remove identifier quotes as we are constructing a new name from a
+    // prefixed and quoted table name.
+    return str_replace($this->identifierQuotes, '', $sequence_name);
+  }
+
   /**
    * Retrieve a the next id in a sequence.
    *
diff --git a/core/modules/pgsql/src/Update10101.php b/core/modules/pgsql/src/Update10101.php
index 75ad28f806f20c423f607019b0fb2fc1929f4837..4e9d0382b7065a2d8bd76337ac200b6e235f9564 100644
--- a/core/modules/pgsql/src/Update10101.php
+++ b/core/modules/pgsql/src/Update10101.php
@@ -222,7 +222,7 @@ public function getSequenceName(string $table, string $column): ?string {
    * @return bool
    *   TRUE if the sequence exists by the name.
    *
-   * @see \Drupal\Core\Database\Connection::makeSequenceName()
+   * @see \Drupal\pgsql\Driver\Database\pgsql\Connection::makeSequenceName()
    */
   private function sequenceExists(string $name): bool {
     return (bool) \Drupal::database()
diff --git a/core/modules/sqlite/tests/src/Kernel/sqlite/ConnectionTest.php b/core/modules/sqlite/tests/src/Kernel/sqlite/ConnectionTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..3f415541ba5eda6865085b74735a3a4c61d6b3e1
--- /dev/null
+++ b/core/modules/sqlite/tests/src/Kernel/sqlite/ConnectionTest.php
@@ -0,0 +1,26 @@
+<?php
+
+declare(strict_types=1);
+
+namespace Drupal\Tests\sqlite\Kernel\sqlite;
+
+use Drupal\KernelTests\Core\Database\DriverSpecificDatabaseTestBase;
+
+/**
+ * SQLite-specific connection tests.
+ *
+ * @group Database
+ */
+class ConnectionTest extends DriverSpecificDatabaseTestBase {
+
+  /**
+   * Tests deprecation of ::makeSequenceName().
+   *
+   * @group legacy
+   */
+  public function testMakeSequenceNameDeprecation(): void {
+    $this->expectDeprecation("Drupal\\Core\\Database\\Connection::makeSequenceName() is deprecated in drupal:10.2.0 and is removed from drupal:11.0.0. There is no replacement. See https://www.drupal.org/node/3377046");
+    $this->assertIsString($this->connection->makeSequenceName('foo', 'bar'));
+  }
+
+}