pghero 1.5.0 → 1.5.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of pghero might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2f6dedb66d19e25c60630b97b92a84647ade3d2d
4
- data.tar.gz: 0e5ca53ffe1bee7cb6a8be895cc974aacd58a1fa
3
+ metadata.gz: 7180e123821d568de00ca057b46d552b04424cba
4
+ data.tar.gz: bcad3bb920aeeedf4958aaaa5a941d3e3af5724d
5
5
  SHA512:
6
- metadata.gz: 6f971500f351580cdb9dfbdaaa9f4c5d9227c5a52672599b7553e20f2fdf5b14d3d8beb8d02a30e5a03aaaf8e105331bd559aef9100e0a34bd2e1292d1172a95
7
- data.tar.gz: c464429ebfb5d25deee181b93586e7fe316351325253cc5c254fab6b76009df0f86916db4d3db615550a4c77a15902cfb789c36cca137237edca78a821d53496
6
+ metadata.gz: 1e4eb14518cac12bced82d9ed97bd057be822f1d1f0f8d3ccd011f36f4b5658f749fd689de57ae4bec93433818b5fc9c9d917235b032ed26a7b5e6356557ea09
7
+ data.tar.gz: fad8fdc055de2709db694cfdc46be8f52ffe51565945a5e895e56ba9877450f31799af7199338001d61ac806fcaf34b0c7b0ec54a6974496f0db8f52e8353871
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 1.5.1
2
+
3
+ - Better tune page for PostgreSQL 9.5
4
+
1
5
  ## 1.5.0
2
6
 
3
7
  - Added user to query stats (opt-in)
@@ -18,5 +18,5 @@
18
18
  </tbody>
19
19
  </table>
20
20
 
21
- <p>Check out <%= link_to "PgTune", "http://pgtune.leopard.in.ua", target: "_blank" %> for recommendations.</p>
21
+ <p>Check out <%= link_to "PgTune", "http://pgtune.leopard.in.ua", target: "_blank" %> for recommendations. DB version is <%= @database.server_version.split(".").first(2).join(".") %>.</p>
22
22
  </div>
@@ -2,13 +2,21 @@ module PgHero
2
2
  module Methods
3
3
  module Basic
4
4
  def settings
5
- names = %w(
6
- max_connections shared_buffers effective_cache_size work_mem
7
- maintenance_work_mem checkpoint_segments checkpoint_completion_target
8
- wal_buffers default_statistics_target
9
- )
10
- values = Hash[select_all(connection_model.send(:sanitize_sql_array, ["SELECT name, setting, unit FROM pg_settings WHERE name IN (?)", names])).sort_by { |row| names.index(row["name"]) }.map { |row| [row["name"], friendly_value(row["setting"], row["unit"])] }]
11
- Hash[names.map { |name| [name, values[name]] }]
5
+ names =
6
+ if server_version_num >= 90500
7
+ %w(
8
+ max_connections shared_buffers effective_cache_size work_mem
9
+ maintenance_work_mem min_wal_size max_wal_size checkpoint_completion_target
10
+ wal_buffers default_statistics_target
11
+ )
12
+ else
13
+ %w(
14
+ max_connections shared_buffers effective_cache_size work_mem
15
+ maintenance_work_mem checkpoint_segments checkpoint_completion_target
16
+ wal_buffers default_statistics_target
17
+ )
18
+ end
19
+ Hash[names.map { |name| [name, select_all("SHOW #{name}").first[name]] }]
12
20
  end
13
21
 
14
22
  def ssl_used?
@@ -25,25 +33,12 @@ module PgHero
25
33
  select_all("SELECT current_database()").first["current_database"]
26
34
  end
27
35
 
28
- private
29
-
30
- def friendly_value(setting, unit)
31
- if %w(kB 8kB).include?(unit)
32
- value = setting.to_i
33
- value *= 8 if unit == "8kB"
34
-
35
- if value % (1024 * 1024) == 0
36
- "#{value / (1024 * 1024)}GB"
37
- elsif value % 1024 == 0
38
- "#{value / 1024}MB"
39
- else
40
- "#{value}kB"
41
- end
42
- else
43
- "#{setting}#{unit}".strip
44
- end
36
+ def server_version
37
+ select_all("SHOW server_version").first["server_version"]
45
38
  end
46
39
 
40
+ private
41
+
47
42
  def select_all(sql)
48
43
  # squish for logs
49
44
  connection.select_all(squish(sql)).to_a
@@ -84,7 +84,7 @@ module PgHero
84
84
  end
85
85
 
86
86
  def supports_query_hash?
87
- @supports_query_hash ||= server_version >= 90400 && historical_query_stats_enabled? && PgHero::QueryStats.column_names.include?("query_hash")
87
+ @supports_query_hash ||= server_version_num >= 90400 && historical_query_stats_enabled? && PgHero::QueryStats.column_names.include?("query_hash")
88
88
  end
89
89
 
90
90
  def supports_query_stats_user?
@@ -240,7 +240,7 @@ module PgHero
240
240
  end
241
241
  end
242
242
 
243
- def server_version
243
+ def server_version_num
244
244
  @server_version ||= select_all("SHOW server_version_num").first["server_version_num"].to_i
245
245
  end
246
246
 
@@ -1,3 +1,3 @@
1
1
  module PgHero
2
- VERSION = "1.5.0"
2
+ VERSION = "1.5.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pghero
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 1.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Kane
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-22 00:00:00.000000000 Z
11
+ date: 2016-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord