토토 베이 생성 — 새 토토 베이 생성
토토 베이 생성이름[ WITH ] [ 소유자 [=]사용자_이름] [ 템플릿 [=]템플릿] [ 인코딩 [=]인코딩] [ 전략 [=]전략] [ 로케일 [=]로케일] [ LC_COLLATE [=]lc_collate] [ LC_CTYPE [=]lc_ctype] [ BUILTIN_LOCALE [=]builtin_locale] [ ICU_LOCALE [=]icu_locale] [ ICU_RULES [=]icu_rules] [ LOCALE_PROVIDER [=]locale_provider] [ COLLATION_VERSION =collation_version] [ 테이블스페이스 [=]테이블스페이스_이름] [ 허용_연결 [=]allowconn] [ 연결 제한 [=]제한제한] [ IS_TEMPLATE [=]istemplate] [ OID [=]oid]
토토 베이 생성새 항목을 생성합니다PostgreSQL토토 베이.
토토 베이를 생성하려면 수퍼유저이거나 특수 권한이 있어야 합니다.CREATEDB특권. 참조역할 생성.
기본적으로 표준 시스템 토토 베이를 복제하여 새 토토 베이가 생성됩니다.템플릿1. 다음을 작성하여 다른 템플릿을 지정할 수 있습니다.템플릿. 특히 다음과 같이 작성하여이름템플릿 템플릿0, 귀하의 버전에서 사전 정의된 표준 개체만 포함하는 원시 토토 베이(사용자 정의 개체가 존재하지 않고 시스템 개체가 변경되지 않은 토토 베이)를 생성할 수 있습니다.PostgreSQL. 이는 추가되었을 수 있는 설치 로컬 개체를 복사하지 않으려는 경우에 유용합니다.템플릿1.
이름 #생성할 데이터베이스의 이름입니다.
사용자_이름 #새 데이터베이스를 소유할 사용자의 역할 이름, 또는기본값기본값(즉, 명령을 실행하는 사용자)을 사용합니다. 다른 역할이 소유한 토토 베이를 생성하려면 다음을 수행할 수 있어야 합니다.역할 설정그 역할에.
템플릿 #새 데이터베이스를 생성할 템플릿의 이름, 또는기본값기본 템플릿을 사용하려면(템플릿1).
인코딩 #새 데이터베이스에서 사용할 문자 세트 인코딩. 문자열 상수를 지정하세요(예:'SQL_ASCII') 또는 정수 인코딩 번호, 또는기본값기본 인코딩(즉, 템플릿 데이터베이스의 인코딩)을 사용합니다. 에서 지원하는 문자 집합PostgreSQL서버에 대한 설명은섹션 23.3.1. 추가 제한사항은 아래를 참조하세요.
전략 #새 토토 베이 생성에 사용할 전략. 만약WAL_LOG전략이 사용되면 데이터베이스는 블록별로 복사되고 각 블록은 미리 쓰기 로그에 별도로 기록됩니다. 이는 템플릿 데이터베이스가 작은 경우 가장 효율적인 전략이므로 기본값입니다. 나이가 많은FILE_COPY전략도 가능합니다. 이 전략은 대상 데이터베이스에서 사용하는 각 테이블스페이스에 대한 미리 쓰기 로그에 작은 레코드를 기록합니다. 이러한 각 레코드는 전체 디렉터리를 파일 시스템 수준의 새 위치로 복사하는 것을 나타냅니다. 이렇게 하면 미리 쓰기 로그 볼륨이 크게 줄어들지만(특히 템플릿 데이터베이스가 큰 경우) 시스템이 새 토토 베이 생성 전후에 검사점을 수행하도록 강제합니다. 어떤 상황에서는 이는 전체 시스템 성능에 눈에 띄게 부정적인 영향을 미칠 수 있습니다.FILE_COPY전략은 다음의 영향을 받습니다.file_copy_method설정.
로케일 #새 데이터베이스의 기본 조합 순서와 문자 분류를 설정합니다. 데이터 정렬은 문자열에 적용되는 정렬 순서에 영향을 미칩니다(예:를 사용한 쿼리).주문 기준및 텍스트 열의 색인에 사용되는 순서. 문자 분류는 문자의 분류(예: 하위, 상위, 숫자)에 영향을 줍니다. 또한 운영 체제 환경과 관련된 측면을 설정합니다.LC_COLLATE그리고LC_CTYPE. 기본값은 템플릿 데이터베이스와 동일한 설정입니다. 참조섹션 23.2.2.3.1그리고섹션 23.2.2.3.2자세한 내용은.
설정으로 재정의 가능lc_collate, lc_ctype, builtin_locale, 또는icu_locale개별적으로.
만약locale_provideris내장그러면로케일또는builtin_locale지정되어야 하며 다음 중 하나로 설정되어야 합니다.C, C.utf-8또는PG_UNICODE_FAST.
기타 로케일 설정lc_messages, lc_monetary, lc_numeric및lc_time은 데이터베이스별로 고정되지 않으며 이 명령으로 설정되지 않습니다. 특정 데이터베이스의 기본값으로 설정하려면 다음을 사용할 수 있습니다.토토 베이 변경...설정.
lc_collate #세트LC_COLLATE데이터베이스 서버의 운영 체제 환경에서. 기본값은의 설정입니다.로케일지정된 경우, 그렇지 않으면 템플릿 데이터베이스와 동일한 설정입니다. 추가 제한사항은 아래를 참조하세요.
만약locale_providerislibc, 또한 새 토토 베이에서 사용할 기본 대조 순서를 설정하여 설정을 재정의합니다.로케일.
lc_ctype #세트LC_CTYPE데이터베이스 서버의 운영 체제 환경에서. 기본값은의 설정입니다.로케일지정된 경우, 그렇지 않으면 템플릿 데이터베이스와 동일한 설정입니다. 추가 제한사항은 아래를 참조하세요.
만약locale_providerislibc, 또한 새 토토 베이에서 사용할 기본 문자 분류를 설정하여 설정을 재정의합니다.로케일.
builtin_locale #데이터베이스 기본 대조 순서 및 문자 분류를 위한 내장 제공자 로케일을 지정하여 설정을 재정의합니다.로케일.로케일 제공자반드시내장. 기본값은의 설정입니다.로케일지정된 경우; 그렇지 않으면 템플릿 데이터베이스와 동일한 설정입니다.
다음에 사용할 수 있는 로케일내장제공자는C, C.utf-8그리고PG_UNICODE_FAST.
icu_locale #ICU 로케일을 지정합니다(참조섹션 23.2.2.3.2) 토토 베이 기본 정렬 순서 및 문자 분류에 대해 설정을 재정의함로케일.로케일 제공자중환자실이어야 합니다. 기본값은의 설정입니다.로케일지정된 경우; 그렇지 않으면 템플릿 데이터베이스와 동일한 설정입니다.
icu_rules #이 데이터베이스의 기본 데이터 정렬 동작을 사용자 정의하기 위해 추가 데이터 정렬 규칙을 지정합니다. 이는 ICU에만 지원됩니다. 참조섹션 23.2.3.4자세한 내용은.
locale_provider #이 데이터베이스의 기본 데이터 정렬에 사용할 공급자를 지정합니다. 가능한 값은 다음과 같습니다.내장, icu(서버가 ICU 지원으로 구축된 경우) 또는libc. 기본적으로 공급자는의 공급자와 동일합니다.템플릿. 참조섹션 23.1.4자세한 내용은.
collation_version #데이터베이스와 함께 저장할 데이터 정렬 버전 문자열을 지정합니다. 일반적으로 이는 생략되어야 하며, 이렇게 하면 운영 체제에서 제공하는 데이터베이스 데이터 정렬의 실제 버전에서 버전이 계산됩니다. 이 옵션은 다음에서 사용하도록 고안되었습니다.pg_upgrade기존 설치에서 버전을 복사합니다.
또한 참조토토 베이 변경토토 베이 대조 버전 불일치를 처리하는 방법에 대해 알아보세요.
테이블스페이스_이름 #새 데이터베이스와 연결될 테이블스페이스의 이름, 또는기본값템플릿 데이터베이스의 테이블스페이스를 사용합니다. 이 테이블스페이스는 이 데이터베이스에서 생성된 객체에 사용되는 기본 테이블스페이스가 됩니다. 참조테이블스페이스 생성더 많은 정보를 원하시면.
allowconn #거짓이면 누구도 이 데이터베이스에 연결할 수 없습니다. 기본값은 true이며 연결을 허용합니다(다음과 같은 다른 메커니즘에 의해 제한되는 경우 제외).그랜트/연결 취소).
제한제한 #이 데이터베이스에 동시에 연결할 수 있는 수입니다. -1(기본값)은 제한이 없음을 의미합니다.
istemplate #참이면 이 데이터베이스는 다음을 사용하는 모든 사용자에 의해 복제될 수 있습니다.CREATEDB특권; false(기본값)인 경우 슈퍼유저 또는 데이터베이스 소유자만 복제할 수 있습니다.
oid #새 데이터베이스에 사용될 개체 식별자. 이 매개변수가 지정되지 않은 경우,PostgreSQL적절한 OID를 자동으로 선택합니다. 이 매개변수는 주로 내부용으로 사용됩니다.pg_upgrade및 만pg_upgrade16384보다 작은 값을 지정할 수 있습니다.
선택적 매개변수는 위에 설명된 순서뿐만 아니라 어떤 순서로도 작성될 수 있습니다.
토토 베이 생성트랜잭션 블록 내에서는 실행할 수 없습니다.
다음 라인에 따른 오류“토토 베이 디렉토리를 초기화할 수 없습니다.”데이터 디렉터리에 대한 권한 부족, 전체 디스크 또는 기타 파일 시스템 문제와 관련이 있을 가능성이 높습니다.
사용토토 베이 삭제토토 베이를 제거합니다.
프로그램생성된 DB편의를 위해 제공되는 이 명령에 대한 래퍼 프로그램입니다.
데이터베이스 수준 구성 매개변수(설정:토토 베이 변경) 및 데이터베이스 수준 권한(다음을 통해 설정)그랜트)은 템플릿 데이터베이스에서 복사되지 않습니다.
이외의 토토 베이를 복사하는 것은 가능하지만템플릿1이름을 템플릿으로 지정함으로써 이는 (아직) 범용 목적으로 사용되지 않습니다.“토토 베이 복사”시설. 주요 제한 사항은 복사되는 동안 템플릿 데이터베이스에 다른 세션을 연결할 수 없다는 것입니다.토토 베이 생성시작 시 다른 연결이 있으면 실패합니다. 그렇지 않으면 템플릿 데이터베이스에 대한 새 연결이 잠길 때까지 잠깁니다.토토 베이 생성완료되었습니다. 참조PostgreSQL : 문서 : 17 : 22.3. 템플릿 토토 커뮤니티더 많은 정보를 원하시면.
새 데이터베이스에 지정된 문자 세트 인코딩은 선택한 로케일 설정과 호환되어야 합니다(LC_COLLATE그리고LC_CTYPE). 로케일이 다음과 같은 경우:C(또는 동등하게POSIX), 모든 인코딩이 허용되지만 다른 로케일 설정의 경우 제대로 작동하는 인코딩은 하나만 있습니다. (그러나 Windows에서는 utf-8 인코딩을 모든 로캘에서 사용할 수 있습니다.)토토 베이 생성수퍼유저가 지정할 수 있습니다SQL_ASCII로케일 설정에 관계없이 인코딩하지만 이 선택은 더 이상 사용되지 않으며 로케일과 인코딩 호환되지 않는 데이터가 데이터베이스에 저장된 경우 문자열 함수가 오작동할 수 있습니다.
인코딩 및 로케일 설정은 다음 경우를 제외하고 템플릿 데이터베이스의 설정과 일치해야 합니다.템플릿0템플릿으로 사용됩니다. 이는 다른 데이터베이스에 지정된 인코딩과 일치하지 않는 데이터가 포함되어 있거나 정렬 순서가 다음의 영향을 받는 인덱스가 포함되어 있을 수 있기 때문입니다.LC_COLLATE그리고LC_CTYPE. 이러한 데이터를 복사하면 새 설정에 따라 토토 베이가 손상될 수 있습니다.템플릿0그러나 영향을 받을 수 있는 데이터나 인덱스가 포함되어 있지 않은 것으로 알려져 있습니다.
현재 비결정적 비교와 함께 데이터베이스 로케일을 사용하는 옵션이 없습니다(참조콜렉션 생성설명용). 이것이 필요한 경우 열별 데이터 정렬을 사용해야 합니다.
그연결 제한옵션은 대략적으로만 시행됩니다. 단 하나의 연결이 있을 때 두 개의 새로운 세션이 거의 동시에 시작되는 경우“슬롯”데이터베이스에 남아 있으므로 둘 다 실패할 가능성이 있습니다. 또한 수퍼유저 또는 백그라운드 작업자 프로세스에 대해서는 제한이 적용되지 않습니다.
새 토토 베이를 생성하려면:
토토 베이 루시아다 생성;
토토 베이를 생성하려면판매사용자 소유판매앱기본 테이블스페이스 포함판매공간:
CREATE DATABASE 판매 소유자 salesapp TABLESPACE salesspace;
토토 베이를 생성하려면음악다른 로캘 사용:
데이터베이스 음악 생성
LOCALE 'sv_SE.utf8'
템플릿 template0;
이 예에서는템플릿 템플릿0지정된 로케일이 다음과 다른 경우 절이 필요합니다.템플릿1. (그렇지 않은 경우 로캘을 명시적으로 지정하는 것은 중복됩니다.)
토토 베이를 생성하려면음악2다른 로캘 및 다른 문자 집합 인코딩 사용:
데이터베이스 음악 생성2
LOCALE 'sv_SE.iso885915'
라틴9 인코딩
템플릿 template0;
지정된 로케일과 인코딩 설정이 일치해야 합니다. 그렇지 않으면 오류가 보고됩니다.
로케일 이름은 운영 체제에 따라 다르므로 위 명령은 모든 곳에서 동일한 방식으로 작동하지 않을 수 있습니다.
없습니다토토 베이 생성SQL 표준의 문입니다. 토토 베이는 생성이 구현에 따라 정의되는 카탈로그와 동일합니다.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.