about summary refs log tree commit diff
path: root/pkgs/servers/sql
diff options
context:
space:
mode:
authorVladimír Čunát <v@cunat.cz>2019-06-03 22:33:52 +0200
committerVladimír Čunát <v@cunat.cz>2019-06-03 22:34:49 +0200
commitee86a325dd067df0da827c2044e8f6e39ffbfed6 (patch)
treee0a4c1946e6101aa41c02c65387b9941fb9b1f48 /pkgs/servers/sql
parent2812b5ce392370ca671a1f371904a12aa3c6db13 (diff)
parentc4724fb7bcc83a778632ce096e37b7dcdd3b034b (diff)
downloadnixlib-ee86a325dd067df0da827c2044e8f6e39ffbfed6.tar
nixlib-ee86a325dd067df0da827c2044e8f6e39ffbfed6.tar.gz
nixlib-ee86a325dd067df0da827c2044e8f6e39ffbfed6.tar.bz2
nixlib-ee86a325dd067df0da827c2044e8f6e39ffbfed6.tar.lz
nixlib-ee86a325dd067df0da827c2044e8f6e39ffbfed6.tar.xz
nixlib-ee86a325dd067df0da827c2044e8f6e39ffbfed6.tar.zst
nixlib-ee86a325dd067df0da827c2044e8f6e39ffbfed6.zip
Merge branch 'staging-next' into staging
Conflicts (simple):
	nixos/doc/manual/release-notes/rl-1909.xml
Diffstat (limited to 'pkgs/servers/sql')
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix33
-rw-r--r--pkgs/servers/sql/postgresql/packages.nix2
2 files changed, 35 insertions, 0 deletions
diff --git a/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix
new file mode 100644
index 000000000000..d241d2aa7db6
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, postgresql, openssl }:
+
+if stdenv.lib.versionOlder postgresql.version "10"
+then throw "pg_auto_failover not supported for PostgreSQL ${postgresql.version}"
+else
+stdenv.mkDerivation rec {
+  pname = "pg_auto_failover";
+  version = "1.0.2";
+
+  src = fetchFromGitHub {
+    owner = "citusdata";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1296zk143y9fvmcg2hjbrjdjfhi5rrd0clh16vblkghcvxrzfyvy";
+  };
+
+  buildInputs = [ postgresql openssl ];
+
+  installPhase = ''
+    install -D -t $out/bin src/bin/pg_autoctl/pg_autoctl
+    install -D -t $out/lib src/monitor/pgautofailover.so
+    install -D -t $out/share/extension src/monitor/*.sql
+    install -D -t $out/share/extension src/monitor/pgautofailover.control
+  '';
+
+  meta = with stdenv.lib; {
+    description = "PostgreSQL extension and service for automated failover and high-availability";
+    homepage = "https://github.com/citusdata/pg_auto_failover";
+    maintainers = [ maintainers.marsam ];
+    platforms = postgresql.meta.platforms;
+    license = licenses.postgresql;
+  };
+}
diff --git a/pkgs/servers/sql/postgresql/packages.nix b/pkgs/servers/sql/postgresql/packages.nix
index 60faa2db2407..f3d2ac68884d 100644
--- a/pkgs/servers/sql/postgresql/packages.nix
+++ b/pkgs/servers/sql/postgresql/packages.nix
@@ -7,6 +7,8 @@ self: super: {
         };
     };
 
+    pg_auto_failover = super.callPackage ./ext/pg_auto_failover.nix { };
+
     pg_repack = super.callPackage ./ext/pg_repack.nix { };
 
     pg_similarity = super.callPackage ./ext/pg_similarity.nix { };