SET — 런타임 매개변수 변경
설정 [ 세션 | 로컬 ]configuration_parameter받는 사람 | =값| '값' | 기본값값| '값' | 로컬 | 기본값
그SET명령은 런타임 구성 매개변수를 변경합니다. 많은 런타임 매개변수가 다음에 나열되어 있습니다.배트맨 토토 : 문서 : 11 : 19 장. 서버 구성즉시 변경 가능SET. (단, 변경하려면 슈퍼유저 권한이 필요한 경우도 있고, 서버 또는 세션 시작 후에는 변경할 수 없는 경우도 있습니다.)SET현재 세션에서 사용되는 값에만 영향을 미칩니다.
만약세트(또는 동등하게세션 설정)은 나중에 중단된 트랜잭션 내에서 발행되며,세트트랜잭션이 롤백되면 명령이 사라집니다. 주변 트랜잭션이 커밋되면 다른 트랜잭션으로 재정의되지 않는 한 효과는 세션이 끝날 때까지 지속됩니다.SET.
효과로컬 설정커밋 여부에 관계없이 현재 트랜잭션이 끝날 때까지만 지속됩니다. 특별한 경우는 다음과 같습니다.SET다음이 따름로컬 설정단일 트랜잭션 내에서: the로컬 설정값은 트랜잭션이 끝날 때까지 표시되지만 이후(트랜잭션이 커밋된 경우)SET값이 적용됩니다.
효과세트또는로컬 설정또한 명령 이전의 저장점으로 롤백하여 취소됩니다.
만약로컬 설정는 다음을 갖는 함수 내에서 사용됩니다.SET12444_12481함수 생성), 의 효과로컬 설정명령은 함수 종료 시 사라집니다. 즉, 함수가 호출될 때 적용되었던 값이 어쨌든 복원됩니다. 이것은 허용합니다로컬 설정함수 내에서 매개변수를 동적으로 또는 반복적으로 변경하는 데 사용되는 동시에 여전히 편리하게 사용할 수 있습니다.SET발신자의 값을 저장하고 복원하는 옵션. 그러나 일반SET명령은 주변 함수를 재정의합니다.SET옵션; 롤백하지 않는 한 그 효과는 지속됩니다.
에젠 토토버전 8.0~8.2, a의 효과로컬 설정이전 저장점을 해제하거나 성공적으로 종료하면 취소됩니다.PL/pgSQL예외 블록. 이 동작은 직관적이지 않다고 판단되어 변경되었습니다.
세션명령이 현재 세션에 적용되도록 지정합니다. (둘 다 아닐 경우 기본값입니다.세션아니요로컬나타납니다.)
로컬명령이 현재 트랜잭션에만 적용되도록 지정합니다. 이후커밋또는롤백, 세션 수준 설정이 다시 적용됩니다. 트랜잭션 블록 외부에서 이를 발행하면 경고가 발생하며 그렇지 않으면 아무런 효과가 없습니다.
configuration_parameter설정 가능한 런타임 매개변수의 이름. 사용 가능한 매개변수는 다음 문서에 설명되어 있습니다.배트맨 토토 : 문서 : 11 : 19 장. 서버 구성이하.
값매개변수의 새 값. 값은 특정 매개변수에 따라 문자열 상수, 식별자, 숫자 또는 쉼표로 구분된 목록으로 지정할 수 있습니다.기본값매개변수를 기본값으로 재설정하도록 지정하기 위해 작성될 수 있습니다(즉, 기본값이 아닌 경우 가질 수 있는 모든 값SET현재 세션에서 실행되었습니다.)
에 문서화된 구성 매개변수 외에배트맨 토토 : 문서 : 11 : 19 장. 서버 구성, 다음을 통해서만 조정할 수 있는 몇 가지가 있습니다.SET명령 또는 특수 구문이 있는 명령:
스키마스키마 설정 '다음의 별칭입니다.값'검색_경로를 다음으로 설정. 이 구문을 사용하면 하나의 스키마만 지정할 수 있습니다.값
이름이름 설정다음의 별칭입니다.값클라이언트 인코딩을 다음으로 설정.값
시드난수 생성기의 내부 시드를 설정합니다(함수무작위). 허용되는 값은 -1과 1 사이의 부동 소수점 숫자이며, 여기에 2를 곱합니다.31-1.
함수를 호출하여 시드를 설정할 수도 있습니다.setseed:
선택 세트 시드(값);
시간대시간대 설정 '은의 별칭입니다.값'시간대를 '로 설정. 구문값'시간대 설정시간대 지정을 위한 특수 구문을 허용합니다. 유효한 값의 예는 다음과 같습니다.
'PST8PDT'캘리포니아 버클리의 시간대입니다.
'유럽/로마'이탈리아 시간대입니다.
-7UTC에서 서쪽으로 7시간 떨어진 시간대(PDT와 동일). 양수 값은 UTC 기준 동쪽입니다.
간격 '-08:00' 시간~분UTC에서 서쪽으로 8시간 떨어진 시간대(PST와 동일).
로컬기본값시간대를 현지 시간대로 설정하십시오(즉, 서버의 기본값은 다음과 같습니다.시간대).
숫자 또는 간격으로 제공된 시간대 설정은 내부적으로 POSIX 시간대 구문으로 변환됩니다. 예를 들어, 이후시간대 설정 -7, 시간대 표시보고하겠습니다<-07+07.
시간대 약어는 다음에서 지원되지 않습니다.SET; 참조섹션 8.5.3시간대에 대한 자세한 정보를 확인하세요.
함수set_config동등한 기능을 제공합니다. 참조PostgreSQL : 문서 : 11 : 9.26. 시스템 관리 스포츠 토토. 또한 업데이트가 가능합니다.pg_settings동등한 작업을 수행하는 시스템 뷰설정.
스키마 검색 경로 설정:
search_path를 my_schema로 설정, 공개;
날짜 스타일을 전통식으로 설정포스트그레스함께“월 전일”입력 규칙:
날짜 스타일을 postgres, dmy로 설정;
캘리포니아주 버클리의 시간대를 설정하세요:
시간대 'PST8PDT' 설정;
이탈리아 시간대 설정:
시간대 '유럽/로마' 설정;
시간대 설정SQL 표준에 정의된 구문을 확장합니다. 표준에서는 숫자 시간대 오프셋만 허용합니다.젠 토토더 유연한 시간대 지정이 가능합니다. 기타 모두SET특징은젠 토토확장.