Précédent   Forum du club des développeurs et IT Pro > Bases de données > PostgreSQL > Administration
Administration Forum d'entraide sur l'administration de PostgreSQL : utilisateurs, privilèges, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 20/08/2011, 19h10   #1
ernestrenan
Membre du Club
 
Homme
Étudiant
Inscription : mars 2011
Messages : 136
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2011
Messages : 136
Points : 58
Points : 58
Par défaut Problème de droit d'écriture

Je viens d'installer postgre et quand je veux lancer postgre avec :
Code bash :
Galoubo: Postgresql toutunchacun$ sudo -b -u dbdmin /opt/local/lib/postgresql90/postmaster -D /data/ >/logfile 2>&1
J'obtiens :
Citation:
-bash: logfile: Permission denied
(Galoubo est l'utilisateur standard et dbadmin est l'utilisateur avec les droits sur data).

Quand je me connecte comme dbadmin j'ai le même problème et quand je me connecte en root l'erreur ne s'affiche pas mais le serveur n'est pas lancé...

edit : je suis sous mac
ernestrenan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2011, 03h20   #2
kain_tn
Membre Expert
 
Avatar de kain_tn
 
Homme
Inscription : mars 2005
Messages : 599
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations forums :
Inscription : mars 2005
Messages : 599
Points : 1 325
Points : 1 325
Euh, l'utilisateur par défaut de PostgreSQL c'est 'postgres'. Est-ce que tu l'as modifié quelque part ou est-ce que c'est différent sous mac?


Tu lances ta commande en tant que dbmin mais tu essayes d'écrire un fichier de log à la racine de ton système de fichier... Ça parait impossible d'avoir les droits pour ça ^^

Tu ne peux pas te connecter directement en tant que postgres en principe donc il faut ruser:
Code bash :
Galoubo$ sudo su - root
Puis
Code bash :
root# su - postgres
De là tu peux lancer PostgreSQL pour la première fois et voir si tout se lance bien.
Par la suite tu dois regarder si tu n'as pas des scripts de démarrage pour pouvoir lancer la base en root.

Une fois connecté en tant que postgres et dans le home de postgres, tape plutôt:
Code bash :
postgres$ /opt/local/lib/postgresql90/postmaster -D /data/ 2>&1 logfile


Autre chose, il faut que ton utilisateur postgres (avec lequel tu vas lancer la commande ci-dessus) ait les droits d'écriture sur le répertoire /data d'après ce que je vois au dessus.
__________________
Copier c'est copier; voler c'est vendre un CD une vingtaine d'euros!


Code C :
1
2
3
4
5
6
7
#include <stdio.h>
 
int main(int argc, char **argv) {
 
    printf("So long, and thanks for the fish, Dennis...\n");
    return 0;
}
kain_tn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2011, 15h24   #3
ernestrenan
Membre du Club
 
Homme
Étudiant
Inscription : mars 2011
Messages : 136
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2011
Messages : 136
Points : 58
Points : 58
Citation:
Envoyé par kain_tn Voir le message
Euh, l'utilisateur par défaut de PostgreSQL c'est 'postgres'. Est-ce que tu l'as modifié quelque part ou est-ce que c'est différent sous mac?
J'ai créé un utilisateur spécial pour postgresql avec les commandes dscl et j'ai tout bien réglé les droits de lecture/écriture


Citation:
Envoyé par kain_tn Voir le message
Tu lances ta commande en tant que dbmin mais tu essayes d'écrire un fichier de log à la racine de ton système de fichier... Ça parait impossible d'avoir les droits pour ça ^^
Non, je suis placé dans /Users/Shared/Postgresql là où est aussi placé le fichier data.

Citation:
Envoyé par kain_tn Voir le message
Tu ne peux pas te connecter directement en tant que postgres en principe donc il faut ruser:
Pourquoi?

Bon alors j'ai testé

Code bash :
1
2
3
4
 
Galoubo:~ toutunchacun$ su root
sh-3.2# cd /Users/Shared/Postgresql
sh-3.2# sudo -u dbadmin /opt/local/lib/postgresql90/bin/postmaster -D /data/ 2>&1 logfile

Et là j'obtiens un message d'erreur :

Citation:
LOG: 00000: could not identify current directory: Permission denied
LOCATION: find_my_exec, exec.c:126
FATAL: XX000: /opt/local/lib/postgresql90/bin/postmaster: could not locate my own executable path
LOCATION: getInstallationPaths, postmaster.c:1114
Ça veut dire qu'il y a un problème ligne 1114 de postmaster et ligne 126 d'un autre, mais à part ça je reste perdu.
ernestrenan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2011, 19h08   #4
estofilo
Modérateur
 
Inscription : octobre 2008
Messages : 1 702
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2008
Messages : 1 702
Points : 2 347
Points : 2 347
Citation:
Envoyé par ernestrenan Voir le message
Nan je suis placé dans /Users/Shared/Postgresql là ou est aussi placé le fichier data.
Dans ce cas tu devrais peut-être faire -D /Users/Shared/Postgresql au lieu de -D /data/

Plus généralement, si tu fais une installation manuelle, il faut suivre la procédure d'installation qui se trouve dans le fichier INSTALL des sources de postgres.
Sinon avec les éléments de la discussion il est difficile de deviner si c'est ta propre procédure ou si tu suis un tutoriel et si oui, lequel.
estofilo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 04h48.


 
 
 
 
Partenaires

Hébergement Web