2012-04-18 26 views
16

Adın ortasında createdb ile tire içeren bir veritabanı oluşturuyorum.Geçerli bir PostgreSQL veritabanı adı nedir?

ALTER DATABASE my-database SET SCHEMA = myschema,public;

psql ya da yakınında bir sözdizimi hatası şikayet "-"

: O başarıyla veritabanı oluşturur, ama böyle bir komut çalışırsanız psql interaktif client içinde, bir sözdizimi hatası alıyorum

Geçerli bir PostgreSQL veritabanı adı olarak sayılanlar için bazı belgeler var mı?

Tireler yerine yalnızca alt çizgi çizmeli miyim?

cevap

11

çift tırnak koyarak deneyin:

ALTER DATABASE "my-database" SET SCHEMA = myschema,public;

+0

Yani veritabanı adlarında tire koymak için hoş karşılanmaz değil mi? – dan

+3

Şahsen olmazdım, ancak adlandırma kuralları üzerine yapılan tartışmalar, yığındaki başka yerlerde de belgelenmiştir. –

1

Bir sorunla karşılaştım ve yukarıdaki cevaplar bana yardımcı oldu. Yani dbname üzerinde paylaşım senaryosu

Senaryo: PG admin III kullanarak veritabanı adını değiştirmeye çalıştım. Benim veritabanı adı My_Database

sorgular altında koşuyordu başarısız oldu:

ALTER DATABASE My_Database RENAME TO dba; 
ALTER DATABASE [My_Database] RENAME TO dba; 

ALTER DATABASE 'My_Database' RENAME TO dba; 

Sonra ben aşağıda çalıştı ve onun başarılı

ALTER DATABASE "My_Database" RENAME TO dba; 
İlgili konular