voila je rencontre quelque soucis dans l'installation de postgresql,
apres l'install et l'initdb avec un user postgres et pas root,
lorsque je fait un psql, j'ai un message d'erreur;
"psql: FATAL: Database "postgres" does not exist in the system catalog."
si vous en connaissez la source ou si vous avez un lien fr-anglais, qui
indique une bonne procedure d'install, parce que sur le site meme de
postegresql, c'est pas vraiment la joie pour trouver l'info...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Vincent VAQUIN
guillespie wrote:
Hello tout le monde, apres l'install et l'initdb avec un user postgres et pas root, lorsque je fait un psql, j'ai un message d'erreur; "psql: FATAL: Database "postgres" does not exist in the system catalog."
La syntaxe minimum de psql en local c'est : psql nom-de-la-base-de-données nom-de-l'utilisateur
Tu dois oublier de mentionner, en deuxième paramètre, le nom de la base de données (tu dois taper psql postgres). Pour info, la base de données par défaut de Postgres s'appelle template1. Essaie donc : psql template1 postgres
guillespie wrote:
Hello tout le monde,
apres l'install et l'initdb avec un user postgres et pas root,
lorsque je fait un psql, j'ai un message d'erreur;
"psql: FATAL: Database "postgres" does not exist in the system
catalog."
La syntaxe minimum de psql en local c'est :
psql nom-de-la-base-de-données nom-de-l'utilisateur
Tu dois oublier de mentionner, en deuxième paramètre, le nom de la base
de données (tu dois taper psql postgres).
Pour info, la base de données par défaut de Postgres s'appelle
template1.
Essaie donc :
psql template1 postgres
Hello tout le monde, apres l'install et l'initdb avec un user postgres et pas root, lorsque je fait un psql, j'ai un message d'erreur; "psql: FATAL: Database "postgres" does not exist in the system catalog."
La syntaxe minimum de psql en local c'est : psql nom-de-la-base-de-données nom-de-l'utilisateur
Tu dois oublier de mentionner, en deuxième paramètre, le nom de la base de données (tu dois taper psql postgres). Pour info, la base de données par défaut de Postgres s'appelle template1. Essaie donc : psql template1 postgres
dominique becaert
La syntaxe minimum de psql en local c'est : psql nom-de-la-base-de-données nom-de-l'utilisateur
Ah ? Cela doit dépendre des versions ... J'ai une machine au boulot, je pense que le postgresql doit être d'époque avec la Mandrake 6.1 qui tourne dessus, et la syntaxe ne nécessite qu'un seul paramètre : le nom de la base. -- Jusqu'ici, tout va bien ...
La syntaxe minimum de psql en local c'est :
psql nom-de-la-base-de-données nom-de-l'utilisateur
Ah ? Cela doit dépendre des versions ...
J'ai une machine au boulot, je pense que le postgresql doit être
d'époque avec la Mandrake 6.1 qui tourne dessus, et la syntaxe ne
nécessite qu'un seul paramètre : le nom de la base.
--
Jusqu'ici, tout va bien ...
La syntaxe minimum de psql en local c'est : psql nom-de-la-base-de-données nom-de-l'utilisateur
Ah ? Cela doit dépendre des versions ... J'ai une machine au boulot, je pense que le postgresql doit être d'époque avec la Mandrake 6.1 qui tourne dessus, et la syntaxe ne nécessite qu'un seul paramètre : le nom de la base. -- Jusqu'ici, tout va bien ...
Vincent VAQUIN
dominique becaert wrote:
La syntaxe minimum de psql en local c'est : psql nom-de-la-base-de-données nom-de-l'utilisateur
Ah ? Cela doit dépendre des versions ... J'ai une machine au boulot, je pense que le postgresql doit être d'époque avec la Mandrake 6.1 qui tourne dessus, et la syntaxe ne nécessite qu'un seul paramètre : le nom de la base.
Et bien essaie "psql template1", il est possible que ça marche.
Le problème potentiel c'est que si ton user unix n'existe pas en tant qu'user Postgresql, on te répondra "user XX does not exist". L'utilisateur portant le nom "postgres" est créé par défaut à l'installation de Postgresql précisement pour pouvoir se connecter à la base même si personne n'a encore créé les utilisateurs postgresql.
Donc "psql template1" ne fonctionnera que si l'administrateur de la base a créé un utilisateur référencé possédant le même nom que l'utilisateur unix. En effet, si tu n'indiques pas de nom d'utilisateur, la syntaxe : "psql ma-base" tentera une connexion à "ma-base" avec le nom de l'utilisateur unix qui a lancé la commande. Autrement dit, si tu es connecté en tant que "toto", "psql ma-base" est équivalent à "psql ma-base toto".
Or je subodore que si tu utilises "postgres" c'est que c'est censé représenter le nom d'utilisateur, pas le nom de la base.
De toute façon, puisque tu obtiens : "psql: FATAL: Database "postgres" does not exist in the system catalog." c'est bien que tu dois saisir "psql postgres" puisque le premier paramètre c'est le nom de la base. Car si tu tapes "psql base_inexistante utilisateur_inexistant" psql bloque en renvoyant "Database does not exist", il ne renvoie pas de message sur le nom d'utilisateur, il s'arrête à la première erreur.
NB : Il serait très vicieux d'appeler une base "postgres"... Parce que pour se mélanger les pinceaux entre le nom de la base et l'utilisateur par défaut ça serait vraiment l'idéal !
<hypothèse invraisemblable> Maintenant y'a peut-être un admin vicieux qui a créé une base portant le nom de postgres.... A tester avec "psql postgres postgres" Mais là, l'admin de la base, il est un peu... étrange... </hypothèse invraisemblable>
dominique becaert wrote:
La syntaxe minimum de psql en local c'est :
psql nom-de-la-base-de-données nom-de-l'utilisateur
Ah ? Cela doit dépendre des versions ...
J'ai une machine au boulot, je pense que le postgresql doit être
d'époque avec la Mandrake 6.1 qui tourne dessus, et la syntaxe ne
nécessite qu'un seul paramètre : le nom de la base.
Et bien essaie "psql template1", il est possible que ça marche.
Le problème potentiel c'est que si ton user unix n'existe pas en tant
qu'user Postgresql, on te répondra "user XX does not exist".
L'utilisateur portant le nom "postgres" est créé par défaut à
l'installation de Postgresql précisement pour pouvoir se connecter à la
base même si personne n'a encore créé les utilisateurs postgresql.
Donc "psql template1" ne fonctionnera que si l'administrateur de la base
a créé un utilisateur référencé possédant le même nom que l'utilisateur
unix.
En effet, si tu n'indiques pas de nom d'utilisateur, la syntaxe :
"psql ma-base" tentera une connexion à "ma-base" avec le nom de
l'utilisateur unix qui a lancé la commande.
Autrement dit, si tu es connecté en tant que "toto",
"psql ma-base" est équivalent à "psql ma-base toto".
Or je subodore que si tu utilises "postgres" c'est que c'est censé
représenter le nom d'utilisateur, pas le nom de la base.
De toute façon, puisque tu obtiens :
"psql: FATAL: Database "postgres" does not exist in the system
catalog."
c'est bien que tu dois saisir "psql postgres" puisque le premier
paramètre c'est le nom de la base.
Car si tu tapes
"psql base_inexistante utilisateur_inexistant"
psql bloque en renvoyant "Database does not exist", il ne renvoie pas de
message sur le nom d'utilisateur, il s'arrête à la première erreur.
NB : Il serait très vicieux d'appeler une base "postgres"...
Parce que pour se mélanger les pinceaux entre le nom de la base et
l'utilisateur par défaut ça serait vraiment l'idéal !
<hypothèse invraisemblable>
Maintenant y'a peut-être un admin vicieux qui a créé une base portant le
nom de postgres....
A tester avec "psql postgres postgres"
Mais là, l'admin de la base, il est un peu... étrange...
</hypothèse invraisemblable>
La syntaxe minimum de psql en local c'est : psql nom-de-la-base-de-données nom-de-l'utilisateur
Ah ? Cela doit dépendre des versions ... J'ai une machine au boulot, je pense que le postgresql doit être d'époque avec la Mandrake 6.1 qui tourne dessus, et la syntaxe ne nécessite qu'un seul paramètre : le nom de la base.
Et bien essaie "psql template1", il est possible que ça marche.
Le problème potentiel c'est que si ton user unix n'existe pas en tant qu'user Postgresql, on te répondra "user XX does not exist". L'utilisateur portant le nom "postgres" est créé par défaut à l'installation de Postgresql précisement pour pouvoir se connecter à la base même si personne n'a encore créé les utilisateurs postgresql.
Donc "psql template1" ne fonctionnera que si l'administrateur de la base a créé un utilisateur référencé possédant le même nom que l'utilisateur unix. En effet, si tu n'indiques pas de nom d'utilisateur, la syntaxe : "psql ma-base" tentera une connexion à "ma-base" avec le nom de l'utilisateur unix qui a lancé la commande. Autrement dit, si tu es connecté en tant que "toto", "psql ma-base" est équivalent à "psql ma-base toto".
Or je subodore que si tu utilises "postgres" c'est que c'est censé représenter le nom d'utilisateur, pas le nom de la base.
De toute façon, puisque tu obtiens : "psql: FATAL: Database "postgres" does not exist in the system catalog." c'est bien que tu dois saisir "psql postgres" puisque le premier paramètre c'est le nom de la base. Car si tu tapes "psql base_inexistante utilisateur_inexistant" psql bloque en renvoyant "Database does not exist", il ne renvoie pas de message sur le nom d'utilisateur, il s'arrête à la première erreur.
NB : Il serait très vicieux d'appeler une base "postgres"... Parce que pour se mélanger les pinceaux entre le nom de la base et l'utilisateur par défaut ça serait vraiment l'idéal !
<hypothèse invraisemblable> Maintenant y'a peut-être un admin vicieux qui a créé une base portant le nom de postgres.... A tester avec "psql postgres postgres" Mais là, l'admin de la base, il est un peu... étrange... </hypothèse invraisemblable>