我正在从 PostgreSQL 9.1 转储并在 PostgreSQL 9.4 上恢复并收到此警告
pg_restore: WARNING: column "foobar" has type "unknown"
DETAIL: Proceeding with relation creation anyway.
但在恢复后,我可以验证列“foobar”类型是否已定义且正确。
什么可能导致此警告?
我正在从 PostgreSQL 9.1 转储并在 PostgreSQL 9.4 上恢复并收到此警告
pg_restore: WARNING: column "foobar" has type "unknown"
DETAIL: Proceeding with relation creation anyway.
但在恢复后,我可以验证列“foobar”类型是否已定义且正确。
什么可能导致此警告?
CREATE VIEW
或者CREATE TABLE... AS SELECT
必须推断要创建的关系的列类型。有时上下文不足以猜测数据类型,例如当它只是一个字符串文字时。在这种情况下,它被创建为unknown
.例子 :
结果:
如果此视图是 pg_dumped 和 pg_restored,则将再次创建该列,
unknown
并再次提到警告:应该在需要时从对列的显式强制转换开始创建表/视图,如
我们可以假设这是该警告的重点。