Sous macOS (installation via Homebrew par exemple), le fichier est généralement ici :
nano /opt/homebrew/var/postgresql@<version>/postgresql.confSi vous ne connaissez pas l'emplacement :
brew info postgresql@<version>Dans ce fichier, cherchez la ligne suivante :
#listen_addresses = 'localhost'Decommentez et remplacez 'localhost' par :
"*"pour autoriser toutes les IP- ou une IP spécifique, comme
192.168.1.50
ifconfig | grep inetToujours dans le même dossier :
nano /opt/homebrew/var/postgresql@<version>/pg_hba.confAjoute une ligne à la fin pour autoriser les connexions d’une IP (exemple ici avec un réseau local) :
host all all 192.168.1.0/24 md5Sur macOS, via Homebrew :
brew services restart postgresql@<version>Par défaut, macOS n’ouvre pas de port via ufw comme sur Linux, mais si tu as un pare-feu ou Little Snitch, autorise manuellement le port :
Port 5432 (TCP) entrant➕ Créer un utilisateur PostgreSQL
Lance le client PostgreSQL en tant que superutilisateur (par exemple postgres) :
psql postgresPuis dans le prompt psql :
CREATE USER nom_utilisateur WITH PASSWORD 'motdepasse';Exemple de privilèges à accorder en gardant le rôle d'administrateur :
GRANT SELECT ON ALL TABLES IN SCHEMA public TO user1 , user2;
GRANT INSERT ON ALL TABLES IN SCHEMA public TO user1, user2;
GRANT UPDATE ON ALL TABLES IN SCHEMA public TO user1, user2;
GRANT DELETE ON ALL TABLES IN SCHEMA public TO user1, user2;
-- ou en plus rapide--
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO user1, user2;Depuis une autre machine :
psql -h <ip_du_mac> -U <utilisateur> -d <nom_bdd>Sous Linux, le fichier est souvent ici :
sudo nano /etc/postgresql/<version>/main/postgresql.confSinon, pour le trouver :
sudo find / -name postgresql.confDans ce fichier, repérez :
#listen_addresses = 'localhost'Décommentez et remplacez 'localhost' par :
- "*" pour accepter toutes les IP,
- ou une IP spécifique, ex : 192.168.1.50.
ip a | grep inetsudo nano /etc/postgresql/<version>/main/pg_hba.confAjoutez en bas du fichier :
host all all 192.168.1.0/24 md5sudo systemctl restart postgresqlsudo ufw allow 5432➕ Lancer psql en tant que superutilisateur :
sudo -u postgres psqlDans le prompt :
CREATE USER nom_utilisateur WITH PASSWORD 'motdepasse';Exemple :
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO user1, user2;Depuis une autre machine :
psql -h <ip_du_serveur> -U <utilisateur> -d <nom_bdd>