在Postgreql中,如何确定postgres表中的列是否为LOB类型,然后如何查找模式中最大LOB值的大小?

问题描述 投票:0回答:1

使用Postgres 10.6。

我的目标是找到最大尺寸

如果是oid中一列的数据类型,我从https://www.postgresql.org/docs/9.2/largeobjects.html中了解到可以断定它是LOB列。我是否可以得出结论,如果列的数据类型不是oid,则该列不是LOB?

如果不是,如何在模式中查找LOB列及其最大大小?

如果是,我在这里(Get size of large object in PostgreSQL query?)找到了如何根据给定的oid查找LOB的大小。到目前为止,我能想到的最好的方法是找到模式中最大的LOB值的大小,即遍历所有表中的所有LOB行,并取最大值。有没有更好的方法?

postgresql blob database-administration
1个回答
0
投票

结论在任何方向上都是不安全的。我当然可以创建OID类型的列,并使用序列,随机数生成器或generate_series中的整数填充它。我还可以创建LO,然后将生成的OID填充到其他类型的列中,例如int(int被签名,因此最终会溢出/环绕,但这还有很长的路要走),bigint甚至text

© www.soinside.com 2019 - 2024. All rights reserved.