除了性能和安全性之外,MySQL和Postgres之间真的有什么区别,比如SQL查询,内置函数,程序等等?
我问这个是因为我熟悉PHP与MysqL(PHPMyAdmin)但不熟悉Postgres(PHPPgAdmin)
解决方法:
(关于Postgresql 9.3和MysqL 5.6,写于2014年;如果你正在寻找其他版本,这可能已经过时):
更多功能.
>检查约束
>真正的SERIALIZABLE隔离
>数组(包括数组的索引支持)
>窗口函数(超前,滞后,row_number等)
>公用表表达式(WITH查询),包括递归CTE和可写CTE
> hstore哈希类型及其索引支持
> sql / XML支持
> json支持
>适用于多种类型的丰富功能和操作符
>部分和函数/表达式索引,包括部分唯一索引和唯一表达式索引
>复合类型
>用户定义的聚合和运算符
>设置返回用户定义的函数
>用户定义的类型
>交易DDL(这很精彩)
> GIN和GiST索引用于复杂索引需求,包括K最近邻索引
> PostGIS
> UNLOGGED表(尽管MyISAM满足MysqL中的这种需求)
详情请见the comprehensive user manual.
然而:
>与MysqL不同,Postgresql中没有会话变量. (您可以滥用GUC,但不要对MysqL会话变量执行相同的操作).
> PostgreSQL has no INSERT ... ON DUPLICATE KEY UPDATE
(“upsert”)
>目前,Postgresql具有与MysqL不同的复制选项. MysqL没有时间点恢复,但Postgresql没有逻辑复制(但我们正在努力).
> GROUP BY … ROLLUP用于分组摘要.在Postgresql中做同样的事情需要一个联合,通常在CTE上进行两次查询.
> Postgresql没有内置的事件调度程序.您通常只使用cron或Windows任务计划程序;还有来自PgAdmin-III的PgAgent.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。