【问题标题】:Does the terminology in PostgreSQL match MySQL?PostgreSQL 中的术语是否与 MySQL 匹配?
【发布时间】:2017-07-23 15:51:05
【问题描述】:

MySQL 似乎使用用户和表之类的词,而 PostgreSQL 似乎使用用户、模式和关系之类的词。它们是等价的吗?是否有关于 MySQL 中哪些词与 PostgreSQL 匹配的快速指南?

【问题讨论】:

    标签: mysql sql postgresql


    【解决方案1】:

    这是一个比较 MySQL 和 PostgreSQL 术语的表格。每行都包含相同的术语。

    +----------------------+-----------------------+
    |        MySQL         |      PostgreSQL       |
    +----------------------+-----------------------+
    | user                 | login role (user)     |
    | table                | relation (or table)   |
    | database             | schema                |
    | (N/A)                | database              |
    | instance             | cluster               |
    +----------------------+-----------------------+
    

    在 MySQL 中,表的全名是 database.table,而在 PostgreSQL 中,全名是 database.schema.table

    *说到PostgreSQL中的角色,PostgreSQL曾经是区分用户和组的,但是在新版本的PostgreSQL中,只有一个概念:角色。看到这个问题:in PostgreSQL, what is the difference between user and role?

    【讨论】:

    • 一个 MySQL 数据库对应一个 PostgreSQL 模式。 MySQL 中没有与 PostgreSQL 数据库等效的数据库。我会相应地编辑答案。
    • @LaurenzAlbe 谢谢,这真的很有帮助,我只是自己启动 PostgreSQL。对我来说,PostgreSQL 中的“模式”似乎只是关系的命名空间,而数据库只是模式的命名空间。数据库的独特之处在于 PostgreSQL,它让您确信 MySQL 没有同类产品? PostgreSQL中的数据库和模式不只是不同级别的命名空间吗?
    • @LaurenzAlbe 我想在 MySQL 列中添加回“数据库(或模式)”(而不仅仅是“数据库”)。 MySQL 文档确实提到了架构 (example),在 MySQL 中,数据库和架构基本上是一回事。
    • 在我看来,使 PostgreSQL 中的数据库与模式非常不同的是它不是命名空间,而是它提供了一个边界。您不能 SELECT 来自不同的数据库。这是一个很大的区别,如果您想分离不同的应用程序,这一点很重要。因此,我也认为您在回答中对“全名”的评论不是很相关,但我也不能与之相矛盾。无论如何,这是你的答案,即使我搞砸了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多