sudo apt install postgresql postgresql-contrib
First of all you have to set a new password for the superuser
postgres. Note: superuser
postgres does not have any password by default.
In order to set the password, type the following command line into your terminal:
sudo -u postgres psql postgres
Now you are in
psql, the command interface for postgresql, and in the database postgres.
In your terminal it looks like this:
To change your password:
$ \password postgres
… and type your new password when asked for it. Type
\q and hit enter to quit.
By default TCP/IP connections are disabled, so users are not able to remotely access PostgreSQL server from another computer. To enable it:
sudo vi /etc/postgresql/9.6/main/postgresql.conf
… and change …
#listen_addresses = localhost
… to …
listen_addresses = '*'
Note: this allows remote access only from this all IP addresses. If you want remote access from specific computers in your network use a comma separted list of addresses, like this:
#password_encryption = on
password_encryption = on
Client authentication is controlled by a configuration file, named pg_hba.conf. For each client the
auth-method must be specified.
sudo vi /etc/postgresql/9.6/main/pg_hba.conf
IPv4/IPv6 local connections are configured by default. Any other single IP client, like x,x,x,x SavaPage Server, must be added like this:
# Allow SavaPage Server host savapage savapage x.x.x.x/32 md5
Changes made above need a restart:
sudo systemctl restart postgresql.service
# As user 'postgres', create a new user 'savapage' # -P indicates, that this user will have a password, sudo -u postgres createuser -P savapage # Enter password for new role: # Enter it again: sudo -u postgres createdb --owner=savapage savapage
The psql shell can be used to check which databases are present, or to execute SQL statements.
# start interactive shell psql -h localhost -U postgres -- list all databases. postgres=# \l -- list all user accounts. postgres=# \du
# start interactive shell psql -h localhost -U savapage savapage -- enter sql statements (autocomplete is active) postgres=# select * from tbl_printer;