about summary refs log tree commit diff
path: root/dbms.nix
diff options
context:
space:
mode:
authorNguyễn Gia Phong <mcsinyx@disroot.org>2023-02-21 15:03:17 +0900
committerNguyễn Gia Phong <mcsinyx@disroot.org>2023-02-21 15:03:17 +0900
commit95859c41afd89ab97eca87819b4adaff672e8508 (patch)
tree498012a7d50cbaa8ce05463bf4c935eaec117b6a /dbms.nix
parentac30f18118da23914a6f88134f39f2199d6213bb (diff)
downloadnixos-conf-95859c41afd89ab97eca87819b4adaff672e8508.tar.gz
Use PostgreSQL for 소주
Diffstat (limited to 'dbms.nix')
-rw-r--r--dbms.nix38
1 files changed, 38 insertions, 0 deletions
diff --git a/dbms.nix b/dbms.nix
new file mode 100644
index 0000000..455125c
--- /dev/null
+++ b/dbms.nix
@@ -0,0 +1,38 @@
+# DBMS configuruation
+# Copyright (C) 2022  Nguyễn Gia Phong
+#
+# This file is part of loang configuration.
+#
+# Loang configuration is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published
+# by the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Loang configuration is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with loang configuration.  If not, see <https://www.gnu.org/licenses/>.
+
+{ pkgs, ... }:
+{
+  services.postgresql = {
+    enable = true;
+    package = pkgs.postgresql_15;
+    settings = {
+      checkpoint_timeout = "5min";
+      effective_cache_size = "1GB";
+      effective_io_concurrency = 100;
+      maintenance_work_mem = "320MB";
+      max_parallel_maintenance_workers = 4;
+      max_parallel_workers_per_gather = 4;
+      max_wal_senders = 0;
+      random_page_cost = 1.25;
+      shared_buffers = "512MB";
+      wal_buffers = -1;
+      work_mem = "32MB";
+    };
+  };
+}