我从PostgreSQL数据库中获取数据。一切都工作正常,但我想选择data_type的大小,但我不能让它工作。请帮助以下查询:
$result2 = pg_query($dbconn, "SELECT table_name as tabela, column_name as campo, data_type as tipo from information_schema.columns where table_schema = 'public'");
答案 0 :(得分:1)
你的SQL工作正常。
我会说你的用户没有权限(阅读)要求查看的表格吗?
你可以试试这个
GRANT SELECT ON ALL TABLES IN SCHEMA PUBLIC TO youruser;
对于列的大小,您可以使用系统管理功能
pg_column_size(data_type)
“pg_column_size(any)返回 int 这是用于存储特定值(可能已压缩)的字节数”
SELECT table_name as tabela, column_name as campo,
data_type as tipo,pg_column_size(data_type) as tipo1 from
information_schema.columns where table_schema = 'public'
结果
参考Postgresql 9.5 section 9.26. System Administration Functions
一切顺利