19.13. 버전 및 플랫폼 호환성#

19.13.1. 이전 PostgreSQL 버전#

array_nulls (부울) #

이것은 배열 입력 파서가 인용되지 않은 것을 인식하는지 여부를 제어합니다null널 배열 요소를 지정합니다. 기본적으로 이것은입니다.on, 널 값을 포함하는 배열 값을 입력 할 수 있습니다. 하지만,PostgreSQL8.2 이전의 버전은 배열에서 널 값을 지원하지 않았으므로 처리합니다null문자열 값을 가진 일반 배열 요소를 지정하여null. 이전 동작이 필요한 애플리케이션과 뒤로 호환 되려면이 변수를 돌릴 수 있습니다OFF.

이 변수 인 경우에도 널 값을 포함하는 배열 값을 만들 수 있습니다OFF.

backslash_quote (enum) #

이것은 견적 표시를 표현할 수 있는지 여부를 제어합니다.\ '문자열 문자. 견적 마크를 나타내는 선호하는 SQL 표준 방법은 두 배가되는 것입니다 ('')하지만PostgreSQL역사적으로도 받아 들였습니다\ '. 그러나 사용\ '일부 클라이언트 문자 세트 인코딩에서는 마지막 바이트가 ASCII와 수치 적으로 동등한 멀티 바이트 문자가 있기 때문에 보안 위험을 만듭니다.\. 클라이언트 측 코드가 잘못 도출되면 SQL 주입 공격이 가능합니다.backslash_quoteareon(허용\ '항상),OFF(항상 거부) 및Safe_encoding(클라이언트 인코딩이 ASCII를 허용하지 않는 경우에만 허용\멀티 바이트 문자 내에서).Safe_encoding기본 설정입니다.

표준 정보 문자열 리터럴에서\단지 의미\어쨌든. 이 매개 변수는 Escape String Syntax (를 포함하여 비표준 정보 리터럴의 처리에만 영향을 미칩니다.e '...').

Escape_string_warning (부울) #

켜면 backslash (이면 경고가 발행됩니다.\) 일반 문자열 문자 문자 (에 나타납니다.'...'구문) 및Standard_Conforming_strings꺼져 있습니다. 기본값은on.

Escape String Syntax (를 사용하려면 탈출로 백 슬래시를 사용하려는 응용 프로그램을 수정해야합니다.e '...'), 일반 문자열의 기본 동작은 이제 SQL 표준에 따라 백 슬래시를 일반 문자로 취급하는 것이기 때문입니다. 이 변수는 변경 해야하는 코드를 찾는 데 도움이 될 수 있습니다.

lo_compat_privileges (부울) #

inPostgreSQL9.0 이전에 릴리스, 대형 객체에는 액세스 권한이 없었으므로 모든 사용자가 항상 읽을 수 있고 쓰기가 가능했습니다. 이 변수 설정on이전 릴리스와의 호환성을 위해 새로운 권한 검사를 비활성화합니다. 기본값은OFF. 적절한 수퍼 유행자 및 사용자 만set권한은이 설정을 변경할 수 있습니다.

이 변수 설정은 큰 오브젝트와 관련된 모든 보안 검사를 비활성화하지 않습니다. 기본 동작이 변경된 것만PostgreSQL 9.0.

quote_all_identifiers (부울) #

데이터베이스가 SQL을 생성 할 때 (현재) 키워드가 아닌 경우에도 모든 식별자를 인용하도록 강제로 인용하십시오. 이것은의 출력에 영향을 미칩니다.설명와 같은 함수 결과pg_get_viewdef. 참조 참조-Quote-all-Idnifiers옵션pg_dumpand토토 결과 PostgreSQL.

Standard_Conforming_strings (부울) #

이것은 일반 문자열 리터럴을 제어합니다 ('...') SQL 표준에 지정된대로 백 슬래시를 문자 그대로 처리하십시오. 시작PostgreSQL9.1, 기본값은입니다.on(사전 릴리스 기본값OFF). 응용 프로그램은이 매개 변수를 확인하여 문자열 리터럴이 처리되는 방법을 결정할 수 있습니다.e '...')가 지원됩니다. 탈출 문자열 구문 (섹션 4.1.2.2) 응용 프로그램이 백 슬래시를 탈출 문자로 취급하려는 경우 사용해야합니다.

synchronize_seqscans (부울) #

이것은 큰 테이블의 순차적 스캔이 서로 동기화 될 수 있도록하여 동시 스캔이 거의 동일한 시간에 동일한 블록을 읽고 I/O 워크로드를 공유 할 수 있습니다. 이것이 활성화되면 테이블 중간에서 스캔이 시작될 수 있습니다.랩 주위이미 진행중인 스캔 활동과 동기화하기 위해 모든 행을 덮을 수 있습니다. 이로 인해 노선이없는 쿼리로 반환 된 행 순서에서 예측할 수없는 변경이 발생할 수 있습니다.주문 by절. 이 매개 변수 설정OFF순차적 스캔이 항상 테이블의 시작부터 시작되는 8.3 이전 동작을 보장합니다. 기본값은on.

19.13.2. 플랫폼 및 클라이언트 호환성#

transport_null_equals (부울) #

켜기시기, 양식의 표현expr= null(또는null =expr)expris null, 즉, 진실을 반환합니다expr널 값으로 평가하고 그렇지 않으면 false입니다. 의 올바른 SQL-SPEC 호환 동작expr= null항상 null (알 수없는)을 반환합니다. 따라서이 매개 변수는 기본값OFF.

그러나 필터링 된 양식에서Microsoft Access사용하는 것처럼 보이는 쿼리 생성expr= nullNULL 값을 테스트하려면 해당 인터페이스를 사용하여 데이터베이스에 액세스하는 경우이 옵션을 켤 수 있습니다. 양식의 표현 이후expr= null항상 NULL 값을 반환합니다 (SQL 표준 해석 사용)는 매우 유용하지 않으며 일반 응용 프로그램에서 자주 나타나지 않으므로이 옵션은 실제로 해를 끼치 지 않습니다. 그러나 신규 사용자는 널 값과 관련된 표현의 의미론에 대해 종종 혼란스러워 지므로이 옵션은 기본적으로 꺼져 있습니다.

이 옵션은 정확한 양식에만 영향을 미칩니다= null, 다른 비교 연산자 또는 평등 연산자와 관련된 일부 표현식과 동일하지 않은 다른 표현식이 아닙니다 (예 :in). 따라서이 옵션은 잘못된 프로그래밍을위한 일반적인 수정이 아닙니다.

참조토토 PostgreSQL : 문서 : 17 : 9.2. 비교 기능 및 운영자관련 정보는

allow_alter_system (부울) #

언제allow_alter_systemOFF,이면 오류가 반환됩니다.Alter System명령이 실행됩니다. 이 매개 변수는에서만 설정할 수 있습니다.on파일 또는 서버 명령 줄에. 기본값은입니다.on.

이 설정은 보안 기능으로 간주되어서는 안됩니다. 만 비활성화합니다.Alter System명령. 다른 SQL 명령을 사용하여 슈퍼 사용자가 구성을 변경하는 것을 방지하지 못합니다.on이 설정의 가치에 관계없이.

이 설정을 끄는 것은 구성이있는 환경을위한 것입니다.PostgreSQL일부 외부 도구에 의해 관리됩니다. 그러한 환경에서, 의도 된 슈퍼업자는실수로useAlter System외부 도구를 사용하는 대신 구성을 변경합니다. 이로 인해 외부 도구가 구성을 업데이트 할 때 일부 시점에서 변경 사항을 덮어 쓰는 것과 같은 의도하지 않은 동작이 발생할 수 있습니다.OFF그러한 실수를 피할 수 있습니다.

이 매개 변수는의 사용 만 제어합니다.Alter System. 저장된 설정on경우에도 적용allow_alter_systemOFF.

정정 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다.이 양식문서 문제를보고하려면