Postgresql aanzwengelen

Op deze pagina:

Afhankelijk van welke packagemanager je hebt kun je Postgresql installeren met bijvoorbeeld:


sudo apt-get install postgresql postgresql-contrib libpq-dev

Dit installeert Postgresql en aanvullende modules.

Standaard maakt Postgresql de gebruiker postgres aan en dit is de enige gebruiker die verbinding kan maken met de server.

Als je dit probeert:


psql

dan krijg je de volgende foutmelding:


psql: FATAL: role "je_gebruikersnaam" does not exist

Om toch met je eigen gebruiker te kunnen verbinden met de server moet je jezelf als postgresql-gebruiker aanmaken:


sudo -u postgres createuser --superuser $USER

Nu kan je nog niet verbinden met de server, want Posgresql verwacht een database met dezelfde naam als de gebruiker, dus die moet je eerst aanmaken:


sudo -u postgres createdb $USER

Om ook je geschiedenis te bewaren moet je het bestand .psql_history in je home directory aanmaken:


touch .psql_history

Nu kan je verbinden met de server:


psql

Je krijgt nu bijvoorbeeld:


psql (10.12 (Ubuntu 10.12-0ubuntu0.18.04.1)) 
Type "help" for help.
kees=#

met \q kom je weer uit Postgresql.

Een grafische interface voor Postgresql: pgAdmin

Een programma dat een grafische interface geeft aan Postgresql is pgAdmin, dit kun je bijvoorbeeld, afhankelijk van je systeem, als volgt installeren:


sudo apt-get install pgadmin3

Bij het verbinden met een server kan je de volgende foutmelding krijgen (afhankelijk van de gebruikte gebruikersnaam):


Error: Error connecting to the server: FATAL:  password authentication failed for user "kees"
FATAL:  password authentication failed for user "kees"

en:


pgadmin Error: Error connecting to the server: FATAL:  password authentication failed for user

Dit los je op door een wachtwoord in te stellen met \password voor je gebruiker. Via een shell:


psql

Dit geeft bijvoorbeeld:


psql (10.12 (Ubuntu 10.12-0ubuntu0.18.04.1)) 
Type "help" for help. 

kees=# \password 
Enter new password: 
Enter it again: 
kees=# \q

Na tweemaal hetzelfde wachtwoord te hebben ingegeven is dit ingesteld en kun je via pgAdmin wel verbinden met een server.

Als je het wachtwoord in pgAdmin opslaat, dan krijg je een waarschuwing omdat dit wachtwoord in klare tekst wordt opgeslagen in je home directory in ~/.pgpass. Als je Windows gebruikt, dan wordt dit opgeslagen in %APPDATA%\PostgreSQL\pgpass.conf.

 

Verwante artikelen