refactor: finish moving ssh-* scripts to own installers
[webi-installers/.git] / postgres / README.md
index 1c158ebc3b7f8b4a6bdfc1bc2b843dc2f2a5293f..453237cfd1773cdc7984d230045bd1cbfc7a2c1c 100644 (file)
@@ -5,13 +5,8 @@ tagline: |
   PostgreSQL: The World's Most Advanced Open Source Relational Database.
 ---
 
-## Updating `postgres`
-
-```bash
-webi postgres@stable
-```
-
-Use `@x.y.z` for a specific version.
+To update or switch versions, run `webi postgres@stable` (or `@v10`, `@beta`,
+etc).
 
 ## Cheat Sheet
 
@@ -19,23 +14,20 @@ Use `@x.y.z` for a specific version.
 > handles SQL, 'NoSQL', JSON, HSTORE, Full-Text Search, Messages Queues and
 > more. Best bang for buck.
 
-### Initialize a database with a password
-
-```bash
-echo "postgres" > /tmp/pwfile
-mkdir -p $HOME/.local/share/postgres/var/
+### Start the postgres server
 
-initdb -D $HOME/.local/share/postgres/var/ \
-    --username postgres --pwfile "/tmp/pwfile" \
-    --auth-local=password --auth-host=password
+Run just once (for development):
 
-rm /tmp/pwfile
+```bash
+postgres -D $HOME/.local/share/postgres/var -p 5432
 ```
 
-### Start the postgres server
+Run as a system service on Linux:
 
 ```bash
-postgres -D $HOME/.local/share/postgres/var -p 5432
+sudo env PATH="$PATH" \
+    serviceman add --system --username $(whoami) --name postgres -- \
+    postgres -D "$HOME/.local/share/postgres/var" -p 5432
 ```
 
 ### Connect with the psql client
@@ -43,3 +35,16 @@ postgres -D $HOME/.local/share/postgres/var -p 5432
 ```bash
 psql 'postgres://postgres:postgres@localhost:5432/postgres'
 ```
+
+### Initialize a database with a password
+
+```bash
+echo "postgres" > /tmp/pwfile
+mkdir -p $HOME/.local/share/postgres/var/
+
+initdb -D $HOME/.local/share/postgres/var/ \
+    --username postgres --pwfile "/tmp/pwfile" \
+    --auth-local=password --auth-host=password
+
+rm /tmp/pwfile
+```