PostgreSQL : Guide Complet
PostgreSQL est la base de donnees relationnelle open-source la plus avancee.
Installation et connexion
sudo apt install postgresql
sudo -u postgres psql
CREATE DATABASE mabase;
CREATE USER monuser WITH PASSWORD 'secret';
GRANT ALL PRIVILEGES ON DATABASE mabase TO monuser;
Types de donnees
- INTEGER, BIGINT : Nombres entiers
- NUMERIC(p,s) : Decimaux precis
- VARCHAR(n), TEXT : Chaines
- BOOLEAN : Vrai/Faux
- TIMESTAMP, DATE : Dates
- JSON, JSONB : Donnees JSON
- ARRAY : Tableaux
- UUID : Identifiants uniques
Requetes avancees
-- CTE (Common Table Expression)
WITH ventes_recentes AS (
SELECT * FROM ventes
WHERE date > NOW() - INTERVAL '30 days'
)
SELECT * FROM ventes_recentes;
-- Window Functions
SELECT nom, salaire,
RANK() OVER (ORDER BY salaire DESC)
FROM employes;
Index pour la performance
CREATE INDEX idx_users_email ON users(email);
CREATE INDEX idx_posts_created ON posts(created_at DESC);
JSONB - Le meilleur des deux mondes
SELECT data->'name' FROM products
WHERE data @> '{"category": "electronics"}';