blue-postgresql 0.0.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.
data/.gitignore ADDED
@@ -0,0 +1,21 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
18
+ *.swp
19
+ *.swo
20
+ README.html
21
+
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in blue-postgresql.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 Josh Sharpe
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,29 @@
1
+ # Blue::Postgresql
2
+
3
+ TODO: Write a gem description
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'blue-postgresql'
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ Or install it yourself as:
16
+
17
+ $ gem install blue-postgresql
18
+
19
+ ## Usage
20
+
21
+ TODO: Write usage instructions here
22
+
23
+ ## Contributing
24
+
25
+ 1. Fork it
26
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
27
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
28
+ 4. Push to the branch (`git push origin my-new-feature`)
29
+ 5. Create new Pull Request
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
@@ -0,0 +1,23 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'blue/postgresql/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "blue-postgresql"
8
+ spec.version = Blue::Postgresql::VERSION
9
+ spec.authors = ["Josh Sharpe"]
10
+ spec.email = ["josh.m.sharpe@gmail.com"]
11
+ spec.description = %q{A PostgreSQL plugin for the Blue deployment framework}
12
+ spec.summary = %q{Installs PostgreSQL server}
13
+ spec.homepage = ""
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "bundler", "~> 1.3"
22
+ spec.add_development_dependency "rake"
23
+ end
@@ -0,0 +1,91 @@
1
+ require "blue/postgresql/version"
2
+
3
+ module Blue
4
+ module Postgresql
5
+ Blue.configure({
6
+ :postgresql => {
7
+ :version => '9.2'
8
+ }
9
+ })
10
+
11
+ def postgresql(options = {})
12
+ file "/etc/apt/sources.list.d/pgdg.list",
13
+ :ensure => :present,
14
+ :content => "deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main"
15
+
16
+ exec 'get gpg key',
17
+ :command => "wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -",
18
+ :require => file("/etc/apt/sources.list.d/pgdg.list"),
19
+ :unless => "test -x /usr/bin/psql"
20
+
21
+ exec 'apt-get update',
22
+ :command => 'apt-get update',
23
+ :require => exec("get gpg key"),
24
+ :unless => "test -x /usr/bin/psql"
25
+
26
+
27
+ packages = ["postgresql-#{Blue.config.postgresql.version}", "postgresql-client-#{Blue.config.postgresql.version}", "postgresql-contrib-#{Blue.config.postgresql.version}", "libpq-dev"]
28
+ packages.each do |pkg|
29
+ package pkg,
30
+ :ensure => :installed,
31
+ :require => exec("apt-get update")
32
+ end
33
+
34
+ file "/etc/postgresql/#{Blue.config.postgresql.version}/main/pg_hba.conf",
35
+ :ensure => :present,
36
+ :content => template(File.join(File.dirname(__FILE__), '..', '..', 'templates', 'pg_hba.conf.erb'), binding),
37
+ :require => package("postgresql-#{Blue.config.postgresql.version}"),
38
+ :mode => '600',
39
+ :owner => 'postgres',
40
+ :group => 'postgres',
41
+ :notify => service("postgresql-#{Blue.config.postgresql.version}")
42
+
43
+ file "/etc/postgresql/#{Blue.config.postgresql.version}/main/postgresql.conf",
44
+ :ensure => :present,
45
+ :content => template(File.join(File.dirname(__FILE__), '..', '..', 'templates', 'postgresql.conf.erb'), binding),
46
+ :require => package("postgresql-#{Blue.config.postgresql.version}"),
47
+ :mode => '600',
48
+ :owner => 'postgres',
49
+ :group => 'postgres',
50
+ :notify => service("postgresql-#{Blue.config.postgresql.version}")
51
+
52
+ service "postgresql",
53
+ :alias => "postgresql-#{Blue.config.postgresql.version}",
54
+ :hasstatus => true,
55
+ :require => packages.map{|pkg| package(pkg)}
56
+
57
+ psql "CREATE USER #{Blue.config.database.username} WITH PASSWORD '#{Blue.config.database.password}'",
58
+ :alias => "postgresql_user",
59
+ :unless => psql_query('\\\\du') + "| grep #{Blue.config.database.username}",
60
+ :require => service("postgresql")
61
+
62
+ exec "postgresql_database",
63
+ :command => "/usr/bin/createdb -O #{Blue.config.database.username} #{Blue.config.database.database}",
64
+ :unless => "/usr/bin/psql -l | grep #{Blue.config.database.database}",
65
+ :user => 'postgres',
66
+ :require => exec('postgresql_user')
67
+ end
68
+
69
+ def psql(query, options = {})
70
+ name = options.delete(:alias) || "psql #{query}"
71
+ hash = {
72
+ :command => psql_query(query),
73
+ :user => 'postgres'
74
+ }.merge(options)
75
+ exec(name,hash)
76
+ end
77
+
78
+ def psql_query(sql)
79
+ %(/usr/bin/psql -c "#{sql}")
80
+ end
81
+
82
+ def self.included(klass)
83
+ klass.add_role(:db)
84
+ klass.add_role(:postgresql)
85
+ klass.class_eval do
86
+ recipe :postgresql
87
+ end
88
+ end
89
+ end
90
+ end
91
+
@@ -0,0 +1,5 @@
1
+ module Blue
2
+ module Postgresql
3
+ VERSION = "0.0.1"
4
+ end
5
+ end
@@ -0,0 +1,99 @@
1
+ # PostgreSQL Client Authentication Configuration File
2
+ # ===================================================
3
+ #
4
+ # Refer to the "Client Authentication" section in the PostgreSQL
5
+ # documentation for a complete description of this file. A short
6
+ # synopsis follows.
7
+ #
8
+ # This file controls: which hosts are allowed to connect, how clients
9
+ # are authenticated, which PostgreSQL user names they can use, which
10
+ # databases they can access. Records take one of these forms:
11
+ #
12
+ # local DATABASE USER METHOD [OPTIONS]
13
+ # host DATABASE USER ADDRESS METHOD [OPTIONS]
14
+ # hostssl DATABASE USER ADDRESS METHOD [OPTIONS]
15
+ # hostnossl DATABASE USER ADDRESS METHOD [OPTIONS]
16
+ #
17
+ # (The uppercase items must be replaced by actual values.)
18
+ #
19
+ # The first field is the connection type: "local" is a Unix-domain
20
+ # socket, "host" is either a plain or SSL-encrypted TCP/IP socket,
21
+ # "hostssl" is an SSL-encrypted TCP/IP socket, and "hostnossl" is a
22
+ # plain TCP/IP socket.
23
+ #
24
+ # DATABASE can be "all", "sameuser", "samerole", "replication", a
25
+ # database name, or a comma-separated list thereof. The "all"
26
+ # keyword does not match "replication". Access to replication
27
+ # must be enabled in a separate record (see example below).
28
+ #
29
+ # USER can be "all", a user name, a group name prefixed with "+", or a
30
+ # comma-separated list thereof. In both the DATABASE and USER fields
31
+ # you can also write a file name prefixed with "@" to include names
32
+ # from a separate file.
33
+ #
34
+ # ADDRESS specifies the set of hosts the record matches. It can be a
35
+ # host name, or it is made up of an IP address and a CIDR mask that is
36
+ # an integer (between 0 and 32 (IPv4) or 128 (IPv6) inclusive) that
37
+ # specifies the number of significant bits in the mask. A host name
38
+ # that starts with a dot (.) matches a suffix of the actual host name.
39
+ # Alternatively, you can write an IP address and netmask in separate
40
+ # columns to specify the set of hosts. Instead of a CIDR-address, you
41
+ # can write "samehost" to match any of the server's own IP addresses,
42
+ # or "samenet" to match any address in any subnet that the server is
43
+ # directly connected to.
44
+ #
45
+ # METHOD can be "trust", "reject", "md5", "password", "gss", "sspi",
46
+ # "krb5", "ident", "peer", "pam", "ldap", "radius" or "cert". Note that
47
+ # "password" sends passwords in clear text; "md5" is preferred since
48
+ # it sends encrypted passwords.
49
+ #
50
+ # OPTIONS are a set of options for the authentication in the format
51
+ # NAME=VALUE. The available options depend on the different
52
+ # authentication methods -- refer to the "Client Authentication"
53
+ # section in the documentation for a list of which options are
54
+ # available for which authentication methods.
55
+ #
56
+ # Database and user names containing spaces, commas, quotes and other
57
+ # special characters must be quoted. Quoting one of the keywords
58
+ # "all", "sameuser", "samerole" or "replication" makes the name lose
59
+ # its special character, and just match a database or username with
60
+ # that name.
61
+ #
62
+ # This file is read on server startup and when the postmaster receives
63
+ # a SIGHUP signal. If you edit the file on a running system, you have
64
+ # to SIGHUP the postmaster for the changes to take effect. You can
65
+ # use "pg_ctl reload" to do that.
66
+
67
+ # Put your actual configuration here
68
+ # ----------------------------------
69
+ #
70
+ # If you want to allow non-local connections, you need to add more
71
+ # "host" records. In that case you will also need to make PostgreSQL
72
+ # listen on a non-local interface via the listen_addresses
73
+ # configuration parameter, or via the -i or -h command line switches.
74
+
75
+
76
+
77
+
78
+ # DO NOT DISABLE!
79
+ # If you change this first entry you will need to make sure that the
80
+ # database superuser can access the database using some other method.
81
+ # Noninteractive access to all databases is required during automatic
82
+ # maintenance (custom daily cronjobs, replication, and similar tasks).
83
+ #
84
+ # Database administrative login by Unix domain socket
85
+ local all postgres peer
86
+
87
+ # TYPE DATABASE USER ADDRESS METHOD
88
+
89
+ # "local" is for Unix domain socket connections only
90
+ local all all peer
91
+ # IPv4 local connections:
92
+ host all all 127.0.0.1/32 md5
93
+ # IPv6 local connections:
94
+ host all all ::1/128 md5
95
+ # Allow replication connections from localhost, by a user with the
96
+ # replication privilege.
97
+ #local replication postgres peer
98
+ #host replication postgres 127.0.0.1/32 md5
99
+ #host replication postgres ::1/128 md5
@@ -0,0 +1,573 @@
1
+ # -----------------------------
2
+ # PostgreSQL configuration file
3
+ # -----------------------------
4
+ #
5
+ # This file consists of lines of the form:
6
+ #
7
+ # name = value
8
+ #
9
+ # (The "=" is optional.) Whitespace may be used. Comments are introduced with
10
+ # "#" anywhere on a line. The complete list of parameter names and allowed
11
+ # values can be found in the PostgreSQL documentation.
12
+ #
13
+ # The commented-out settings shown in this file represent the default values.
14
+ # Re-commenting a setting is NOT sufficient to revert it to the default value;
15
+ # you need to reload the server.
16
+ #
17
+ # This file is read on server startup and when the server receives a SIGHUP
18
+ # signal. If you edit the file on a running system, you have to SIGHUP the
19
+ # server for the changes to take effect, or use "pg_ctl reload". Some
20
+ # parameters, which are marked below, require a server shutdown and restart to
21
+ # take effect.
22
+ #
23
+ # Any parameter can also be given as a command-line option to the server, e.g.,
24
+ # "postgres -c log_connections=on". Some parameters can be changed at run time
25
+ # with the "SET" SQL command.
26
+ #
27
+ # Memory units: kB = kilobytes Time units: ms = milliseconds
28
+ # MB = megabytes s = seconds
29
+ # GB = gigabytes min = minutes
30
+ # h = hours
31
+ # d = days
32
+
33
+
34
+ #------------------------------------------------------------------------------
35
+ # FILE LOCATIONS
36
+ #------------------------------------------------------------------------------
37
+
38
+ # The default values of these variables are driven from the -D command-line
39
+ # option or PGDATA environment variable, represented here as ConfigDir.
40
+
41
+ data_directory = '/var/lib/postgresql/9.2/main' # use data in another directory
42
+ # (change requires restart)
43
+ hba_file = '/etc/postgresql/9.2/main/pg_hba.conf' # host-based authentication file
44
+ # (change requires restart)
45
+ ident_file = '/etc/postgresql/9.2/main/pg_ident.conf' # ident configuration file
46
+ # (change requires restart)
47
+
48
+ # If external_pid_file is not explicitly set, no extra PID file is written.
49
+ external_pid_file = '/var/run/postgresql/9.2-main.pid' # write an extra PID file
50
+ # (change requires restart)
51
+
52
+
53
+ #------------------------------------------------------------------------------
54
+ # CONNECTIONS AND AUTHENTICATION
55
+ #------------------------------------------------------------------------------
56
+
57
+ # - Connection Settings -
58
+
59
+ #listen_addresses = 'localhost' # what IP address(es) to listen on;
60
+ # comma-separated list of addresses;
61
+ # defaults to 'localhost'; use '*' for all
62
+ # (change requires restart)
63
+ port = 5432 # (change requires restart)
64
+ max_connections = 100 # (change requires restart)
65
+ # Note: Increasing max_connections costs ~400 bytes of shared memory per
66
+ # connection slot, plus lock space (see max_locks_per_transaction).
67
+ #superuser_reserved_connections = 3 # (change requires restart)
68
+ unix_socket_directory = '/var/run/postgresql' # (change requires restart)
69
+ #unix_socket_group = '' # (change requires restart)
70
+ #unix_socket_permissions = 0777 # begin with 0 to use octal notation
71
+ # (change requires restart)
72
+ #bonjour = off # advertise server via Bonjour
73
+ # (change requires restart)
74
+ #bonjour_name = '' # defaults to the computer name
75
+ # (change requires restart)
76
+
77
+ # - Security and Authentication -
78
+
79
+ #authentication_timeout = 1min # 1s-600s
80
+ ssl = true # (change requires restart)
81
+ #ssl_ciphers = 'ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH' # allowed SSL ciphers
82
+ # (change requires restart)
83
+ #ssl_renegotiation_limit = 512MB # amount of data between renegotiations
84
+ ssl_cert_file = '/etc/ssl/certs/ssl-cert-snakeoil.pem' # (change requires restart)
85
+ ssl_key_file = '/etc/ssl/private/ssl-cert-snakeoil.key' # (change requires restart)
86
+ #ssl_ca_file = '' # (change requires restart)
87
+ #ssl_crl_file = '' # (change requires restart)
88
+ #password_encryption = on
89
+ #db_user_namespace = off
90
+
91
+ # Kerberos and GSSAPI
92
+ #krb_server_keyfile = ''
93
+ #krb_srvname = 'postgres' # (Kerberos only)
94
+ #krb_caseins_users = off
95
+
96
+ # - TCP Keepalives -
97
+ # see "man 7 tcp" for details
98
+
99
+ #tcp_keepalives_idle = 0 # TCP_KEEPIDLE, in seconds;
100
+ # 0 selects the system default
101
+ #tcp_keepalives_interval = 0 # TCP_KEEPINTVL, in seconds;
102
+ # 0 selects the system default
103
+ #tcp_keepalives_count = 0 # TCP_KEEPCNT;
104
+ # 0 selects the system default
105
+
106
+
107
+ #------------------------------------------------------------------------------
108
+ # RESOURCE USAGE (except WAL)
109
+ #------------------------------------------------------------------------------
110
+
111
+ # - Memory -
112
+
113
+ shared_buffers = 24MB # min 128kB
114
+ # (change requires restart)
115
+ #temp_buffers = 8MB # min 800kB
116
+ #max_prepared_transactions = 0 # zero disables the feature
117
+ # (change requires restart)
118
+ # Note: Increasing max_prepared_transactions costs ~600 bytes of shared memory
119
+ # per transaction slot, plus lock space (see max_locks_per_transaction).
120
+ # It is not advisable to set max_prepared_transactions nonzero unless you
121
+ # actively intend to use prepared transactions.
122
+ #work_mem = 1MB # min 64kB
123
+ #maintenance_work_mem = 16MB # min 1MB
124
+ #max_stack_depth = 2MB # min 100kB
125
+
126
+ # - Disk -
127
+
128
+ #temp_file_limit = -1 # limits per-session temp file space
129
+ # in kB, or -1 for no limit
130
+
131
+ # - Kernel Resource Usage -
132
+
133
+ #max_files_per_process = 1000 # min 25
134
+ # (change requires restart)
135
+ #shared_preload_libraries = '' # (change requires restart)
136
+
137
+ # - Cost-Based Vacuum Delay -
138
+
139
+ #vacuum_cost_delay = 0ms # 0-100 milliseconds
140
+ #vacuum_cost_page_hit = 1 # 0-10000 credits
141
+ #vacuum_cost_page_miss = 10 # 0-10000 credits
142
+ #vacuum_cost_page_dirty = 20 # 0-10000 credits
143
+ #vacuum_cost_limit = 200 # 1-10000 credits
144
+
145
+ # - Background Writer -
146
+
147
+ #bgwriter_delay = 200ms # 10-10000ms between rounds
148
+ #bgwriter_lru_maxpages = 100 # 0-1000 max buffers written/round
149
+ #bgwriter_lru_multiplier = 2.0 # 0-10.0 multipler on buffers scanned/round
150
+
151
+ # - Asynchronous Behavior -
152
+
153
+ #effective_io_concurrency = 1 # 1-1000; 0 disables prefetching
154
+
155
+
156
+ #------------------------------------------------------------------------------
157
+ # WRITE AHEAD LOG
158
+ #------------------------------------------------------------------------------
159
+
160
+ # - Settings -
161
+
162
+ #wal_level = minimal # minimal, archive, or hot_standby
163
+ # (change requires restart)
164
+ #fsync = on # turns forced synchronization on or off
165
+ #synchronous_commit = on # synchronization level;
166
+ # off, local, remote_write, or on
167
+ #wal_sync_method = fsync # the default is the first option
168
+ # supported by the operating system:
169
+ # open_datasync
170
+ # fdatasync (default on Linux)
171
+ # fsync
172
+ # fsync_writethrough
173
+ # open_sync
174
+ #full_page_writes = on # recover from partial page writes
175
+ #wal_buffers = -1 # min 32kB, -1 sets based on shared_buffers
176
+ # (change requires restart)
177
+ #wal_writer_delay = 200ms # 1-10000 milliseconds
178
+
179
+ #commit_delay = 0 # range 0-100000, in microseconds
180
+ #commit_siblings = 5 # range 1-1000
181
+
182
+ # - Checkpoints -
183
+
184
+ #checkpoint_segments = 3 # in logfile segments, min 1, 16MB each
185
+ #checkpoint_timeout = 5min # range 30s-1h
186
+ #checkpoint_completion_target = 0.5 # checkpoint target duration, 0.0 - 1.0
187
+ #checkpoint_warning = 30s # 0 disables
188
+
189
+ # - Archiving -
190
+
191
+ #archive_mode = off # allows archiving to be done
192
+ # (change requires restart)
193
+ #archive_command = '' # command to use to archive a logfile segment
194
+ # placeholders: %p = path of file to archive
195
+ # %f = file name only
196
+ # e.g. 'test ! -f /mnt/server/archivedir/%f && cp %p /mnt/server/archivedir/%f'
197
+ #archive_timeout = 0 # force a logfile segment switch after this
198
+ # number of seconds; 0 disables
199
+
200
+
201
+ #------------------------------------------------------------------------------
202
+ # REPLICATION
203
+ #------------------------------------------------------------------------------
204
+
205
+ # - Sending Server(s) -
206
+
207
+ # Set these on the master and on any standby that will send replication data.
208
+
209
+ #max_wal_senders = 0 # max number of walsender processes
210
+ # (change requires restart)
211
+ #wal_keep_segments = 0 # in logfile segments, 16MB each; 0 disables
212
+ #replication_timeout = 60s # in milliseconds; 0 disables
213
+
214
+ # - Master Server -
215
+
216
+ # These settings are ignored on a standby server.
217
+
218
+ #synchronous_standby_names = '' # standby servers that provide sync rep
219
+ # comma-separated list of application_name
220
+ # from standby(s); '*' = all
221
+ #vacuum_defer_cleanup_age = 0 # number of xacts by which cleanup is delayed
222
+
223
+ # - Standby Servers -
224
+
225
+ # These settings are ignored on a master server.
226
+
227
+ #hot_standby = off # "on" allows queries during recovery
228
+ # (change requires restart)
229
+ #max_standby_archive_delay = 30s # max delay before canceling queries
230
+ # when reading WAL from archive;
231
+ # -1 allows indefinite delay
232
+ #max_standby_streaming_delay = 30s # max delay before canceling queries
233
+ # when reading streaming WAL;
234
+ # -1 allows indefinite delay
235
+ #wal_receiver_status_interval = 10s # send replies at least this often
236
+ # 0 disables
237
+ #hot_standby_feedback = off # send info from standby to prevent
238
+ # query conflicts
239
+
240
+
241
+ #------------------------------------------------------------------------------
242
+ # QUERY TUNING
243
+ #------------------------------------------------------------------------------
244
+
245
+ # - Planner Method Configuration -
246
+
247
+ #enable_bitmapscan = on
248
+ #enable_hashagg = on
249
+ #enable_hashjoin = on
250
+ #enable_indexscan = on
251
+ #enable_indexonlyscan = on
252
+ #enable_material = on
253
+ #enable_mergejoin = on
254
+ #enable_nestloop = on
255
+ #enable_seqscan = on
256
+ #enable_sort = on
257
+ #enable_tidscan = on
258
+
259
+ # - Planner Cost Constants -
260
+
261
+ #seq_page_cost = 1.0 # measured on an arbitrary scale
262
+ #random_page_cost = 4.0 # same scale as above
263
+ #cpu_tuple_cost = 0.01 # same scale as above
264
+ #cpu_index_tuple_cost = 0.005 # same scale as above
265
+ #cpu_operator_cost = 0.0025 # same scale as above
266
+ #effective_cache_size = 128MB
267
+
268
+ # - Genetic Query Optimizer -
269
+
270
+ #geqo = on
271
+ #geqo_threshold = 12
272
+ #geqo_effort = 5 # range 1-10
273
+ #geqo_pool_size = 0 # selects default based on effort
274
+ #geqo_generations = 0 # selects default based on effort
275
+ #geqo_selection_bias = 2.0 # range 1.5-2.0
276
+ #geqo_seed = 0.0 # range 0.0-1.0
277
+
278
+ # - Other Planner Options -
279
+
280
+ #default_statistics_target = 100 # range 1-10000
281
+ #constraint_exclusion = partition # on, off, or partition
282
+ #cursor_tuple_fraction = 0.1 # range 0.0-1.0
283
+ #from_collapse_limit = 8
284
+ #join_collapse_limit = 8 # 1 disables collapsing of explicit
285
+ # JOIN clauses
286
+
287
+
288
+ #------------------------------------------------------------------------------
289
+ # ERROR REPORTING AND LOGGING
290
+ #------------------------------------------------------------------------------
291
+
292
+ # - Where to Log -
293
+
294
+ #log_destination = 'stderr' # Valid values are combinations of
295
+ # stderr, csvlog, syslog, and eventlog,
296
+ # depending on platform. csvlog
297
+ # requires logging_collector to be on.
298
+
299
+ # This is used when logging to stderr:
300
+ #logging_collector = off # Enable capturing of stderr and csvlog
301
+ # into log files. Required to be on for
302
+ # csvlogs.
303
+ # (change requires restart)
304
+
305
+ # These are only used if logging_collector is on:
306
+ #log_directory = 'pg_log' # directory where log files are written,
307
+ # can be absolute or relative to PGDATA
308
+ #log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern,
309
+ # can include strftime() escapes
310
+ #log_file_mode = 0600 # creation mode for log files,
311
+ # begin with 0 to use octal notation
312
+ #log_truncate_on_rotation = off # If on, an existing log file with the
313
+ # same name as the new log file will be
314
+ # truncated rather than appended to.
315
+ # But such truncation only occurs on
316
+ # time-driven rotation, not on restarts
317
+ # or size-driven rotation. Default is
318
+ # off, meaning append to existing files
319
+ # in all cases.
320
+ #log_rotation_age = 1d # Automatic rotation of logfiles will
321
+ # happen after that time. 0 disables.
322
+ #log_rotation_size = 10MB # Automatic rotation of logfiles will
323
+ # happen after that much log output.
324
+ # 0 disables.
325
+
326
+ # These are relevant when logging to syslog:
327
+ #syslog_facility = 'LOCAL0'
328
+ #syslog_ident = 'postgres'
329
+
330
+ # This is only relevant when logging to eventlog (win32):
331
+ #event_source = 'PostgreSQL'
332
+
333
+ # - When to Log -
334
+
335
+ #client_min_messages = notice # values in order of decreasing detail:
336
+ # debug5
337
+ # debug4
338
+ # debug3
339
+ # debug2
340
+ # debug1
341
+ # log
342
+ # notice
343
+ # warning
344
+ # error
345
+
346
+ #log_min_messages = warning # values in order of decreasing detail:
347
+ # debug5
348
+ # debug4
349
+ # debug3
350
+ # debug2
351
+ # debug1
352
+ # info
353
+ # notice
354
+ # warning
355
+ # error
356
+ # log
357
+ # fatal
358
+ # panic
359
+
360
+ #log_min_error_statement = error # values in order of decreasing detail:
361
+ # debug5
362
+ # debug4
363
+ # debug3
364
+ # debug2
365
+ # debug1
366
+ # info
367
+ # notice
368
+ # warning
369
+ # error
370
+ # log
371
+ # fatal
372
+ # panic (effectively off)
373
+
374
+ #log_min_duration_statement = -1 # -1 is disabled, 0 logs all statements
375
+ # and their durations, > 0 logs only
376
+ # statements running at least this number
377
+ # of milliseconds
378
+
379
+
380
+ # - What to Log -
381
+
382
+ #debug_print_parse = off
383
+ #debug_print_rewritten = off
384
+ #debug_print_plan = off
385
+ #debug_pretty_print = on
386
+ #log_checkpoints = off
387
+ #log_connections = off
388
+ #log_disconnections = off
389
+ #log_duration = off
390
+ #log_error_verbosity = default # terse, default, or verbose messages
391
+ #log_hostname = off
392
+ log_line_prefix = '%t ' # special values:
393
+ # %a = application name
394
+ # %u = user name
395
+ # %d = database name
396
+ # %r = remote host and port
397
+ # %h = remote host
398
+ # %p = process ID
399
+ # %t = timestamp without milliseconds
400
+ # %m = timestamp with milliseconds
401
+ # %i = command tag
402
+ # %e = SQL state
403
+ # %c = session ID
404
+ # %l = session line number
405
+ # %s = session start timestamp
406
+ # %v = virtual transaction ID
407
+ # %x = transaction ID (0 if none)
408
+ # %q = stop here in non-session
409
+ # processes
410
+ # %% = '%'
411
+ # e.g. '<%u%%%d> '
412
+ #log_lock_waits = off # log lock waits >= deadlock_timeout
413
+ #log_statement = 'none' # none, ddl, mod, all
414
+ #log_temp_files = -1 # log temporary files equal or larger
415
+ # than the specified size in kilobytes;
416
+ # -1 disables, 0 logs all temp files
417
+ log_timezone = 'UTC'
418
+
419
+
420
+ #------------------------------------------------------------------------------
421
+ # RUNTIME STATISTICS
422
+ #------------------------------------------------------------------------------
423
+
424
+ # - Query/Index Statistics Collector -
425
+
426
+ #track_activities = on
427
+ #track_counts = on
428
+ #track_io_timing = off
429
+ #track_functions = none # none, pl, all
430
+ #track_activity_query_size = 1024 # (change requires restart)
431
+ #update_process_title = on
432
+ #stats_temp_directory = 'pg_stat_tmp'
433
+
434
+
435
+ # - Statistics Monitoring -
436
+
437
+ #log_parser_stats = off
438
+ #log_planner_stats = off
439
+ #log_executor_stats = off
440
+ #log_statement_stats = off
441
+
442
+
443
+ #------------------------------------------------------------------------------
444
+ # AUTOVACUUM PARAMETERS
445
+ #------------------------------------------------------------------------------
446
+
447
+ #autovacuum = on # Enable autovacuum subprocess? 'on'
448
+ # requires track_counts to also be on.
449
+ #log_autovacuum_min_duration = -1 # -1 disables, 0 logs all actions and
450
+ # their durations, > 0 logs only
451
+ # actions running at least this number
452
+ # of milliseconds.
453
+ #autovacuum_max_workers = 3 # max number of autovacuum subprocesses
454
+ # (change requires restart)
455
+ #autovacuum_naptime = 1min # time between autovacuum runs
456
+ #autovacuum_vacuum_threshold = 50 # min number of row updates before
457
+ # vacuum
458
+ #autovacuum_analyze_threshold = 50 # min number of row updates before
459
+ # analyze
460
+ #autovacuum_vacuum_scale_factor = 0.2 # fraction of table size before vacuum
461
+ #autovacuum_analyze_scale_factor = 0.1 # fraction of table size before analyze
462
+ #autovacuum_freeze_max_age = 200000000 # maximum XID age before forced vacuum
463
+ # (change requires restart)
464
+ #autovacuum_vacuum_cost_delay = 20ms # default vacuum cost delay for
465
+ # autovacuum, in milliseconds;
466
+ # -1 means use vacuum_cost_delay
467
+ #autovacuum_vacuum_cost_limit = -1 # default vacuum cost limit for
468
+ # autovacuum, -1 means use
469
+ # vacuum_cost_limit
470
+
471
+
472
+ #------------------------------------------------------------------------------
473
+ # CLIENT CONNECTION DEFAULTS
474
+ #------------------------------------------------------------------------------
475
+
476
+ # - Statement Behavior -
477
+
478
+ #search_path = '"$user",public' # schema names
479
+ #default_tablespace = '' # a tablespace name, '' uses the default
480
+ #temp_tablespaces = '' # a list of tablespace names, '' uses
481
+ # only default tablespace
482
+ #check_function_bodies = on
483
+ #default_transaction_isolation = 'read committed'
484
+ #default_transaction_read_only = off
485
+ #default_transaction_deferrable = off
486
+ #session_replication_role = 'origin'
487
+ #statement_timeout = 0 # in milliseconds, 0 is disabled
488
+ #vacuum_freeze_min_age = 50000000
489
+ #vacuum_freeze_table_age = 150000000
490
+ #bytea_output = 'hex' # hex, escape
491
+ #xmlbinary = 'base64'
492
+ #xmloption = 'content'
493
+
494
+ # - Locale and Formatting -
495
+
496
+ datestyle = 'iso, mdy'
497
+ #intervalstyle = 'postgres'
498
+ timezone = 'UTC'
499
+ #timezone_abbreviations = 'Default' # Select the set of available time zone
500
+ # abbreviations. Currently, there are
501
+ # Default
502
+ # Australia
503
+ # India
504
+ # You can create your own file in
505
+ # share/timezonesets/.
506
+ #extra_float_digits = 0 # min -15, max 3
507
+ #client_encoding = sql_ascii # actually, defaults to database
508
+ # encoding
509
+
510
+ # These settings are initialized by initdb, but they can be changed.
511
+ lc_messages = 'C' # locale for system error message
512
+ # strings
513
+ lc_monetary = 'C' # locale for monetary formatting
514
+ lc_numeric = 'C' # locale for number formatting
515
+ lc_time = 'C' # locale for time formatting
516
+
517
+ # default configuration for text search
518
+ default_text_search_config = 'pg_catalog.english'
519
+
520
+ # - Other Defaults -
521
+
522
+ #dynamic_library_path = '$libdir'
523
+ #local_preload_libraries = ''
524
+
525
+
526
+ #------------------------------------------------------------------------------
527
+ # LOCK MANAGEMENT
528
+ #------------------------------------------------------------------------------
529
+
530
+ #deadlock_timeout = 1s
531
+ #max_locks_per_transaction = 64 # min 10
532
+ # (change requires restart)
533
+ # Note: Each lock table slot uses ~270 bytes of shared memory, and there are
534
+ # max_locks_per_transaction * (max_connections + max_prepared_transactions)
535
+ # lock table slots.
536
+ #max_pred_locks_per_transaction = 64 # min 10
537
+ # (change requires restart)
538
+
539
+
540
+ #------------------------------------------------------------------------------
541
+ # VERSION/PLATFORM COMPATIBILITY
542
+ #------------------------------------------------------------------------------
543
+
544
+ # - Previous PostgreSQL Versions -
545
+
546
+ #array_nulls = on
547
+ #backslash_quote = safe_encoding # on, off, or safe_encoding
548
+ #default_with_oids = off
549
+ #escape_string_warning = on
550
+ #lo_compat_privileges = off
551
+ #quote_all_identifiers = off
552
+ #sql_inheritance = on
553
+ #standard_conforming_strings = on
554
+ #synchronize_seqscans = on
555
+
556
+ # - Other Platforms and Clients -
557
+
558
+ #transform_null_equals = off
559
+
560
+
561
+ #------------------------------------------------------------------------------
562
+ # ERROR HANDLING
563
+ #------------------------------------------------------------------------------
564
+
565
+ #exit_on_error = off # terminate session on any error?
566
+ #restart_after_crash = on # reinitialize after backend crash?
567
+
568
+
569
+ #------------------------------------------------------------------------------
570
+ # CUSTOMIZED OPTIONS
571
+ #------------------------------------------------------------------------------
572
+
573
+ # Add settings for extensions here
metadata ADDED
@@ -0,0 +1,103 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: blue-postgresql
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 1
10
+ version: 0.0.1
11
+ platform: ruby
12
+ authors:
13
+ - Josh Sharpe
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2013-05-24 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: bundler
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ~>
27
+ - !ruby/object:Gem::Version
28
+ hash: 9
29
+ segments:
30
+ - 1
31
+ - 3
32
+ version: "1.3"
33
+ type: :development
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: rake
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ hash: 3
44
+ segments:
45
+ - 0
46
+ version: "0"
47
+ type: :development
48
+ version_requirements: *id002
49
+ description: A PostgreSQL plugin for the Blue deployment framework
50
+ email:
51
+ - josh.m.sharpe@gmail.com
52
+ executables: []
53
+
54
+ extensions: []
55
+
56
+ extra_rdoc_files: []
57
+
58
+ files:
59
+ - .gitignore
60
+ - Gemfile
61
+ - LICENSE.txt
62
+ - README.md
63
+ - Rakefile
64
+ - blue-postgresql.gemspec
65
+ - lib/blue/postgresql.rb
66
+ - lib/blue/postgresql/version.rb
67
+ - templates/pg_hba.conf.erb
68
+ - templates/postgresql.conf.erb
69
+ homepage: ""
70
+ licenses:
71
+ - MIT
72
+ post_install_message:
73
+ rdoc_options: []
74
+
75
+ require_paths:
76
+ - lib
77
+ required_ruby_version: !ruby/object:Gem::Requirement
78
+ none: false
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ hash: 3
83
+ segments:
84
+ - 0
85
+ version: "0"
86
+ required_rubygems_version: !ruby/object:Gem::Requirement
87
+ none: false
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ hash: 3
92
+ segments:
93
+ - 0
94
+ version: "0"
95
+ requirements: []
96
+
97
+ rubyforge_project:
98
+ rubygems_version: 1.8.24
99
+ signing_key:
100
+ specification_version: 3
101
+ summary: Installs PostgreSQL server
102
+ test_files: []
103
+