이 기능은 다음의 기타 세부정보를 제어합니다.libpq의 행동.
PQclientEncoding #클라이언트 인코딩을 반환합니다.
int PQclientEncoding(const PGconn *콘);
다음과 같은 기호 문자열이 아닌 인코딩 ID를 반환한다는 점에 유의하세요.EUC_JP. 실패하면 -1을 반환합니다. 인코딩 ID를 인코딩 이름으로 변환하려면 다음을 사용할 수 있습니다.
char *pg_encoding_to_char(intencoding_id);
PQsetClientEncoding #클라이언트 인코딩을 설정합니다.
int PQsetClientEncoding(PGconn *콘, const char *인코딩);
콘서버에 대한 연결이고인코딩는 사용하려는 인코딩입니다. 함수가 인코딩을 성공적으로 설정하면 0을 반환하고 그렇지 않으면 -1을 반환합니다. 이 연결의 현재 인코딩은 다음을 사용하여 확인할 수 있습니다.PQclientEncoding.
PQsetErrorVerbosity #다음에서 반환된 메시지의 자세한 정도를 결정합니다.PQerrorMessage그리고PQresultErrorMessage.
typedef 열거형
PQERRORS_TERSE,
PQERRORS_DEFAULT,
PQERRORS_VERBOSE,
PQERRORS_SQLSTATE
PG장확성;
PGVerbosity PQsetErrorVerbosity(PGconn *conn, PGVerbosity verbosity);
PQsetErrorVerbosity상세 모드를 설정하여 연결의 이전 설정을 반환합니다. 에서TERSE모드, 반환된 메시지에는 심각도, 기본 텍스트 및 위치만 포함됩니다. 이는 일반적으로 한 줄에 맞습니다.기본값모드는 위 항목과 세부정보, 힌트 또는 컨텍스트 필드(여러 줄에 걸쳐 있을 수 있음)를 포함하는 메시지를 생성합니다.상세모드에는 사용 가능한 모든 필드가 포함됩니다.SQLSTATE모드에는 오류 심각도와만 포함됩니다.SQLSTATE오류 코드, 사용 가능한 경우(사용 가능한 경우)(그렇지 않은 경우 출력은 다음과 같습니다.TERSE모드).
상세 설정을 변경해도 이미 존재하는 메시지에는 영향을 미치지 않습니다.PGresult객체, 이후에 생성된 객체만. (하지만 보세요PQresultVerboseErrorMessage다른 자세한 내용으로 이전 오류를 인쇄하려는 경우.)
PQsetErrorContextVisibility #처리를 결정합니다컨텍스트다음에서 반환된 메시지의 필드PQerrorMessage그리고PQresultErrorMessage.
typedef 열거형
PQSHOW_CONTEXT_NEVER,
PQSHOW_CONTEXT_ERRORS,
PQSHOW_CONTEXT_ALWAYS
PGContextVisibility;
PGContextVisibility PQsetErrorContextVisibility(PGconn *conn, PGContextVisibility show_context);
PQsetErrorContextVisibility컨텍스트 표시 모드를 설정하여 연결의 이전 설정을 반환합니다. 이 모드는 다음 여부를 제어합니다.컨텍스트필드가 메시지에 포함되어 있습니다.절대 안함모드에는 포함되지 않음컨텍스트, 동안항상가능한 경우 항상 포함합니다. 에서오류모드(기본값),CONTEXTfields are included only in error messages, not in notices and warnings. (단, 상세 설정이 다음과 같은 경우TERSE또는SQLSTATE, 컨텍스트필드는 컨텍스트 표시 모드에 관계없이 생략됩니다.)
이 모드를 변경해도 이미 존재하는 메시지에는 영향을 미치지 않습니다.PGresult개체, 이후에 생성된 개체만 해당됩니다. (하지만 보세요PQresultVerboseErrorMessage다른 디스플레이 모드로 이전 오류를 인쇄하려는 경우.)
PQtrace #디버깅 파일 스트림에 대한 클라이언트/서버 통신 추적을 활성화합니다.
void PQtrace(PGconn *conn, FILE *stream);
각 줄은 다음으로 구성됩니다: 선택적 타임스탬프, 방향 표시기(F클라이언트에서 서버로의 메시지용 또는B서버에서 클라이언트로의 메시지), 메시지 길이, 메시지 유형 및 메시지 내용. 메시지가 아닌 콘텐츠 필드(타임스탬프, 방향, 길이 및 메시지 유형)는 탭으로 구분됩니다. 메시지 내용은 공백으로 구분됩니다. 프로토콜 문자열은 큰따옴표로 묶고, 데이터 값으로 사용되는 문자열은 작은따옴표로 묶습니다. 인쇄할 수 없는 문자는 16진수 이스케이프로 인쇄됩니다. 메시지 유형별 추가 세부정보는 다음에서 확인할 수 있습니다.PostgreSQL : 문서 : 18 : 54.7. 스포츠 토토 형식.
Windows의 경우libpq라이브러리와 응용 프로그램은 서로 다른 플래그로 컴파일됩니다. 이 함수 호출은 응용 프로그램의 내부 표현 때문에 충돌을 일으킬 것입니다.파일포인터가 다릅니다. 특히 멀티스레드/단일 스레드, 릴리스/디버그, 정적/동적 플래그는 라이브러리와 해당 라이브러리를 사용하는 모든 애플리케이션에 대해 동일해야 합니다.
PQsetTraceFlags #클라이언트/서버 통신의 추적 동작을 제어합니다.
void PQsetTraceFlags(PGconn *conn, int flags);
플래그추적 작동 모드를 설명하는 플래그 비트를 포함합니다. 만일플래그포함PQTRACE_SUPPRESS_TIMESTAMPS이면 각 메시지를 인쇄할 때 타임스탬프가 포함되지 않습니다. 만일플래그포함PQTRACE_REGRESS_MODE, 그런 다음 개체 OID와 같은 각 메시지를 인쇄할 때 일부 필드가 수정되어 테스트 프레임워크에서 출력을 더 편리하게 사용할 수 있습니다. 이 함수는 호출 후에 호출되어야 합니다.PQtrace.
PQuntrace #다음에 의해 시작된 추적을 비활성화합니다.PQtrace.
void PQuntrace(PGconn *conn);
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.