Photo Organizer's installer takes care of database creation, but there is still some prep work necessary to get things to the point where the installer can run.
Please note that I'm trying to keep these instructions as generic as possible; if someone has distribution-specific instructions to contribute, I'll happily add them to this page.
In particular, Redhat/Fedora distributions ship with a very locked-down PostgreSQL installation.
This procedure assumes the username is po_user and the database will be po_db. You can change these if you like, but remember you'll need to specify these during the installation as well.
Please note that these instructions apply to v2.32 and newer; older releases required more hand-holding.
First, we need to create the actual user. You'll need to run these commands as the postgres user on your system. To become the postgres user, run the following as root:
su - postgres
Then, run the following command to create the Photo Organizer user:
createuser -S -R -P -D po_user # Use '-A' instead of '-S -R' on PG 7.4
This is where things get complicated. It involves editing the pg_hba.conf configuration file. The default for this file is something like this:
local all all ident sameuser host sameuser 127.0.0.1 255.255.255.255 trust
This basically states that if you're only allowed to access a database of the same name as your username, which will not suffice for Photo Organizer. To set up permissions to allow the Photo Organizer installer to run, you'll need to add below lines:
local po_db po_user password host po_db po_user 127.0.0.1 255.255.255.255 password
Note: These lines must come before the “local all all ident sameuser” line. The “all all” and “sameuser” lines are the defaults, and will match everything. Your final configuration will look something like this:
# TYPE DATABASE USER CIDR-ADDRESS METHOD local po_db po_user password host po_db po_user 127.0.0.1/32 password # "local" is for Unix domain socket connections only local all all ident sameuser # IPv4 local connections: host all all 127.0.0.1/32 ident sameuser # IPv6 local connections: host all all ::1/128 ident sameuser
Then run this command as root:
service postgresql restart
And you should be good to go.