Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

DBI et PgPP: localisation du socket Postgresql ?

2 réponses
Avatar
ctobini
Bonjour,

Je souhaite utiliser PgPP pour me connecter =E0 une base Postgresql.

Mon probl=E8me est que le socket n'est pas rep=E9r=E9 dans /tmp et pour
cause, il se trouve dans /var/run.

J'ai vu dans la doc DBI qu'il est facile d'indiquer le path du socket
mysql via mysql_socket=3Dpath.

Je n'ai en revanche rien vu sur le socket Postgresql.

Pourriez-vous m'indiquer comment le localiser ?

Je suis =E9galement ouvert =E0 un conseil sur une alternative =E0 PgPP.

En vous remerciant,

C=2E Tobini

2 réponses

Avatar
Sébastien Cottalorda
Bonjour,

Je souhaite utiliser PgPP pour me connecter à une base Postgresql.

Mon problème est que le socket n'est pas repéré dans /tmp et pour
cause, il se trouve dans /var/run.

J'ai vu dans la doc DBI qu'il est facile d'indiquer le path du socket
mysql via mysql_socket=path.

Je n'ai en revanche rien vu sur le socket Postgresql.

Pourriez-vous m'indiquer comment le localiser ?

Je suis également ouvert à un conseil sur une alternative à PgPP.

En vous remerciant,

C. Tobini

Salut,


En ce qui me concerne, j'use et abuse du module DBD::Pg (planqué
derrière DBI)

Tu lui précises où se situe ton serveur abritant la base de données, et
il ouvre une socket avec.
Ensuite, tu traites avec ce module comme avec n'importe quelle base de
données.
exemple de connexion:

use DBI;
use strict;
my $database=....;
my $YOUR_login=....:
my $YOUR_password=....;
#======== CONNEXION ============= my $dbh ||= DBI->connect( "dbi:Pg:dbname=$database", "$YOUR_login",
"$YOUR_password" );
unless ($dbh) {
print "SGBD connect: NOK sur $database ".$DBI::errstr."n";
}
else {
print "Connecté.n";
}



ATTENTION:
Il faut au préalable s'assurer que ton serveur abritant postgres
autorise bien les connexions extérieures:

Dans le fichier : postgres.conf, tu dois avoir
listen_addresses = '*' ou bien ce qu'il faut

Dans le fichier pg_hba.conf, tu dois avoir
host all all IP_autorisée/32 trust

Une fois les modifs faites, redémarre le service postgresql

J'espère que cela t'aidera.

Sébastien

Avatar
ctobini
Bonsoir et merci de ta réponse,

J'ai maintenant une solution complète pour manipuler ma base :)

J'étais bloqué à la base avec le socket Postgresql introuvable.

Je n'ai toujours pas trouvé comment paramétrer PgPP pour y avoir
accès, mais j'ai indiqué explicitement le path du socket dans le
fichier 'postgresql.conf' :

unix_socket='/tmp'

Et là, tout roule !

Bonne soirée et à +.

C. Tobini