diff --git a/changelogs/unreleased/fix-ar-connection-leaks.yml b/changelogs/unreleased/fix-ar-connection-leaks.yml
new file mode 100644
index 0000000000000000000000000000000000000000..9da715560adf861d6909778ba99239f2f927a1c2
--- /dev/null
+++ b/changelogs/unreleased/fix-ar-connection-leaks.yml
@@ -0,0 +1,4 @@
+---
+title: Don't connect in Gitlab::Database.adapter_name
+merge_request:
+author:
diff --git a/lib/gitlab/database.rb b/lib/gitlab/database.rb
index dc2537d36aa9a2d5b826ee5af68dcda6ec621b17..a3d6be9959b211a098c67b11ce9276b2773f6d94 100644
--- a/lib/gitlab/database.rb
+++ b/lib/gitlab/database.rb
@@ -6,7 +6,7 @@ module Gitlab
     MAX_INT_VALUE = 2147483647
 
     def self.adapter_name
-      connection.adapter_name
+      ActiveRecord::Base.configurations[Rails.env]['adapter']
     end
 
     def self.mysql?
diff --git a/spec/lib/gitlab/database_spec.rb b/spec/lib/gitlab/database_spec.rb
index b142b3a27817fd020de44b78a3ddc11328e8578d..41252f31997c2bec84424a14d327741f5ed770e4 100644
--- a/spec/lib/gitlab/database_spec.rb
+++ b/spec/lib/gitlab/database_spec.rb
@@ -5,6 +5,12 @@ class MigrationTest
 end
 
 describe Gitlab::Database, lib: true do
+  describe '.adapter_name' do
+    it 'returns the name of the adapter' do
+      expect(described_class.adapter_name).to be_an_instance_of(String)
+    end
+  end
+
   # These are just simple smoke tests to check if the methods work (regardless
   # of what they may return).
   describe '.mysql?' do