이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 와이즈 토토 생성버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

만들기 스키마

이름

CREATE SCHEMA -- 새 스키마 정의

시놉시스

스키마 롤 토토스키마이름[ 승인사용자 이름 ] [ schema_element[ ... ] ]
스키마 승인 롤 토토사용자 이름 [ schema_element [ ... ] ]

설명

스키마 롤 토토새 스키마를 입력합니다 현재 데이터베이스에. 스키마 이름은 다음과 달라야 합니다. 현재 데이터베이스에 있는 기존 스키마의 이름입니다.

스키마는 본질적으로 네임스페이스입니다. 명명된 개체를 포함합니다. (테이블, 데이터 유형, 함수 및 연산자) 이름을 지정할 수 있습니다. 다른 스키마에 존재하는 다른 개체의 개체를 복제합니다. 명명됨 객체는 다음 중 하나에 의해 액세스됩니다."적격"그들의 이름과 스키마 이름 접두사를 사용하거나 원하는 내용을 포함하는 검색 경로를 설정하여 스키마. 에이만들기명령 지정 규정되지 않은 개체 이름은 현재 개체를 롤 토토합니다. 스키마(검색 경로 앞에 있는 스키마) 함수로 결정됨current_schema).

선택적으로,스키마 롤 토토포함 가능 새 스키마 내에서 객체를 롤 토토하는 하위 명령입니다. 는 하위 명령은 기본적으로 별도의 명령과 동일하게 처리됩니다. 스키마를 롤 토토한 후에 발급됩니다. 단, 다음과 같은 경우는 제외됩니다.승인절을 사용하면 모든 항목이 롤 토토됩니다. 객체는 해당 사용자의 소유가 됩니다.

매개변수

스키마이름

롤 토토될 스키마의 이름. 이것을 생략하면,사용자 이름이(가) 다음으로 사용됩니다. 스키마 이름. 이름은 다음으로 시작할 수 없습니다.pg_, 이러한 이름은 시스템용으로 예약되어 있습니다. 스키마.

사용자 이름

새 스키마를 소유하게 될 사용자의 역할 이름. 생략하면 기본값은 명령을 실행하는 사용자입니다. 받는 사람 다른 역할이 소유한 스키마를 롤 토토하려면 직접 역할을 수행해야 합니다. 또는 해당 역할의 간접 구성원이거나 슈퍼유저여야 합니다.

schema_element

롤 토토될 개체를 정의하는 SQL 문 스키마. 현재는 만만들기 표, 보기 만들기, 색인 롤 토토, 시퀀스 롤 토토, 만들기 트리거그리고그랜트있습니다 내의 조항으로 허용됩니다.만들기 스키마. 다른 종류의 객체는 다음에서 롤 토토될 수 있습니다. 스키마가 롤 토토된 후 별도의 명령을 실행합니다.

참고

스키마를 롤 토토하려면 호출하는 사용자에게 다음이 있어야 합니다.롤 토토현재 데이터베이스에 대한 권한입니다. (의 물론 슈퍼유저는 이 검사를 우회합니다.)

스키마 롤 토토:

스키마 myschema 롤 토토;

사용자를 위한 스키마 롤 토토; 는 스키마 이름도 지정됩니다.:

스키마 승인 롤 토토 joe;

스키마를 롤 토토하고 그 안에 테이블과 뷰를 롤 토토하십시오:

SCHEMA 헐리우드 롤 토토
    CREATE TABLE 영화(제목 텍스트, 개봉일, 수상 텍스트[])
    AS 수상자 보기 만들기
        타이틀 선택, 수상 경력이 NULL이 아닌 영화에서 개봉;

개별 하위 명령은 다음으로 끝나지 않습니다. 세미콜론.

다음은 동일한 작업을 수행하는 동등한 방법입니다. 결과:

SCHEMA 헐리우드 롤 토토;
CREATE TABLE hollywood.films (타이틀 텍스트, 개봉일, 수상 텍스트[]);
hollywood.winners AS 보기 만들기
    타이틀 선택, 수상 경력이 NULL이 아닌 hollywood.films에서 출시;

호환성

SQL 표준은 다음을 허용합니다.기본값 문자 집합다음 절만들기 스키마및 현재보다 더 많은 하위 명령 유형 에서 수락함PostgreSQL.

SQL 표준은 다음의 하위 명령을 지정합니다.스키마 롤 토토어떤 순서로도 나타날 수 있습니다. 현재PostgreSQL구현은 하위 명령에서 전방 참조의 모든 경우를 처리하지는 않습니다. 그것 때로는 하위 명령을 순서대로 다시 정렬해야 할 수도 있습니다. 전방 참조를 피하기 위해.

SQL 표준에 따르면 스키마 소유자는 항상 그 안에 있는 모든 개체를 소유합니다.PostgreSQL스키마에 객체가 포함될 수 있도록 허용합니다. 스키마 소유자가 아닌 사용자가 소유합니다. 이런 일이 일어날 수 있습니다 스키마 소유자가 다음을 부여하는 경우롤 토토자신의 스키마에 대한 권한을 다른 사람에게 부여하거나 수퍼유저가 선택함 그 안에 객체를 롤 토토합니다.