taperole 1.8.0 → 1.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/.travis.yml +1 -2
- data/Gemfile +2 -0
- data/Gemfile.lock +39 -0
- data/lib/taperole/version.rb +1 -1
- data/requirements.yml +6 -2
- data/roles/redis/meta/main.yml +3 -0
- data/roles/redis/tasks/main.yml +14 -2
- data/roles/redis/templates/rc.local.j2 +16 -0
- data/roles/redis/templates/thp_enabled.j2 +1 -0
- data/taperole.gemspec +1 -0
- data/vars/defaults.yml +9 -0
- data/vendor/ANXS.postgresql/.travis.yml +8 -6
- data/vendor/ANXS.postgresql/README.md +6 -0
- data/vendor/ANXS.postgresql/defaults/main.yml +133 -69
- data/vendor/ANXS.postgresql/meta/.galaxy_install_info +1 -1
- data/vendor/ANXS.postgresql/tasks/configure.yml +15 -5
- data/vendor/ANXS.postgresql/tasks/databases.yml +3 -3
- data/vendor/ANXS.postgresql/tasks/extensions/dev_headers.yml +11 -1
- data/vendor/ANXS.postgresql/tasks/install.yml +1 -1
- data/vendor/ANXS.postgresql/templates/postgresql.conf-9.6.j2 +635 -0
- data/vendor/ANXS.postgresql/tests/vars.yml +1 -1
- data/vendor/ansible-sysfs/.gitignore +30 -0
- data/vendor/ansible-sysfs/.travis.yml +60 -0
- data/vendor/ansible-sysfs/README.md +68 -0
- data/vendor/ansible-sysfs/Vagrantfile +63 -0
- data/vendor/ansible-sysfs/defaults/main.yml +3 -0
- data/vendor/ansible-sysfs/files/etc/init.d/sysfsutils +82 -0
- data/vendor/ansible-sysfs/handlers/main.yml +6 -0
- data/vendor/ansible-sysfs/meta/.galaxy_install_info +1 -0
- data/vendor/ansible-sysfs/meta/main.yml +21 -0
- data/vendor/ansible-sysfs/tasks/main.yml +68 -0
- data/vendor/ansible-sysfs/templates/etc/sysfs.d/sysfs.conf.j2 +6 -0
- data/vendor/ansible-sysfs/tests/inventory +1 -0
- data/vendor/ansible-sysfs/tests/test.yml +43 -0
- data/vendor/ansible-sysfs/tests/vagrant.yml +43 -0
- data/vendor/ansible-sysfs/vars/main.yml +10 -0
- metadata +37 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bc9a6b83f7d7bcaecf5ee456c4630b8d852aad9a
|
4
|
+
data.tar.gz: 1c92589beb65c71024b40700e7e82774e983fc5a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f6d3f268a98fac4931a373e621dc50a24a861c1ee7f0c57924cd35dc5d7c55120e8f9e09394676ba579638f39e443bcc444822d97a0e533eaaf4b8de3428b643
|
7
|
+
data.tar.gz: 15d34ba9283228dd4925d0f2d039cfbd0e150be47180792b501e4616bec200910eb2f38751d69df1b1343924c9d8586da272eebb298a94c8e219e14df08ab502
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -6,8 +6,7 @@ services:
|
|
6
6
|
- docker
|
7
7
|
|
8
8
|
script:
|
9
|
-
-
|
10
|
-
- gem install --dev taperole
|
9
|
+
- bundle install
|
11
10
|
- rake spec
|
12
11
|
- docker build -f test/rails/Dockerfile -t imagetest .
|
13
12
|
- docker run -i -t $(docker images -q imagetest) /start_rails.sh | grep "Hello"
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
taperole (1.8.0)
|
5
|
+
colorize (~> 0.8.1)
|
6
|
+
slack-notifier (~> 1.5)
|
7
|
+
thor (~> 0.19.1)
|
8
|
+
|
9
|
+
GEM
|
10
|
+
remote: https://rubygems.org/
|
11
|
+
specs:
|
12
|
+
colorize (0.8.1)
|
13
|
+
diff-lcs (1.3)
|
14
|
+
rspec (3.5.0)
|
15
|
+
rspec-core (~> 3.5.0)
|
16
|
+
rspec-expectations (~> 3.5.0)
|
17
|
+
rspec-mocks (~> 3.5.0)
|
18
|
+
rspec-core (3.5.4)
|
19
|
+
rspec-support (~> 3.5.0)
|
20
|
+
rspec-expectations (3.5.0)
|
21
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
22
|
+
rspec-support (~> 3.5.0)
|
23
|
+
rspec-mocks (3.5.0)
|
24
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
25
|
+
rspec-support (~> 3.5.0)
|
26
|
+
rspec-support (3.5.0)
|
27
|
+
slack-notifier (1.5.1)
|
28
|
+
thor (0.19.4)
|
29
|
+
|
30
|
+
PLATFORMS
|
31
|
+
ruby
|
32
|
+
|
33
|
+
DEPENDENCIES
|
34
|
+
rspec (~> 3.5)
|
35
|
+
rspec-expectations (~> 3.5)
|
36
|
+
taperole!
|
37
|
+
|
38
|
+
BUNDLED WITH
|
39
|
+
1.11.2
|
data/lib/taperole/version.rb
CHANGED
data/requirements.yml
CHANGED
@@ -6,11 +6,15 @@
|
|
6
6
|
|
7
7
|
- src: lxhunter.apt
|
8
8
|
|
9
|
-
- src:
|
9
|
+
- src: ANXS.postgresql
|
10
10
|
name: ANXS.postgresql
|
11
|
-
version: v1.
|
11
|
+
version: v1.7.1
|
12
12
|
|
13
13
|
- src: geerlingguy.memcached
|
14
14
|
version: 1.0.4
|
15
15
|
|
16
16
|
- src: tersmitten.htop
|
17
|
+
|
18
|
+
- src: https://github.com/Oefenweb/ansible-sysfs
|
19
|
+
name: ansible-sysfs
|
20
|
+
version: v1.0.2
|
data/roles/redis/tasks/main.yml
CHANGED
@@ -1,8 +1,20 @@
|
|
1
1
|
- name: Get PPA for latest Redis
|
2
|
-
apt_repository:
|
2
|
+
apt_repository:
|
3
|
+
repo: ppa:chris-lea/redis-server
|
4
|
+
update_cache: true
|
5
|
+
|
3
6
|
|
4
7
|
- name: Install Redis
|
5
|
-
apt:
|
8
|
+
apt:
|
9
|
+
name: redis-server
|
10
|
+
state: latest
|
11
|
+
|
12
|
+
- name: kernel | set system overcommit policy
|
13
|
+
sysctl:
|
14
|
+
name: vm.overcommit_memory
|
15
|
+
value: 1
|
16
|
+
reload: true
|
17
|
+
state: present
|
6
18
|
|
7
19
|
- name: Register with monit
|
8
20
|
template: src=redis.j2
|
@@ -0,0 +1,16 @@
|
|
1
|
+
#!/bin/sh -e
|
2
|
+
#
|
3
|
+
# rc.local
|
4
|
+
#
|
5
|
+
# This script is executed at the end of each multiuser runlevel.
|
6
|
+
# Make sure that the script will "exit 0" on success or any other
|
7
|
+
# value on error.
|
8
|
+
#
|
9
|
+
# In order to enable or disable this script just change the execution
|
10
|
+
# bits.
|
11
|
+
#
|
12
|
+
# By default this script does nothing.
|
13
|
+
|
14
|
+
/bin/echo never > /sys/kernel/mm/transparent_hugepage/enabled
|
15
|
+
|
16
|
+
exit 0
|
@@ -0,0 +1 @@
|
|
1
|
+
never
|
data/taperole.gemspec
CHANGED
@@ -16,6 +16,7 @@ Gem::Specification.new do |spec|
|
|
16
16
|
spec.add_runtime_dependency 'slack-notifier', '~> 1.5'
|
17
17
|
spec.add_runtime_dependency 'thor', '~> 0.19.1'
|
18
18
|
spec.add_runtime_dependency 'colorize', '~> 0.8.1'
|
19
|
+
spec.add_development_dependency 'rspec-expectations', '~> 3.5'
|
19
20
|
spec.add_development_dependency 'rspec', '~> 3.5'
|
20
21
|
spec.require_paths = ['lib']
|
21
22
|
end
|
data/vars/defaults.yml
CHANGED
@@ -56,6 +56,9 @@ backup_user: root
|
|
56
56
|
backup_postgres_user: postgres
|
57
57
|
backup_postgres_host: localhost
|
58
58
|
|
59
|
+
# PG Settings
|
60
|
+
postgresql_version: 9.4
|
61
|
+
|
59
62
|
backup_profiles:
|
60
63
|
- name: postgresql
|
61
64
|
schedule: "{{ backup_schedule }}"
|
@@ -69,3 +72,9 @@ rbenv:
|
|
69
72
|
ruby_version: 2.3.1
|
70
73
|
|
71
74
|
rbenv_group: root
|
75
|
+
|
76
|
+
# Redis
|
77
|
+
sysfs_sysfs_d_files:
|
78
|
+
001-transparent-hugepage.conf:
|
79
|
+
- attribute: kernel/mm/transparent_hugepage/enabled
|
80
|
+
value: never
|
@@ -14,11 +14,13 @@ env:
|
|
14
14
|
- ROLE_OPTIONS="postgresql_version=9.3" ANSIBLE_VERSION="1.9.4"
|
15
15
|
- ROLE_OPTIONS="postgresql_version=9.4" ANSIBLE_VERSION="1.9.4"
|
16
16
|
- ROLE_OPTIONS="postgresql_version=9.5" ANSIBLE_VERSION="1.9.4"
|
17
|
-
- ROLE_OPTIONS="postgresql_version=9.
|
18
|
-
- ROLE_OPTIONS="postgresql_version=9.
|
19
|
-
- ROLE_OPTIONS="postgresql_version=9.
|
20
|
-
- ROLE_OPTIONS="postgresql_version=9.
|
21
|
-
- ROLE_OPTIONS="postgresql_version=9.
|
17
|
+
- ROLE_OPTIONS="postgresql_version=9.6" ANSIBLE_VERSION="1.9.4"
|
18
|
+
- ROLE_OPTIONS="postgresql_version=9.1" ANSIBLE_VERSION="2.1.2.0"
|
19
|
+
- ROLE_OPTIONS="postgresql_version=9.2" ANSIBLE_VERSION="2.1.2.0"
|
20
|
+
- ROLE_OPTIONS="postgresql_version=9.3" ANSIBLE_VERSION="2.1.2.0"
|
21
|
+
- ROLE_OPTIONS="postgresql_version=9.4" ANSIBLE_VERSION="2.1.2.0"
|
22
|
+
- ROLE_OPTIONS="postgresql_version=9.5" ANSIBLE_VERSION="2.1.2.0"
|
23
|
+
- ROLE_OPTIONS="postgresql_version=9.6" ANSIBLE_VERSION="2.1.2.0"
|
22
24
|
|
23
25
|
before_install:
|
24
26
|
# Remove the PostgreSQL installed by Travis
|
@@ -50,4 +52,4 @@ script:
|
|
50
52
|
|
51
53
|
# Testing with docker (experimental)
|
52
54
|
- docker build -f tests/Dockerfile-ubuntu14.04 -t postgres_ubuntu14.04 .
|
53
|
-
- docker build -f tests/Dockerfile-centos6 -t postgres_centos6 .
|
55
|
+
- docker build -f tests/Dockerfile-centos6 -t postgres_centos6 .
|
@@ -25,10 +25,13 @@ ansible-galaxy install ANXS.postgresql
|
|
25
25
|
postgresql_version: 9.3
|
26
26
|
postgresql_encoding: 'UTF-8'
|
27
27
|
postgresql_locale: 'en_US.UTF-8'
|
28
|
+
postgresql_ctype: 'en_US.UTF-8'
|
28
29
|
|
29
30
|
postgresql_admin_user: "postgres"
|
30
31
|
postgresql_default_auth_method: "trust"
|
31
32
|
|
33
|
+
postgresql_service_enabled: false # should the service be enabled, default is true
|
34
|
+
|
32
35
|
postgresql_cluster_name: "main"
|
33
36
|
postgresql_cluster_reset: false
|
34
37
|
|
@@ -40,6 +43,9 @@ postgresql_databases:
|
|
40
43
|
hstore: yes # flag to install the hstore extension on this database (yes/no)
|
41
44
|
uuid_ossp: yes # flag to install the uuid-ossp extension on this database (yes/no)
|
42
45
|
citext: yes # flag to install the citext extension on this database (yes/no)
|
46
|
+
encoding: 'UTF-8' # override global {{ postgresql_encoding }} variable per database
|
47
|
+
lc_collate: 'en_GB.UTF-8' # override global {{ postgresql_locale }} variable per database
|
48
|
+
lc_ctype: 'en_GB.UTF-8' # override global {{ postgresql_ctype }} variable per database
|
43
49
|
|
44
50
|
# List of database extensions to be created (optional)
|
45
51
|
postgresql_database_extensions:
|
@@ -7,6 +7,10 @@ postgresql_locale_parts:
|
|
7
7
|
- 'en_US' # Locale
|
8
8
|
- 'UTF-8' # Encoding
|
9
9
|
postgresql_locale: "{{ postgresql_locale_parts | join('.') }}"
|
10
|
+
postgresql_ctype_parts:
|
11
|
+
- 'en_US' # Locale
|
12
|
+
- 'UTF-8' # Encoding
|
13
|
+
postgresql_ctype: "{{ postgresql_ctype_parts | join('.') }}"
|
10
14
|
|
11
15
|
postgresql_admin_user: "postgres"
|
12
16
|
postgresql_default_auth_method: "trust"
|
@@ -14,6 +18,7 @@ postgresql_default_auth_method: "trust"
|
|
14
18
|
# The user/group that will run postgresql process or service
|
15
19
|
postgresql_service_user: "{{ postgresql_admin_user }}"
|
16
20
|
postgresql_service_group: "{{ postgresql_admin_user }}"
|
21
|
+
postgresql_service_enabled: true
|
17
22
|
|
18
23
|
postgresql_cluster_name: "main"
|
19
24
|
postgresql_cluster_reset: false
|
@@ -136,16 +141,15 @@ postgresql_shared_buffers: 128MB # min 128kB
|
|
136
141
|
postgresql_huge_pages: try # on, off, or try
|
137
142
|
postgresql_temp_buffers: 8MB # min 800kB
|
138
143
|
|
139
|
-
#
|
140
|
-
#
|
141
|
-
# It is not advisable to set max_prepared_transactions nonzero unless you
|
142
|
-
# actively intend to use prepared transactions.
|
144
|
+
# Caution: it is not advisable to set max_prepared_transactions nonzero unless
|
145
|
+
# you actively intend to use prepared transactions.
|
143
146
|
postgresql_max_prepared_transactions: 0 # zero disables the feature
|
144
147
|
|
145
|
-
postgresql_work_mem:
|
146
|
-
postgresql_maintenance_work_mem:
|
147
|
-
|
148
|
-
|
148
|
+
postgresql_work_mem: 1MB # min 64kB
|
149
|
+
postgresql_maintenance_work_mem: 16MB # min 1MB
|
150
|
+
postgresql_replacement_sort_tuples: 150000 # (>= 9.6) limits use of replacement selection sort
|
151
|
+
postgresql_autovacuum_work_mem: -1 # min 1MB, or -1 to use maintenance_work_mem
|
152
|
+
postgresql_max_stack_depth: 2MB # min 100kB
|
149
153
|
postgresql_dynamic_shared_memory_type: posix # the default is the first option
|
150
154
|
# supported by the operating system:
|
151
155
|
# posix
|
@@ -157,7 +161,7 @@ postgresql_dynamic_shared_memory_type: posix # the default is the first optio
|
|
157
161
|
|
158
162
|
# - Disk -
|
159
163
|
|
160
|
-
# limits per-
|
164
|
+
# limits per-process temp file space in kB, or -1 for no limit (>= 9.2)
|
161
165
|
postgresql_temp_file_limit: -1
|
162
166
|
|
163
167
|
|
@@ -180,13 +184,19 @@ postgresql_vacuum_cost_limit: 200 # 1-10000 credits
|
|
180
184
|
|
181
185
|
postgresql_bgwriter_delay: 200ms # 10-10000ms between rounds
|
182
186
|
postgresql_bgwriter_lru_maxpages: 100 # 0-1000 max buffers written/round
|
183
|
-
postgresql_bgwriter_lru_multiplier: 2.0 # 0-10.0
|
187
|
+
postgresql_bgwriter_lru_multiplier: 2.0 # 0-10.0 multiplier on buffers scanned/round
|
188
|
+
postgresql_bgwriter_flush_after: 0 # (>= 9.6) 0 disables,
|
189
|
+
# default is 512kB on linux, 0 otherwise
|
184
190
|
|
185
191
|
|
186
192
|
# - Asynchronous Behavior -
|
187
193
|
|
188
|
-
postgresql_effective_io_concurrency:
|
189
|
-
postgresql_max_worker_processes:
|
194
|
+
postgresql_effective_io_concurrency: 1 # 1-1000; 0 disables prefetching
|
195
|
+
postgresql_max_worker_processes: 8 # (change requires restart)
|
196
|
+
postgresql_max_parallel_workers_per_gather: 0 # (>= 9.6) taken from max_worker_processes
|
197
|
+
postgresql_old_snapshot_threshold: -1 # (>= 9.6) 1min-60d; -1 disables; 0 is immediate
|
198
|
+
# (change requires restart)
|
199
|
+
postgresql_backend_flush_after: 0 # (>= 9.6) 0 disables, default is 0
|
190
200
|
|
191
201
|
|
192
202
|
#------------------------------------------------------------------------------
|
@@ -195,15 +205,18 @@ postgresql_max_worker_processes: 8
|
|
195
205
|
|
196
206
|
# - Settings -
|
197
207
|
|
198
|
-
postgresql_wal_level: minimal
|
199
|
-
postgresql_fsync:
|
208
|
+
postgresql_wal_level: minimal # minimal, archive (<= 9.5), hot_standby (<= 9.5), replica (>= 9.6), or logical
|
209
|
+
postgresql_fsync: on # flush data to disk for crash safety
|
210
|
+
# (turning this off can cause
|
211
|
+
# unrecoverable data corruption)
|
200
212
|
|
201
213
|
# Synchronization level:
|
202
214
|
# - off
|
203
215
|
# - local
|
204
216
|
# - remote_write
|
217
|
+
# - remote_apply (>= 9.6)
|
205
218
|
# - on
|
206
|
-
postgresql_synchronous_commit: on
|
219
|
+
postgresql_synchronous_commit: "on"
|
207
220
|
|
208
221
|
# The default is the first option supported by the operating system:
|
209
222
|
# - open_datasync
|
@@ -218,10 +231,11 @@ postgresql_full_page_writes: on
|
|
218
231
|
postgresql_wal_compression: off # (>= 9.5)
|
219
232
|
postgresql_wal_log_hints: off # also do full page writes of non-critical updates
|
220
233
|
|
221
|
-
postgresql_wal_buffers:
|
222
|
-
postgresql_wal_writer_delay:
|
223
|
-
|
224
|
-
|
234
|
+
postgresql_wal_buffers: -1 # min 32kB, -1 sets based on shared_buffers
|
235
|
+
postgresql_wal_writer_delay: 200ms # 1-10000 milliseconds
|
236
|
+
postgresql_wal_writer_flush_after: 1MB # (>= 9.6) 0 disables
|
237
|
+
postgresql_commit_delay: 0 # range 0-100000, in microseconds
|
238
|
+
postgresql_commit_siblings: 5 # range 1-1000
|
225
239
|
|
226
240
|
|
227
241
|
# - Checkpoints -
|
@@ -229,7 +243,9 @@ postgresql_commit_siblings: 5 # range 1-1000
|
|
229
243
|
postgresql_checkpoint_segments: 3 # (<= 9.4) in logfile segments, min 1, 16MB each
|
230
244
|
postgresql_max_wal_size: 1GB # (>= 9.5)
|
231
245
|
postgresql_min_wal_size: 80MB # (>= 9.5)
|
232
|
-
|
246
|
+
postgresql_checkpoint_flush_after: 0 # (>= 9.6) 0 disables,
|
247
|
+
# default is 256kB on linux, 0 otherwise
|
248
|
+
postgresql_checkpoint_timeout: 5min # range 30s-1d
|
233
249
|
postgresql_checkpoint_completion_target: 0.5 # checkpoint target duration, 0.0 - 1.0
|
234
250
|
postgresql_checkpoint_warning: 30s # 0 disables
|
235
251
|
|
@@ -272,8 +288,9 @@ postgresql_track_commit_timestamp: off # (>= 9.5)
|
|
272
288
|
|
273
289
|
# These settings are ignored on a standby server.
|
274
290
|
|
275
|
-
#
|
276
|
-
#
|
291
|
+
# standby servers that provide sync rep.
|
292
|
+
# number of sync standbys (>= 9.6) and comma-separated list of application_name from standby(s)
|
293
|
+
postgresql_synchronous_standby_num_sync: ''
|
277
294
|
postgresql_synchronous_standby_names: [] # '*' means 'all'
|
278
295
|
|
279
296
|
# number of xacts by which cleanup is delayed
|
@@ -303,47 +320,51 @@ postgresql_wal_retrieve_retry_interval: 5s # (>= 9.5)
|
|
303
320
|
|
304
321
|
# - Planner Method Configuration -
|
305
322
|
|
306
|
-
postgresql_enable_bitmapscan:
|
307
|
-
postgresql_enable_hashagg:
|
308
|
-
postgresql_enable_hashjoin:
|
309
|
-
postgresql_enable_indexscan:
|
310
|
-
postgresql_enable_indexonlyscan:
|
311
|
-
postgresql_enable_material:
|
312
|
-
postgresql_enable_mergejoin:
|
313
|
-
postgresql_enable_nestloop:
|
314
|
-
postgresql_enable_seqscan:
|
315
|
-
postgresql_enable_sort:
|
316
|
-
postgresql_enable_tidscan:
|
323
|
+
postgresql_enable_bitmapscan: on
|
324
|
+
postgresql_enable_hashagg: on
|
325
|
+
postgresql_enable_hashjoin: on
|
326
|
+
postgresql_enable_indexscan: on
|
327
|
+
postgresql_enable_indexonlyscan: on
|
328
|
+
postgresql_enable_material: on
|
329
|
+
postgresql_enable_mergejoin: on
|
330
|
+
postgresql_enable_nestloop: on
|
331
|
+
postgresql_enable_seqscan: on
|
332
|
+
postgresql_enable_sort: on
|
333
|
+
postgresql_enable_tidscan: on
|
317
334
|
|
318
335
|
|
319
336
|
# - Planner Cost Constants -
|
320
337
|
|
321
|
-
postgresql_seq_page_cost:
|
322
|
-
postgresql_random_page_cost:
|
323
|
-
postgresql_cpu_tuple_cost:
|
324
|
-
postgresql_cpu_index_tuple_cost:
|
325
|
-
postgresql_cpu_operator_cost:
|
326
|
-
|
338
|
+
postgresql_seq_page_cost: 1.0 # measured on an arbitrary scale
|
339
|
+
postgresql_random_page_cost: 4.0 # same scale as above
|
340
|
+
postgresql_cpu_tuple_cost: 0.01 # same scale as above
|
341
|
+
postgresql_cpu_index_tuple_cost: 0.005 # same scale as above
|
342
|
+
postgresql_cpu_operator_cost: 0.0025 # same scale as above
|
343
|
+
postgresql_parallel_tuple_cost: 0.1 # same scale as above (>= 9.6)
|
344
|
+
postgresql_parallel_setup_cost: 1000.0 # same scale as above (>= 9.6)
|
345
|
+
postgresql_min_parallel_relation_size: 8MB # (>= 9.6)
|
346
|
+
postgresql_effective_cache_size: 128MB
|
327
347
|
|
328
348
|
|
329
349
|
# - Genetic Query Optimizer -
|
330
350
|
|
331
|
-
postgresql_geqo:
|
332
|
-
postgresql_geqo_threshold:
|
333
|
-
postgresql_geqo_effort:
|
334
|
-
postgresql_geqo_pool_size:
|
335
|
-
postgresql_geqo_generations:
|
336
|
-
postgresql_geqo_selection_bias:
|
337
|
-
postgresql_geqo_seed:
|
351
|
+
postgresql_geqo: on
|
352
|
+
postgresql_geqo_threshold: 12
|
353
|
+
postgresql_geqo_effort: 5 # range 1-10
|
354
|
+
postgresql_geqo_pool_size: 0 # selects default based on effort
|
355
|
+
postgresql_geqo_generations: 0 # selects default based on effort
|
356
|
+
postgresql_geqo_selection_bias: 2.0 # range 1.5-2.0
|
357
|
+
postgresql_geqo_seed: 0.0 # range 0.0-1.0
|
338
358
|
|
339
359
|
|
340
360
|
# - Other Planner Options -
|
341
361
|
|
342
|
-
postgresql_default_statistics_target:
|
343
|
-
postgresql_constraint_exclusion:
|
344
|
-
postgresql_cursor_tuple_fraction:
|
345
|
-
postgresql_from_collapse_limit:
|
346
|
-
postgresql_join_collapse_limit:
|
362
|
+
postgresql_default_statistics_target: 100 # range 1-10000
|
363
|
+
postgresql_constraint_exclusion: partition # on, off, or partition
|
364
|
+
postgresql_cursor_tuple_fraction: 0.1 # range 0.0-1.0
|
365
|
+
postgresql_from_collapse_limit: 8
|
366
|
+
postgresql_join_collapse_limit: 8 # 1 disables collapsing of explicit
|
367
|
+
postgresql_force_parallel_mode: off # (>= 9.6)
|
347
368
|
|
348
369
|
|
349
370
|
#------------------------------------------------------------------------------
|
@@ -354,34 +375,36 @@ postgresql_join_collapse_limit: 8 # 1 disables collapsing of expl
|
|
354
375
|
|
355
376
|
# Valid values are combinations of stderr, csvlog, syslog, and eventlog.
|
356
377
|
# depending on platform. Csvlog requires logging_collector to be on.
|
357
|
-
postgresql_log_destination:
|
378
|
+
postgresql_log_destination: stderr
|
358
379
|
|
359
380
|
# Enable capturing of stderr and csvlog into log files.
|
360
381
|
# Required to be on for csvlogs.
|
361
|
-
postgresql_logging_collector:
|
382
|
+
postgresql_logging_collector: off
|
362
383
|
|
363
384
|
# These are only used if logging_collector is on:
|
364
385
|
|
365
386
|
# Directory where log files are written, can be absolute or relative to PGDATA
|
366
|
-
postgresql_log_directory:
|
387
|
+
postgresql_log_directory: pg_log
|
367
388
|
# Log file name pattern, can include strftime() escapes
|
368
|
-
postgresql_log_filename:
|
369
|
-
postgresql_log_file_mode:
|
389
|
+
postgresql_log_filename: postgresql-%Y-%m-%d_%H%M%S.log
|
390
|
+
postgresql_log_file_mode: '0600' # begin with 0 to use octal notation
|
370
391
|
# If on, an existing log file with the same name as the new log file will be
|
371
392
|
# truncated rather than appended to. But such truncation only occurs on
|
372
393
|
# time-driven rotation, not on restarts or size-driven rotation. Default is
|
373
394
|
# off, meaning append to existing files in all cases.
|
374
|
-
postgresql_log_truncate_on_rotation:
|
395
|
+
postgresql_log_truncate_on_rotation: off
|
375
396
|
# Automatic rotation of logfiles will happen after that time.
|
376
|
-
postgresql_log_rotation_age:
|
397
|
+
postgresql_log_rotation_age: 1d
|
377
398
|
# Automatic rotation of logfiles will happen after that much log output.
|
378
|
-
postgresql_log_rotation_size:
|
399
|
+
postgresql_log_rotation_size: 10MB
|
379
400
|
|
380
401
|
# These are relevant when logging to syslog:
|
381
|
-
postgresql_syslog_facility:
|
382
|
-
postgresql_syslog_ident:
|
402
|
+
postgresql_syslog_facility: LOCAL0
|
403
|
+
postgresql_syslog_ident: postgres
|
404
|
+
postgresql_syslog_sequence_numbers: on # (>= 9.6)
|
405
|
+
postgresql_syslog_split_messages: on # (>= 9.6)
|
383
406
|
# This is only relevant when logging to eventlog (win32) (>= 9.2):
|
384
|
-
postgresql_event_source:
|
407
|
+
postgresql_event_source: PostgreSQL
|
385
408
|
|
386
409
|
|
387
410
|
# - When to Log -
|
@@ -455,6 +478,7 @@ postgresql_log_hostname: off
|
|
455
478
|
# %p = process ID
|
456
479
|
# %t = timestamp without milliseconds
|
457
480
|
# %m = timestamp with milliseconds
|
481
|
+
# %n = timestamp with milliseconds (as a Unix epoch)
|
458
482
|
# %i = command tag
|
459
483
|
# %e = SQL state
|
460
484
|
# %c = session ID
|
@@ -547,12 +571,13 @@ postgresql_default_transaction_read_only: off
|
|
547
571
|
postgresql_default_transaction_deferrable: off
|
548
572
|
postgresql_session_replication_role: origin
|
549
573
|
|
550
|
-
postgresql_statement_timeout:
|
551
|
-
postgresql_lock_timeout:
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
574
|
+
postgresql_statement_timeout: 0 # in milliseconds, 0 is disabled
|
575
|
+
postgresql_lock_timeout: 0 # in milliseconds, 0 is disabled (>= 9.3)
|
576
|
+
postgresql_idle_in_transaction_session_timeout: 0 # in milliseconds, 0 is disabled (>= 9.6)
|
577
|
+
postgresql_vacuum_freeze_min_age: 50000000
|
578
|
+
postgresql_vacuum_freeze_table_age: 150000000
|
579
|
+
postgresql_vacuum_multixact_freeze_min_age: 5000000 # (>= 9.3)
|
580
|
+
postgresql_vacuum_multixact_freeze_table_age: 150000000 # (>= 9.3)
|
556
581
|
|
557
582
|
postgresql_bytea_output: hex # hex, escape
|
558
583
|
postgresql_xmlbinary: base64
|
@@ -669,6 +694,45 @@ postgresql_apt_repository: 'deb http://apt.postgresql.org/pub/repos/apt/ {{ansib
|
|
669
694
|
postgresql_apt_pin_priority: 500
|
670
695
|
|
671
696
|
# Yum settings
|
697
|
+
postgresql_pgdg_dists:
|
698
|
+
RedHat: redhat
|
699
|
+
CentOS: centos
|
700
|
+
Scientific: sl
|
701
|
+
SLC: sl
|
702
|
+
OracleLinux: oraclelinux
|
703
|
+
postgresql_pgdg_releases:
|
704
|
+
redhat: {
|
705
|
+
9.1: 8,
|
706
|
+
9.2: 9,
|
707
|
+
9.3: 3,
|
708
|
+
9.4: 3,
|
709
|
+
9.5: 3,
|
710
|
+
9.6: 3,
|
711
|
+
}
|
712
|
+
centos: {
|
713
|
+
9.1: 7,
|
714
|
+
9.2: 8,
|
715
|
+
9.3: 3,
|
716
|
+
9.4: 3,
|
717
|
+
9.5: 3,
|
718
|
+
9.6: 3,
|
719
|
+
}
|
720
|
+
sl: {
|
721
|
+
9.1: 8,
|
722
|
+
9.2: 9,
|
723
|
+
9.3: 3,
|
724
|
+
9.4: 3,
|
725
|
+
9.5: 3,
|
726
|
+
9.6: 3,
|
727
|
+
}
|
728
|
+
oraclelinux: {
|
729
|
+
9.1: 8,
|
730
|
+
9.2: 9,
|
731
|
+
9.3: 3,
|
732
|
+
9.4: 3,
|
733
|
+
9.5: 3,
|
734
|
+
9.6: 3,
|
735
|
+
}
|
672
736
|
postgresql_version_terse: "{{ postgresql_version | replace('.', '') }}"
|
673
737
|
postgresql_yum_repository_base_url: "http://yum.postgresql.org"
|
674
|
-
postgresql_yum_repository_url: "{{ postgresql_yum_repository_base_url }}/{{ postgresql_version }}/{{ ansible_os_family | lower }}/rhel-{{ ansible_distribution_major_version }}-{{ ansible_architecture }}/pgdg-{{ ansible_distribution
|
738
|
+
postgresql_yum_repository_url: "{{ postgresql_yum_repository_base_url }}/{{ postgresql_version }}/{{ ansible_os_family | lower }}/rhel-{{ ansible_distribution_major_version }}-{{ ansible_architecture }}/pgdg-{{ postgresql_pgdg_dists[ansible_distribution] }}{{ postgresql_version_terse }}-{{ postgresql_version }}-{{ postgresql_pgdg_releases.get(postgresql_pgdg_dists[ansible_distribution]).get(postgresql_version) }}.noarch.rpm"
|
@@ -1 +1 @@
|
|
1
|
-
{install_date: '
|
1
|
+
{install_date: 'Mon Mar 6 20:23:05 2017', version: v1.7.1}
|
@@ -16,17 +16,21 @@
|
|
16
16
|
mode: 0700
|
17
17
|
register: pgdata_dir_exist
|
18
18
|
|
19
|
-
- name: PostgreSQL | Ensure the locale is generated | Debian
|
19
|
+
- name: PostgreSQL | Ensure the locale for lc_collate and lc_ctype is generated | Debian
|
20
20
|
become: yes
|
21
|
-
locale_gen: name="{{
|
21
|
+
locale_gen: name="{{ item }}" state=present
|
22
|
+
with_items:
|
23
|
+
- "{{ postgresql_locale }}"
|
24
|
+
- "{{ postgresql_ctype }}"
|
22
25
|
when: ansible_os_family == "Debian"
|
23
26
|
|
24
27
|
- name: PostgreSQL | Ensure the locale is generated | RedHat
|
25
28
|
become: yes
|
26
|
-
command:
|
27
|
-
localedef -c -i {{ postgresql_locale_parts[0] }} -f {{ postgresql_locale_parts[1] }}
|
28
|
-
{{ postgresql_locale }}
|
29
|
+
command: localedef -c -i {{ item.parts[0] }} -f {{ item.parts[1] }} {{ item.locale_name }}
|
29
30
|
changed_when: false
|
31
|
+
with_items:
|
32
|
+
- { parts: "{{ postgresql_locale_parts }}", locale_name: "{{ postgresql_locale }}" }
|
33
|
+
- { parts: "{{ postgresql_ctype_parts }}", locale_name: "{{ postgresql_ctype }}" }
|
30
34
|
when: ansible_os_family == "RedHat"
|
31
35
|
|
32
36
|
- name: PostgreSQL | Reset the cluster - drop the existing one | Debian
|
@@ -148,6 +152,12 @@
|
|
148
152
|
group: "{{ postgresql_service_group }}"
|
149
153
|
mode: u=rwX,g=rwXs,o=rx
|
150
154
|
|
155
|
+
- name: PostgreSQL | Enable service
|
156
|
+
service:
|
157
|
+
name: "{{ postgresql_service_name }}"
|
158
|
+
enabled: yes
|
159
|
+
when: "{{ postgresql_service_enabled | bool }}"
|
160
|
+
|
151
161
|
- name: PostgreSQL | Restart PostgreSQL
|
152
162
|
service:
|
153
163
|
name: "{{ postgresql_service_name }}"
|
@@ -9,9 +9,9 @@
|
|
9
9
|
postgresql_db:
|
10
10
|
name: "{{item.name}}"
|
11
11
|
owner: "{{ item.owner | default(postgresql_database_owner) }}"
|
12
|
-
encoding: "{{postgresql_encoding}}"
|
13
|
-
lc_collate: "{{postgresql_locale}}"
|
14
|
-
lc_ctype: "{{
|
12
|
+
encoding: "{{ item.encoding | default(postgresql_encoding) }}"
|
13
|
+
lc_collate: "{{ item.lc_collate | default(postgresql_locale) }}"
|
14
|
+
lc_ctype: "{{ item.lc_ctype | default(postgresql_ctype) }}"
|
15
15
|
port: "{{postgresql_port}}"
|
16
16
|
template: "template0"
|
17
17
|
state: present
|
@@ -1,10 +1,20 @@
|
|
1
1
|
# file: postgresql/tasks/extensions/dev_headers.yml
|
2
2
|
|
3
|
-
- name: PostgreSQL | Extensions | Make sure the development headers are installed
|
3
|
+
- name: PostgreSQL | Extensions | Make sure the development headers are installed | Debian
|
4
4
|
apt:
|
5
5
|
name: libpq-dev
|
6
6
|
state: present
|
7
7
|
update_cache: yes
|
8
8
|
cache_valid_time: "{{apt_cache_valid_time | default (3600)}}"
|
9
|
+
when: ansible_os_family == "Debian"
|
10
|
+
notify:
|
11
|
+
- restart postgresql
|
12
|
+
|
13
|
+
- name: PostgreSQL | Extensions | Make sure the development headers are installed | RedHat
|
14
|
+
yum: "name={{ item }} state=present update_cache=yes"
|
15
|
+
with_items:
|
16
|
+
- "postgresql{{ postgresql_version_terse }}-libs"
|
17
|
+
- "postgresql{{ postgresql_version_terse }}-devel"
|
18
|
+
when: ansible_os_family == "RedHat"
|
9
19
|
notify:
|
10
20
|
- restart postgresql
|