젠 토토는 SQL 객체의 이름이 지정된 모음입니다 ("젠 토토 개체"); 모든 젠 토토 개체 (테이블, 기능 등)는 하나의 젠 토토에 속합니다. an 젠 토토 서버에 연결하는 응용 프로그램은 연결이 원하는 젠 토토 이름을 요청합니다. 연결하십시오. 둘 이상의 젠 토토에 액세스 할 수 없습니다. 연결 당. (그러나 응용 프로그램은 제한되지 않습니다 동일하거나 다른 연결 수 젠 토토.)
참고 : SQL전화 젠 토토"카탈로그"이지만 있습니다 실제로는 차이가 없습니다.
젠 토토를 만들거나 삭제하기 위해Postgres PostmasterUP가 진행되어야합니다 (참조PostgreSQL : 문서 : 7.1 : 메이저 토토 사이트 서버 메이저 토토 사이트).
젠 토토는 쿼리 언어 명령으로 생성됩니다젠 토토 생성:
젠 토토 생성이름여기서이름를 선택할 수 있습니다 자유로이. (현재 구현에 따라 기본 운영 체제에 특별한 문자 금지 될 수 있습니다. 이를 위해 런타임 검사가있을 것입니다.) 현재 사용자는 자동으로 새 데이터베이스의 소유자가됩니다. 데이터베이스 소유자가 나중에 제거하는 것이 특권입니다. on (또한 모든 객체를 제거합니다. 다른 소유자).
젠 토토 생성은 제한된 작업입니다. 보다섹션 7.1.1어떻게 허가를 부여합니다.
부트 스트랩.연결해야하므로 젠 토토 서버를 실행하려면젠 토토 생성명령에 따라 질문이 남아 있습니다 어떻게첫 번째주어진 데이터베이스 사이트를 만들 수 있습니다. 첫 번째 데이터베이스는 항상 생성됩니다 그만큼initdb데이터가있을 때 명령하십시오 스토리지 영역이 초기화됩니다. (보다섹션 3.2.)이 젠 토토는입니다 라고 불리는Template1삭제. 그래서 첫 번째를 만들려면"Real"연결할 수있는 젠 토토Template1.
이름"Template1"사고 : 새 젠 토토가 만들어지면 템플릿 젠 토토 본질적으로 복제됩니다. 이것은 당신이하는 모든 변화를 의미합니다Template1모든 사람에게 전파됩니다 이후에 젠 토토가 생성되었습니다. 이것은 당신이해야한다는 것을 의미합니다 실제 작업을 위해 템플릿 젠 토토를 사용하지 않지만 사용시 신중 하게이 기능은 편리 할 수 있습니다.
추가 편의성으로서, 당신은 또한 프로그램도 있습니다. 새 젠 토토를 만들기 위해 쉘에서 실행할 수 있습니다.createb.
createbdbnamecreateb마법은 없습니다. 연결됩니다 Template1 데이터베이스에에젠 토토 생성명령, 위에서 설명한대로 정확히. 사용PSQL내부적으로 프로그램. 작성된 참조 페이지에는 호출 세부 정보가 포함되어 있습니다. ~ 안에 특히, 인수없이 작성된 B는 데이터베이스를 생성합니다 현재 사용자 이름으로 원하는 것이 될 수도 있고 아닐 수도 있습니다.
다른 위치에 젠 토토를 만들 수 있습니다. 기본값보다. 모든 젠 토토 액세스가 발생합니다 젠 토토 서버 백엔드를 통해 모든 위치 지정된 백엔드에 의해 접근 할 수 있어야합니다.
대체 데이터베이스 위치는 an에 의해 참조됩니다 환경 변수 의도 된 스토리지 위치. 이 환경 변수가 있어야합니다 백엔드가 시작되기 전에 정의되었습니다. 유효한 환경 변수 이름을 사용하여 참조 할 수 있습니다 대체 위치, 변수 이름을 사용하지만 접두사pgdata혼란과 다른 변수와의 충돌을 피하십시오.
서버 환경에서 변수를 생성하려면 프로세스 먼저 서버를 종료하고 정의해야합니다. 변수, 데이터 영역을 초기화하고 마지막으로 다시 시작하십시오 섬기는 사람. (보다PostgreSQL :andPostgreSQL : 문서 : 7.1 : 메이저 토토 사이트 서버 메이저 토토 사이트.) 환경 변수를 설정하려면 유형
Bourne Shells, 또는CSH 또는 TCSH에서. 당신은 이것을 확인해야합니다 환경 변수는 항상 서버에서 정의됩니다 환경, 그렇지 않으면 액세스 할 수 없습니다 데이터 베이스. 그러므로 당신은 아마 어떤 종류로 그것을 설정하고 싶을 것입니다 쉘 시작 파일 또는 서버 시작 스크립트.에서 데이터 저장 영역을 만들려면pgdata2/home/postgres이미 존재하며 기록 할 수 있습니다 서버를 실행하는 사용자 계정에 따라 (참조섹션 3.1). 그런 다음 명령 줄, 유형
서버를 다시 시작할 수 있습니다.새 위치에서 젠 토토를 만들려면 명령
젠 토토 생성이름with location = '위치'여기서위치is 사용한 환경 변수,pgdata2in 이 예. 그만큼createb명령이 있습니다 옵션-d이 목적을 위해.
이를 사용하여 대체 위치에서 생성 된 데이터베이스 메소드에 액세스하고 다른 것과 마찬가지로 떨어질 수 있습니다 데이터 베이스.
참고 :지정할 수도 있습니다 직접 절대 경로생성 데이터 베이스환경을 정의하지 않고 명령 변수. 이것은 기본적으로 허용되지 않습니다 보안 위험. 허용하려면 컴파일해야PostgresC 전 처리기와 함께 매크로allow_absolute_dbpaths정의. 이를 수행하는 한 가지 방법은 컴파일을 실행하는 것입니다. 다음과 같은 단계 :Gmake cppflags = -dallow_absolute_dbpaths all.