2009-02-27 11 views
19

Podría alguien ayudarme a cambiar el nombre de la base de datos en PostgreSQL desde la shell de Linuxbase de datos de cambio de nombre en psql

ALTER DATABASE name RENAME TO newname 

La declaración anterior no ejecuta

+1

CountZero me ganó, pero sí, debe asegurarse de que nadie (incluido usted) esté conectado a la base de datos al renombrarlo. P.ej. para cambiar el nombre de la base de datos "xyz", conéctese a la base de datos predeterminada "posgtres" y emita "ALTER DATABASE xyz RENAME TO abc" desde allí. – vladr

+4

Por favor pegue aquí el mensaje de error que recibe. "No ejecuta" no es suficiente. –

+0

+1 mensaje de error! – richo

Respuesta

3

Es posible que tenga privilegios a renmae db. Solo el propietario de db o superusuario puede hacerlo, el propietario también necesita un privilegio createdb.

también la base de datos que estés conectado con no puede cambiar el nombre, tiene que conectarse a una diferente

+0

Este fue el problema para mí. Estaba conectado a la base de datos que estaba tratando de cambiar el nombre. – TimE

19

¿Qué versión de PostgreSQL? Del 8.1 Documentation:

ALTER DATABASE nombre RENAME A newname;

Solo el propietario de la base de datos o un superusuario puede cambiar el nombre de una base de datos; los propietarios que no sean superusuarios también deben tener el privilegio CREATEDB . La base de datos actual no puede renombrarse. (Se conecta a una base de datos diferente si necesita hacer eso.)

-6

A continuación dado son los pasos para cambiar el nombre de la base de datos en PostgreSQL.

1) Haga clic derecho en la base de datos y elija actualizar.
2) Haga clic derecho de nuevo y elija la opción de propiedades.
3) En la pestaña de propiedades, puede cambiar el nombre con el que desee.

10

Esto puede ser una pregunta estúpidamente obvia. ¿Estás ejecutando psql como el usuario postgres?

p. Ej.

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

No se puede cambiar el nombre de una base de datos a la que está conectado. Asegúrese de estar desconectado antes de cambiar el nombre db. En PGAdmin, puede hacer clic derecho sobre la base de datos, ir a propiedades y cambiarle el nombre desde allí. Como han señalado otros, también puede intentar el comando: ALTER DATABASE (NOMBRE DE DB) RENAME A (NUEVO NOMBRE DE DB);

Cuestiones relacionadas