从 mysql 迁移到 postgresql,我缺少的最佳功能是什么?

发布于 2024-10-17 12:45:44 字数 175 浏览 2 评论 0原文

我以前都是用 mysql 开发所有东西,这周出现了使用 postgresql 的机会,为什么不呢!

我总是被告知 postgresql 有一个更大的功能集。
我读过一些维基百科,但大多数信息确实已经过时了。

我错过了哪些最好的功能?像部分索引等..
另外,我会错过mysql的一些东西吗?

I used to develop everything with mysql, this week an opportunity to work with postgresql appeared, why not!

I was always told that postgresql had a much bigger feature set.
I read some wikis, but most of the info are really outdated.

What are the best features I was missing? Like partial indexes, etc..
Also, I will miss something from mysql?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

扎心 2024-10-24 12:45:44
安穩 2024-10-24 12:45:44

不要忘记 DDL,它也是事务安全的:

BEGIN;
  ALTER TABLE foo DROP COLUMN bar;
  ALTER TABLE foo ADD COLUMN baz INET;
COMMIT;

非常适合维护工作,即使您失去数据库连接或服务器出现故障,您也将始终拥有一致的数据库。

And don't forget the DDL, it's also transaction safe:

BEGIN;
  ALTER TABLE foo DROP COLUMN bar;
  ALTER TABLE foo ADD COLUMN baz INET;
COMMIT;

Great for maintenance work, you will always have a consistent database, even when you lose the database connection or the server goes down.

香草可樂 2024-10-24 12:45:44

除了 Michael 的列表(其中我最喜欢窗口函数)之外

  • ,还检查约束
  • 中使用的函数)
  • 表函数(可以在 select * from my_func(42)部分索引 (CREATE INDEX) idx1 ON some_table (some_column) WHERE some_flag = true)
  • 除以零是一个错误
  • 从 some_table where 42 删除 被认为是错误并且不会删除整个表
  • 您可以有一个子查询在 UPDATE 或 DELETE 中,当您更新
  • 更智能的查询优化器
  • 时,会从同一个表中进行选择可延迟约束(很少使用,但当您需要它们时,它们确实很有帮助)
  • 进行评估
  • 外键针对整个语句而不是逐行全文 事务表上的搜索和空间扩展,
  • 除了

In addition to Michael's list (of which I like windowing functions the most)

  • check constraints
  • table functions (functions that can be used in like this select * from my_func(42)
  • partial index (CREATE INDEX idx1 ON some_table (some_column) WHERE some_flag = true)
  • division by zero is an error
  • delete from some_table where 42 is considered an error and doesn't delete the whole table
  • you can have a subquery in an UPDATE or DELETE that selects from the same table as you are updating
  • much smarter query optimizer
  • deferrable constraints (seldomly used, but when you need them, they are really helpful)
  • foreign keys are evaluated for the whole statement not row by row
  • full text search and spatial extensions on transactional tables
  • EXCEPT
红ご颜醉 2024-10-24 12:45:44

下面的链接列出了许多主要数据库产品之间的功能差异:

不同 SQL 实现的比较< /a>

Here's a link that lists out the difference in features between many of the major database products:

Comparison of different SQL implementations

白龙吟 2024-10-24 12:45:44

全外部连接。缺乏这些是我对 MySQL 最大的抱怨之一。但 Postgresql 支持它们。

FULL OUTER JOINs. The lack of these is one of my biggest complaints about MySQL. But Postgresql supports them.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文