我有一个经典的 3 环境设置(开发、登台和生产),每个环境都有自己的RDS PostgreSQL 9.3。客户端/服务器版本是psql (9.3.5, server 9.3.3)
.
为了保持模式对齐,我有一个定期模式差异作业,当模式不同时它会通知我。
几天前,我开始得到许多这样的差异:
CREATE TABLE ...
...
< title pg_catalog.text,
< subtitle pg_catalog.text,
---
> title text,
> subtitle text,
staging 中的text
字段以某种方式转换为pg_catalog.text
prod。
text
和 和有什么不一样pg_catalog.text
?我怎样才能将这两种模式等同起来?
它们在默认安装中是相同的。
pg_catalog.text
是类型 name 的模式限定版本text
。search_path
总是pg_catalog
自动包含。根据文档:大胆强调我的。如果您这样做,Postgres 将自动以文本表示形式启动模式限定名称,否则将以不同方式解决。这很可能就是你所看到的。检查您的电流
search_path
:密切相关:
如何在 PostgreSQL 中为单元测试伪造 inet_client_addr()?
默认情况下,如何在 Postgres 中在特定模式内创建表?