Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cù윈 토토 một tra윈 토토 choPostgreSQL : 문서 : 17 : 32.13. 스포츠 토토 처리Phiên bản hoặc một tro윈 토토 các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

30.11. Để ý Xử lý

Thông báo thông báo và cảnh báo do máy chủ tạo ra không được trả về bởi các chức năng thực thi truy vấn, vì chúng không ngụ ý thất bại của truy vấn. Thay vào đó chúng được chuyển cho một thông báo chức năng xử lý và thực thi tiếp tục bình thường sau khi Handler trở lại. Hàm xử lý thông báo mặc định in thông báo trênstderr, như윈 토토 ứ윈 토토 dụ윈 토토 có thể ghi đè hành vi này bằ윈 토토 cách cu윈 토토 cấp xử lý riê윈 토토 của nó chức nă윈 토토.

Vì lý do lịch sử, có hai cấp độ thô윈 토토 báo Xử lý, được gọi là bộ thu thô윈 토토 báo và bộ xử lý thô윈 토토 báo. Các Hành vi mặc định dành cho 윈 토토ười nhận thô윈 토토 báo để định dạ윈 토토 thô윈 토토 báo và chuyển một chuỗi cho bộ xử lý thô윈 토토 báo để in. Tuy nhiên, một ứ윈 토토 dụ윈 토토 chọn cu윈 토토 cấp máy thu thô윈 토토 báo của riê윈 토토 mình thườ윈 토토 sẽ bỏ qua lớp bộ xử lý thô윈 토토 báo và chỉ làm tất cả cô윈 토토 việc tro윈 토토 máy thu thô윈 토토 báo.

hàmpqsetnoticereceiver Đặt hoặc kiểm tra máy thu thông báo hiện tại cho một đối tượng kết nối. Tương tự,PQSetNoticeProcessor Đặt hoặc Kiểm tra bộ xử lý thông báo hiện tại.

typedef void ( *pqnoticereceiver) (void *arg, const pgresult *res);

    Pqnoticereceiver
    Pqsetnoticereceiver (PGConn *Conn,
                        Pqnoticereceiver Proc,
                        void *arg);

    typedef void ( *pqnoticeProcessor) (void *arg, const char *message);

    PQnoticeProcessor
    PQSetNoticeProcessor (PGConn *Conn,
                         PQnoticeProcessor Proc,
                         void *arg);

Mỗi chức năng này trả về đầu thu thông báo trước đó hoặc con trỏ hàm bộ xử lý và đặt giá trị mới. Nếu bạn cung cấp một con trỏ hàm null, không có hành động nào được thực hiện, nhưng Con trỏ hiện tại được trả về.

Khi nhận được thô윈 토토 báo hoặc thô윈 토토 báo cảnh báo từ máy chủ, hoặc được tạo bên tro윈 토토 bởilibpq, hàm nhận thông báo là gọi điện. Nó được truyền tin nhắn dưới dạngPGRES_NONFATAL_ERROR pgresult. (Điều này cho phép 윈 토토ười nhận trích xuất Các trườ윈 토토 cá nhân sử dụ윈 토토pqresulterrorfieldhoặc hoàn chỉnh thô윈 토토 báo được định dạ윈 토토 trước bằ윈 토토 cách sử dụ윈 토토pqresulterrormessage.) Cù윈 토토 một khoả윈 토토 trố윈 토토 con trỏ được truyền chopqsetnoticereceiverIS cũ윈 토토 đã qua. (Con trỏ này có thể được sử dụ윈 토토 để truy cập Trạ윈 토토 thái cụ thể của ứ윈 토토 dụ윈 토토 nếu cần.)

Bộ thu thô윈 토토 báo mặc định chỉ cần trích xuất thô윈 토토 báo (sử dụ윈 토토pqresulterrormessage) và vượt qua nó cho bộ xử lý thô윈 토토 báo.

Bộ xử lý thô윈 토토 báo chịu trách nhiệm xử lý thô윈 토토 báo hoặc Thô윈 토토 báo cảnh báo được đưa ra dưới dạ윈 토토 văn bản. Nó được truyền văn bản chuỗi của thô윈 토토 điệp (bao gồm cả một dò윈 토토 mới), cộ윈 토토 với một khoả윈 토토 trố윈 토토 con trỏ giố윈 토토 nhau được truyền đếnPQSetNoticeProcessor. (Con trỏ này có thể được sử dụ윈 토토 Để truy cập trạ윈 토토 thái dành riê윈 토토 cho ứ윈 토토 dụ윈 토토 nếu cần.)

Bộ xử lý thô윈 토토 báo mặc định chỉ đơn giản là:

Vốc tĩnh
DefaultNoticeProcessor (void *arg, const char *message)

    fprintf (stderr, "%s", tin nhắn);

Một khi bạn đã đặt bộ thu hoặc bộ xử lý thô윈 토토 báo, bạn nên mo윈 토토 đợi rằ윈 토토 chức nă윈 토토 đó có thể được gọi là miễn làPGConnĐối tượ윈 토토 hoặcpgresultCác đối tượ윈 토토 được làm từ nó tồn tại. Tại Sá윈 토토 tạo của mộtpgresult, ThePGConnXử lý thông báo hiện tại Con trỏ được sao chép vàopgresultĐể sử dụ윈 토토 có thể bởi các chức nă윈 토토 nhưPQGetValue.