2009-02-27 14 views
19

Qualcuno mi potrebbe aiutare a rinominare database PostgreSQL dalla shell di Linuxdatabase di rinomina in psql

ALTER DATABASE name RENAME TO newname 

La dichiarazione di cui sopra non esegue

+1

CountZero mi ha battuto ma sì, è necessario assicurarsi che nessuno (incluso te stesso) sia collegato al database quando lo si rinomina. Per esempio. per rinominare il database "xyz", connettersi al database predefinito "posgtres" ed emettere "ALTER DATABASE xyz RENAME TO abc" da lì. – vladr

+4

Si prega di incollare qui il messaggio di errore che si ottiene. "Non esegue" non è abbastanza. –

+0

+1 messaggio di errore! – richo

risposta

3

Potrebbe essere necessario privilegi di renmae db. Solo il proprietario o il superutente db possono farlo, il proprietario ha anche bisogno di un privato createdb.

anche il database entrato in contatto con non può essere rinominato, è necessario collegare ad uno diverso

+0

Questo era il problema per me. Ero connesso al database che stavo cercando di rinominare. – TimE

19

Quale versione di PostgreSQL? Da 8.1 Documentation:

ALTER DATABASE nome RENAME TO newname;

Solo il proprietario del database o un superutente possono rinominare un database; i proprietari di non superuser devono anche avere il privilegio CREATEDB . Il database corrente non può essere rinominato . (Collegare a un diverso database se avete bisogno di fare questo.)

-6

seguito indicati sono i passaggi per rinominare il database in PostgreSQL.

1) Fare clic con il pulsante destro del mouse sul database e scegliere Aggiorna.
2) Fare nuovamente clic con il pulsante destro e selezionare l'opzione Proprietà.
3) Nella scheda delle proprietà, è possibile modificare il nome con quello desiderato.

10

Questa potrebbe essere una domanda stupidamente ovvia. Stai usando psql come utente postgres?

ad es.

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

Non è possibile rinominare un database a cui si è connessi. Assicurati di essere disconnesso prima di cambiare il nome db. In PGAdmin, puoi semplicemente fare clic destro sul database stesso, andare su proprietà e rinominarlo da lì. Come altri hanno sottolineato, si può anche provare il comando: ALTER DATABASE (DB NAME) RINOMINA A (NUOVO NOME DB);