diff --git a/core/includes/common.inc b/core/includes/common.inc
index 8444244..8bec54c 100644
--- a/core/includes/common.inc
+++ b/core/includes/common.inc
@@ -1525,14 +1525,6 @@ function drupal_flush_all_caches() {
   // actually loaded.
   $module_handler->loadAll();
 
-  // Rebuild the schema and cache a fully-built schema based on new module data.
-  // This is necessary for any invocation of index.php, because setting cache
-  // table entries requires schema information and that occurs during bootstrap
-  // before any modules are loaded, so if there is no cached schema,
-  // drupal_get_schema() will try to generate one, but with no loaded modules,
-  // it will return nothing.
-  drupal_get_schema(NULL, TRUE);
-
   // Rebuild all information based on new module data.
   $module_handler->invokeAll('rebuild');
 
diff --git a/core/lib/Drupal/Core/Extension/ModuleInstaller.php b/core/lib/Drupal/Core/Extension/ModuleInstaller.php
index dba7a94..889293e 100644
--- a/core/lib/Drupal/Core/Extension/ModuleInstaller.php
+++ b/core/lib/Drupal/Core/Extension/ModuleInstaller.php
@@ -211,9 +211,6 @@ public function install(array $module_list, $enable_dependencies = TRUE) {
         // Update the kernel to include it.
         $this->updateKernel($module_filenames);
 
-        // Refresh the schema to include it.
-        drupal_get_schema(NULL, TRUE);
-
         // Allow modules to react prior to the installation of a module.
         $this->moduleHandler->invokeAll('module_preinstall', array($module));
 
diff --git a/core/lib/Drupal/Core/Installer/Form/SiteConfigureForm.php b/core/lib/Drupal/Core/Installer/Form/SiteConfigureForm.php
index 0354e25..669d63d 100644
--- a/core/lib/Drupal/Core/Installer/Form/SiteConfigureForm.php
+++ b/core/lib/Drupal/Core/Installer/Form/SiteConfigureForm.php
@@ -136,15 +136,6 @@ public function buildForm(array $form, FormStateInterface $form_state) {
     // work during installation.
     $form['#attached']['drupalSettings']['copyFieldValue']['edit-site-mail'] = ['edit-account-mail'];
 
-    // Cache a fully-built schema. This is necessary for any invocation of
-    // index.php because: (1) setting cache table entries requires schema
-    // information, (2) that occurs during bootstrap before any module are
-    // loaded, so (3) if there is no cached schema, drupal_get_schema() will
-    // try to generate one but with no loaded modules will return nothing.
-    //
-    // @todo Move this to the 'install_finished' task?
-    drupal_get_schema(NULL, TRUE);
-
     $form['site_information'] = array(
       '#type' => 'fieldgroup',
       '#title' => $this->t('Site information'),
diff --git a/core/modules/simpletest/src/KernelTestBase.php b/core/modules/simpletest/src/KernelTestBase.php
index 89930ad..937810d 100644
--- a/core/modules/simpletest/src/KernelTestBase.php
+++ b/core/modules/simpletest/src/KernelTestBase.php
@@ -415,10 +415,6 @@ protected function installSchema($module, $tables) {
       }
       $this->container->get('database')->schema()->createTable($table, $schema);
     }
-    // We need to refresh the schema cache, as any call to drupal_get_schema()
-    // would not know of/return the schema otherwise.
-    // @todo Refactor Schema API to make this obsolete.
-    drupal_get_schema(NULL, TRUE);
     $this->pass(format_string('Installed %module tables: %tables.', array(
       '%tables' => '{' . implode('}, {', $tables) . '}',
       '%module' => $module,
diff --git a/core/modules/simpletest/src/Tests/KernelTestBaseTest.php b/core/modules/simpletest/src/Tests/KernelTestBaseTest.php
index 218d0b9..6c87d76 100644
--- a/core/modules/simpletest/src/Tests/KernelTestBaseTest.php
+++ b/core/modules/simpletest/src/Tests/KernelTestBaseTest.php
@@ -107,7 +107,7 @@ function testEnableModulesInstall() {
     $this->assertFalse(in_array($module, $list), "{$module}_hook_info() in \Drupal::moduleHandler()->getImplementations() not found.");
 
     $this->assertFalse(db_table_exists($table), "'$table' database table not found.");
-    $schema = drupal_get_schema($table, TRUE);
+    $schema = drupal_get_schema_unprocessed($table, TRUE);
     $this->assertFalse($schema, "'$table' table schema not found.");
 
     // Install the module.
@@ -121,7 +121,7 @@ function testEnableModulesInstall() {
     $this->assertTrue(in_array($module, $list), "{$module}_hook_info() in \Drupal::moduleHandler()->getImplementations() found.");
 
     $this->assertTrue(db_table_exists($table), "'$table' database table found.");
-    $schema = drupal_get_schema($table);
+    $schema = drupal_get_schema_unprocessed($table);
     $this->assertTrue($schema, "'$table' table schema found.");
   }
 
@@ -153,9 +153,7 @@ function testInstallSchema() {
     $this->assertTrue(db_table_exists($table), "'$table' database table found.");
 
     // Verify that the schema is known to Schema API.
-    $schema = drupal_get_schema();
-    $this->assertTrue($schema[$table], "'$table' table found in schema.");
-    $schema = drupal_get_schema($table);
+    $schema = drupal_get_schema_unprocessed($table);
     $this->assertTrue($schema, "'$table' table schema found.");
 
     // Verify that a unknown table from an enabled module throws an error.
@@ -168,7 +166,7 @@ function testInstallSchema() {
       $this->pass('Exception for non-retrievable schema found.');
     }
     $this->assertFalse(db_table_exists($table), "'$table' database table not found.");
-    $schema = drupal_get_schema($table);
+    $schema = drupal_get_schema_unprocessed($table);
     $this->assertFalse($schema, "'$table' table schema not found.");
 
     // Verify that a table from a unknown module cannot be installed.
@@ -182,14 +180,14 @@ function testInstallSchema() {
       $this->pass('Exception for non-retrievable schema found.');
     }
     $this->assertFalse(db_table_exists($table), "'$table' database table not found.");
-    $schema = drupal_get_schema($table);
+    $schema = drupal_get_schema_unprocessed($table);
     $this->assertFalse($schema, "'$table' table schema not found.");
 
     // Verify that the same table can be installed after enabling the module.
     $this->enableModules(array($module));
     $this->installSchema($module, $table);
     $this->assertTrue(db_table_exists($table), "'$table' database table found.");
-    $schema = drupal_get_schema($table);
+    $schema = drupal_get_schema_unprocessed($table);
     $this->assertTrue($schema, "'$table' table schema found.");
   }
 
diff --git a/core/modules/system/src/Tests/Database/InsertDefaultsTest.php b/core/modules/system/src/Tests/Database/InsertDefaultsTest.php
index d5f60dd..831002d 100644
--- a/core/modules/system/src/Tests/Database/InsertDefaultsTest.php
+++ b/core/modules/system/src/Tests/Database/InsertDefaultsTest.php
@@ -23,7 +23,7 @@ function testDefaultInsert() {
     $query = db_insert('test')->useDefaults(array('job'));
     $id = $query->execute();
 
-    $schema = drupal_get_schema('test');
+    $schema = drupal_get_schema_unprocessed('test');
 
     $job = db_query('SELECT job FROM {test} WHERE id = :id', array(':id' => $id))->fetchField();
     $this->assertEqual($job, $schema['fields']['job']['default'], 'Default field value is set.');
@@ -56,7 +56,7 @@ function testDefaultInsertWithFields() {
       ->useDefaults(array('job'));
     $id = $query->execute();
 
-    $schema = drupal_get_schema('test');
+    $schema = drupal_get_schema_unprocessed('test');
 
     $job = db_query('SELECT job FROM {test} WHERE id = :id', array(':id' => $id))->fetchField();
     $this->assertEqual($job, $schema['fields']['job']['default'], 'Default field value is set.');
diff --git a/core/modules/system/tests/modules/module_test/module_test.install b/core/modules/system/tests/modules/module_test/module_test.install
index 53dfa33..63a559f 100644
--- a/core/modules/system/tests/modules/module_test/module_test.install
+++ b/core/modules/system/tests/modules/module_test/module_test.install
@@ -28,7 +28,7 @@ function module_test_schema() {
  * Implements hook_install().
  */
 function module_test_install() {
-  $schema = drupal_get_schema('module_test');
+  $schema = drupal_get_schema_unprocessed('module_test');
   db_insert('module_test')
     ->fields(array(
       'data' => $schema['fields']['data']['type'],
