Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#1 12/08/2011 16:30:52
- Gold.Strike
- Membre
psql: FATAL: la base de données " ma_baseDest " n'existe pas
Je fais cohabiter 2 versions de Postgre sur mon serveur: une 8.4 et une 9.0
Actuellement, c'est encore la 8.4 qui contient la base "source".
Je crée une copie de données à partir de cette table source, via un batch qui exécute la commande suivante :
C:\PostgreSql\8.4\bin\pg_dump.exe --host %nom_serveur% --port 5432 --username postgres -t table1 -t table2 -t table3 --data-only --file "%rep_save%synchro.backup" ma_baseSource
Je restaure le ficher obtenu, à partir d'un autre batch qui exécute la commande suivante :
C:\PostgreSql\9.0\bin\psql.exe -U postgres -f %rep_save%synchro.backup ma_baseDest
Mais j'obtiens le message suivant :
psql: FATAL: la base de données " ma_baseDest " n'existe pas
Je ne comprends pas pourquoi, je suis sur du nom de ma base...
Hors ligne
#2 12/08/2011 16:40:51
- Gold.Strike
- Membre
Re : psql: FATAL: la base de données " ma_baseDest " n'existe pas
J'ai compris pourquoi, la version de PSQL est bien la 9.0, par contre il pointe sur le serveur 8.4:
WARNING: psql version 9.0, server version 8.4.
Some psql features might not work.
Comment puis je régler ce problème??
Y a t'il un moyen de "spécifier" le serveur avec la commande psql???
Dernière modification par Gold.Strike (12/08/2011 16:43:44)
Hors ligne
#3 12/08/2011 21:48:29
- gleu
- Administrateur
Re : psql: FATAL: la base de données " ma_baseDest " n'existe pas
psql ne pointe pas tout seul vers la 8.4, vous l'avez fait pointer vers la 8.4. Pour que deux serveurs PostgreSQL puissent être exécutés sur le même serveur physique (ou virtuel), ils doivent utiliser des ports différents. Il faut donc trouver les numéros de port de chaque version (vous le verrez dans le fichier postgresql.conf). Et ensuite, utilisez l'option -p pour indiquer le port. Par exemple "psql -p 5433 labase" pour aller sur le serveur de port 5433.
Guillaume.
Hors ligne