Appel de la commande psql sans sélectionner de base de données


11

La syntaxe du psqlclient de ligne de commande est

psql [option...] [dbname [username]]

Je passe la commande ALTER DATABASE x RENAME to yà cette commande:

echo `ALTER DATABASE x RENAME to y` | psql

Je reçois actuellement l'erreur

psql: FATAL:  database "myuser" does not exist

Il semble que la psqlcommande tente d'ouvrir la base de données avec le même nom que le nom d'utilisateur actuel.

Comment puis-je démarrer la psqlcommande sans sélectionner de base de données?

Modifier :

Une solution de contournement consiste bien sûr simplement à créer une base de données vide pour l'utilisateur.

L'utilisation de la base xde données en tant que paramètre ne fonctionne pas, car cela bloque le renommage.

Réponses:



1

Dans Ubuntu:

sudo -u postgres psql
postgres=# ALTER DATABASE "old" RENAME TO "new";
ALTER DATABASE
postgres=# \q
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.