Fix postgres installation

Also, do not start at boot anymore, in favor of path-based activation.
This commit is contained in:
Basti 2020-06-07 12:47:06 +02:00
parent 353f2c13f1
commit 379161eb1e
No known key found for this signature in database
GPG Key ID: BE4634D632D39B67
2 changed files with 18 additions and 15 deletions

View File

@ -27,13 +27,13 @@
postgresql_version = "12" postgresql_version = "12"
postgresql_service = "postgresql@#{postgresql_version}-main" postgresql_service = "postgresql@#{postgresql_version}-main"
postgresql_custom_server postgresql_version do # TODO check if still necessary
role "primary" user "postgres" do
manage_home false
end end
service postgresql_service do postgresql_custom_server postgresql_version do
supports restart: true, status: true, reload: true role "primary"
action [:enable]
end end
# This will only be run once, if the /var/lib/postgresql/10/main directory # This will only be run once, if the /var/lib/postgresql/10/main directory

View File

@ -11,12 +11,15 @@ action :create do
node.override['build-essential']['compile_time'] = true node.override['build-essential']['compile_time'] = true
include_recipe 'build-essential::default' include_recipe 'build-essential::default'
directory postgresql_data_dir do # TODO should likely go in the encfs cookbook somewhere
directory "/mnt/data" do
mode "0755"
end
directory "/mnt/data/postgresql" do
owner "postgres" owner "postgres"
group "postgres" group "postgres"
mode "0750" mode "0750"
recursive true
action :create
end end
package("libpq-dev") { action :nothing }.run_action(:install) package("libpq-dev") { action :nothing }.run_action(:install)
@ -31,18 +34,19 @@ action :create do
version postgresql_version version postgresql_version
setup_repo true setup_repo true
password postgresql_data_bag_item['server_password'] password postgresql_data_bag_item['server_password']
data_directory postgresql_data_dir
action :install action :install
end end
service postgresql_service do service postgresql_service do
supports restart: true, status: true, reload: true supports restart: true, status: true, reload: true
# action [:enable, :start] action :start
end end
postgresql_client_install "main" do # This service is a dependency that will auto-start our cluster service on
version postgresql_version # boot if it's enabled, so we disable it explicitly
setup_repo true service "postgresql" do
action :install action :disable
end end
shared_buffers = if node['memory']['total'].to_i / 1024 < 1024 # > 1GB RAM shared_buffers = if node['memory']['total'].to_i / 1024 < 1024 # > 1GB RAM
@ -95,7 +99,7 @@ action :create do
postgresql_server_conf "main" do postgresql_server_conf "main" do
version postgresql_version version postgresql_version
additional_config additional_config additional_config additional_config
notifies :reload, "service[#{postgresql_service}]" notifies :reload, "service[#{postgresql_service}]", :delayed
end end
postgresql_user "replication" do postgresql_user "replication" do
@ -103,7 +107,6 @@ action :create do
replication true replication true
password postgresql_data_bag_item['replication_password'] password postgresql_data_bag_item['replication_password']
end end
end end
action_class do action_class do