| 1 | See MySQL for list of things that have to be done for any database\r |
| 2 | (both MySQL and Postgres).\r |
| 3 | \r |
| 4 | = Postgres-specific setup =\r |
| 5 | \r |
| 6 | 1. $dir = /afs/hcoop.net/common/databases/USERNAME/postgres\r |
| 7 | \r |
| 8 | If $dir does NOT exist:\r |
| 9 | \r |
| 10 | 1. sudo -u postgres psql -c "CREATE USER '''USERNAME'''" template1\r |
| 11 | 1. mkdir -p $dir\r |
| 12 | 1. chown postgres:postgres "$dir"\r |
| 13 | 1. fs setacl -dir $dir -acl postgres write\r |
| 14 | 1. fs setacl -dir $dir -acl databases none # (keep out other databases, just in case)\r |
| 15 | 1. fs setacl -dir $dir -acl system:backup rl # (should be inherited from parent dir)\r |
| 16 | 1. sudo -u postgres psql -c "CREATE TABLESPACE user_'''USERNAME''' OWNER '''USERNAME''' LOCATION '$dir'" template1\r |
| 17 | \r |
| 18 | When it does, go directly to database creation step:\r |
| 19 | \r |
| 20 | 1. sudo -u postgres createdb -O '''USERNAME''' -D user_'''USERNAME''' '''DBNAME'''\r |