test
[hcoop/zz_old/ikiwiki] / DaemonAdmin / PostgreSQL.mdwn
diff --git a/DaemonAdmin/PostgreSQL.mdwn b/DaemonAdmin/PostgreSQL.mdwn
new file mode 100755 (executable)
index 0000000..ac7f528
--- /dev/null
@@ -0,0 +1,20 @@
+See MySQL for list of things that have to be done for any database\r
+(both MySQL and Postgres).\r
+\r
+= Postgres-specific setup =\r
+\r
+   1. $dir = /afs/hcoop.net/common/databases/USERNAME/postgres\r
+\r
+If $dir does NOT exist:\r
+\r
+   1. sudo -u postgres psql -c "CREATE USER '''USERNAME'''" template1\r
+   1. mkdir -p $dir\r
+   1. chown postgres:postgres "$dir"\r
+   1. fs setacl -dir $dir -acl postgres write\r
+   1. fs setacl -dir $dir -acl databases none # (keep out other databases, just in case)\r
+   1. fs setacl -dir $dir -acl system:backup rl # (should be inherited from parent dir)\r
+   1. sudo -u postgres psql -c "CREATE TABLESPACE user_'''USERNAME''' OWNER '''USERNAME''' LOCATION '$dir'" template1\r
+\r
+When it does, go directly to database creation step:\r
+\r
+   1. sudo -u postgres createdb -O '''USERNAME''' -D user_'''USERNAME''' '''DBNAME'''\r