PostgreSQL és un potent sistema de bases de dades relacionals fiable, robust i d'alt rendiment.
Introducció
Si no coneixes com funciona una base de dades SQL, treballa primer les activitats de Sqlite.
Entorn de treball
Arrenca una màquina virtual Linux amb Windows Subsytem for Linux (WSL).
> connect connect-wsl postgres -new
Insta.la postgres:
sudo apt update && sudo apt install -y postgresql
Crea un contenidor postgres amb Docker:
docker run -d --name postgres --restart=always -p 5432:5432 -e POSTGRES_PASSWORD=password -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=password postgres:17
psql
Obre un terminal interactiu executant un client psql
:
docker exec -it postgres psql -U postgres
Amb l'ordre \l
pots veure les bases de dades que té per defecte el gestor de base de dades:
$ \l
List of databases
Name | Owner | Encoding | Collate | Ctype | ICU Locale | Locale Provider | Access privileges
-----------+----------+----------+------------+------------+------------+-----------------+-----------------------
postgres | postgres | UTF8 | en_US.utf8 | en_US.utf8 | | libc |
template0 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | | libc | =c/postgres +
| | | | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | | libc | =c/postgres +
| | | | | | | postgres=CTc/postgres
(3 rows)
Crea una base de dades test
:
postgres=# create database test;
CREATE DATABASE
Et pots connectar a la base de dades test
:
postgres=# \c test
You are now connected to database "test" as user "postgres".
test=>
Amb \q
pots acabar la sessió:
test=# \q
$
pgAdmin
PgAdmin és una aplicació web que pot administrar bases de dades locals i remotes.
Instal.la pgAdmin:
docker run -d --name pgadmin --restart=always --network host -e PGADMIN_DEFAULT_EMAIL=postgres@mail.com -e PGADMIN_DEFAULT_PASSWORD=password dpage/pgadmin4:8
Si vols pots configurar més paràmetres del contenidor pgadmin4
tal com s'explica a Container Deployment
Ja pots obrir el navegador a http://localhost.
A continuació tens un video que et mostra com configurar un servidor.
Si no has modificat el paràmetres configurats per defecte, l'usuari és postgres@mail.com
i la contrasenya password
.
Datagrip
Pots utilitzar DataGrip per gestionar la base de dades:
Scott
Scott és una base de dades demo.
Importa la base de dades "Scott":
wget https://gitlab.com/xtec/postgres-data/-/raw/main/scott.sql
docker cp scott.sql postgres:scoot.sql
cat scott.sql | docker exec -i postgres su postgres -c "psql"
A la pàgina web de PgAdmin selecciona la base de dades Scott i a continuació obre l’eina Query Tool.
Ja pots fer consultes a la base de dades.
En l'activitat Query - Scott tens molts exemples de consultes a la base de dades Scott.
TODO
https://stackoverflow.com/questions/24718706/backup-restore-a-dockerized-postgresql-database