Coroutine\PostgreSQL
编译安装
- 需要在编译
ext-postgresql
扩展来开启此功能,源代码:https://github.com/swoole/ext-postgresql
- 需要确保系统中已安装
libpq
库
- mac安装完
postgresql
自带libpq
库,环境之间有差异,ubuntu
可能需要apt-get install libpq-dev
- 也可以单独指定
libpq
库目录如:./configure --with-libpq-dir=/etc/postgresql
使用示例
go(function () {
$pg = new Swoole\Coroutine\PostgreSQL();
$conn = $pg->connect("host=127.0.0.1 port=5432 dbname=test user=root password=");
if (!$conn){
var_dump($pg->error);
return;
}
$result = $pg->query('SELECT * FROM test;');
$arr = $pg->fetchAll($result);
var_dump($arr);
});
事务处理
go(function () {
$pg = new Swoole\Coroutine\PostgreSQL();
$conn = $pg -> connect ("host=127.0.0.1 port=5432 dbname=test user=root password=");
$pg -> query('BEGIN');
$result = $pg -> query('SELECT * FROM test');
$arr = $pg -> fetchAll($result);
$pg -> query('COMMIT');
var_dump($arr);
});