74 lines
2.4 KiB
Text
74 lines
2.4 KiB
Text
postgres on artix has caused a few headaches.
|
|
You can indeed follow most of the archwiki guide on how to set it up, but
|
|
certain things are not to be invoked due to misleading output.
|
|
|
|
As of 15.1, this works:
|
|
|
|
doas pacman -S postgresql postgresql-libs postgresql-runit (optional: postgresql-old-upgrade)
|
|
|
|
doas ln -s /etc/runit/sv/postgresql /run/runit/service/
|
|
|
|
sudo -iu postgres
|
|
|
|
[postgres]$ initdb -D /var/lib/postgres/data
|
|
|
|
You'll see the following message, do NOT invoke the pg_ctl -D command at the
|
|
end:
|
|
|
|
```
|
|
The files belonging to this database system will be owned by user "postgres".
|
|
This user must also own the server process.
|
|
|
|
The database cluster will be initialized with locale "C.UTF-8".
|
|
The default database encoding has accordingly been set to "UTF8".
|
|
The default text search configuration will be set to "english".
|
|
|
|
Data page checksums are disabled.
|
|
|
|
fixing permissions on existing directory /var/lib/postgres/data ... ok
|
|
creating subdirectories ... ok
|
|
selecting default max_connections ... 100
|
|
selecting default shared_buffers ... 128MB
|
|
selecting dynamic shared memory implementation ... posix
|
|
creating configuration files ... ok
|
|
running bootstrap script ... ok
|
|
performing post-bootstrap initialization ... ok
|
|
syncing data to disk ... ok
|
|
|
|
WARNING: enabling "trust" authentication for local connections
|
|
You can change this by editing pg_hba.conf or using the option -A, or
|
|
--auth-local and --auth-host, the next time you run initdb.
|
|
|
|
Success. You can now start the database server using:
|
|
***DO NOT INVOKE THIS***
|
|
pg_ctl -D /var/lib/postgres/data -l logfile start
|
|
|
|
```
|
|
|
|
You'll also need to update the /etc/runit/sv/postgresql/run file to ensure that
|
|
the /run/postgresql directory is created on start up:
|
|
|
|
if [ ! -d "/run/postgresql" ]; then
|
|
echo "creating directory /run/postgresql"
|
|
|
|
mkdir -p "/run/postgresql"
|
|
chown -R postgres:postgres "/run/postgresql"
|
|
fi
|
|
|
|
Using the standard sv service manager, start up postgresql (hopefully no errors
|
|
will show, to trouble should navigate to the /etc/runit/sv/postgresql
|
|
directory and invoke doas ./run and note the output).
|
|
|
|
doas sv start postgresql
|
|
|
|
Then you should be able to start it as the postgres user using psql.
|
|
|
|
From psql, create a database/user using the interactive createuser command:
|
|
|
|
createuser --interactive
|
|
|
|
For local practice work in postgresql, name this database your name and give
|
|
them superuser privileges.
|
|
|
|
And that's it. You now from your main prompt should be able to invoke psql and
|
|
start using the database.
|