使用PHP从PostgreSQL获取所选列的元信息

使用PHP从PostgreSQL获取所选列的元信息,php,postgresql,Php,Postgresql,在PHP中,有没有一种方法可以获取postgre结果中每个列的表名 假设您有一个带有连接的select,例如: $Q = <<<E2OD SELECT * FROM user U LEFT JOIN department D ON U.department_id = D.id E2OD; 返回 Array ( [0] => id [name] => id [1] => id [alias] => id

在PHP中,有没有一种方法可以获取postgre结果中每个列的表名

假设您有一个带有连接的select,例如:

$Q = <<<E2OD
    SELECT * FROM user U
    LEFT JOIN department D ON U.department_id = D.id
E2OD;
返回

Array
(
    [0] => id
    [name] => id
    [1] => id
    [alias] => id
    [2] => user
    [relation] => user
    [3] => 8
    [length] => 8
    [4] => BIGINT
    [type] => BIGINT
)
Array
(
    [pgsql:oid] => 20
    [native_type] => int8
    [name] => id
    [len] => 8
    [precision] => -1
    [pdo_type] => 2
)
在PHP/PostgreSQL中:

$select = $DB->query($Q);
$meta = $select->getColumnMeta(0);
返回

Array
(
    [0] => id
    [name] => id
    [1] => id
    [alias] => id
    [2] => user
    [relation] => user
    [3] => 8
    [length] => 8
    [4] => BIGINT
    [type] => BIGINT
)
Array
(
    [pgsql:oid] => 20
    [native_type] => int8
    [name] => id
    [len] => 8
    [precision] => -1
    [pdo_type] => 2
)
如您所见,没有关于该列所来自的表的信息。显示表名时缺少键
[relation]=>user
或类似项

PHP可以通过它的PG或PDO库获得这些信息吗?PostgreSQL是否向客户端库提供此信息?要做到这一点,需要做些什么

谢谢你的提示


迈克尔

检查。

谢谢你,弗兰克。我搜索了手册,但没找到。原来我的本地.chm帮助文件几乎是最新的,但是。。。有点过时:)