 installation de postgresql 81 sur debian testing but de ce document ce document me sert de mémo pour installer la base de données postgresql sur une debian testing etch ce mémo a été testé sous debian testing mais il doit être possible de l adapter facilement aux autres distributions linux postgresql est moins connue et moins utilisée que mysql pourtant cette base à des fonctionnalités très intéressantes qui la rend comparable aux bases de données commerciales comme oracle ou db2 prérequis pour installer postgresql il faut installer une debian testing de base  http wwwcoagulorg articlephp3 idarticle 158 installation paquets à installer aptitude install postgresql81 lors de l installation l utilisateur  postgres  est créé automatiquement par défaut le mot de passe de cet utilisateur n est pas connu je conseil de lui en affecter un car cela permet de passer sous l utilisateur postgres sans passer par l utilisateur root passwd postgres pour travailler sur la base de données il faut commencer par se connecter sous le compte de ce nouvel utilisateur su postgres psql interface en ligne de commande pour accéder à postgresql la commande  psql  est une interface en ligne de commandes permettant d accéder et de manipuler une base de données postgresql la commande suivante qu il faut toujours saisir sous le compte  postgres  permet de se connecter à la base de données  template1  installée par défaut psql template1 une fois dans l interface voici quelques commandes utiles donne la liste des commandes h donne la liste des commandes sql h select donne une aide sur la commande sql select l donne la liste des bases de données q pour sortir de l interface la commande suivante permet par exemple de connaître la liste des bases de données psql l gestion des droits d accès à postgresql par défaut pour accéder à postgresql il faut se connecter sous l utilisateur  postgres  pour créer un nouvel utilisateur il faudrait commencer par lui créer un compte sur le système ce qui n est peutêtre pas souhaitable pour changer cette configuration il faut modifier le fichier   etc postgresql pghbaconf  et mettre  password  à la place de  ident sameuser  sur les deux lignes suivantes local all all ident sameuser host all all 127001 255255255255 ident sameuser ce qui donne local all all password host all all 127001 255255255255 password cette modification permet d éviter de passer par des comptes du système et oblige à fournir un mot de passe à chaque connexion création d un nouvel utilisateur la commande  createuser  toujours sous le compte postgres permet de créer un nouvel utilisateur createuser toto shall the new role be a superuser y n n shall the new role be allowed to create databases y n y shall the new role be allowed to create more new roles y n n create role par défaut le nouvel utilisateur n a pas de mot de passe et il n est donc pas encore possible de l utiliser la commande suivante permet de définir ce mot de passe psql d template1 c alter user toto with password motdepasse la commande suivante permet de vérifier que cet utilisateur est correctement reconnu psql l u toto mot de passe liste des bases de données nom propriétaire encodage template0 postgres latin9 template1 postgres latin9 création d une base de données la commande suivante permet de créer la base de données  mabase  pour l utilisateur  toto  en utilisant l encodage  unicode  createdb o toto e unicode mabase create database remarque  si le test échoue essayez de redémarrer postgresql etc initd postgresql81 restart  affectation d un mot de passe pour l utilisateur postgres l utilisateur postgres est le superutilisateur de la base de données postgresql il est donc important de lui donner un mot de passe car par défaut celuici n en pas pour créer ce mot de passe nous allons utiliser la commande psql présenté au chapitre précédent psql d mabase c alter user postgres with password lemotdepasse remarque 1 le mot de passe de l utilisateur système de postgres créé à l installation peutêtre différent du mot de passe de l utilisateur postgres de la base de données remarque 2 pour faire fonctionner les clients web ou les clients graphiques présentés aux chapitres suivant il est obligatoire de définir un mot de passe pour postgres  phppgadmin interface web pour accéder à postgresql dans le même style que le célèbre  phpmyadmin  il existe  phppgadmin  pour manipuler une base de données postgresql à partir d une interface web en php avant d installer  phppgadmin  il est nécessaire d avoir un serveur web php opérationnel pour installer apache et php vous pouvez vous aider de ce mémo  http wwwcoagulorg articleimprimephp3 idarticle 169 paquet à installer aptget install phppgadmin remarque 1  pour que le site soit accessible j ai dû reconfigurer le paquet avant de pouvoir l utiliser lors de cette configuration il faut lui indiquer le serveur web à utiliser dpkgreconfigure phppgadmin remarque 2  j ai dû également reconfigurer apache et le php pour qu ils prennent en compte postgresql dpkgreconfigure php4pgsql etc initd apache2 restart  accès en local si vous avez un navigateur web installé sur le serveur vous pouvez saisir l adresse suivante http localhost phppgadmin  accès depuis le réseau pour pouvoir accéder à l interface depuis un autre poste du réseau il est nécessaire d autoriser l accès en modifiant le fichier   etc apache2 confd phppgadmin  pour cela il faut ajouter après la ligne  deny from all  une ou plusieurs lignes pour indiquer un masque de sousréseau ou les adresses des postes autorisés pour autoriser deux postes il faut ajouter les adresses ip de ceuxci allow from 19216801 allow from 19216802 pour autoriser un sous réseau il faut ajouter une ligne de ce type allow from 192168002552552550 pour finir il faut redémarrer le serveur apache etc initd apache2 restart enfin il est possible avec le navigateur des postes autorisés d accéder au serveur à l adresse suivante http adresseipduserveur phppgadmin  autoriser le login postgres  pour des raisons de sécurité le login  postgres  n est pas autorisé à accéder à la base de données via  phppgadmin  pour l autoriser il faut modifier le fichier   etc phppgadmin configincphp  dans ce fichier il faut mettre  false  à la ligne suivante conf extraloginsecurity false pgadmin interface graphique pour accéder à postgresql installation du paquet aptitude install pgadmin3 la commande  pgadmin3  ou le menu k debian applications base de données pgadmin iii permettent de lancer le programme une fois le programme lancé il faut utiliser le menu fichier ajouter serveur pour se connecter au serveur postgresql liens pour avoir plus d informations le site francophone de postgresql  http wwwpostgresqlfrorg  historique des modifications version date commentaire 01 280306 création par tony galmiche  installation de postgresql 81 sur debian testing comme promis j ai relu ton article ras  installation de postgresql 81 sur debian testing merci installation de postgresql 81 sur debian testing salut moi j utilise la version 50 d ubuntu et j ai des problèmes lors de ma tentative d installation de postgresql pouvezvous m aider merci d avance installation de postgresql 81 sur debian testing je debute avec postgesql et je trouve que votre article est trés clair bien sequencé cepandant je rencontre un problème au niveau de l installation phppgadmin j ai une permission refusé au fichier etc apache2 confd phppgadmin je ne peut donc pas autorisé l ip de mon serveur comment faire merci installation de postgresql 81 sur debian testing vousêtes sous root  installation de postgresql 81 sur debian testing oui je me log sous root voici le message quand j essai de me connecter sur http adresseip phppgadmin  accès interdit vous n avez pas le droit d accéder à l objet demandé soit celuici est protégé soit il ne peut être lu par le serveur si vous pensez qu il s agit d une erreur du serveur veuillez contacter le gestionnaire du site error 403 adresse ip wed oct 11 183805 2006 apache 2054 debian gnu linux php 431016 modssl 2054 openssl 097e modperl 199921 perl v584 auriezvous une piste  installation de postgresql 81 sur debian testing j ai maintenant accès a phppgadmin mai il ne m execute pas mon code php il est afficher en brute dans ma page comme ceci php main access point to the app id indexphp v 111 20040712 041840 chriskl exp include application functions includeonce libraries libincphp misc printheader php if strcasecmp lang applangdir rtl 0 php else php endif php echo lang strnoframes php misc printfooter false surement un problème de config php mais je ne vois pas   en téléchargement  