Database queries
Postgresql
Voorwoord
Een andere populaire database, die veel gebruikt wordt in combinatie met bijv. Python is Postgresql. Postgresql is o.a. populair als het gaat om het bouwen van ai-systemen. Postgresql kent een aantal extra data-typen waardoor het werken met LLM's en JSON makkelijker gaat.
Postgresql is een gratis open-source toepassing.
Installatie
- Je kunt Postgresql installeren via de website (https://www.postgresql.org/).
- Macgebruikers kunnen het beste gebruik maken van
homebrew
. Let op dat je de laatste versie installeert! - Pas indien nodig de
PATH
variabele aan, zodat je systeem de server- en clientapplicaties overal op je computer kan vinden.- Bij windows gaat dat bij
omgevingsvariabelen
of in het engelsenvironment variables
- Op de mac kun je
psql
starten vanuitTerminal
. Als dat niet lukt dan pas je het bestand~/.zprofile
aan.
- Bij windows gaat dat bij
Client applicatie
Postgresql is net als MySQL en MariaDB een client-server applicatie. Je gebruikt de client-applicatie om commando's naar de server te sturen.
Hieronder zie je hoe je voor de eerste keer kunt inloggen (standaard naam is postgres zonder wachtwoord)
psql postgres
Nieuwe superuser
- Maak een nieuwe superuser aan die je gebruikt voor development-doeleinden
CREATE ROLE mijngebruiker WITH LOGIN PASSWORD 'mijnwachtwoord' SUPERUSER;
CREATE DATABASE mijngebruiker;
Cursus bestanden
- Je kunt de database
school
hier downloaden.... School database
Als je op bovenstaande link klikt, wordt het bestand 'school_pg.sql' in je downloadmap geplaatst. - Start psql en maak eerst een database aan:
create database school;
- Je kunt checken of door een listing van alle databases op te vragen met
\l
: - Laad het sql bestand om de tabellen en gegevens te importeren.
psql postgres -f C:\school_pg.sql
Cheatsheet Postgresql
Option | Example | Description |
---|---|---|
[-d] |
psql -d mydb | Connecting to database |
-U | psql -U john mydb | Connecting as a specific user |
-h -p | psql -h localhost -p 5432 mydb | Connecting to a host/port |
-U -h -p -d | psql -U admin -h 192.168.1.5 -p 2506 -d mydb | Connect remote PostgreSQL |
-W | psql -W mydb | Force password |
-c | psql -c '\c postgres' -c '\dt' | Execute a SQL query or command |
-H | psql -c "\l+" -H postgres > database.html | Generate HTML report |
-l | psql -l | List all databases |
-f | psql mydb -f file.sql | Execute commands from a file |
-V | psql -V | Print the psql version |