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

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

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

PQISTHREADSAFE

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

int pqisthreadsafe ();

반환 1 인 경우 1libpq는 스레드-안전하고 0이 아닌 경우 0입니다.

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

pgresult객체는 일반적으로 생성 후 읽기 전용이므로 스레드 사이에서 자유롭게 전달할 수 있습니다. 그러나, 당신이를 사용하는 경우pgresult-에 기술 된 기능.메이저 토토 사이트 : 문서 : 12 : 33.11. 기타 메이저 토토 사이트또는섹션 33.13, 동시에 동시 작업을 피하는 것은 귀하에게 달려 있습니다pgresult,

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

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