yum update
作为升级到 2012.09 的一部分,我刚刚在我的 Amazon Linux 实例上运行,它将 PostgreSQL 从 9.1 升级到 9.2。现在 PostgreSQL 不会启动。我该怎么办?
(这是一个非常不完整的问题,因为它只是在这里提供发布答案的地方)。
yum update
作为升级到 2012.09 的一部分,我刚刚在我的 Amazon Linux 实例上运行,它将 PostgreSQL 从 9.1 升级到 9.2。现在 PostgreSQL 不会启动。我该怎么办?
(这是一个非常不完整的问题,因为它只是在这里提供发布答案的地方)。
我看到对查询(通用表表达式或 CTE)的频繁引用WITH
充当优化围栏,其中不允许服务器将过滤器向下推送到 CTE 查询中,将通用表达式拉出 CTE 等等。经常声称是 SQL 标准要求的行为。
CTE绝对是PostgreSQL中的优化栅栏……但这是标准要求的,还是实际上只是实现细节?
例如,这些邮件列表帖子声称或暗示它是标准的:
在评论中提到它之后,我被问到它是在哪里指定的 - 在查看了 SQL:2008 的唯一草稿之后,我可以访问我没有太多运气找到它。
我还没有深入研究这个标准,所以我希望有人能给我一个建议:PostgreSQL 中 CTE 的优化围栏是否真的是标准所要求的?如果是这样,它在哪里指定?还是 Pg 邮件列表上的陈述有误?
另请参阅待办事项列表上的线程 CTE 优化围栏?.