Vous n'êtes pas identifié(e).

#1 03/11/2013 01:21:58

mstcx
Membre

PgSQL et Mac

Bonjour,

Je viens d'installer PgSQL (9.3) en local sur un Mac (OSX 10.8.5).
1er truc bizarre (mais je ne suis pas très féru de Mac) un utilisateur "PostgreSQL" apparait au démarrage de la machine. Lorsque je tente de me connecter dessus, impossible. J'ouvre une session admin, je réinitialise le mot de passe pour cette session "PostgreSQL", je l'ouvre ok. Quand je tente de me connecter à PgSQL via pqAdmin, refus de l'intéressé, je suis obligé de passer par le "forcer à quitter..." pour en sortir.
Si quelqu'un pouvait m'éclairer sur ce point.

2ème truc bizarre : en session admin pas de soucis pour me connecter à PgSQL en local.
J'ai créé une base et je souhaite faire un COPY FROM pour y importer des données. Voici le message obtenu :

ERROR: could not open file "/Users/.../toto.csv" for reading: Permission denied
État SQL :42501

Un grand merci par avance à celui ou celle qui éclairera mes ténèbres...

Hors ligne

#2 03/11/2013 01:29:14

rjuju
Administrateur

Re : PgSQL et Mac

Bonjour,

1) C'est normal, PostgreSQL doit s'exécuter à l'aide d'un utilisateur (non administrateur) déclaré sur la machine. Par contre, est-ce que cet utilisateur est censé pouvoir utiliser une session X sur mac, là aucune idée (vous pouvez toujours utiliser un terminal et su ou sudo).

2) C'est également normal. La commande COPY s'exécute depuis le moteur postgres, c'est donc les droits de l'utilisateurs postgres qui s'appliquent. Celui-ci doit donc avoir un accès en lecture à ce fichier, comme indiqué sur le message d'erreur.

Hors ligne

#3 03/11/2013 01:45:18

mstcx
Membre

Re : PgSQL et Mac

Merci de me répondre aussi rapidement à cette heure aussi tardive...


rjuju a écrit :

(vous pouvez toujours utiliser un terminal et su ou sudo).

Je ne sais pas comment faire cela ? 

rjuju a écrit :

2) C'est également normal. La commande COPY s'exécute depuis le moteur postgres, c'est donc les droits de l'utilisateurs postgres qui s'appliquent. Celui-ci doit donc avoir un accès en lecture à ce fichier, comme indiqué sur le message d'erreur.

Comment faire pour donner des droits à l'utilisateur postgres ?
GRANT ALL PRIVILEGES ON ma_table TO postgres

Hors ligne

#4 03/11/2013 13:44:40

rjuju
Administrateur

Re : PgSQL et Mac

1) Je parlais de l'application terminal pour mac. Faire un "sudo su - postgres" devrait vous connecter dans ce terminal en tant que postgres.

2) Non, il s'agit de droits à positionner au niveau du système d'exploitation sur ce fichier, ainsi que sur les répertoires parents. Vous pouvez sinon déplacer le fichier dans un répertoire où tout le monde à accès, ou sinon utiliser la méta-commande "\copy" de psql si vous utilisez cet outil (voir http://docs.postgresql.fr/9.3/app-psql.html);

Hors ligne

Pied de page des forums