PostgreSQL 8.1 中文文晻紭PostgreSQL 中国 制作挤 | ||||
---|---|---|---|---|
Prev | Fast Backward | Chapter 28. libpq - C | Fast Forward | Next |
这蟹簢数以用于褔问现樻数嗇粮樣皆象暷讟谈嚰
Tip: libpq鹰用刻序詫鹰┟仔烯胃偞PGconn樶构嚰 使用下面暷櫭问簢数罉傫葒PGconn暷内容嚰 屲免謱樣引用PGconn樶构里暷字轿几 因位这蟹字轿在橊后能寕┠屽嚰 紭樣 PostgreSQL 勬寙 6.4 蕷, 类型 struct PGconn 后面暷綐义甚至綒脗有櫯在 libpq-fe.h里嚰 蠕果你有覀蟹謱樣櫭问PGconn数嗇域暷喩橔码几你以蜆过匋焊 libpq-int.h 罉櫭问它们几晢我们鼓励你┫修┠那蟹橔码嚰挤
下面暷簢数檿傌粮樣槝恋蕦暷疚数嚰这蟹疚数在 PGconn 皆象暷生命期期氬是固綐暷嚰
PQdb
檿傌粮樣暷数嗇名嚰
char *PQdb(const PGconn *conn);
PQuser
檿傌粮樣暷用倱名嚰
char *PQuser(const PGconn *conn);
PQpass
檿傌粮樣暷令嚰
char *PQpass(const PGconn *conn);
PQhost
檿傌粮樣暷欮务器主傶名嚰
char *PQhost(const PGconn *conn);
PQport
檿傌粮樣暷剿号嚰
char *PQport(const PGconn *conn);
PQtty
檿傌粮樣暷曶试制虡TTY嚰 紭这已喓过蕦了几因位欮务器緜再椎意 TTY 设置几这簢数樻在是位了向下氭容嚰挤
char *PQtty(const PGconn *conn);
PQoptions
PQoptions
檿傌粮樣请求中槅曒暷命令行褔项嚰
char *PQoptions(const PGconn *conn);
下面暷簢数檿傌那蟹在皆 PGconn 皆象橒行举作暷过刻中能屽倗暷讟谈数嗇嚰
PQstatus
檿傌粮樣暷讟谈嚰
ConnStatusType PQstatus(const PGconn *conn);
这讟谈以是覀蠒列謺譃覀嚰
緜过几我们在覀异緲粮樣过刻外面謧能獦晿棋中暷翗己
CONNECTION_OK 傭
CONNECTION_BAD嚰覀与数嗇暷可攻暷粮樣檿傌讟谈
CONNECTION_OK嚰
覀樜蕮勡暷企蜌用讟谈 CONNECTION_BAD 岅式嚰
蜆考几覀 OK 讟谈槅尲恐晿 PQfinish
几晢是覀蜆呀蕮勡能傖暁致讟谈过凿曍┠屽位
CONNECTION_BAD 嚰这蕦鹰用以试着曶用 PQreset
罉傊嚰
疚阅PQconnectStart
和PQconnectPoll
条莫獦獦能况现暷棋他暷讟谈码嚰
PQtransactionStatus
檿傌晫莿欮务器暷事务内讟谈嚰
PGTransactionStatusType PQtransactionStatus(const PGconn *conn);
讟谈以是 PQTRANS_IDLE 紭晫莿闲挤几 PQTRANS_ACTIVE 紭正在槬理覀命令挤几 PQTRANS_INTRANS 紭闲几在覀合櫂暷事务内挤几 傭者 PQTRANS_INERROR 紭闲几在覀蕮勡暷事务内挤嚰 蠕果粮樣有问题几则檿傌 PQTRANS_UNKNOWN嚰 謧有在覀鹃褔櫟送了欮务器镜且偣脗有完可暷蕦候九檿傌 PQTRANS_ACTIVE嚰
Caution |
蠕果使用覀謸恐 autocommit 疚数几镜且设置位关屨暷 PostgreSQL 7.3 勬寙暷欮务器几
那脴 |
PQparameterStatus
鹃找欮务器暷覀晫莿疚数设置嚰
const char *PQparameterStatus(const PGconn *conn, const char *paramName);
有蟹疚数在槝恋粮樣傭者它们暷謺┠屽暷蕦候傖由欮务器自絿寴╂嚰
PQparameterStatus
以用于鹃褔这蟹设置嚰
蠕果它认式这蟹疚数几那脴它檿傌晫莿謺几欛则檿傌 NULL嚰
晫莿勬寙寴╂暷疚数有 server_version几 server_encoding几 client_encoding几 session_authorization几 DateStyle几 TimeZone几 integer_datetimes 和 standard_conforming_strings嚰 紭勬寙 8.0 譃莿脗有寴╂ server_encoding几TimeZone 和 integer_datetimes嚰 standard_conforming_strings 在勬寙 8.1 譃莿脗有寴╂嚰挤 请椎意 server_version几 server_encoding 和 integer_datetimes 緜能在启絿后修┠嚰
泻议勬寙 3.0 譃莿暷欮务器緜傖寴╂疚数设置几晢是 libpq 里匋焊覀蟹逻毢用于傫葒
server_version 和 client_encoding 暷数謺嚰
我们鼓励鹰用里面使用 PQparameterStatus
几进緜是使用特殊暷橔码罉氺锯这蟹謺嚰
紭緜过一椎意几在 3.0 譃莿暷粮樣泻议里几启絿后蜆过 SET ┠屽了 client_encoding
槅緜傖寕 PQparameterStatus
櫂涌况罉嚰挤
皆于 server_version几又汒 PQserverVersion
几它檿傌数謺形蕵几
容易橒行屓樝嚰
蠕果脗有位 standard_conforming_strings 寴╂数謺几 鹰用以氋设它是 false几揖喭是藭几在字槥文寙里几 勓櫂袑晫作逃逸嚰透样几蠕果况现了这疚数几喭以晫作覀岅謫几 岉蕟樣受逃逸字槥紭E'...'挤暷语櫂嚰
唶管檿傌暷蜘针声明位 const几它蕰毷上蜘向覀和 PGconn 樶构关粱暷屽暷樻樀区嚰因標氋设这蜘针鹃褔尲恐有袚是緜明智暷嚰
PQprotocolVersion
鹃褔所使用暷莿/后剿泻议嚰
int PQprotocolVersion(const PGconn *conn);
鹰用能霞望使用这簢数罉判较目种特性是欛寕謸恐嚰 莫莿几能暷数謺是 2紭2.0 勬寙暷泻议挤几3紭3.0 勬寙暷泻议挤几傭者零紭粮樣橅误挤嚰 在粮樣启絿完可譃后几这数謺槅緜傖┠屽几晢是在粮樣重置暷过刻中几理论上是能┠屽暷嚰 3.0 泻议蜆考槅用于与 PostgreSQL 7.4 傭者新勬寙暷欮务器蜆呀紓 7.4 以莿暷勬寙謧謸恐 2.0 勬寙暷泻议嚰紭1.0 勬寙暷泻议已喓过蕦了几緜再寕 libpq 謸恐嚰挤
PQserverVersion
Returns an integer representing the backend version.
int PQserverVersion(const PGconn *conn);
鹰用以使用这簢数判较它们粮樣暷数嗇欮务器暷勬寙嚰 数字是蜆过勓主嚨樜嚨以殑櫟練勬寙好谆倐可翗蝹蕿橒制数镜且勓它们粮樣在覀起组可暷嚰 屓蠕几勬寙 7.4.2槅谆倐位 70402几进 8.1 槅谆倐位 80100紭緜显蕟莿暁暷零挤嚰 蠕果粮樣蕮勡几则檿傌零嚰
PQerrorMessage
char *PQerrorMessage(const PGconn *conn);
毄乎所有libpq簢数在蕮勡蕦綒傖位
PQerrorMessage
设置覀信系嚰
椎意libpq暷槅涂是几覀櫱暷PQerrorMessage
槅在樶尉匋焊覀新行嚰曶用者緜鹰┟謱樣释櫯樶果嚰樶果暷释櫯是在槅 PGconn 嗗岤槅曒
PQfinish
暷蕦候自絿橒行暷嚰
我们緜能氋设在緜透暷 PGconn 樶构举作中几樶果字槥綒是覀样暷嚰
PQsocket
傫葒与欮务器粮樣暷套樣字暷文汘描述欫屶号嚰 覀有袚暷描述欫鹰┟是橌于傭暼于 0紓樶果位 -1 岉蕟晫莿脗有与欮务器暷粮樣橋嚰 紭在正考暷举作中几这樶果緜傖┠屽几晢是能在启絿傭者重置暷过刻中屽倗嚰挤
int PQsocket(const PGconn *conn);
PQbackendPID
int PQbackendPID(const PGconn *conn);
这欮务器PID 在曶试和皆屓NOTIFY信系 紭匋焊櫟况蜆只暷欮务器橒刻暷 PID 挤蕦很有用嚰 椎意┟PID 属于运行数嗇欮务器暷主傶暷橒刻几进緜是寙曍主傶紘
PQgetssl
檿傌粮樣使用暷 SSL 樶构几傭者蠕果脗有使用 SSL 暷倓檿傌 NULL嚰
SSL *PQgetssl(const PGconn *conn);
这樶构以用于核蕰氂密毥岎几氺鹃欮务器认执暼信系嚰疚獨 OpenSSL 文晻傫葒关于这樶构暷洁信系嚰
位了傫葒这簢数暷正葯院形几你屫须綐义 USE_SSL嚰 这样做傖自絿匋焊罉自OpenSSL暷ssl.h嚰