PostgreSQL 8.0.0 �����ĵ���PostgreSQL �й� ������ | ||||
---|---|---|---|---|
Prev | Fast Backward | Chapter 27. libpq - C �� | Fast Forward | Next |
��Щ������������ѯ���ִ����ݿ����Ӷ����״̬��
Tip: libpqӦ�ó���ԱӦ����ϸά��PGconn�ṹ�� ʹ������ķ��ʺ�������ȡPGconn�����ݡ� ����ֱ������PGconn�ṹ����ֶΣ� ��Ϊ��Щ�ֶ��ڽ����ܱ��ı䡣 ���� PostgreSQL �汾 6.4 ��ʼ, ���� struct PGconn ����Ķ���������û�з��� libpq-fe.h� �������һЩֱ�ӷ���PGconn������ľɴ��룬�����ͨ������ libpq-int.h ���������ǣ������ǹ�����Ͽ�����Щ���롣��
����ĺ����������ӽ���ʱ�IJ�������Щ������ PGconn ������������ڼ��ǹ̶��ġ�
�������ӵ����ݿ�����
char *PQdb(const PGconn *conn);
�������ӵ��û�����
char *PQuser(const PGconn *conn);
�������ӵĿ��
char *PQpass(const PGconn *conn);
�������ӵķ�������������
char *PQhost(const PGconn *conn);
�������ӵĶ˿ںš�
char *PQport(const PGconn *conn);
�������ӵĵ��Կ���̨TTY�� ������Ѿ���ʱ�ˣ���Ϊ����������ע�� TTY ���ã��������������Ϊ�����¼��ݡ���
char *PQtty(const PGconn *conn);
PQoptions �������������д��ݵ�������ѡ�
char *PQoptions(const PGconn *conn);
����ĺ���������Щ�ڶ� PGconn ������в����Ĺ����п��ܱ仯��״̬���ݡ�
�������ӵ�״̬��
ConnStatusType PQstatus(const PGconn *conn);
���״̬������һϵ��ֵ֮һ�� ������������һ���첽���ӹ�������ֻ�ܿ������е������� CONNECTION_OK �� CONNECTION_BAD��һ�������ݿ�ijɹ������ӷ���״̬ CONNECTION_OK�� һ��ʧ�ܵ���ͼ��״̬ CONNECTION_BAD ��ʶ�� ͨ����һ�� OK ״̬�����ֵ� PQfinish������һ��ͨѶʧ�ܿ��ܻᵼ��״̬����ظı�Ϊ CONNECTION_BAD ����ʱӦ�ÿ������ŵ��� PQreset ���ָ���
����PQconnectStart��PQconnectPoll��Ŀ�������ܳ��ֵ�������״̬�롣
���ص�ǰ��������������״̬��
PGTransactionStatusType PQtransactionStatus(const PGconn *conn);
״̬������ PQTRANS_IDLE ����ǰ���У��� PQTRANS_ACTIVE �����ڴ���һ������� PQTRANS_INTRANS �����У���һ���Ϸ���������ڣ��� ���� PQTRANS_INERROR �����У���һ��ʧ�ܵ�������ڣ��� ������������⣬�� PQTRANS_UNKNOWN�� ֻ����һ����ѯ�����˷��������һ�û����ɵ�ʱ��ŷ��� PQTRANS_ACTIVE��
Caution |
���ʹ��һ��֧�� autocommit ��������������Ϊ�رյ� PostgreSQL 7.3 �汾�ķ������� ��ô PQtransactionStatus ����������ȷ�Ľ�����������˵� autocommit ���Զ��ύ�������Ѿ������ˣ� �ڽ����İ汾�ķ������в��ٴ��ڡ� |
���ҷ�������һ����ǰ�������á�
const char *PQparameterStatus(const PGconn *conn, const char *paramName);
��Щ�����ڽ������ӻ������ǵ�ֵ�ı��ʱ����ɷ������Զ����档 PQparameterStatus �������ڲ�ѯ��Щ���á� �������ʶ��Щ��������ô�����ص�ǰֵ������ NULL��
��ǰ�汾����IJ����� server_version�� server_encoding�� client_encoding�� session_authorization�� DateStyle�� TimeZone �� integer_datetimes�� ���汾 8.0 ֮ǰû�б��� server_encoding��TimeZone �� integer_datetimes���� ��ע�� server_version�� server_encoding �� integer_datetimes �������������ġ�
Э��汾 3.0 ֮ǰ�ķ��������ᱨ��������ã����� libpq �����һЩ�����ڻ�ȡ server_version �� client_encoding ����ֵ�� ���ǹ���Ӧ������ʹ�� PQparameterStatus��������ʹ������Ĵ����������Щֵ�� ������Ҫע�⣬�� 3.0 ֮ǰ������Э���������ͨ�� SET �ı��� client_encoding �����ᱻ PQparameterStatus ��ӳ�������� ���� server_version���ּ� PQserverVersion����������ֵ��ʽ�� �������бȽϡ�
���ܷ��ص�ָ������Ϊ const����ʵ����ָ��һ���� PGconn �ṹ�����Ŀɱ�Ĵ洢������˼������ָ����ѯ������Ч�Dz����ǵġ�
��ѯ��ʹ�õ�ǰ/���Э�顣
int PQprotocolVersion(const PGconn *conn);
Ӧ�ÿ���ϣ��ʹ������������ж�ij�������Ƿ�֧�֡� Ŀǰ�����ܵ���ֵ�� 2��2.0 �汾��Э�飩��3��3.0 �汾��Э�飩�������㣨���Ӵ��� �������������֮�������ֵ������ı䣬�������������õĹ����У��������ǿ��ܸı�ġ� 3.0 Э��ͨ���������� PostgreSQL 7.4 ���߸��°汾�ķ�����ͨѶ�� 7.4 ��ǰ�İ汾ֻ֧�� 2.0 �汾��Э�顣��1.0 �汾��Э���Ѿ���ʱ�ˣ����ٱ� libpq ֧�֡���
Returns an integer representing the backend version.
int PQserverVersion(const PGconn *conn);
Ӧ�ÿ���ʹ����������ж��������ӵ����ݿ�������İ汾�� ������ͨ���������Ρ��Լ������汾��ת������λʮ���������Ұ�����������һ����ɵġ� ���磬�汾 7.4.2��ת��Ϊ 70402���� 8.1 ��ת��Ϊ 80100������ʾǰ�����㣩�� �������ʧ�ܣ����㡣
���������в�������������Ĵ�����Ϣ��
char *PQerrorMessage(const PGconn *conn);
��������libpq������ʧ��ʱ����Ϊ PQerrorMessage ����һ����Ϣ�� ע��libpq�Ĵ�ͳ�ǣ�һ���ǿյ�PQerrorMessage ���ڽ�β����һ�����С������߲�Ӧ��ֱ���ͷŽ����������ͷ����ڽ� PGconn ������ݸ� PQfinish ��ʱ���Զ����еġ� ���Dz��ܼ����ڲ�ͬ�� PGconn �ṹ�����У�����ִ�����һ���ġ�
��ȡ����������ӵ����ֵ��ļ���������š� һ����Ч��������Ӧ���Ǵ��ڻ���� 0�����Ϊ -1 ��ʾ��ǰû��������������Ӵ� ���������IJ����У�����������ı䣬���ǿ����������������õĹ����б仯����
int PQsocket(const PGconn *conn);
���ش�������ӵķ������������Ľ��̺�ID��PID����
int PQbackendPID(const PGconn *conn);
���������PID �ڵ��ԺͶԱ�NOTIFY��Ϣ ����������֪ͨ�ķ��������̵� PID ��ʱ�����á� ע���PID �����������ݿ�������������Ľ��̣������DZ���������
��������ʹ�õ� SSL �ṹ���������û��ʹ�� SSL �Ļ����� NULL��
SSL *PQgetssl(const PGconn *conn);
����ṹ�������ں�ʵ���ܼ��𣬼���������֤����Ϣ���ο� OpenSSL �ĵ���ȡ��������ṹ�ĸ�����Ϣ��
Ϊ�˻�ȡ�����������ȷԭ�Σ�����붨�� USE_SSL�� ���������Զ���������OpenSSL��ssl.h��