environment/lib/setup/postgresql.rb
2025-08-07 17:36:47 +02:00

55 lines
1.4 KiB
Ruby

module Setup
require_relative '../templates'
require_relative "../user"
require_relative "../execute"
# dat execute postgres
# example.rcp
module PostgreSQL
extend Templates
# attr_accessor :te
def self.init_db(context)
puts "Mode, isForced #{context.forced}"
if Dir.exist?(context.data_dir)
if context.forced
puts("sudo rm -rf #{context.data_dir}")
else
raise "PostgreSQL data already exists"
end
end
system("sudo mkdir -p #{context.data_dir}")
system("sudo chown #{context.user_name}:services #{context.data_dir}")
system("sudo -u postgresql #{File.join(context.bin_dir, "/bin/initdb")} -D #{context.data_dir}")
end
def self.setup_systemd(context)
end
def self.install(context)
# puts context.bin_dir
#make_config
# pg_hba = render("pg_hba.conf")
#
# # test = render("test", te: "This is a test string")
# posgresql_conf = render("postgresql")
service = render(
"postgresql.service",
postgres_bin: File.join(context.bin_dir, "/bin/postgres"),
version: context.version,
database_dir: context.data_dir
)
# puts service
user_context = Execute::UserInstallContext.new(context.user_name, :service)
User.install(user_context)
init_db(context)
setup_systemd(context)
end
end
end