2012-04-18 2 views
16

나는 이름의 중간에 하이픈 (createdb)이있는 데이터베이스를 만듭니다.유효한 PostgreSQL 데이터베이스 이름은 무엇입니까?

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

psql에 또는 근처에 구문 오류 호소 "-"

: 즉 데이터베이스를 성공적으로 생성하지만이 같은 명령을 시도 할 경우 psql 대화 형 클라이언트 내에서, 나는 구문 오류

유효한 PostgreSQL 데이터베이스 이름으로 간주되는 것에 대한 문서가 있습니까?

그냥 하이픈 대신 밑줄 표시해야합니까?

답변

11

따옴표에 넣어보십시오 :

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

+0

따라서는 데이터베이스 이름에 하이픈을 넣어 눈살을 찌푸리게 아니에요? – dan

+3

개인적으로는 아니지만 명명 규칙에 대한 논쟁은 다른 곳에서도 잘 설명되어 있습니다. –

1

나는 한 가지 문제에 직면했고 그 답이 나를 도왔다. 그래서 dbname에 대한 시나리오 공유

시나리오 : PG admin III를 사용하여 데이터베이스 이름을 변경하려고했습니다. 내 데이터베이스 이름이 MY_DATABASE

쿼리 아래 실행되고 실패 :

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

ALTER DATABASE 'My_Database' RENAME TO dba; 

그럼 내가 아래 시도하고 성공

ALTER DATABASE "My_Database" RENAME TO dba; 
관련 문제