[Précédent (date)] [Suivant (date)] [Précédent (sujet)] [Suivant (sujet)] [Index par date] [Index par sujet]

Re: Toujours impossible de se connecter à postgres ???



Pour tout dire j'ai regler la situation d'une maniere plus simple mais a la
fois assez complexe. Apres avoir examiner profondement la documentation,
j'ai decouvert l'evidence meme de la source d'erreur. Malgre que j'utilise
une version RedHat 6.0, j'ai l'impression que le RPM de cette distribution
n'est pas complete a l'installation. Plusieurs utilisateur m'ont affirmer
que le serveur se demarre de lui meme a l'installation mais il en est rien
pour ma distribution. En fait, le probleme residait dans l'initialisation de
la base de donnees avec la commande initdb qui decompresse ou installe les
fichiers de base pour que le serveur puisse demarrer.
Tant et aussi longtemps que cette commande n'est pas demarrer, la base de
donnees ne trouve pas les data pour demarrer le serveur et un message
d'erreur se produit.

Voici ma facon de faire en detail:

Au depart, j'ai du modifier le fichier /etc/profile pour inscrire dans
l'environnement l'emplacement de PGDATA et PGLIB. De la, le path etant dans
l'environnement, on demarre simplement la commande initdb (sous le user
postgres - su - postgres) qui lit l'emplacement de ces deux parametre et
l'installe dans le repertoire approprie. Idealement, avec un serveur bien
structurer, il est preferable de placer nos bases de donnees dans une
partition independante de nos fichiers systeme. En l'occurence, a
l'installation les RPM cree un repertoire dans /var/lib/pgsql (d'ou l'on
initialise les fichier de base et d"ou le proprietaire est postgres).
Ensuite on edite la fichier pg_hba.conf pour configurer les permissions dans
le cas des bases partagees.
Par la suite, il ne reste plus qu'a aller demarrer le runlevel sys (dans
l'env. graphique) et de demarrer le service et de l'inclure dans le runlevel
approprie.

Voila mais c'etait pas evident les premiere heures.

Salutation

REDGE

Hugo Villeneuve <[email protected]> a écrit dans le message :
[email protected]...
>
> Postgres, c'est une database client-server. Il faut que le serveur
> (postmaster) roule sur ta machine pour que les clients (psql, perl Pg.pm
> module, php's postgres extensions,...) fonctionnent.
>
> Les communications local se font à partir du fichier:
>
> /tmp/.s.PGSQL.5432
>
> C'est un UNIX Socket (ca agit comme une connection TCP/IP mais à partir
> d'un nom de fichier).
>
> Est-ce qu'il y a un process "postmaster" qui roule sur ta machine?
>
> Si je me souviens  bien de mon installation de postgres, les instructions
> sont très claire sur comment faire ca.
>
>
> J'ai Slackware alors il faut que je le fasse à la main et ca donne que
> mon fichier /etc/rc.d/rc.local contient (bien sur, ça depend où tu
> installe postgres et le nom de l'usager que tu as creer pour postgres):
>
> if [ -x /usr/local/pgsql/bin/postmaster ]; then
>   rm -f /tmp/.s.PGSQL.*
>   su - pgsql -c 'exec /usr/local/pgsql/bin/postmaster \
>      -D/usr/local/pgsql/data \
>      -S -o -F >/usr/local/pgsql/server.log' &
>   echo "Starting postmaster (PostgreSQL server)
> fi
>
>
> Avec une distribution comme RedHat, si tu installe depuis sources, tu vas
> peut-être avoir besoin de copier un script, qui est probablement donné en
> exemple, dans /etc/rc.d/init.d et de faire les liens pour que le démarrage
> se fasse dans les bon run-level.
>
>
>
>
> Hugo
>
> On Tue, Apr 18, 2000 at 06:33:06AM -0400, Redge wrote:
> >
> > Objet: Toujours le même message
> > Date : 18 avril, 2000 06:31
> >
> > J'ai essayé la commande concernant createuser ou createdb en mode su
> > postgres. J'ai toujours le même message d'erreur:
> >
> > Connection to database 'template1' failed.
> > connectDB() failed: Is the postmaster running and accepting connection
at
> > 'UNIX Socket' on port '5432'?
> >
> >
> > Voilà !
> >
> > Redge
> >