我一直在尝试从 php 中的 Postgresql 获取结果集中字段的完整元信息(类似于 mysql_fetch_field(),它提供了很多关于字段定义的信息)。虽然我可以使用以下功能来查找一些信息:
$name = pg_field_name($result, 1);
$table = pg_field_table($result, 1);
$type = pg_field_type($result, 1);
我找不到一种方法来获取有关该字段是否允许空值、是否包含 blob 数据(按字段定义)、是否是主要的、按定义的唯一键等的详细信息。mysql_fetch_field() 以某种方式提供了所有这些信息,即很有用。
我真的很想用某种方法直接从 php 获取该信息,但如果那不可能,那么也许有人创建了一个例程,它可能能够以某种方式从 pgsql 结果集中提取该信息。
PS:这看起来很有希望,但页面上的警告不是一个好兆头: http: //php.net/manual/en/pdostatement.getcolumnmeta.php
另外,我目前没有使用 PDO,但如果没有解决方案,那么 PDo 特定的答案也足够了。