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

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

本期,边肖将为您带来关于如何使用MYSQL或ORACLE管理POSTGRESQL的信息。文章内容丰富,从专业角度进行分析和叙述。看完这篇文章,希望你能有所收获。

之所以写这篇文字,是因为很多星展致力于学习PG数据库,遇到了一些困难。其实我提出这个话题的时候,也是在想每个数据库都有自己适合的管理方法,有些是管理方法,但又无可奈何。最近有人问POSTGRESQL是更接近ORACLE还是MYSQL。

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

1在使用PG之前,提问者使用或管理的数据库已经深入骨髓,我们用原来的管理方式来管理新的数据库是很正常的。我们都愿意把已有的经验运用到新的事务中,加快对新事物的理解和运用。

低估了新事物与原有体验的冲突,比如坐公交车出国。如果不按STOP按钮,公交车到站就会停,但这种情况在中国不会发生。更有意思的是,按错按钮就得下车,因为对不起,别问我怎么知道的。

因此,今天的话题有些有趣和散漫。将三个数据和用户体验结合成一个MIX是一个有趣的话题。

1在Oracle中没有数据库的概念(类似于MYSQL SQL SERVER),但是在ORACLE中有一个SCHEMA的概念,在ORACLE世界中可以看作是一个SCHEMA或者一个DATABASE。

MYSQL中没有SCHEMA的概念,它使用不同的数据库来划分逻辑或物理数据信息。

3像POSTGRESQL、SQL SERVER这样的数据库属于比较型,想做什么就做什么。它们都有SCHEMA和DATABASE的概念。你想怎么分都行。但是,由于SQL SERVER的历史原因,使用数据库进行分区是很常见的。

在这里,问题是如何处理PG。PG中SCHEMA和ORACLE的概念没有什么不同,但遗憾的是,他对DATABASE的概念和MYSQL没有什么不同。好像PG属于踩两只船的那个。

当我们使用PG时,我们更倾向于将所有的表插入到一个数据库中,然后用SCHEMA用户权限来管理它们。

或者使用MYSQL或SQL SERVER在一个INSTANCE中创建多个数据库,用不同的用户管理每个数据库,这样更符合PG的个性。

根据下面的官方文本,如果我们以ORACLE的方式管理PG,并在一个数据库中创建多个SCHEMA,即放弃PG的多个数据库的概念,只使用一个数据库,我们将会遇到另一个问题,autovacuum worker。

仔细考虑后,清理线程由一个数据库清理。如果所有的表都填充到一个数据库中,那么即使在一个数据库中设置了多个WORKS,我是否可以推断只能使用一个清理线程?(如果这个理解有误,请告诉我谢谢。).

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

这就引出了另一个不同的概念。在ORACLE中,有UNDO LOG和线程需要清理,但PG的原理是没有REDO UNDO LOG,如果由表本身实现,就会有DEAD的祖先。不及时清理死去的祖先会引发一系列问题。

所以暂时我只能理解,如果要用ORACLE的方式管理PG的数据库,最好表不要太大,数量不要太多。

换一种说法,我用MYSQL来管理,总是可以避免上面的顾虑,但是PG对其他库的数据访问没有MYSQL那么简单,从库名和表名中选择*即可。

,可以跨库查询,但是通过dblink连接同一个INSTANCE中的不同数据库(PG的正式名称应该是cluster)。这超出了MYSQL数据库管理员的理解范围,也很麻烦。

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

这时我陷入了一种PG不好用的思维模式。和ORALCE相比,和MYSQL相比,SQL SERVER就不一样了。在既定的模式下,我们无法理解为什么这个PG这么奇怪。不是站着,不是坐着。

其实我不这么认为。学习一个新事物,一定不要抱着原来的思维模式去学习。这可能会让一切都感觉不如我方便。但事实上,如果你深入PG的研究,你会发现除了这些东西,PG的可扩展性和多态性是其他数据库无法比拟的。

既然我们对上述问题有一定的了解,就可以避免一些可能出现的问题。例如,我可以使用ORACLE来管理PG并建立多个SCHEMA。但是,如果一组表与另一组表无关,我将在PG CLUSTER上创建一个新的数据库,并将这些没有逻辑的表放在另一个数据库中。或者我可以创建一个跨库VIEW来解决需要DBLINK的麻烦,用适合pg的方式管理PG,忘记用ORACLE或者MYSQL的方式管理PG,因为PG是PG的不同烟火。

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

这是如何用MYSQL或ORACLE管理POSTGRESQL,以上小编分享。如有类似疑问,不妨参考以上分析了解。想了解更多,请关注行业信息渠道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/46797.html

(0)

相关推荐

  • 抖音刷粉网址,人工刷粉丝会被封号吗?

    技术抖音刷粉网址,人工刷粉丝会被封号吗?抖音是当下非常受欢迎的一个社交软件,这样一个宣传度广的社交平台自然会吸引很多商家入驻广告,也就会衍生出很多的带货网红。成长一个做宣传推广的带货网红,前提是要有人气要有粉丝关注才能有

    测评 2021年11月11日
  • oracle中keep分析函数(oracle表空间巡视)

    技术Oracle调优中常用表KEEP到内存中的示例分析本篇文章为大家展示了Oracle调优中常用表KEEP到内存中的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。数据迁移

    攻略 2021年12月24日
  • 怎么解决SQL中报错ORA-16038问题

    技术怎么解决SQL中报错ORA-16038问题这篇文章主要讲解了“怎么解决SQL中报错ORA-16038问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么解决SQL中

    攻略 2021年11月9日
  • sql怎么优化效率(sql如何调优化)

    技术SQL该怎么优化这篇文章主要讲解了“SQL该怎么优化”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQL该怎么优化”吧!一、避免进行null判断。 应尽量避免在 wh

    攻略 2021年12月17日
  • 如何理解互斥锁、自旋锁、读写锁、悲观锁、乐观锁的应用场景

    技术如何理解互斥锁、自旋锁、读写锁、悲观锁、乐观锁的应用场景本篇内容主要讲解“如何理解互斥锁、自旋锁、读写锁、悲观锁、乐观锁的应用场景”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家

    攻略 2021年10月22日
  • c语言多线程详解(c语言多线程数据安全)

    技术C#多线程安全怎么理解这篇文章主要介绍“C#多线程安全怎么理解”,在日常操作中,相信很多人在C#多线程安全怎么理解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#多线程安全怎么理解”

    2021年12月22日