CREATE SCHEMA — 새 토토 결과 정의
토토 결과 생성schema_name[ 승인역할_사양] [schema_element[ ... ] ] 토토 결과 승인 생성역할_사양[schema_element[ ... ] ] 존재하지 않는 경우 토토 결과 생성schema_name[ 승인역할_사양] 존재하지 않는 경우 토토 결과 생성 승인역할_사양어디에서역할_사양다음과 같을 수 있습니다:사용자_이름| CURRENT_ROLE | CURRENT_USER | SESSION_USER
토토 결과 생성현재 데이터베이스에 새 스키마를 입력합니다. 스키마 이름은 현재 데이터베이스의 기존 스키마 이름과 달라야 합니다.
스키마는 본질적으로 네임스페이스입니다. 여기에는 다른 스키마에 존재하는 다른 개체의 이름과 중복될 수 있는 명명된 개체(테이블, 데이터 유형, 함수 및 연산자)가 포함되어 있습니다. 명명된 객체는 다음 중 하나로 액세스됩니다.“적격”토토 결과 이름을 접두어로 사용하거나 원하는 토토 결과를 포함하는 검색 경로를 설정하여 해당 이름을 검색합니다. 갑만들기규정되지 않은 개체 이름을 지정하는 명령은 현재 스키마(함수로 결정할 수 있는 검색 경로 앞에 있는 스키마)에 개체를 생성합니다.현재_스키마).
선택적으로,토토 결과 생성새 스키마 내에서 객체를 생성하는 하위 명령을 포함할 수 있습니다. 하위 명령은 기본적으로 토토 결과 생성 후 실행된 별도의 명령과 동일하게 처리됩니다.승인절이 사용되면 생성된 모든 객체는 해당 사용자의 소유가 됩니다.
schema_name생성될 토토 결과의 이름. 이것이 생략되면,사용자_이름스키마 이름으로 사용됩니다. 이름은 다음으로 시작할 수 없습니다.pg_, 이러한 이름은 시스템 토토 결과용으로 예약되어 있습니다.
사용자_이름새 스키마를 소유하게 될 사용자의 역할 이름. 생략하면 기본값은 명령을 실행하는 사용자입니다. 다른 역할이 소유한 스키마를 생성하려면 다음을 수행할 수 있어야 합니다.역할 설정그 역할에.
schema_element스키마 내에서 생성될 개체를 정의하는 SQL 문입니다. 현재는 만테이블 생성, 보기 만들기, 색인 생성, 시퀀스 생성, 트리거 생성그리고그랜트내 조항으로 허용됩니다.토토 결과 생성. 토토 결과가 생성된 후 별도의 명령으로 다른 종류의 객체가 생성될 수 있습니다.
존재하지 않는 경우동일한 이름을 가진 스키마가 이미 존재하는 경우 아무것도 하지 마십시오(통지 발행 제외).schema_element이 옵션을 사용하면 하위 명령을 포함할 수 없습니다.
스키마를 생성하려면 호출하는 사용자는 다음을 가지고 있어야 합니다.만들기현재 데이터베이스에 대한 권한입니다. (물론 슈퍼유저는 이 검사를 우회합니다.)
토토 결과 생성:
스키마 마이토토 결과 생성;
사용자를 위한 토토 결과 생성조; 토토 결과 이름도 지정됩니다.조:
스키마 승인 생성 joe;
다음 이름의 토토 결과 생성테스트사용자가 소유하게 됩니다조(이미 이름이 지정된 토토 결과가 없는 경우)테스트. (여부는 중요하지 않습니다.조기존 토토 결과를 소유합니다.)
존재하지 않는 경우 토토 결과 생성 테스트 승인 joe;
토토 결과를 생성하고 그 안에 테이블과 뷰를 생성하십시오:
SCHEMA 헐리우드 생성
CREATE TABLE 영화(제목 텍스트, 개봉일, 수상 텍스트[])
AS 수상자 보기 만들기
타이틀 선택, 수상 경력이 NULL이 아닌 영화에서 개봉;
개별 하위 명령은 세미콜론으로 끝나지 않습니다.
다음은 동일한 결과를 달성하는 동등한 방법입니다:
SCHEMA 헐리우드 생성;
CREATE TABLE hollywood.films (타이틀 텍스트, 개봉일, 수상 텍스트[]);
hollywood.winners AS 보기 만들기
타이틀 선택, 수상 경력이 NULL이 아닌 hollywood.films에서 출시;
SQL 표준은 다음을 허용합니다.기본 문자 세트절토토 결과 생성및 현재 허용되는 것보다 더 많은 하위 명령 유형포스트그레SQL.
SQL 표준은 다음의 하위 명령을 지정합니다.토토 결과 생성어떤 순서로도 나타날 수 있습니다. 현재PostgreSQL구현은 하위 명령에서 전방 참조의 모든 경우를 처리하지 않습니다. 전방 참조를 피하기 위해 하위 명령을 다시 정렬해야 하는 경우도 있습니다.
SQL 표준에 따르면 토토 결과 소유자는 항상 토토 결과 내의 모든 개체를 소유합니다.PostgreSQL스키마 소유자가 아닌 사용자가 소유한 개체를 스키마에 포함할 수 있습니다. 이는 스키마 소유자가 다음을 부여한 경우에만 발생할 수 있습니다.만들기자신의 토토 결과에 대한 권한을 다른 사람에게 부여하거나 수퍼유저가 토토 결과에 개체를 생성하도록 선택합니다.
그존재하지 않는 경우옵션은 aPostgreSQL확장.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.