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

31.19. 스레드 프로그램의 동작

libpq재진입 가능하며 기본적으로 스레드로부터 안전합니다. 특수 컴파일러를 사용해야 할 수도 있습니다. 애플리케이션 코드를 컴파일할 때 명령줄 옵션. 방법에 대한 자세한 내용은 시스템 설명서를 참조하십시오. 스레드 지원 애플리케이션을 구축하거나 살펴보세요.src/Makefile.globalforPTHREAD_CFLAGS그리고PTHREAD_LIBS. 이 함수를 사용하면 다음을 쿼리할 수 있습니다.libpq의 스레드 안전 상태:

PQistreadsafe

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

int PQistreadsafe();

다음인 경우 1을 반환합니다.libpq스레드 안전하고 그렇지 않으면 0입니다.

하나의 스레드 제한은 두 개의 스레드가 다음을 시도하지 않는다는 것입니다. 똑같이 조작PGconn객체 동시에. 특히 동시에 발행할 수 없습니다. 동일한 연결을 통해 다른 스레드의 명령 개체. (동시 명령을 실행해야 하는 경우 여러 명령을 사용하십시오. 연결.)

PGresult개체는 일반적으로 생성 후에는 읽기 전용이므로 자유롭게 전달할 수 있습니다. 스레드 사이. 그러나 다음 중 하나를 사용하는 경우PGresult-설명된 함수 수정범퍼카 토토 PostgreSQL : 문서 : 9.2 : 기타 함수또는섹션 31.13, 피하는 것은 당신에게 달려 있습니다 동일한 동시 작업PGresult역시요.

더 이상 사용되지 않는 기능PQ요청취소그리고PQoid상태스레드로부터 안전하지 않으며 그렇게 해서는 안 됩니다. 멀티스레드 프로그램에서 사용됩니다.PQ요청취소다음으로 대체 가능PQ취소. PQoid상태다음으로 대체 가능PQoid값.

당신의 응용프로그램 내에서 Kerberos를 사용하고 있다면(추가로 내부로libpq), 다음이 필요합니다. Kerberos 기능이 작동하기 때문에 Kerberos 호출에 대해 잠금을 수행하려면 스레드로부터 안전하지 않습니다. 기능 보기PQregisterThreadLock에서libpq방법에 대한 소스 코드 사이의 협력적 잠금libpq그리고 당신의 신청서.

스레드 응용프로그램에 문제가 발생하면 다음을 실행하십시오. 프로그램 입력src/도구/스레드알아보기 위해 귀하의 플랫폼에는 스레드에 안전하지 않은 기능이 있습니다. 이 프로그램은 다음에서 실행됩니다.구성, 그러나 바이너리 배포판의 경우 귀하의 라이브러리가 빌드에 사용된 라이브러리와 일치하지 않을 수 있습니다. 바이너리.