diff --git a/pgcat.service b/pgcat.service new file mode 100644 index 0000000..4da4c7c --- /dev/null +++ b/pgcat.service @@ -0,0 +1,16 @@ +[Unit] +Description=PgCat pooler +After=network.target +StartLimitIntervalSec=0 + +[Service] +User=pgcat +Type=simple +Restart=always +RestartSec=1 +Environment=RUST_LOG=info +LimitNOFILE=65536 +ExecStart=/usr/bin/pgcat /etc/pgcat.toml + +[Install] +WantedBy=multi-user.target diff --git a/postinst b/postinst new file mode 100644 index 0000000..54c0411 --- /dev/null +++ b/postinst @@ -0,0 +1,4 @@ +#!/bin/bash + +systemctl daemon-reload +systemctl enable pgcat diff --git a/postrm b/postrm new file mode 100644 index 0000000..ab20f7b --- /dev/null +++ b/postrm @@ -0,0 +1,3 @@ +#!/bin/bash + +systemctl daemon-reload diff --git a/prerm b/prerm new file mode 100644 index 0000000..6dd0e3a --- /dev/null +++ b/prerm @@ -0,0 +1,4 @@ +#!/bin/bash + +systemctl stop pgcat +systemctl disable pgcat diff --git a/utilities/deb.sh b/utilities/deb.sh index a194d80..b01a992 100644 --- a/utilities/deb.sh +++ b/utilities/deb.sh @@ -17,14 +17,21 @@ cargo build --release rm -rf "$deb_dir" mkdir -p "$deb_dir/DEBIAN" mkdir -p "$deb_dir/usr/bin" -mkdir -p "$deb_dir/etc" +mkdir -p "$deb_dir/etc/systemd/system" cp target/release/pgcat "$deb_dir/usr/bin/pgcat" chmod +x "$deb_dir/usr/bin/pgcat" cp pgcat.toml "$deb_dir/etc/pgcat.toml" +cp pgcat.service "$deb_dir/etc/systemd/system/pgcat.service" (cat control | envsubst) > "$deb_dir/DEBIAN/control" +cp postinst "$deb_dir/DEBIAN/postinst" +cp postrm "$deb_dir/DEBIAN/postrm" +cp prerm "$deb_dir/DEBIAN/prerm" + +chmod +x ${deb_dir}/DEBIAN/post* +chmod +x ${deb_dir}/DEBIAN/pre* dpkg-deb \ --root-owner-group \