Merge pull request #264250 from Ma27/rm-postgres-11

postgresql_11: remove

authored by Mario Rodas and committed by GitHub 1122fb51 b84c09e7

+29 -93
+2
nixos/doc/manual/release-notes/rl-2311.section.md
··· 488 489 If you use this feature, updates to CoreDNS may require updating `vendorHash` by following these steps again. 490 491 - `ffmpeg` default upgraded from `ffmpeg_5` to `ffmpeg_6`. 492 493 - `fusuma` now enables the following plugins: [appmatcher](https://github.com/iberianpig/fusuma-plugin-appmatcher), [keypress](https://github.com/iberianpig/fusuma-plugin-keypress), [sendkey](https://github.com/iberianpig/fusuma-plugin-sendkey), [tap](https://github.com/iberianpig/fusuma-plugin-tap) and [wmctrl](https://github.com/iberianpig/fusuma-plugin-wmctrl).
··· 488 489 If you use this feature, updates to CoreDNS may require updating `vendorHash` by following these steps again. 490 491 + - `postgresql_11` has been removed since it'll stop receiving fixes on November 9 2023. 492 + 493 - `ffmpeg` default upgraded from `ffmpeg_5` to `ffmpeg_6`. 494 495 - `fusuma` now enables the following plugins: [appmatcher](https://github.com/iberianpig/fusuma-plugin-appmatcher), [keypress](https://github.com/iberianpig/fusuma-plugin-keypress), [sendkey](https://github.com/iberianpig/fusuma-plugin-sendkey), [tap](https://github.com/iberianpig/fusuma-plugin-tap) and [wmctrl](https://github.com/iberianpig/fusuma-plugin-wmctrl).
+2 -2
nixos/modules/services/backup/postgresql-wal-receiver.nix
··· 7 options = { 8 postgresqlPackage = mkOption { 9 type = types.package; 10 - example = literalExpression "pkgs.postgresql_11"; 11 description = lib.mdDoc '' 12 PostgreSQL package to use. 13 ''; ··· 124 example = literalExpression '' 125 { 126 main = { 127 - postgresqlPackage = pkgs.postgresql_11; 128 directory = /mnt/pg_wal/main/; 129 slot = "main_wal_receiver"; 130 connection = "postgresql://user@somehost";
··· 7 options = { 8 postgresqlPackage = mkOption { 9 type = types.package; 10 + example = literalExpression "pkgs.postgresql_15"; 11 description = lib.mdDoc '' 12 PostgreSQL package to use. 13 ''; ··· 124 example = literalExpression '' 125 { 126 main = { 127 + postgresqlPackage = pkgs.postgresql_15; 128 directory = /mnt/pg_wal/main/; 129 slot = "main_wal_receiver"; 130 connection = "postgresql://user@somehost";
+16 -16
nixos/modules/services/databases/postgresql.md
··· 17 To enable PostgreSQL, add the following to your {file}`configuration.nix`: 18 ``` 19 services.postgresql.enable = true; 20 - services.postgresql.package = pkgs.postgresql_11; 21 ``` 22 - Note that you are required to specify the desired version of PostgreSQL (e.g. `pkgs.postgresql_11`). Since upgrading your PostgreSQL version requires a database dump and reload (see below), NixOS cannot provide a default value for [](#opt-services.postgresql.package) such as the most recent release of PostgreSQL. 23 24 <!-- 25 After running {command}`nixos-rebuild`, you can verify ··· 119 120 ## Plugins {#module-services-postgres-plugins} 121 122 - Plugins collection for each PostgreSQL version can be accessed with `.pkgs`. For example, for `pkgs.postgresql_11` package, its plugin collection is accessed by `pkgs.postgresql_11.pkgs`: 123 ```ShellSession 124 $ nix repl '<nixpkgs>' 125 126 Loading '<nixpkgs>'... 127 Added 10574 variables. 128 129 - nix-repl> postgresql_11.pkgs.<TAB><TAB> 130 - postgresql_11.pkgs.cstore_fdw postgresql_11.pkgs.pg_repack 131 - postgresql_11.pkgs.pg_auto_failover postgresql_11.pkgs.pg_safeupdate 132 - postgresql_11.pkgs.pg_bigm postgresql_11.pkgs.pg_similarity 133 - postgresql_11.pkgs.pg_cron postgresql_11.pkgs.pg_topn 134 - postgresql_11.pkgs.pg_hll postgresql_11.pkgs.pgjwt 135 - postgresql_11.pkgs.pg_partman postgresql_11.pkgs.pgroonga 136 ... 137 ``` 138 139 To add plugins via NixOS configuration, set `services.postgresql.extraPlugins`: 140 ``` 141 - services.postgresql.package = pkgs.postgresql_11; 142 - services.postgresql.extraPlugins = with pkgs.postgresql_11.pkgs; [ 143 pg_repack 144 postgis 145 ]; ··· 148 You can build custom PostgreSQL-with-plugins (to be used outside of NixOS) using function `.withPackages`. For example, creating a custom PostgreSQL package in an overlay can look like: 149 ``` 150 self: super: { 151 - postgresql_custom = self.postgresql_11.withPackages (ps: [ 152 ps.pg_repack 153 ps.postgis 154 ]); ··· 158 Here's a recipe on how to override a particular plugin through an overlay: 159 ``` 160 self: super: { 161 - postgresql_11 = super.postgresql_11.override { this = self.postgresql_11; } // { 162 - pkgs = super.postgresql_11.pkgs // { 163 - pg_repack = super.postgresql_11.pkgs.pg_repack.overrideAttrs (_: { 164 name = "pg_repack-v20181024"; 165 src = self.fetchzip { 166 url = "https://github.com/reorg/pg_repack/archive/923fa2f3c709a506e111cc963034bf2fd127aa00.tar.gz";
··· 17 To enable PostgreSQL, add the following to your {file}`configuration.nix`: 18 ``` 19 services.postgresql.enable = true; 20 + services.postgresql.package = pkgs.postgresql_15; 21 ``` 22 + Note that you are required to specify the desired version of PostgreSQL (e.g. `pkgs.postgresql_15`). Since upgrading your PostgreSQL version requires a database dump and reload (see below), NixOS cannot provide a default value for [](#opt-services.postgresql.package) such as the most recent release of PostgreSQL. 23 24 <!-- 25 After running {command}`nixos-rebuild`, you can verify ··· 119 120 ## Plugins {#module-services-postgres-plugins} 121 122 + Plugins collection for each PostgreSQL version can be accessed with `.pkgs`. For example, for `pkgs.postgresql_15` package, its plugin collection is accessed by `pkgs.postgresql_15.pkgs`: 123 ```ShellSession 124 $ nix repl '<nixpkgs>' 125 126 Loading '<nixpkgs>'... 127 Added 10574 variables. 128 129 + nix-repl> postgresql_15.pkgs.<TAB><TAB> 130 + postgresql_15.pkgs.cstore_fdw postgresql_15.pkgs.pg_repack 131 + postgresql_15.pkgs.pg_auto_failover postgresql_15.pkgs.pg_safeupdate 132 + postgresql_15.pkgs.pg_bigm postgresql_15.pkgs.pg_similarity 133 + postgresql_15.pkgs.pg_cron postgresql_15.pkgs.pg_topn 134 + postgresql_15.pkgs.pg_hll postgresql_15.pkgs.pgjwt 135 + postgresql_15.pkgs.pg_partman postgresql_15.pkgs.pgroonga 136 ... 137 ``` 138 139 To add plugins via NixOS configuration, set `services.postgresql.extraPlugins`: 140 ``` 141 + services.postgresql.package = pkgs.postgresql_12; 142 + services.postgresql.extraPlugins = with pkgs.postgresql_12.pkgs; [ 143 pg_repack 144 postgis 145 ]; ··· 148 You can build custom PostgreSQL-with-plugins (to be used outside of NixOS) using function `.withPackages`. For example, creating a custom PostgreSQL package in an overlay can look like: 149 ``` 150 self: super: { 151 + postgresql_custom = self.postgresql_12.withPackages (ps: [ 152 ps.pg_repack 153 ps.postgis 154 ]); ··· 158 Here's a recipe on how to override a particular plugin through an overlay: 159 ``` 160 self: super: { 161 + postgresql_15 = super.postgresql_15.override { this = self.postgresql_15; } // { 162 + pkgs = super.postgresql_15.pkgs // { 163 + pg_repack = super.postgresql_15.pkgs.pg_repack.overrideAttrs (_: { 164 name = "pg_repack-v20181024"; 165 src = self.fetchzip { 166 url = "https://github.com/reorg/pg_repack/archive/923fa2f3c709a506e111cc963034bf2fd127aa00.tar.gz";
+5 -5
nixos/modules/services/databases/postgresql.nix
··· 55 56 package = mkOption { 57 type = types.package; 58 - example = literalExpression "pkgs.postgresql_11"; 59 description = lib.mdDoc '' 60 PostgreSQL package to use. 61 ''; ··· 78 dataDir = mkOption { 79 type = types.path; 80 defaultText = literalExpression ''"/var/lib/postgresql/''${config.services.postgresql.package.psqlSchema}"''; 81 - example = "/var/lib/postgresql/11"; 82 description = lib.mdDoc '' 83 The data directory for PostgreSQL. If left as the default value 84 this directory will automatically be created before the PostgreSQL server starts, otherwise ··· 387 extraPlugins = mkOption { 388 type = types.listOf types.path; 389 default = []; 390 - example = literalExpression "with pkgs.postgresql_11.pkgs; [ postgis pg_repack ]"; 391 description = lib.mdDoc '' 392 List of PostgreSQL plugins. PostgreSQL version for each plugin should 393 match version for `services.postgresql.package` value. ··· 399 default = {}; 400 description = lib.mdDoc '' 401 PostgreSQL configuration. Refer to 402 - <https://www.postgresql.org/docs/11/config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE> 403 for an overview of `postgresql.conf`. 404 405 ::: {.note} ··· 461 base = if versionAtLeast config.system.stateVersion "23.11" then pkgs.postgresql_15 462 else if versionAtLeast config.system.stateVersion "22.05" then pkgs.postgresql_14 463 else if versionAtLeast config.system.stateVersion "21.11" then pkgs.postgresql_13 464 - else if versionAtLeast config.system.stateVersion "20.03" then pkgs.postgresql_11 465 else if versionAtLeast config.system.stateVersion "17.09" then mkThrow "9_6" 466 else mkThrow "9_5"; 467 in
··· 55 56 package = mkOption { 57 type = types.package; 58 + example = literalExpression "pkgs.postgresql_15"; 59 description = lib.mdDoc '' 60 PostgreSQL package to use. 61 ''; ··· 78 dataDir = mkOption { 79 type = types.path; 80 defaultText = literalExpression ''"/var/lib/postgresql/''${config.services.postgresql.package.psqlSchema}"''; 81 + example = "/var/lib/postgresql/15"; 82 description = lib.mdDoc '' 83 The data directory for PostgreSQL. If left as the default value 84 this directory will automatically be created before the PostgreSQL server starts, otherwise ··· 387 extraPlugins = mkOption { 388 type = types.listOf types.path; 389 default = []; 390 + example = literalExpression "with pkgs.postgresql_15.pkgs; [ postgis pg_repack ]"; 391 description = lib.mdDoc '' 392 List of PostgreSQL plugins. PostgreSQL version for each plugin should 393 match version for `services.postgresql.package` value. ··· 399 default = {}; 400 description = lib.mdDoc '' 401 PostgreSQL configuration. Refer to 402 + <https://www.postgresql.org/docs/15/config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE> 403 for an overview of `postgresql.conf`. 404 405 ::: {.note} ··· 461 base = if versionAtLeast config.system.stateVersion "23.11" then pkgs.postgresql_15 462 else if versionAtLeast config.system.stateVersion "22.05" then pkgs.postgresql_14 463 else if versionAtLeast config.system.stateVersion "21.11" then pkgs.postgresql_13 464 + else if versionAtLeast config.system.stateVersion "20.03" then mkThrow "11" 465 else if versionAtLeast config.system.stateVersion "17.09" then mkThrow "9_6" 466 else mkThrow "9_5"; 467 in
+1 -3
nixos/tests/postgresql.nix
··· 219 in 220 concatMapAttrs (name: package: { 221 ${name} = make-postgresql-test name package false; 222 ${name + "-clauses"} = mk-ensure-clauses-test name package; 223 }) postgresql-versions 224 - // { 225 - postgresql_11-backup-all = make-postgresql-test "postgresql_11-backup-all" postgresql-versions.postgresql_11 true; 226 - }
··· 219 in 220 concatMapAttrs (name: package: { 221 ${name} = make-postgresql-test name package false; 222 + ${name + "-backup-all"} = make-postgresql-test "${name + "-backup-all"}" package true; 223 ${name + "-clauses"} = mk-ensure-clauses-test name package; 224 }) postgresql-versions
+3 -2
pkgs/applications/misc/glom/default.nix
··· 28 , isocodes 29 , gtksourceview 30 , gtksourceviewmm 31 - , postgresql_11 32 , gobject-introspection 33 , yelp-tools 34 , wrapGAppsHook ··· 93 python3.pkgs.pygobject3 94 gtksourceview 95 gtksourceviewmm 96 - postgresql_11 # for pg_config 97 ]; 98 99 enableParallelBuilding = true; ··· 102 103 configureFlags = [ 104 "--with-boost-python=boost_python${lib.versions.major python3.version}${lib.versions.minor python3.version}" 105 ]; 106 107 makeFlags = [
··· 28 , isocodes 29 , gtksourceview 30 , gtksourceviewmm 31 + , postgresql_15 32 , gobject-introspection 33 , yelp-tools 34 , wrapGAppsHook ··· 93 python3.pkgs.pygobject3 94 gtksourceview 95 gtksourceviewmm 96 + postgresql_15 # for postgresql utils 97 ]; 98 99 enableParallelBuilding = true; ··· 102 103 configureFlags = [ 104 "--with-boost-python=boost_python${lib.versions.major python3.version}${lib.versions.minor python3.version}" 105 + "--with-postgres-utils=${lib.getBin postgresql_15}/bin" 106 ]; 107 108 makeFlags = [
-11
pkgs/servers/sql/postgresql/default.nix
··· 344 }; 345 346 mkPackages = self: { 347 - # TODO: remove ahead of 23.11 branchoff 348 - # "PostgreSQL 11 will stop receiving fixes on November 9, 2023" 349 - postgresql_11 = self.callPackage generic { 350 - version = "11.21"; 351 - psqlSchema = "11.1"; # should be 11, but changing it is invasive 352 - hash = "sha256-B7CDdHHV3XeyUWazRxjzuhCBa2rWHmkeb8VHzz/P+FA="; 353 - this = self.postgresql_11; 354 - thisAttr = "postgresql_11"; 355 - inherit self; 356 - }; 357 - 358 postgresql_12 = self.callPackage generic { 359 version = "12.16"; 360 psqlSchema = "12";
··· 344 }; 345 346 mkPackages = self: { 347 postgresql_12 = self.callPackage generic { 348 version = "12.16"; 349 psqlSchema = "12";
-1
pkgs/servers/sql/postgresql/ext/age.nix
··· 6 "14" = "sha256-w93Q499sZRk4q85A9yqKQjGUd9Pl8UL8K1D3W7mHRTU="; 7 "13" = "sha256-Sot7FR0oW7kWA680pNCMCmlflu4RfJTSWZn9mrXrpzw="; 8 "12" = "sha256-XezcXoHHLCD1/2OHmKhxome2pdjOsYAfZlpvOoU3aS4="; 9 - "11" = "sha256-ZkNAIMO69BxF3knQ+jcUBVuDgcoZXZccF5O+acpZ81M="; 10 }; 11 in 12 stdenv.mkDerivation rec {
··· 6 "14" = "sha256-w93Q499sZRk4q85A9yqKQjGUd9Pl8UL8K1D3W7mHRTU="; 7 "13" = "sha256-Sot7FR0oW7kWA680pNCMCmlflu4RfJTSWZn9mrXrpzw="; 8 "12" = "sha256-XezcXoHHLCD1/2OHmKhxome2pdjOsYAfZlpvOoU3aS4="; 9 }; 10 in 11 stdenv.mkDerivation rec {
-4
pkgs/servers/sql/postgresql/ext/pg_hint_plan.nix
··· 22 version = "1.3.9"; 23 hash = "sha256-64/dlm6e4flCxMQ8efsxfKSlja+Tko0zsghTgLatN+Y="; 24 }; 25 - "11" = { 26 - version = "1.3.9"; 27 - hash = "sha256-8t/HhB/2Kjx4xMItmmKv3g9gba5VCBHdplYtYD/3UhA="; 28 - }; 29 }.${lib.versions.major postgresql.version} or (throw "Source for pg_hint_plan is not available for ${postgresql.version}"); 30 in 31 stdenv.mkDerivation {
··· 22 version = "1.3.9"; 23 hash = "sha256-64/dlm6e4flCxMQ8efsxfKSlja+Tko0zsghTgLatN+Y="; 24 }; 25 }.${lib.versions.major postgresql.version} or (throw "Source for pg_hint_plan is not available for ${postgresql.version}"); 26 in 27 stdenv.mkDerivation {
-4
pkgs/servers/sql/postgresql/ext/pgaudit.nix
··· 22 version = "1.4.3"; 23 hash = "sha256-c8/xUFIHalu2bMCs57DeylK0oW0VnQwmUCpdp+tYqk4="; 24 }; 25 - "11" = { 26 - version = "1.3.4"; 27 - hash = "sha256-UEnwD36ejeYWyKRHZ4mPt6/Ru76Gy8s/rgIvmgermiM="; 28 - }; 29 }.${lib.versions.major postgresql.version} or (throw "Source for pgaudit is not available for ${postgresql.version}"); 30 in 31 stdenv.mkDerivation {
··· 22 version = "1.4.3"; 23 hash = "sha256-c8/xUFIHalu2bMCs57DeylK0oW0VnQwmUCpdp+tYqk4="; 24 }; 25 }.${lib.versions.major postgresql.version} or (throw "Source for pgaudit is not available for ${postgresql.version}"); 26 in 27 stdenv.mkDerivation {
-39
pkgs/servers/sql/postgresql/ext/pipelinedb.nix
··· 1 - { lib, stdenv, fetchFromGitHub, postgresql, zeromq, openssl, libsodium, libkrb5 }: 2 - 3 - stdenv.mkDerivation rec { 4 - pname = "pipelinedb"; 5 - version = "1.0.0-13"; 6 - 7 - src = fetchFromGitHub { 8 - owner = "pipelinedb"; 9 - repo = pname; 10 - rev = version; 11 - sha256 = "1mnqpvx6g1r2n4kjrrx01vbdx7kvndfsbmm7zbzizjnjlyixz75f"; 12 - }; 13 - 14 - buildInputs = [ postgresql openssl zeromq libsodium libkrb5 ]; 15 - 16 - makeFlags = [ "USE_PGXS=1" ]; 17 - 18 - NIX_LDFLAGS = lib.optionalString stdenv.isDarwin "-lsodium"; 19 - 20 - preConfigure = '' 21 - substituteInPlace Makefile \ 22 - --replace "/usr/lib/libzmq.a" "${zeromq}/lib/libzmq.a" 23 - ''; 24 - 25 - installPhase = '' 26 - mkdir -p $out/bin 27 - install -D -t $out/lib/ pipelinedb.so 28 - install -D -t $out/share/postgresql/extension {pipelinedb-*.sql,pipelinedb.control} 29 - ''; 30 - 31 - meta = with lib; { 32 - description = "High-performance time-series aggregation for PostgreSQL"; 33 - homepage = "https://www.pipelinedb.com/"; 34 - license = licenses.asl20; 35 - platforms = postgresql.meta.platforms; 36 - maintainers = [ maintainers.marsam ]; 37 - broken = versions.major postgresql.version != "11"; 38 - }; 39 - }
···
-2
pkgs/servers/sql/postgresql/packages.nix
··· 56 57 pgtap = super.callPackage ./ext/pgtap.nix { }; 58 59 - pipelinedb = super.callPackage ./ext/pipelinedb.nix { }; 60 - 61 smlar = super.callPackage ./ext/smlar.nix { }; 62 63 temporal_tables = super.callPackage ./ext/temporal_tables.nix { };
··· 56 57 pgtap = super.callPackage ./ext/pgtap.nix { }; 58 59 smlar = super.callPackage ./ext/smlar.nix { }; 60 61 temporal_tables = super.callPackage ./ext/temporal_tables.nix { };
-4
pkgs/top-level/all-packages.nix
··· 27080 timescaledb-tune = callPackage ../development/tools/database/timescaledb-tune { }; 27081 27082 inherit (import ../servers/sql/postgresql pkgs) 27083 - postgresql_11 27084 postgresql_12 27085 postgresql_13 27086 postgresql_14 27087 postgresql_15 27088 postgresql_16 27089 27090 - postgresql_11_jit 27091 postgresql_12_jit 27092 postgresql_13_jit 27093 postgresql_14_jit ··· 27098 postgresql_jit = postgresql_15_jit.override { this = postgresql_jit; }; 27099 postgresqlPackages = recurseIntoAttrs postgresql.pkgs; 27100 postgresqlJitPackages = recurseIntoAttrs postgresql_jit.pkgs; 27101 - postgresql11Packages = recurseIntoAttrs postgresql_11.pkgs; 27102 postgresql12Packages = recurseIntoAttrs postgresql_12.pkgs; 27103 postgresql13Packages = recurseIntoAttrs postgresql_13.pkgs; 27104 postgresql14Packages = recurseIntoAttrs postgresql_14.pkgs; 27105 postgresql16Packages = recurseIntoAttrs postgresql_16.pkgs; 27106 - postgresql11JitPackages = recurseIntoAttrs postgresql_11_jit.pkgs; 27107 postgresql12JitPackages = recurseIntoAttrs postgresql_12_jit.pkgs; 27108 postgresql13JitPackages = recurseIntoAttrs postgresql_13_jit.pkgs; 27109 postgresql14JitPackages = recurseIntoAttrs postgresql_14_jit.pkgs;
··· 27080 timescaledb-tune = callPackage ../development/tools/database/timescaledb-tune { }; 27081 27082 inherit (import ../servers/sql/postgresql pkgs) 27083 postgresql_12 27084 postgresql_13 27085 postgresql_14 27086 postgresql_15 27087 postgresql_16 27088 27089 postgresql_12_jit 27090 postgresql_13_jit 27091 postgresql_14_jit ··· 27096 postgresql_jit = postgresql_15_jit.override { this = postgresql_jit; }; 27097 postgresqlPackages = recurseIntoAttrs postgresql.pkgs; 27098 postgresqlJitPackages = recurseIntoAttrs postgresql_jit.pkgs; 27099 postgresql12Packages = recurseIntoAttrs postgresql_12.pkgs; 27100 postgresql13Packages = recurseIntoAttrs postgresql_13.pkgs; 27101 postgresql14Packages = recurseIntoAttrs postgresql_14.pkgs; 27102 postgresql16Packages = recurseIntoAttrs postgresql_16.pkgs; 27103 postgresql12JitPackages = recurseIntoAttrs postgresql_12_jit.pkgs; 27104 postgresql13JitPackages = recurseIntoAttrs postgresql_13_jit.pkgs; 27105 postgresql14JitPackages = recurseIntoAttrs postgresql_14_jit.pkgs;