이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다메이저 토토 사이트 : 문서 : 17 : 32.20. 스레드 프로그램의 행동버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

32.19. 스레드 프로그램의 행동

libpq는 기본적으로 재진입 및 스레드 안전입니다. 응용 프로그램 코드를 컴파일 할 때 특수 컴파일러 명령 줄 옵션을 사용해야 할 수도 있습니다.src/makefile.globalforpthread_cflagsandpthread_libs. 이 함수는의 쿼리를 허용합니다.libpq의 스레드-안전 상태 :

PQISTHREADSAFE

스레드 안전 상태를 반환합니다libpq도서관.

int pqisthreadsafe ();

반환 1 인 경우 1libpqresple-safe이고 0이 아닌 경우 0입니다.

하나의 스레드 제한은 두 스레드가 동일한 조작을 시도하지 않는다는 것입니다pgconn동시에 물체. 특히 동일한 연결 객체를 통해 다른 스레드에서 동시 명령을 발행 할 수 없습니다.

pgresult객체는 일반적으로 생성 후 읽기 전용이므로 스레드 사이에서 자유롭게 전달할 수 있습니다. 그러나, 당신이를 사용하는 경우pgresult-에 설명 된 수정 함수섹션 32.11또는섹션 32.13, 동일한 작업을 피하는 것은 귀하에게 달려 있습니다pgresult,

더 이상 사용되지 않은 함수PQREQUESTCANCELandpqoidstatus스레드-안전하지 않으며 멀티 스테이드 프로그램에서 사용해서는 안됩니다.PQREQUESTCANCEL|pqcancel. pqoidstatus|pqoidvalue.

응용 프로그램 내부에서 Kerberos를 사용하는 경우 (내부 외에libpq), Kerberos 기능이 스레드 안전하지 않기 때문에 Kerberos 통화를 잠금해야합니다. 기능 참조PQREGISTESTHREADLOCKinlibpq소스 코드 사이에 협동 잠금 방법을위한 소스 코드libpq및 귀하의 응용 프로그램.