千家信息网

如何用MYSQL或者ORACLE的方法管理 POSTGRESQL

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这期内容当中小编将会给大家带来有关如何用MYSQL或者ORACLE的方法管理 POSTGRESQL ,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。写这篇文字的起因是
千家信息网最后更新 2025年01月23日如何用MYSQL或者ORACLE的方法管理 POSTGRESQL

这期内容当中小编将会给大家带来有关如何用MYSQL或者ORACLE的方法管理 POSTGRESQL ,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

写这篇文字的起因是众多的DB们投入到学习PG数据库,遇到了一些困难,其实提出这个题目的时候,其实我也在想,每种数据库都有自己的适合的管理方法,有些是管理方法实则是无奈。最近有人问 POSTGRESQL 使用的方式是更贴近ORACLE 还是 MYSQL。

为什么会提出这样一个话题,

1 使用PG 前,提出问题的人使用的或管理的数据库已经深入骨髓,很愿意用原来的管理方法来管理新的数据库,这是很正常的事情,我们都愿意用已有的经验去套用在新的事务上,加快对新事物的理解和使用。

2 低估了新事物与原有经验的之间的冲突,如同比如去了国外做公交车,如果你不按STOP 的按钮,公交车是到站不停的,而国内这样的情况是不会出现的,更有意思的是,如果你按错了按钮,也是要下车的,因为不好意思,别问我怎么知道的。

所以今天的题目还算有点意思,有点讨论性,将三个数据以及使用者的经验来一个MIX 本来就是挺有意思的话题。

1 ORACLE 中没有DATABASE 的概念 (类似 MYSQL SQL SERVER),ORACLE 中是有SCHEMA的概念的,在ORACLE 的世界中可以看做一个SCHEMA 就是一个 DATABASE.

2 在MYSQL 中是没有SCHEMA的概念的,他是通过不同的DATABASE 来分割逻辑,或物理上的数据信息。

3 类似 POSTGRESQL 和 SQL SERVER 这样的数据库就属于比较,怎么都行的,这两者既有 SCHEMA 的概念,也有DATABASE 的概念。你想用任何的方式来分割都是OK 的。但SQL SERVER 历史原因,习惯使用DATABASE 来分割的是常见的。

说到这里问题是PG 怎么办,PG 中的SCHEMA 和 ORACLE 概念无差, 而不幸的是,他的DATABASE 的概念也和 MYSQL 无差。貌似 PG 属于脚踩两只船的那位。

那我们在使用PG的时候是更倾向于将所有的表都塞到一个数据库里面,然后用SCHEMA + 用户+ 权限的方式来管理好。

还是使用MYSQL 或 SQL SERVER 那种创建多个数据库在一个INSTANCE 的方式,每个DATABASE 有不同的用户的方式来管理,更符合PG的性格。

如果我们以ORACLE的方式管理 PG ,在一个DATABASE 里面创建多个SCHEMA ,也就是放弃PG 的多DATABASES 的概念,仅仅使用一个数据库,我们会遇到另一个问题,autovacuum worker , 根据下面的一段官方的文字

经过推敲清理线程是一个个数据库来进行清理的,那如果将所有的表都塞入到一个数据库,那我是否能推断出,即使设置了多个WORKS 一个数据库也只能使用一个清理线程(如果这样理解有误,请告知谢谢)。

这就引出另一个不同的概念,在ORACLE 有 UNDO LOG 有清理的线程,但PG 的原理是没有REDO UNDO LOG ,通过表本身来实现,就会有DEAD 的元祖。而不能及时清理死的元祖就会引起一系列的问题。

所以我暂时只能理解,如果你想用ORACLE的方式来管理PG 的数据库,则最好表不要特别大,并且数量也不要太多。

那换一个思路我用 MYSQL的方式来管理,总能避过上面的担心,但PG 对其他库的数据的访问,并不如MYSQL 简单,select * from 库名.表名

,就能跨库查询,而是要走dblink的方式来连接在同一个INSTANCE (PG 官方的叫法应该叫 cluster)不同的数据库。这又是 MYSQL 数据库管理员所不能理解的,并且也觉得比较麻烦的。

此时就陷入了,PG 不好用的一个思维模式中去了,对比ORALCE ,对比 MYSQL ,SQL SERVER 都有不同。在既定的模式下,都不能理解这个PG 怎么这么怪。站着不行,坐着也不行。

其实我倒是不这么想,学习一个新事物,一定不要抱着原有的思维模式去学,那样可能每件事都觉得,还不如我的那个方便。但实际上,如果你深入到PG 的学习中,会发现除了这样的事情以外, PG 的扩展性,多态性,也是其他数据库无法进行比拟的。

那我们对上面的问题既然有了一定的认知,我们就能避开某些可能会出现问题的地方,例如,我可以使用ORACLE的方式来管理PG ,建立多个SCHEMA, 但如果一组表与另一组都是无关联的, 那我就在PG的CLUSTER 上新建一个数据库,将这些无关逻辑的表,放到另外一个DATABASE中,或者有关联我可以创建跨库VIEW ,来解决需要 DBLINK 的方式的烦恼,以适合PG的方式来管他,忘记用ORACLE 还是MYSQL的方式来管理PG,因为PG 就是PG 一个不一样的烟火。

上述就是小编为大家分享的如何用MYSQL或者ORACLE的方法管理 POSTGRESQL 了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

数据 数据库 管理 方式 概念 问题 方法 不同 多个 就是 事物 模式 线程 经验 还是 面的 学习 不行 有意思 不好 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 旗胜网络技术服务有限公司 福建营销软件开发销售价格 网络安全解说 数据库中怎么查看函数的信息 网络安全解决方案奖 打印机显示服务器脱机怎么办 数据库怎么一行输出十个数 海口直播软件开发服务商 网站链接数据库url栏 软件开发 技术选型原则 文献检索网络安全下载量最高 数据库备份实验结果 lol手游各服务器数据能迁移么 winxp数据库下载 sql数据库无法开始 凤凰网络安全科技馆 重庆快成网络技术公司 变电站网络安全PPT 糖果主机将域名解析到服务器 服务器已被设置为全部代理 北京瀚英网络技术有限公司吴玉征 “两会”网络安全提案 西城区进口软件开发规定 数据库设计需求 军营网络安全现状 数据库怎么一行输出十个数 计算机网络运维和网络安全哪个好 高考网络软件开发方向专业 计算机网络技术知识图谱 数据库怎样实现两行交换值
0