Module: PgHero::Methods::Basic

Included in:
Database
Defined in:
lib/pghero/methods/basic.rb

Instance Method Summary collapse

Instance Method Details

#database_nameObject



32
33
34
# File 'lib/pghero/methods/basic.rb', line 32

def database_name
  select_all("SELECT current_database()").first["current_database"]
end

#server_versionObject



36
37
38
# File 'lib/pghero/methods/basic.rb', line 36

def server_version
  select_all("SHOW server_version").first["server_version"]
end

#settingsObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/pghero/methods/basic.rb', line 4

def settings
  names =
    if server_version_num >= 90500
      %w(
        max_connections shared_buffers effective_cache_size work_mem
        maintenance_work_mem min_wal_size max_wal_size checkpoint_completion_target
        wal_buffers default_statistics_target
      )
    else
      %w(
        max_connections shared_buffers effective_cache_size work_mem
        maintenance_work_mem checkpoint_segments checkpoint_completion_target
        wal_buffers default_statistics_target
      )
    end
  Hash[names.map { |name| [name, select_all("SHOW #{name}").first[name]] }]
end

#ssl_used?Boolean

Returns:

  • (Boolean)


22
23
24
25
26
27
28
29
30
# File 'lib/pghero/methods/basic.rb', line 22

def ssl_used?
  ssl_used = nil
  connection_model.transaction do
    execute("CREATE EXTENSION IF NOT EXISTS sslinfo")
    ssl_used = PgHero.truthy?(select_all("SELECT ssl_is_used()").first["ssl_is_used"])
    raise ActiveRecord::Rollback
  end
  ssl_used
end