1 <?xml version=
"1.0" encoding=
"UTF-8" ?>
2 <package version=
"2.0" xmlns=
"http://pear.php.net/dtd/package-2.0"
3 xmlns:
tasks=
"http://pear.php.net/dtd/tasks-1.0"
4 xmlns:
xsi=
"http://www.w3.org/2001/XMLSchema-instance"
6 http://pear.php.net/dtd/tasks-1.0
7 http://pear.php.net/dtd/tasks-1.0.xsd
8 http://pear.php.net/dtd/package-2.0
9 http://pear.php.net/dtd/package-2.0.xsd">
11 <channel>pecl.php.net
</channel>
12 <summary>PostgreSQL client library (libpq) binding
</summary>
14 Documents: https://mdref.m6w6.name/pq
17 * Nearly complete support for asynchronous usage:
18 https://mdref.m6w6.name/pq/Connection/%
3A%
20Asynchronous%
20Usage
19 * Extended type support by pg_type:
20 https://mdref.m6w6.name/pq/Types/%
3A%
20Overview
21 * Fetching simple multi-dimensional array maps:
22 https://mdref.m6w6.name/pq/Result/map
23 * Working Gateway implementation:
24 https://mdref.m6w6.name/pq-gateway
27 <name>Michael Wallner
</name>
29 <email>mike@php.net
</email>
33 <name>Chris Wright
</name>
34 <user>daverandom
</user>
35 <email>daverandom@php.net
</email>
39 <name>Remi Collet
</name>
41 <email>remi@php.net
</email>
44 <date>2021-
08-
30</date>
46 <release>2.2.0</release>
50 <release>stable
</release>
53 <license uri=
"http://copyfree.org/content/standard/licenses/2bsd/license.txt">BSD-
2-Clause
</license>
55 * Fixed PHP-
8.1 compatibility (see gh issues #
40 and #
41)
56 * Fixed asynchronous actions not cleared prior some synchronous actions
57 * Added connection constants of PostgreSQL-
10+ to pq\Connection:
58 CHECK_WRITABLE, CONSUME, and GSS_STARTUP
59 * Added BYTEA unescaping support (see gh issue #
38)
63 <file role=
"doc" name=
"AUTHORS" />
64 <file role=
"doc" name=
"BUGS" />
65 <file role=
"doc" name=
"CONTRIBUTING.md" />
66 <file role=
"doc" name=
"CREDITS" />
67 <file role=
"doc" name=
"LICENSE" />
68 <file role=
"doc" name=
"THANKS" />
69 <file role=
"doc" name=
"TODO" />
70 <file role=
"doc" name=
"README.md" />
71 <file role=
"src" name=
"config.m4" />
72 <file role=
"src" name=
"config9.m4" />
73 <file role=
"src" name=
"php_pq.h" />
74 <file role=
"src" name=
"php_pq_type.h" />
76 <file role=
"src" name=
"gen_pq_type.sh" />
77 <file role=
"src" name=
"php_pq_type.awk" />
80 <file role=
"src" name=
"php_pq_callback.c" />
81 <file role=
"src" name=
"php_pq_callback.h" />
82 <file role=
"src" name=
"php_pqcancel.c" />
83 <file role=
"src" name=
"php_pqcancel.h" />
84 <file role=
"src" name=
"php_pqconn.c" />
85 <file role=
"src" name=
"php_pqconn_event.c" />
86 <file role=
"src" name=
"php_pqconn_event.h" />
87 <file role=
"src" name=
"php_pqconn.h" />
88 <file role=
"src" name=
"php_pqcopy.c" />
89 <file role=
"src" name=
"php_pqcopy.h" />
90 <file role=
"src" name=
"php_pqcur.c" />
91 <file role=
"src" name=
"php_pqcur.h" />
92 <file role=
"src" name=
"php_pqexc.c" />
93 <file role=
"src" name=
"php_pqexc.h" />
94 <file role=
"src" name=
"php_pqlob.c" />
95 <file role=
"src" name=
"php_pqlob.h" />
96 <file role=
"src" name=
"php_pq_misc.c" />
97 <file role=
"src" name=
"php_pq_misc.h" />
98 <file role=
"src" name=
"php_pq_module.c" />
99 <file role=
"src" name=
"php_pq_object.c" />
100 <file role=
"src" name=
"php_pq_object.h" />
101 <file role=
"src" name=
"php_pq_params.c" />
102 <file role=
"src" name=
"php_pq_params.h" />
103 <file role=
"src" name=
"php_pqres.c" />
104 <file role=
"src" name=
"php_pqres.h" />
105 <file role=
"src" name=
"php_pqstm.c" />
106 <file role=
"src" name=
"php_pqstm.h" />
107 <file role=
"src" name=
"php_pqtxn.c" />
108 <file role=
"src" name=
"php_pqtxn.h" />
109 <file role=
"src" name=
"php_pqtypes.c" />
110 <file role=
"src" name=
"php_pqtypes.h" />
113 <file role=
"test" name=
"async001.phpt" />
114 <file role=
"test" name=
"async002.phpt" />
115 <file role=
"test" name=
"async003.phpt" />
116 <file role=
"test" name=
"async004.phpt" />
117 <file role=
"test" name=
"async005.phpt" />
118 <file role=
"test" name=
"async006.phpt" />
119 <file role=
"test" name=
"async007.phpt" />
120 <file role=
"test" name=
"async008.phpt" />
121 <file role=
"test" name=
"async009.phpt" />
122 <file role=
"test" name=
"async010.phpt" />
123 <file role=
"test" name=
"basic001.phpt" />
124 <file role=
"test" name=
"basic002.phpt" />
125 <file role=
"test" name=
"bound002.phpt" />
126 <file role=
"test" name=
"callback001.phpt" />
127 <file role=
"test" name=
"callback002.phpt" />
128 <file role=
"test" name=
"callback003.phpt" />
129 <file role=
"test" name=
"cancel001.phpt" />
130 <file role=
"test" name=
"conv001.phpt" />
131 <file role=
"test" name=
"copy001.phpt" />
132 <file role=
"test" name=
"crash_cur_reverse_dep.phpt" />
133 <file role=
"test" name=
"crash_result_iterator.phpt" />
134 <file role=
"test" name=
"crash_stm_reverse_dep.phpt" />
135 <file role=
"test" name=
"crash_txn_reverse_dep.phpt" />
136 <file role=
"test" name=
"crash_unbuffered_async_prepare.phpt" />
137 <file role=
"test" name=
"cursor001.phpt" />
138 <file role=
"test" name=
"encoding001.phpt" />
139 <file role=
"test" name=
"exceptions001.phpt" />
140 <file role=
"test" name=
"exceptions002.phpt" />
141 <file role=
"test" name=
"fetch001.phpt" />
142 <file role=
"test" name=
"flush001.phpt" />
143 <file role=
"test" name=
"gh-issue015_listeners.phpt" />
144 <file role=
"test" name=
"gh-issue015_statements.phpt" />
145 <file role=
"test" name=
"info001.phpt" />
146 <file role=
"test" name=
"info002.phpt" />
147 <file role=
"test" name=
"lob001.phpt" />
148 <file role=
"test" name=
"lob002.phpt" />
149 <file role=
"test" name=
"lob003.phpt" />
150 <file role=
"test" name=
"lob004.phpt" />
151 <file role=
"test" name=
"map001.phpt" />
152 <file role=
"test" name=
"notify001.phpt" />
153 <file role=
"test" name=
"persistent001.phpt" />
154 <file role=
"test" name=
"res001.phpt" />
155 <file role=
"test" name=
"reset001.phpt" />
156 <file role=
"test" name=
"savepoint001.phpt" />
157 <file role=
"test" name=
"stm_bound001.phpt" />
158 <file role=
"test" name=
"stm_deallocate_prepare001.phpt" />
159 <file role=
"test" name=
"stm_desc001.phpt" />
160 <file role=
"test" name=
"stm_desc002.phpt" />
161 <file role=
"test" name=
"stm_props001.phpt" />
162 <file role=
"test" name=
"trans001.phpt" />
163 <file role=
"test" name=
"trans002.phpt" />
164 <file role=
"test" name=
"types001.phpt" />
165 <file role=
"test" name=
"types002.phpt" />
166 <file role=
"test" name=
"unbuffered001.phpt" />
167 <file role=
"test" name=
"_setup.inc" />
168 <file role=
"test" name=
"_skipif.inc" />
182 <channel>pecl.php.net
</channel>
184 <providesextension>raphf
</providesextension>
188 <providesextension>pq
</providesextension>
190 <configureoption default=
"yes" name=
"with-pq" prompt=
"where to find the postgresql library/headers" />