2009-02-27 5 views
19

Quelqu'un pourrait me aider à renommer la base de données en postgresql à partir du shell Linuxbase de données de changement de nom dans psql

ALTER DATABASE name RENAME TO newname 

La déclaration ci-dessus n'exécute pas

+1

CountZero m'a battu mais oui, vous devez vous assurer que personne (y compris vous-même) n'est connecté à la base de données lors de son changement de nom. Par exemple. pour renommer la base de données "xyz", connectez-vous à la base de données par défaut "posgtres" et lancez "ALTER DATABASE xyz RENAME TO abc" à partir de là. – vladr

+4

Veuillez coller ici le message d'erreur que vous obtenez. "N'exécute pas" ne suffit pas. –

+0

+1 message d'erreur! – richo

Répondre

3

Vous pourriez avoir besoin priviliges à renmae db. Seul le propriétaire de la base de données ou le super utilisateur peut le faire, le propriétaire a également besoin d'un privilège createdb.

également la base de données que vous êtes connecté à ne peut pas être renommé, vous devez vous connecter à un autre un

+0

C'était le problème pour moi. J'étais connecté à la base de données que j'essayais de renommer. – TimE

19

Quelle version de postgresql? A partir du 8.1 Documentation:

ALTER DATABASE nom RENAME TO nouveaunom;

Seul le propriétaire de la base de données ou un super-utilisateur peut renommer une base de données; les propriétaires non-super-utilisateur doivent également posséder le privilège CREATEDB . La base de données en cours ne peut pas être renommée . (Connectez-vous à une base de données différente si vous avez besoin de le faire.)

-6

Ci-dessous donné sont les étapes pour renommer la base de données PostgreSQL.

1) Cliquez avec le bouton droit sur la base de données et choisissez Actualiser.
2) Faites un nouveau clic droit et choisissez l'option Propriétés.
3) Sous l'onglet Propriétés, vous pouvez changer le nom avec celui que vous désirez.

10

Cela peut être une question stupidement évidente. Courez-vous psql en tant qu'utilisateur postgres?

par exemple.

$ sudo -u postgres psql 
# alter database FOO rename to BAR; 
# \q 
0

Vous ne pouvez pas renommer une base de données à laquelle vous êtes connecté. Assurez-vous que vous êtes déconnecté avant de modifier le nom de la base de données. Dans PGAdmin, vous pouvez simplement cliquer avec le bouton droit de la souris sur la base de données elle-même, accéder aux propriétés et la renommer à partir de là. Comme d'autres l'ont souligné, vous pouvez également essayer la commande: ALTER BASE DE DONNEES (NOM DE DB) RENAME TO (NOUVEAU DB NAME);

Questions connexes