Bonjour,

Avant tout j'ai déjà posé le problème sur le forum Postgres, j'espère que ça ne pose pas de problème.

J'ai un fichier.sql qui contient plusieurs requêtes sql de création de tables.
J'aimerais faire quelque chose comme ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
sub aa{
    system("psql -U user db < create_tables.sql");
}
Mais j'aimerais que le mot de passe ne me soit pas demandé interactivement mais qu'il le trouve tout seul dans le fichier .pgpass, mais je ne sais pas comment faire.

Si vous avez une idée ou une solution, merci d'avance de votre réponse.


_______________EDIT__________________

En fait, cela fonctionne. Je m'explique j'ai un fichier : create.pm avec la fonction que je vous ai copié ci-dessus. Si j'exécute directement ce fichier le mot de passe m'est demandé interactivement.

En revanche, j'ai créé un autre fichier test.pl ou dedans j'appelle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
... 
create::aa();
...
Dans ce cas la connexion utilise le fichier .pgpass, et ne me demande rien. Moi pas tout comprendre, quelqu'un saurait-il m'expliquer?

Merci