이 섹션은 영향을 미치는 구성 매개 변수를 나열합니다pl/사설 토토 사이트.
pl사설 토토 사이트.on_init
(String
)사설 토토 사이트 통역사가 처음 초기화 될 때 실행될 사설 토토 사이트 코드를 지정합니다.pl사설 토토 사이트
또는Pl사설 토토 사이트u
. 이 코드가 실행될 때 SPI 기능을 사용할 수 없습니다. 코드가 오류가 발생하지 않으면 통역사의 초기화를 중단하고 호출 쿼리로 전파하여 현재 트랜잭션 또는 서브 트랜잭션이 중단됩니다..
사설 토토 사이트 코드는 단일 문자열로 제한됩니다. 더 긴 코드는 모듈에 배치하고에 의해로드 될 수 있습니다.on_init
문자열. 예 :
pl사설 토토 사이트.on_init = '요구 "pl사설 토토 사이트init.pl"' pl사설 토토 사이트.on_init = '사용 lib "/my/app"; myApp :: pginit을 사용하십시오; '
pl사설 토토 사이트.on_init
는 직접 또는 간접적으로 사용할 수 있습니다.pl사설 토토 사이트
. 보안 위험이 발생할 수 있습니다. 로드 된 모듈을 확인하려면 다음을 사용할 수 있습니다.
'elog (경고, 조인 ",", sort keys %inc)'언어 pl사설 토토 사이트;
초기화는 우체국에서 발생합니다.pl사설 토토 사이트
라이브러리가 포함되어shared_preload_libraries이 기능을 사용하는 주된 이유는에 의해로드 된 사설 토토 사이트 모듈이 때문입니다.pl사설 토토 사이트.on_init
Postmaster Start에서만로드해야하며 개별 데이터베이스 세션에서 오버 헤드를로드하지 않고 즉시 사용할 수 있습니다. 그러나 오버 헤드는 데이터베이스 세션 (PL/Perlu 또는 PL/PERL 기능을 호출하는 첫 번째 SQL 역할에 대해 PL/PERL)에 사용하는 첫 번째 PERL 통역사에 대해서만 피합니다. 데이터베이스 세션에서 생성 된 추가 PERL 통역사는 실행해야합니다pl사설 토토 사이트.on_init
afresh. 또한 Windows에서는 Postmaster 프로세스에서 생성 된 사설 토토 사이트 통역사가 아동 프로세스로 전파되지 않기 때문에 예압으로 인해 절약 할 수 없습니다..
이 매개 변수는에서만 설정할 수 있습니다postgresql.conf
파일 또는 서버 명령 줄에.
pl사설 토토 사이트.on_pl사설 토토 사이트_init
(String
)pl사설 토토 사이트.on_pl사설 토토 사이트u_init
(String
)이 매개 변수는 사설 토토 사이트 통역사가 특수화 될 때 실행될 사설 토토 사이트 코드를 지정합니다pl사설 토토 사이트
또는Pl사설 토토 사이트u
각각. 이는 데이터베이스 세션에서 PL/PERL 또는 PL/PERLU 함수가 먼저 실행되거나 다른 언어가 호출되거나 새로운 SQL 역할에 의해 PL/Perl 함수가 호출되기 때문에 추가 통역사를 생성 해야하는 경우에 발생합니다. 이것은에 의해 수행 된 초기화를 따릅니다.pl사설 토토 사이트.on_init
. 이 코드가 실행될 때 SPI 기능을 사용할 수 없습니다. 사설 토토 사이트 코드의pl사설 토토 사이트.on_pl사설 토토 사이트_init
이후에 실행됩니다“잠금”통역사이므로 신뢰할 수있는 작업 만 수행 할 수 있습니다.
코드가 오류로 실패하면 초기화가 중단되고 호출 쿼리로 전파되어 현재 트랜잭션 또는 차트 트랜잭션이 중단됩니다. Perl 내에서 이미 수행 된 모든 작업은 취소되지 않습니다. 그러나 해당 통역사는 다시 사용되지 않습니다. 언어가 다시 사용되면 신선한 Perl 통역사 내에서 초기화가 다시 시도됩니다.
슈퍼 사용자만이 설정을 변경할 수 있습니다. 이러한 설정은 세션 내에서 변경 될 수 있지만 이러한 변경 사항은 이미 기능을 실행하는 데 사용 된 사설 토토 사이트 통역사에게 영향을 미치지 않습니다.
pl사설 토토 사이트.use_strict
(부울
)PL/사설 토토 사이트 함수의 진정한 후속 편집을 설정하면엄격한
Pragma enabled. 이 매개 변수는 현재 세션에서 이미 컴파일 된 함수에 영향을 미치지 않습니다.
다음 기능은 현재 PL/Perl에서 누락되었지만 환영 기부를 할 것입니다.
pl/사설 토토 사이트 함수는 서로 직접 전화 할 수 없습니다.
SPI는 아직 완전히 구현되지 않았습니다.
사용하는 매우 큰 데이터 세트를 가져 오는 경우SPI_EXEC_QUERY
, 이들은 모두 기억에 빠질 것임을 알고 있어야합니다. 사용하여 이것을 피할 수 있습니다.SPI_QUERY
/spi_fetchrow
앞에서 설명한대로.
SET RETURNING 함수가 큰 행을 PostgreSQL을 통해에 전달하는 경우 유사한 문제가 발생합니다.return
. 대신를 사용 하여이 문제를 피할 수 있습니다.return_next
앞에서 볼 수 있듯이 반환 된 각 행에 대해.
세션이 정상적으로 종료되면 치명적인 오류로 인해END
정의 된 블록이 실행됩니다. 현재 다른 작업은 수행되지 않습니다. 구체적으로 파일 핸들은 자동으로 플러시되지 않고 객체가 자동으로 파괴되지 않습니다.