nixos/postgresql: use a standard default value for dataDir

This commit is contained in:
Aaron Andersen 2020-08-01 10:44:17 -04:00
parent 4e3b009778
commit 4f5fc729c7
2 changed files with 14 additions and 5 deletions

View file

@ -615,6 +615,17 @@ services.dokuwiki."mywiki" = {
}; };
... ...
}; };
</programlisting>
</para>
</listitem>
<listitem>
<para>
The <xref linkend="opt-services.postgresql.dataDir"/> option is now set to <literal>"/var/lib/postgresql/${cfg.package.psqlSchema}"</literal> regardless of your
<xref linkend="opt-system.stateVersion"/>. Users with an existing postgresql install that have a <xref linkend="opt-system.stateVersion"/> of <literal>17.09</literal> or below
should double check what the value of their <xref linkend="opt-services.postgresql.dataDir"/> option is (<literal>/var/db/postgresql</literal>) and then explicitly
set this value to maintain compatibility:
<programlisting>
services.postgresql.dataDir = "/var/db/postgresql";
</programlisting> </programlisting>
</para> </para>
</listitem> </listitem>

View file

@ -55,6 +55,7 @@ in
dataDir = mkOption { dataDir = mkOption {
type = types.path; type = types.path;
defaultText = "/var/lib/postgresql/\${config.services.postgresql.package.psqlSchema}";
example = "/var/lib/postgresql/11"; example = "/var/lib/postgresql/11";
description = '' description = ''
Data directory for PostgreSQL. Data directory for PostgreSQL.
@ -249,10 +250,7 @@ in
else if versionAtLeast config.system.stateVersion "16.03" then pkgs.postgresql_9_5 else if versionAtLeast config.system.stateVersion "16.03" then pkgs.postgresql_9_5
else throw "postgresql_9_4 was removed, please upgrade your postgresql version."); else throw "postgresql_9_4 was removed, please upgrade your postgresql version.");
services.postgresql.dataDir = services.postgresql.dataDir = mkDefault "/var/lib/postgresql/${cfg.package.psqlSchema}";
mkDefault (if versionAtLeast config.system.stateVersion "17.09"
then "/var/lib/postgresql/${cfg.package.psqlSchema}"
else "/var/db/postgresql");
services.postgresql.authentication = mkAfter services.postgresql.authentication = mkAfter
'' ''