PostgreSql 大对象通过 PHP PDO 归档

PostgreSql Large Object to file through PHP PDO

此代码将 LO 输出到浏览器:

...
$my_pdo_connect->beginTransaction();
$stream = $my_pdo_connect->pgsqlLOBOpen($oid, 'r');
fpassthru($stream);
...

但我坚持将 LO 写入文件系统。 我知道 pg_lo_export 和 lo_export,但是
限制仅使用 PHP PDO 功能。 显然我应该使用一些 php-function 而不是 fpassthru($stream) 将流写入文件,找不到合适的文档或示例。

终于找到了解决问题的方法:

$my_pdo_connect->beginTransaction();
$stream = $my_pdo_connect->pgsqlLOBOpen($oid, 'r');
$file = fopen('my_file', 'w');
stream_copy_to_stream($stream, $file);
fclose($file);