32.3. 명령 실행 기능#

데이터베이스 서버에 대한 연결이 성공적으로 설정되면 여기에 설명된 기능을 사용하여 SQL 쿼리 및 명령을 수행합니다.

32.3.1. 주요 기능#

PQexec #

서버에 명령을 제출하고 결과를 기다립니다.

PGresult *PQexec(PGconn *conn, const char *command);

a를 반환합니다.PGresult포인터 또는 널 포인터일 수도 있습니다. 메모리가 부족하거나 명령을 서버에 보낼 수 없는 등의 심각한 오류를 제외하고는 일반적으로 null이 아닌 포인터가 반환됩니다.PQresultStatus오류에 대한 반환 값을 확인하기 위해 함수가 호출되어야 합니다(널 포인터 값 포함, 이 경우 반환됨PGRES_FATAL_ERROR). 사용PQerrorMessage이러한 오류에 대한 자세한 정보를 얻으려면.

명령 문자열에는 여러 SQL 명령이 포함될 수 있습니다(세미콜론으로 구분). 단일로 전송된 여러 쿼리PQexec명시적인 사항이 없는 한 호출은 단일 트랜잭션으로 처리됩니다.시작/커밋쿼리 문자열에 쿼리 문자열을 포함하여 여러 트랜잭션으로 나누는 명령입니다. (보다섹션 54.2.2.1서버가 다중 쿼리 문자열을 처리하는 방법에 대한 자세한 내용은.) 그러나 반환된 내용에 유의하세요.PGresult구조는 문자열토토 사이트 추천 실행된 마지막 명령의 결과만 설명합니다. 명령 중 하나가 실패하면 문자열 처리가 중지되고 반환됩니다.PGresult오류 조건을 설명합니다.

PQexecParams #

SQL 명령 텍스트와 별도로 매개변수를 전달할 수 있는 기능을 사용하여 서버에 명령을 제출하고 결과를 기다립니다.

PGresult *PQexecParams(PGconn *conn,
                       const char *명령,
                       정수 nParams,
                       const Oid *paramTypes,
                       const char * const *paramValues,
                       const int *paramLengths,
                       const int *paramFormats,
                       int resultFormat);

PQexecParams다음과 같습니다PQexec, 그러나 추가 기능을 제공합니다. 매개변수 값은 적절한 명령 문자열과 별도로 지정할 수 있으며 쿼리 결과는 텍스트 또는 바이너리 형식으로 요청할 수 있습니다.

함수 인수는 다음과 같습니다:

명령을 보낼 연결 개체입니다.

명령

실행할 SQL 명령 문자열. 매개변수가 사용되는 경우 명령 문자열토토 사이트 추천 다음과 같이 참조됩니다.$1, $2

nParams

제공된 매개변수의 수; 배열의 길이입니다.paramTypes[], paramValues[], paramLengths[]paramFormats[]. (배열 포인터는 다음과 같습니다.NULL언제nParams0입니다.)

paramTypes[]

매개변수 기호에 할당될 데이터 유형을 OID로 지정합니다. 만일paramTypesisNULL또는 배열의 특정 요소가 0인 경우 서버는 유형이 지정되지 않은 리터럴 문자열에 대해 수행하는 것과 동일한 방식으로 매개변수 기호에 대한 데이터 유형을 유추합니다.

paramValues[]

매개변수의 실제 값을 지정합니다. 이 배열의 널 포인터는 해당 매개변수가 널임을 의미합니다. 그렇지 않으면 포인터는 0으로 끝나는 텍스트 문자열(텍스트 형식의 경우) 또는 서버토토 사이트 추천 예상하는 형식의 이진 데이터(이진 형식의 경우)를 가리킵니다.

paramLengths[]

바이너리 형식 매개변수의 실제 데이터 길이를 지정합니다. null 매개변수 및 텍스트 형식 매개변수의 경우 무시됩니다. 바이너리 매개변수가 없으면 배열 포인터는 null일 수 있습니다.

paramFormats[]

매개변수가 텍스트(해당 매개변수의 배열 항목에 0 입력)인지 바이너리(해당 매개변수의 배열 항목에 1 입력)인지 지정합니다. 배열 포인터가 null이면 모든 매개변수는 텍스트 문자열로 간주됩니다.

바이너리 형식으로 전달된 값에는 백엔드토토 사이트 추천 예상하는 내부 표현에 대한 지식이 필요합니다. 예를 들어 정수는 네트워크 바이트 순서로 전달되어야 합니다. 합격숫자값에는 다음토토 사이트 추천 구현된 서버 저장소 형식에 대한 지식이 필요합니다.src/backend/utils/adt/numeric.c::numeric_send()그리고src/backend/utils/adt/numeric.c::numeric_recv().

결과형식

텍스트 형식으로 결과를 얻으려면 0을 지정하고 바이너리 형식으로 결과를 얻으려면 1을 지정하십시오. (기본 프로토콜토토 사이트 추천는 가능하지만 현재는 다양한 형식의 다양한 결과 열을 얻을 수 있는 조항이 없습니다.)

주요 이점PQexecParams이상PQexec매개변수 값을 명령 문자열토토 사이트 추천 분리할 수 있으므로 지루하고 오류가 발생하기 쉬운 인용 및 이스케이프가 필요하지 않습니다.

달리PQexec, PQexecParams주어진 문자열에 최대 하나의 SQL 명령을 허용합니다. (세미콜론이 포함될 수 있지만 비어 있지 않은 명령은 두 개 이상일 수 없습니다.) 이는 기본 프로토콜의 제한 사항이지만 SQL 주입 공격에 대한 추가 방어로서 어느 정도 유용합니다.

OID를 통해 매개변수 유형을 지정하는 것은 지루한 일입니다. 특히 특정 OID 값을 프로그램에 직접 연결하고 싶지 않은 경우에는 더욱 그렇습니다. 그러나 서버 자체토토 사이트 추천 매개변수의 유형을 결정할 수 없거나 원하는 유형과 다른 유형을 선택하는 경우에도 그렇게 하지 않을 수 있습니다. SQL 명령 텍스트토토 사이트 추천 매개변수 기호에 명시적 캐스트를 연결하여 전송할 데이터 유형을 표시합니다. 예를 들면:

SELECT * FROM mytable WHERE x = $1::bigint;

이것은 매개변수를 강제합니다$1다음과 같이 취급되다비긴트, 기본적으로는와 동일한 유형이 할당됩니다.x. 이진 형식으로 매개변수 값을 보낼 때는 이 방식으로 또는 숫자 유형 OID를 지정하여 매개변수 유형을 강제로 결정하는 것이 좋습니다. 왜냐하면 이진 형식은 텍스트 형식보다 중복성이 적고 서버가 유형 불일치 실수를 감지할 가능성이 적기 때문입니다.

PQprepare #

주어진 매개변수를 사용하여 준비된 명령문을 생성하라는 요청을 제출하고 완료될 때까지 기다립니다.

PGresult *PQprepare(PGconn *conn,
                    const char *stmt이름,
                    const char *쿼리,
                    정수 nParams,
                    const Oid *paramTypes);

PQprepare나중에 실행하기 위해 준비된 명령문을 생성합니다.PQexec준비됨. 이 기능을 사용하면 매번 구문 분석하고 계획하지 않고도 명령을 반복적으로 실행할 수 있습니다. 참조준비자세한 내용은.

함수는 다음과 같은 준비된 명령문을 생성합니다.stmt이름토토 사이트 추천질의문자열, 단일 SQL 명령을 포함해야 합니다.stmt이름될 수 있습니다""이름 없는 명령문을 생성합니다. 이 경우 기존의 이름 없는 명령문은 자동으로 대체됩니다. 그렇지 않고 명령문 이름이 현재 세션에 이미 정의되어 있으면 오류입니다. 매개변수가 사용되는 경우 쿼리토토 사이트 추천 다음과 같이 참조됩니다.$1, $2nParams은 유형이 배열에 미리 지정된 매개변수의 수입니다.paramTypes[]. (배열 포인터는 다음과 같습니다.NULL언제nParams은 0입니다.)paramTypes[]매개변수 기호에 할당할 데이터 유형을 OID로 지정합니다. 만일paramTypesisNULL이거나 배열의 특정 요소가 0인 경우 서버는 유형이 지정되지 않은 리터럴 문자열에 대해 수행하는 것과 동일한 방식으로 매개변수 기호에 데이터 유형을 할당합니다. 또한 쿼리는 다음보다 큰 숫자의 매개변수 기호를 사용할 수 있습니다.nParams; 이러한 기호에 대해서도 데이터 유형이 추론됩니다. (참조PQdescribe준비됨어떤 데이터 유형이 추론되었는지 알아내는 수단입니다.)

와 마찬가지로PQexec, 결과는 일반적으로 aPGresult내용이 서버측 성공 또는 실패를 나타내는 개체입니다. null 결과는 메모리가 부족하거나 명령을 전혀 보낼 수 없음을 나타냅니다. 사용PQerrorMessage이러한 오류에 대한 자세한 정보를 얻으려면.

다음과 함께 사용하기 위해 준비된 명령문PQexec준비됨SQL을 실행하여 생성할 수도 있습니다준비문장.

PQexec준비됨 #

주어진 매개변수로 준비된 명령문을 실행하라는 요청을 보내고 결과를 기다립니다.

PGresult *PQexecPrepared(PGconn *conn,
                         const char *stmt이름,
                         정수 nParams,
                         const char * const *paramValues,
                         const int *paramLengths,
                         const int *paramFormats,
                         int resultFormat);

PQexec준비됨다음과 같습니다PQexecParams이지만 쿼리 문자열을 제공하는 대신, 미리 준비된 명령문의 이름을 지정하여 실행할 명령을 지정합니다. 이 기능을 사용하면 반복적으로 사용되는 명령을 실행할 때마다가 아니라 한 번만 구문 분석하고 계획할 수 있습니다. 성명서는 현재 세션토토 사이트 추천 이전에 준비되었어야 합니다.

매개변수는 다음과 동일합니다.PQexecParams, 쿼리 문자열 대신 준비된 문의 이름이 제공된다는 점과paramTypes[]매개변수가 없습니다(준비된 문의 매개변수 유형은 생성될 때 결정되었으므로 필요하지 않습니다).

PQdescribe준비됨 #

지정된 준비된 명령문에 대한 정보를 얻기 위해 요청을 제출하고 완료될 때까지 기다립니다.

PGresult *PQdescribePrepared(PGconn *conn, const char *stmtName);

PQdescribe준비됨애플리케이션이 이전에 준비된 명령문에 대한 정보를 얻을 수 있도록 허용합니다.

stmt이름될 수 있습니다""또는NULL이름 없는 명령문을 참조하려면, 그렇지 않으면 기존 준비된 명령문의 이름이어야 합니다. 성공하면, aPGresult상태 있음PGRES_COMMAND_OK반환되었습니다. 기능PQnparams그리고PQ매개변수 유형이것에 적용될 수 있습니다PGresult준비된 문의 매개변수 및 기능에 대한 정보를 얻기 위해PQn필드, PQfname, PQftype등은 문의 결과 열(있는 경우)에 대한 정보를 제공합니다.

PQdescribePortal #

지정된 포털에 대한 정보를 얻기 위해 요청을 제출하고 완료될 때까지 기다립니다.

PGresult *PQdescribePortal(PGconn *conn, const char *portalName);

PQdescribePortal응용프로그램이 이전에 생성된 포털에 대한 정보를 얻을 수 있도록 허용합니다. (libpq포털에 대한 직접적인 액세스를 제공하지 않지만 이 기능을 사용하여 a로 생성된 커서의 속성을 검사할 수 있습니다.커서 선언SQL 명령.)

포털이름될 수 있습니다""또는NULL이름이 없는 포털을 참조하려면, 그렇지 않으면 기존 포털의 이름이어야 합니다. 성공하면, aPGresult상태 있음PGRES_COMMAND_OK반환되었습니다. 기능PQn필드, PQfname, PQftype등은에 적용될 수 있습니다.PGresult포털의 결과 열(있는 경우)에 대한 정보를 가져옵니다.

PQclose준비됨 #

지정된 준비된 명령문을 닫으라는 요청을 제출하고 완료될 때까지 기다립니다.

PGresult *PQclosePrepared(PGconn *conn, const char *stmtName);

PQclose준비됨애플리케이션이 이전에 준비된 명령문을 닫을 수 있도록 허용합니다. 문을 닫으면 서버토토 사이트 추천 관련된 모든 리소스가 해제되고 해당 이름을 재사용할 수 있습니다.

stmt이름될 수 있습니다""또는NULL이름 없는 진술을 참조합니다. 이 이름을 가진 명령문이 없어도 괜찮습니다. 이 경우 작업은 작동하지 않습니다. 성공하면, aPGresult상태 있음PGRES_COMMAND_OK반환되었습니다.

PQclosePortal #

지정된 포털을 닫으라는 요청을 제출하고 완료될 때까지 기다립니다.

PGresult *PQclosePortal(PGconn *conn, const char *portalName);

PQclosePortal응용프로그램이 이전에 생성된 포털의 닫기를 트리거할 수 있습니다. 포털을 닫으면 서버토토 사이트 추천 관련 리소스가 모두 해제되고 해당 이름을 재사용할 수 있습니다. (libpq포털에 대한 직접적인 액세스를 제공하지 않지만 이 기능을 사용하여 a로 생성된 커서를 닫을 수 있습니다커서 선언SQL 명령.)

포털이름될 수 있습니다""또는NULL이름 없는 포털을 참조합니다. 이 이름을 가진 포털이 없어도 괜찮습니다. 이 경우 작업은 작동하지 않습니다. 성공하면, aPGresult상태 있음PGRES_COMMAND_OK반환되었습니다.

PGresult구조는 서버가 반환한 결과를 캡슐화합니다.libpq응용프로그램 프로그래머는 주의를 기울여 유지해야 합니다.PGresult추상화. 아래 접근자 함수를 사용하여 내용을 확인하세요.PGresult. 의 필드를 직접 참조하지 마세요.PGresult구조는 미래에 변경될 수 있기 때문입니다.

PQresultStatus #

명령의 결과 상태를 반환합니다.

ExecStatusType PQresultStatus(const PGresult *res);

PQresultStatus다음 값 중 하나를 반환할 수 있습니다:

PGRES_EMPTY_QUERY #

서버로 전송된 문자열이 비어있습니다.

PGRES_COMMAND_OK #

데이터를 반환하지 않는 명령이 성공적으로 완료되었습니다.

PGRES_TUPLES_OK #

데이터를 반환하는 명령이 성공적으로 완료되었습니다(예:선택또는표시).

PGRES_COPY_OUT #

복사(서버토토 사이트 추천) 데이터 전송이 시작되었습니다.

PGRES_COPY_IN #

복사(서버로) 데이터 전송이 시작되었습니다.

PGRES_BAD_RESPONSE #

서버의 응답을 이해할 수 없습니다.

PGRES_NONFATAL_ERROR #

치명적이지 않은 오류(알림 또는 경고)가 발생했습니다.

PGRES_FATAL_ERROR #

치명적인 오류가 발생했습니다.

PGRES_COPY_BOTH #

복사 입/출력(서버 간) 데이터 전송이 시작되었습니다. 이 기능은 현재 스트리밍 복제에만 사용되므로 일반 애플리케이션토토 사이트 추천는 이 상태가 발생해서는 안 됩니다.

PGRES_SINGLE_TUPLE #

PGresult현재 명령의 단일 결과 튜플을 포함합니다. 이 상태는 쿼리에 대해 단일 행 모드가 선택된 경우에만 발생합니다(참조PostgreSQL : 문서 : 18 : 32.6. 스포츠 토토 베트맨 검색 결과 chunks).

PGRES_TUPLES_CHUNK #

PGresult현재 명령의 여러 결과 튜플을 포함합니다. 이 상태는 쿼리에 대해 청크 모드가 선택된 경우에만 발생합니다(참조PostgreSQL : 문서 : 18 : 32.6. 스포츠 토토 베트맨 검색 결과 chunks). 튜플 수는 전달된 한도를 초과하지 않습니다.PQsetChunkedRowsMode.

PGRES_PIPELINE_SYNC #

PGresult둘 중 하나토토 사이트 추천 요청한 파이프라인 모드의 동기화 지점을 나타냅니다.PQpipelineSync또는PQsendPipelineSync. 이 상태는 파이프라인 모드가 선택된 경우에만 발생합니다.

PGRES_PIPELINE_ABORTED #

PGresult서버로부터 오류를 수신한 파이프라인을 나타냅니다.PQgetResult반복적으로 호출해야 하며 매번 현재 파이프라인이 끝날 때까지 이 상태 코드를 반환하며 그 시점토토 사이트 추천 반환됩니다.PGRES_PIPELINE_SYNC그리고 정상적인 처리가 재개될 수 있습니다.

결과 상태가 다음과 같은 경우PGRES_TUPLES_OK, PGRES_SINGLE_TUPLE, 또는PGRES_TUPLES_CHUNK인 경우 아래 설명된 함수를 사용하여 쿼리토토 사이트 추천 반환된 행을 검색할 수 있습니다. 참고하세요선택0개의 행을 검색하는 명령이 여전히 표시됩니다.PGRES_TUPLES_OK. PGRES_COMMAND_OK행을 반환할 수 없는 명령용입니다(삽입또는업데이트a 없이돌아오는 중절 등). 의 응답PGRES_EMPTY_QUERY클라이언트 소프트웨어의 버그를 나타낼 수 있습니다.

상태의 결과PGRES_NONFATAL_ERROR다음토토 사이트 추천 직접 반환하지 않습니다.PQexec또는 기타 쿼리 실행 함수; 이러한 종류의 결과는 대신 알림 프로세서로 전달됩니다(참조PostgreSQL : 문서 : 18 : 32.13. 스포츠 토토 처리).

PQresStatus #

다음토토 사이트 추천 반환된 열거 유형을 변환합니다.PQresultStatus상태 코드를 설명하는 문자열 상수로. 호출자는 결과를 해제해서는 안 됩니다.

char *PQresStatus(ExecStatusType 상태);
PQresultErrorMessage #

명령과 관련된 오류 메시지를 반환하거나, 오류가 없으면 빈 문자열을 반환합니다.

char *PQresultErrorMessage(const PGresult *res);

오류가 발생한 경우 반환된 문자열에는 후행 줄바꿈이 포함됩니다. 호출자는 결과를 직접 해제해서는 안 됩니다. 연결된 경우 해제됩니다.PGresult핸들이 다음으로 전달됨PQclear.

즉시 다음PQexec또는PQgetResult전화,PQerrorMessage(연결토토 사이트 추천)는 다음과 동일한 문자열을 반환합니다.PQresultErrorMessage(결과에 대해). 그러나 aPGresult은 오류 메시지가 파괴될 때까지 유지되는 반면 연결의 오류 메시지는 후속 작업이 완료되면 변경됩니다. 사용PQresultErrorMessage특정 항목과 관련된 상태를 알고 싶을 때PGresult; 사용PQerrorMessage최근 연결 작업의 상태를 알고 싶을 때.

PQresultVerboseErrorMessage #

a와 관련된 오류 메시지의 형식이 변경된 버전을 반환합니다.PGresult객체.

char *PQresultVerboseErrorMessage(const PGresult *res,
                                  PG자세한 표현,
                                  PGContextVisibility show_context);

어떤 상황토토 사이트 추천는 클라이언트가 이전에 보고된 오류에 대한 더 자세한 버전을 원할 수도 있습니다.PQresultVerboseErrorMessage에 의해 생성된 메시지를 계산하여 이러한 요구를 해결합니다.PQresultErrorMessage지정된 세부 정보 설정이 해당 연결에 대해 적용된 경우PGresult생성되었습니다. 만약PGresult오류 결과가 아닙니다.PGresult는 오류 결과가 아닙니다.44791_44863

a토토 사이트 추천 데이터를 추출하는 대부분의 다른 기능과는 달리PGresult, 이 함수의 결과는 새로 할당된 문자열입니다. 호출자는 다음을 사용하여 해제해야 합니다.PQfreemem()문자열이 더 이상 필요하지 않은 경우.

메모리가 부족하면 NULL 반환이 가능합니다.

PQresultErrorField #

오류 보고서의 개별 필드를 반환합니다.

char *PQresultErrorField(const PGresult *res, int fieldcode);

필드코드은 오류 필드 식별자입니다. 아래에 나열된 기호를 참조하세요.NULL다음의 경우 반환됩니다.PGresult은(는) 오류 또는 경고 결과가 아니거나 지정된 필드를 포함하지 않습니다. 필드 값에는 일반적으로 후행 줄 바꿈이 포함되지 않습니다. 호출자는 결과를 직접 해제해서는 안 됩니다. 연결된 경우 해제됩니다.PGresult핸들이 다음으로 전달됨PQclear.

다음 필드 코드를 사용할 수 있습니다:

PG_DIAG_SEVERITY #

심각도; 필드 내용은 다음과 같습니다.오류, 치명적또는패닉(오류 메시지토토 사이트 추천) 또는경고, 공지, 디버그, 정보또는로그(알림 메시지토토 사이트 추천) 또는 이들 중 하나의 현지화된 번역. 항상 존재합니다.

PG_DIAG_SEVERITY_NONLOCALIZED #

심각도; 필드 내용은 다음과 같습니다.오류, 치명적또는패닉(오류 메시지토토 사이트 추천) 또는경고, 공지, 디버그, 정보또는로그(알림 메시지토토 사이트 추천). 이는 다음과 동일합니다.PG_DIAG_SEVERITY필드는 내용이 현지화되지 않는다는 점만 제외합니다. 이는 다음토토 사이트 추천 생성된 보고서에만 나타납니다.토토 사이트 추천버전 9.6 이상.

PG_DIAG_SQLSTATE #

오류에 대한 SQLSTATE 코드. SQLSTATE 코드는 발생한 오류 유형을 식별합니다. 특정 데이터베이스 오류에 대한 응답으로 특정 작업(예: 오류 처리)을 수행하기 위해 프런트 엔드 응용 프로그램토토 사이트 추천 사용할 수 있습니다. 가능한 SQLSTATE 코드 목록은 다음을 참조하세요.PostgreSQL : 문서 : 18 : 부록 A. PostgreSQL 토토 코드. 이 필드는 현지화할 수 없으며 항상 존재합니다.

PG_DIAG_MESSAGE_PRIMARY #

사람이 읽을 수 있는 주요 오류 메시지(일반적으로 한 줄). 항상 존재합니다.

PG_DIAG_MESSAGE_DETAIL #

세부사항: 문제에 대한 자세한 내용을 담고 있는 선택적인 보조 오류 메시지입니다. 여러 줄로 실행될 수 있습니다.

PG_DIAG_MESSAGE_HINT #

힌트: 문제에 대해 무엇을 해야할지 선택적 제안. 이는 확실한 사실보다는 조언(부적절할 수 있음)을 제공한다는 점토토 사이트 추천 세부 사항과 다릅니다. 여러 줄로 실행될 수 있습니다.

PG_DIAG_STATEMENT_POSITION #

원래 명령문 문자열에 대한 색인으로 오류 커서 위치를 나타내는 10진수 정수가 포함된 문자열입니다. 첫 번째 문자의 인덱스는 1이고 위치는 바이트가 아닌 문자로 측정됩니다.

PG_DIAG_INTERNAL_POSITION #

이것은 다음과 동일하게 정의됩니다.PG_DIAG_STATEMENT_POSITION필드이지만 커서 위치가 클라이언트가 제출한 명령이 아닌 내부적으로 생성된 명령을 참조할 때 사용됩니다.PG_DIAG_INTERNAL_QUERY이 필드가 나타나면 필드는 항상 나타납니다.

PG_DIAG_INTERNAL_QUERY #

실패한 내부 생성 명령의 텍스트입니다. 예를 들어 PL/pgSQL 함수에 의해 실행된 SQL 쿼리일 수 있습니다.

PG_DIAG_CONTEXT #

오류가 발생한 컨텍스트를 나타냅니다. 현재 여기에는 활성 절차적 언어 함수 및 내부 생성 쿼리의 호출 스택 추적이 포함됩니다. 추적은 한 줄에 하나의 항목이며 가장 최근 항목이 먼저 표시됩니다.

PG_DIAG_SCHEMA_NAME #

오류가 특정 데이터베이스 개체와 관련된 경우 해당 개체를 포함하는 스키마의 이름(있는 경우).

PG_DIAG_TABLE_NAME #

오류가 특정 테이블과 관련된 경우 테이블 이름. (테이블의 스키마 이름은 스키마 이름 필드를 참조하세요.)

PG_DIAG_COLUMN_NAME #

오류가 특정 테이블 열과 관련된 경우 해당 열의 이름. (테이블을 식별하려면 스키마 및 테이블 이름 필드를 참조하세요.)

PG_DIAG_DATATYPE_NAME #

오류가 특정 데이터 유형과 관련된 경우, 데이터 유형의 이름. (데이터 유형의 스키마 이름은 스키마 이름 필드를 참조하세요.)

PG_DIAG_CONSTRAINT_NAME #

오류가 특정 제약 조건과 관련된 경우 제약 조건의 이름. 관련 테이블이나 도메인은 위에 나열된 필드를 참조하세요. (이 목적을 위해 인덱스는 제약 조건 구문으로 생성되지 않은 경우에도 제약 조건으로 처리됩니다.)

PG_DIAG_SOURCE_FILE #

오류가 보고된 소스 코드 위치의 파일 이름.

PG_DIAG_SOURCE_LINE #

오류가 보고된 소스 코드 위치의 줄 번호.

PG_DIAG_SOURCE_FUNCTION #

오류를 보고하는 소스코드 함수의 이름.

참고

스키마 이름, 테이블 이름, 열 이름, 데이터 유형 이름 및 제약 조건 이름에 대한 필드는 제한된 수의 오류 유형에만 제공됩니다. 참조PostgreSQL : 문서 : 18 : 부록 A. PostgreSQL 토토 코드. 이러한 필드가 있다고 해서 다른 필드가 있다는 것을 보장한다고 가정하지 마십시오. 핵심 오류 소스는 위토토 사이트 추천 언급한 상호 관계를 관찰하지만 사용자 정의 함수는 이러한 필드를 다른 방식으로 사용할 수 있습니다. 같은 맥락토토 사이트 추천, 이러한 필드가 현재 데이터베이스에 있는 동시대 개체를 나타낸다고 가정하지 마십시오.

클라이언트는 필요에 맞게 표시된 정보의 형식을 지정할 책임이 있습니다. 특히 필요에 따라 긴 줄을 끊어야 합니다. 오류 메시지 필드에 나타나는 줄 바꿈 문자는 줄바꿈이 아닌 단락 나누기로 처리되어야 합니다.

내부적으로 생성된 오류libpq심각도와 기본 메시지가 있지만 일반적으로 다른 필드는 없습니다.

오류 필드는 다음토토 사이트 추천만 사용할 수 있습니다.PGresult객체, 아님PGconn객체; 없어요PQerrorField함수.

PQclear #

a와 연관된 저장 공간을 비웁니다.PGresult. 모든 명령 결과는 다음을 통해 해제되어야 합니다.PQclear더 이상 필요하지 않은 경우.

void PQclear(PGresult *res);

인수가 a인 경우NULL포인터, 작업이 수행되지 않습니다.

당신은 다음을 유지할 수 있습니다.PGresult당신이 필요로 하는 한 계속해서 반대하십시오; 새 명령을 실행하거나 연결을 닫아도 사라지지 않습니다. 이를 제거하려면 전화해야 합니다.PQclear. 이렇게 하지 않으면 애플리케이션토토 사이트 추천 메모리 누수가 발생합니다.

32.3.2. 쿼리 결과 정보 가져오기#

이 함수는 다음토토 사이트 추천 정보를 추출하는 데 사용됩니다.PGresult성공적인 쿼리 결과를 나타내는 개체(즉, 상태가 있는 개체PGRES_TUPLES_OK, PGRES_SINGLE_TUPLE, 또는PGRES_TUPLES_CHUNK). 성공적인 설명 작업토토 사이트 추천 정보를 추출하는 데에도 사용할 수 있습니다. 설명의 결과에는 실제 쿼리 실행이 제공하는 것과 동일한 열 정보가 모두 포함되지만 행은 0개입니다. 다른 상태 값을 가진 개체의 경우 이러한 함수는 결과에 행이 0개와 열이 0개인 것처럼 작동합니다.

PQntuples #

질의 결과의 행(튜플) 수를 반환합니다. (참고하세요PGresult개체는 최대로 제한됩니다.INT_MAX행, 그러니까int결과는 충분합니다.)

int PQntuples(const PGresult *res);
PQn필드 #

쿼리 결과의 각 행에 있는 열(필드) 수를 반환합니다.

int PQnfields(const PGresult *res);
PQfname #

주어진 열 번호와 연관된 열 이름을 반환합니다. 열 번호는 0부터 시작합니다. 호출자는 결과를 직접 해제해서는 안 됩니다. 연결된 경우 해제됩니다.PGresult핸들이 다음으로 전달됨PQclear.

char *PQfname(const PGresult *res,
              int 열_번호);

NULL열 번호가 범위를 벗어나면 반환됩니다.

PQf번호 #

주어진 열 이름과 연관된 열 번호를 반환합니다.

int PQfnumber(const PGresult *res,
              const char *column_name);

주어진 이름이 어떤 열과도 일치하지 않으면 -1이 반환됩니다.

주어진 이름은 SQL 명령의 식별자처럼 처리됩니다. 즉, 큰따옴표를 사용하지 않는 한 대문자로 표시됩니다. 예를 들어, SQL 명령토토 사이트 추천 생성된 쿼리 결과가 있습니다.

1을 FOO로, 2를 "BAR"로 선택;

우리는 결과를 얻을 것입니다:

PQfname(res, 0)fooPQfname(res, 1)PQfnumber(res, "FOO")0PQfnumber(res, "foo")0PQfnumber(res, "BAR")-1PQfnumber(res, "\"BAR\"")1
PQftable #

주어진 열을 가져온 테이블의 OID를 반환합니다. 열 번호는 0부터 시작합니다.

Oid PQftable(const PGresult *res,
             int 열_번호);

InvalidOid62299_62455pg_class정확하게 어떤 테이블이 참조되는지 확인합니다.

유형오이드그리고 상수InvalidOid다음을 포함하면 정의됩니다.libpq헤더 파일. 둘 다 정수 유형입니다.

PQftablecol #

지정된 쿼리 결과 열을 구성하는 열의 (해당 테이블 내) 열 번호를 반환합니다. 쿼리 결과 열 번호는 0부터 시작하지만 테이블 열에는 0이 아닌 숫자가 있습니다.

int PQftablecol(const PGresult *res,
                int 열_번호);

열 번호가 범위를 벗어나거나 지정된 열이 테이블 열에 대한 단순 참조가 아닌 경우 0이 반환됩니다.

PQfformat #

주어진 열의 형식을 나타내는 형식 코드를 반환합니다. 열 번호는 0부터 시작합니다.

int PQfformat(const PGresult *res,
              int 열_번호);

형식 코드 0은 텍스트 데이터 표현을 나타내고, 형식 코드 1은 바이너리 표현을 나타냅니다. (다른 코드는 향후 정의를 위해 예약되어 있습니다.)

PQftype #

주어진 열 번호와 연관된 데이터 유형을 반환합니다. 반환된 정수는 해당 유형의 내부 OID 번호입니다. 열 번호는 0부터 시작합니다.

Oid PQftype(const PGresult *res,
            int 열_번호);

시스템 테이블을 쿼리할 수 있습니다.pg_type다양한 데이터 유형의 이름과 속성을 얻습니다.OID내장 데이터 유형이 파일에 정의되어 있습니다.카탈로그/pg_type_d.h토토 사이트 추천토토 사이트 추천설치포함디렉토리.

PQfmod #

주어진 열 번호와 연관된 열의 유형 수정자를 반환합니다. 열 번호는 0부터 시작합니다.

int PQfmod(const PGresult *res,
           int 열_번호);

수정자 값의 해석은 유형에 따라 다릅니다. 일반적으로 정밀도 또는 크기 제한을 나타냅니다. 값 -1은 다음을 나타내는 데 사용됩니다.사용 가능한 정보가 없습니다.. 대부분의 데이터 유형은 수정자를 사용하지 않으며 이 경우 값은 항상 -1입니다.

PQfsize #

주어진 열 번호와 연관된 열의 크기를 바이트 단위로 반환합니다. 열 번호는 0부터 시작합니다.

int PQfsize(const PGresult *res,
            int 열_번호);

PQfsize은 데이터베이스 행토토 사이트 추천 이 열에 할당된 공간, 즉 데이터 유형의 서버 내부 표현 크기를 반환합니다. (따라서 클라이언트에게는 그다지 유용하지 않습니다.) 음수 값은 데이터 유형이 가변 길이임을 나타냅니다.

PQbinaryTuples #

다음인 경우 1을 반환합니다.PGresult바이너리 데이터를 포함하고 텍스트 데이터를 포함하는 경우 0입니다.

int PQbinaryTuples(const PGresult *res);

이 기능은 더 이상 사용되지 않습니다(다음과 관련된 사용 제외)복사), 단일로 가능하기 때문입니다.PGresult일부 열에는 텍스트 데이터를 포함하고 다른 열에는 바이너리 데이터를 포함합니다.PQfformat선호됩니다.PQbinaryTuples결과의 모든 열이 바이너리(형식 1)인 경우에만 1을 반환합니다.

PQgetvalue #

a의 한 행에 대한 단일 필드 값을 반환합니다.PGresult. 행과 열 번호는 0부터 시작합니다. 호출자는 결과를 직접 해제해서는 안 됩니다. 연결된 경우 해제됩니다.PGresult핸들이 다음으로 전달됨PQclear.

char *PQgetvalue(const PGresult *res,
                 정수 행_번호,
                 int 열_번호);

텍스트 형식의 데이터에 대해 반환된 값은PQgetvalue은 필드 값의 Null 종료 문자열 표현입니다. 이진 형식 데이터의 경우 값은 데이터 유형에 의해 결정되는 이진 표현입니다.typsend그리고typreceive함수. (이 경우에도 실제로 값 뒤에는 0바이트가 따르지만 값에 널이 포함될 가능성이 높기 때문에 이는 일반적으로 유용하지 않습니다.)

필드 값이 null이면 빈 문자열이 반환됩니다. 참조PQgetisnull널 값과 빈 문자열 값을 구별합니다.

포인터가 반환됨PQgetvalue다음의 일부인 저장소를 가리킵니다.PGresult구조. 가리키는 데이터를 수정해서는 안 되며, 수명이 지난 후 사용하려면 데이터를 다른 저장소에 명시적으로 복사해야 합니다.PGresult구조 자체.

PQgetisnull #

필드토토 사이트 추천 null 값을 테스트합니다. 행과 열 번호는 0부터 시작합니다.

int PQgetisnull(const PGresult *res,
                정수 행_번호,
                int 열_번호);

이 함수는 필드가 null이면 1을 반환하고 null이 아닌 값을 포함하면 0을 반환합니다. (참고하세요PQgetvalue널 필드에 대해 널 포인터가 아닌 빈 문자열을 반환합니다.)

PQgetlength #

필드 값의 실제 길이를 바이트 단위로 반환합니다. 행과 열 번호는 0부터 시작합니다.

int PQgetlength(const PGresult *res,
                정수 행_번호,
                int 열_번호);

특정 데이터 값에 대한 실제 데이터 길이, 즉 가 가리키는 객체의 크기입니다.PQgetvalue. 텍스트 데이터 형식의 경우 이는 다음과 동일합니다.strlen(). 바이너리 형식의 경우 이는 필수 정보입니다. 주의해야 할 점은 다음과 같습니다.아님의존하다PQfsize실제 데이터 길이를 얻으려면.

PQnparams #

준비된 문의 매개변수 수를 반환합니다.

int PQnparams(const PGresult *res);

이 기능은 결과를 검사할 때만 유용합니다.PQdescribe준비됨. 다른 유형의 결과토토 사이트 추천는 0을 반환합니다.

PQ매개변수 유형 #

표시된 명령문 매개변수의 데이터 유형을 반환합니다. 매개변수 번호는 0부터 시작합니다.

Oid PQparamtype(const PGresult *res, int param_number);

이 기능은 결과를 검사할 때만 유용합니다.PQdescribe준비됨. 다른 유형의 결과토토 사이트 추천는 0을 반환합니다.

PQ프린트 #

모든 행과 선택적으로 열 이름을 지정된 출력 스트림으로 인쇄합니다.

void PQprint(FILE *fout, /* 출력 스트림 */
             const PGresult *res,
             const PQprintOpt *po);
typedef 구조체

    pqbool 헤더;      /* 출력 필드 제목과 행 개수를 인쇄합니다 */
    pqbool 정렬;       /* 필드 채우기 채우기 */
    pqbool 표준;    /* 오래된 뇌사 형식 */
    pqbool html3;       /* HTML 테이블 출력 */
    pqbool 확장;    /* 테이블 확장 */
    pqbool 호출기;       /* 필요한 경우 출력을 위해 호출기를 사용합니다 */
    char *fieldSep;   /* 필드 구분자 */
    char *tableOpt;   /* HTML 테이블 요소의 속성 */
    문자 *캡션;    /* HTML 테이블 캡션 */
    char **필드명; /* null로 끝나는 대체 필드 이름 배열 */
 PQprintOpt;

이 기능은 이전에 다음토토 사이트 추천 사용되었습니다.psql질의 결과를 인쇄하지만 더 이상 그렇지 않습니다. 모든 데이터가 텍스트 형식이라고 가정합니다.

32.3.3. 기타 결과 정보 조회#

이 함수는 다음토토 사이트 추천 다른 정보를 추출하는 데 사용됩니다.PGresult객체.

PQcmd상태 #

다음을 생성한 SQL 명령토토 사이트 추천 명령 상태 태그를 반환합니다.PGresult.

char *PQcmdStatus(PGresult *res);

일반적으로 이는 단지 명령의 이름이지만 처리된 행 수와 같은 추가 데이터가 포함될 수도 있습니다. 호출자는 결과를 직접 해제해서는 안 됩니다. 연결된 경우 해제됩니다.PGresult핸들이 다음으로 전달됨PQclear.

PQcmdTuples #

SQL 명령의 영향을 받은 행 수를 반환합니다.

char *PQcmdTuples(PGresult *res);

이 함수는 다음의 영향을 받은 행의 수를 포함하는 문자열을 반환합니다.SQL다음을 생성한 문PGresult. 이 함수는 a 실행 이후에만 사용할 수 있습니다.선택, 다음으로 테이블 생성, 삽입, 업데이트, 삭제, 병합, 이동, 가져오기, 또는복사문장 또는실행다음을 포함하는 준비된 쿼리의삽입, 업데이트, 삭제, 또는병합문장. 다음을 생성한 명령인 경우PGresult다른 것도 있었어,PQcmdTuples빈 문자열을 반환합니다. 호출자는 반환 값을 직접 해제해서는 안 됩니다. 연결된 경우 해제됩니다.PGresult핸들이 다음으로 전달됨PQclear.

PQoid값 #

OID를 반환합니다.삽입된 행의 경우,SQL명령은삽입OID가 있는 테이블에 정확히 하나의 행을 삽입한 경우 또는 a실행적합한 내용을 포함하는 준비된 쿼리의삽입문장. 그렇지 않으면 이 함수는 다음을 반환합니다.InvalidOid. 이 함수는 또한 반환됩니다.InvalidOid테이블이 다음의 영향을 받는 경우삽입문에 OID가 포함되어 있지 않습니다.

Oid PQoidValue(const PGresult *res);
PQoidStatus #

이 기능은 다음을 위해 더 이상 사용되지 않습니다.PQoid값그리고 스레드로부터 안전하지 않습니다. 삽입된 행의 OID가 포함된 문자열을 반환하지만,PQoid값OID 값을 반환합니다.

char *PQoidStatus(const PGresult *res);

32.3.4. SQL 명령에 포함하기 위해 문자열 이스케이프#

PQescapeLiteral #
char *PQescapeLiteral(PGconn *conn, const char *str, size_t length);

PQescapeLiteralSQL 명령 내토토 사이트 추천 사용하기 위해 문자열을 이스케이프합니다. 이는 SQL 명령에 데이터 값을 리터럴 상수로 삽입할 때 유용합니다. 특정 문자(예: 따옴표 및 백슬래시)는 SQL 파서토토 사이트 추천 특수하게 해석되지 않도록 이스케이프 처리해야 합니다.PQescapeLiteral이 작업을 수행합니다.

PQescapeLiteral이스케이프된 버전을 반환합니다.str다음으로 할당된 메모리의 매개변수malloc(). 이 메모리는 다음을 사용하여 해제되어야 합니다.PQfreemem()결과가 더 이상 필요하지 않은 경우. 종료 0바이트는 필요하지 않으며 계산되어서도 안 됩니다.길이. (종료 0바이트가 이전에 발견된 경우길이바이트가 처리되었습니다.PQescapeLiteral0토토 사이트 추천 멈춥니다. 따라서 동작은 다소 다음과 같습니다strncpy.) 반환 문자열에는 모든 특수 문자가 대체되어 해당 문자가 적절하게 처리될 수 있습니다.포스트그레SQL문자열 리터럴 파서. 종료 0바이트도 추가됩니다. 둘러싸야 하는 작은따옴표포스트그레SQL문자열 리터럴이 결과 문자열에 포함됩니다.

오류 발생 시,PQescapeLiteral반환NULL적절한 메시지가 다음에 저장됩니다.객체.

신뢰할 수 없는 소스로부터 받은 문자열을 처리할 때 적절한 이스케이프를 수행하는 것이 특히 중요합니다. 그렇지 않으면 보안 위험이 있습니다. 다음 사항에 취약합니다.SQL 주입원치 않는 SQL 명령이 데이터베이스에 공급되는 공격입니다.

데이터 값이 별도의 매개변수로 전달될 때 이스케이프를 수행하는 것은 필요하지도 정확하지도 않습니다.PQexecParams또는 그 형제 루틴.

PQescapeIdentifier #
char *PQescapeIdentifier(PGconn *conn, const char *str, size_t length);

PQescapeIdentifier테이블, 열 또는 함수 이름과 같은 SQL 식별자로 사용하기 위해 문자열을 이스케이프합니다. 이는 사용자 제공 식별자에 SQL 파서가 식별자의 일부로 해석하지 않는 특수 문자가 포함되어 있거나 식별자에 대소문자를 유지해야 하는 대문자가 포함될 수 있는 경우에 유용합니다.

PQescapeIdentifier다음 버전을 반환합니다.str다음으로 할당된 메모리토토 사이트 추천 SQL 식별자로 이스케이프된 매개변수malloc(). 이 메모리는 다음을 사용하여 해제되어야 합니다.PQfreemem()결과가 더 이상 필요하지 않을 때. 종료 0바이트는 필요하지 않으며 계산되어서는 안 됩니다.길이. (종료 0바이트가 이전에 발견된 경우길이바이트가 처리되었습니다.PQescapeIdentifier0토토 사이트 추천 멈춥니다. 따라서 동작은 다소 다음과 같습니다strncpy.) 반환 문자열은 SQL 식별자로 적절하게 처리될 수 있도록 모든 특수 문자를 대체합니다. 종료 0바이트도 추가됩니다. 반환 문자열도 큰따옴표로 묶입니다.

오류 발생 시,PQescapeIdentifier반환NULL적절한 메시지가 다음에 저장됩니다.객체.

문자열 리터럴과 마찬가지로 SQL 삽입 공격을 방지하려면 신뢰할 수 없는 소스토토 사이트 추천 수신된 SQL 식별자를 이스케이프해야 합니다.

PQescapeStringConn #
size_t PQescapeStringConn(PGconn *conn,
                          char *to, const char *from, size_t 길이,
                          int *오류);

PQescapeStringConn문자열 리터럴을 이스케이프합니다.PQescapeLiteral. 달리PQescapeLiteral, 호출자는 적절한 크기의 버퍼를 제공할 책임이 있습니다. 게다가PQescapeStringConn둘러싸야 하는 작은따옴표를 생성하지 않습니다.포스트그레SQL문자열 리터럴; 결과가 삽입되는 SQL 명령에 제공되어야 합니다. 매개변수토토 사이트 추천이스케이프할 문자열의 첫 번째 문자를 가리키며,길이매개변수는 이 문자열의 바이트 수를 제공합니다. 종료 0바이트는 필요하지 않으며 계산되어서도 안 됩니다.길이. (종료 0바이트가 이전에 발견된 경우길이바이트가 처리되었습니다.PQescapeStringConn0토토 사이트 추천 멈춥니다. 따라서 동작은 다소 다음과 같습니다strncpy.) 값의 두 배보다 적어도 1바이트 더 많은 바이트를 보유할 수 있는 버퍼를 가리켜야 합니다.길이, 그렇지 않으면 동작이 정의되지 않습니다. 다음과 같은 경우에도 동작이 정의되지 않습니다.그리고토토 사이트 추천문자열이 겹칩니다.

만약에오류매개변수가 아님NULL그러면*오류성공 시 0으로 설정되고 오류 시 0이 아닌 값으로 설정됩니다. 현재 가능한 유일한 오류 조건은 소스 문자열의 잘못된 멀티바이트 인코딩과 관련됩니다. 출력 문자열은 여전히 오류 발생 시 생성되지만 서버는 이를 잘못된 형식으로 거부할 것으로 예상할 수 있습니다. 오류가 발생하면 적절한 메시지가에 저장됩니다.객체, 여부오류이다NULL.

PQescapeStringConn기록된 바이트 수를 반환합니다., 종료 0바이트를 포함하지 않음.

PQescapeString #

PQescapeString이전 버전이며 더 이상 사용되지 않습니다.PQescapeStringConn.

size_t PQescapeString(char *to, const char *from, size_t 길이);

유일한 차이점은PQescapeStringConn그렇군요PQescapeString취하지 않습니다PGconn또는오류매개변수. 이로 인해 연결 속성(예: 문자 인코딩)에 따라 동작을 조정할 수 없으므로잘못된 결과가 나올 수도 있습니다. 또한 오류 조건을 보고할 방법이 없습니다.

PQescapeString하나만 작동하는 클라이언트 프로그램토토 사이트 추천 안전하게 사용할 수 있습니다.토토 사이트 추천한 번에 연결(이 경우 알아야 할 내용을 찾을 수 있음비하인드 스토리). 다른 상황토토 사이트 추천는 보안 위험이 있으므로 피해야 합니다.PQescapeStringConn.

PQescapeByteaConn #

다음 유형의 SQL 명령 내토토 사이트 추천 사용하기 위해 바이너리 데이터를 이스케이프합니다.바이테아. 마찬가지로PQescapeStringConn, 이는 SQL 명령 문자열에 데이터를 직접 삽입할 때만 사용됩니다.

부호 없는 문자 *PQescapeByteaConn(PGconn *conn,
                                 const unsigned char *from,
                                 size_t from_length,
                                 size_t *to_length);

특정 바이트 값은 a의 일부로 사용될 때 이스케이프되어야 합니다.바이테아문자 그대로SQL진술.PQescapeByteaConn16진수 인코딩 또는 백슬래시 이스케이프를 사용하여 바이트를 이스케이프합니다. 참조Postgresql: Tài liệu: 18: 8.4. Kiểu dữ liệu 젠 토토ị phân더 많은 정보를 원하시면.

from매개변수는 이스케이프할 문자열의 첫 번째 바이트를 가리키며,from_length매개변수는 이 바이너리 문자열의 바이트 수를 제공합니다. (종료 0바이트는 필요하지도 않고 계산되지도 않습니다.)to_length매개변수는 결과적으로 이스케이프된 문자열 길이를 보유할 변수를 가리킵니다. 이 결과 문자열 길이에는 결과의 종료 0바이트가 포함됩니다.

PQescapeByteaConn이스케이프된 버전을 반환합니다.from다음으로 할당된 메모리의 매개변수 바이너리 문자열malloc(). 이 메모리는 다음을 사용하여 해제되어야 합니다.PQfreemem()결과가 더 이상 필요하지 않을 때. 반환 문자열에는 모든 특수 문자가 대체되어 토토 사이트 추천 적절하게 처리될 수 있습니다.포스트그레SQL문자열 리터럴 파서 및바이테아입력 함수. 종료 0바이트도 추가됩니다. 둘러싸야 하는 작은따옴표토토 사이트 추천문자열 리터럴은 결과 문자열의 일부가 아닙니다.

오류 발생 시 널 포인터가 반환되고 적절한 오류 메시지가 다음에 저장됩니다.객체. 현재 가능한 유일한 오류는 결과 문자열에 대한 메모리가 부족하다는 것입니다.

PQescapeBytea #

PQescapeBytea이전 버전이며 더 이상 사용되지 않습니다.PQescapeByteaConn.

unsigned char *PQescapeBytea(const unsigned char *from,
                             size_t from_length,
                             size_t *to_length);

유일한 차이점은PQescapeByteaConn그렇군요PQescapeByteaa를 취하지 않습니다PGconn매개변수. 이 때문에,PQescapeBytea단일을 사용하는 클라이언트 프로그램토토 사이트 추천만 안전하게 사용할 수 있습니다.포스트그레SQL한 번에 연결(이 경우 알아야 할 내용을 찾을 수 있음비하인드 스토리). 그것은잘못된 결과를 제공할 수 있음여러 데이터베이스 연결을 사용하는 프로그램토토 사이트 추천 사용되는 경우(사용PQescapeByteaConn이러한 경우).

PQunescapeBytea #

이진 데이터의 문자열 표현을 이진 데이터로 변환 - 역순으로PQescapeBytea. 검색할 때 필요합니다.바이테아텍스트 형식의 데이터이지만 바이너리 형식으로 검색할 때는 그렇지 않습니다.

unsigned char *PQunescapeBytea(const unsigned char *from, size_t *to_length);

토토 사이트 추천매개변수는 다음토토 사이트 추천 반환될 수 있는 문자열을 가리킵니다.PQgetvaluea에 적용할 때바이테아열.PQunescapeBytea이 문자열 표현을 이진 표현으로 변환합니다. 로 할당된 버퍼에 대한 포인터를 반환합니다.malloc(), 또는NULL오류 발생 시 버퍼 크기를 입력합니다.to_length. 결과는 다음을 사용하여 해제되어야 합니다.PQfreemem더 이상 필요하지 않은 경우.

이 변환은 정확히 반대가 아닙니다.PQescapeBytea, 문자열이 예상되지 않기 때문에탈출다음토토 사이트 추천 수신할 때PQgetvalue. 특히 이는 문자열 인용을 고려할 필요가 없으므로 a가 필요하지 않음을 의미합니다.PGconn매개변수.

수정사항 제출

문서토토 사이트 추천 올바르지 않은 내용을 발견하면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.