postgresql 数据库 面试题整理

这篇具有很好参考价值的文章主要介绍了postgresql 数据库 面试题整理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

postgresql 数据库 面试题整理

postgresql 数据库 面试题整理,postgresql,面试技巧,数据库,postgresql,大数据,面试,linux,经验分享

前言

本文整理一些在面试中,pg数据库可能会被问到的一下问题,希望对大家有用。

pg数据库的特点:

  1. 语言支持:PostgreSQL 支持四种标准的过程语言,包括 PL/pgSQL、PL/Tcl、PL/Perl 和 PL/Python。
  2. 索引:PostgreSQL 索引支持 B+ 树、哈希、广义搜索树和广义倒排索引。个人还可以设计自己的个性化索引。
  3. 视图:PostgreSQL 支持生成虚拟表的视图。
  4. 规则:PostgreSQL 支持规则,允许重写查询的层次结构。
  5. 继承:在 PostgreSQL 中,可以将表配置为通过继承从“父”表继承属性。
  6. 用户定义的函数:它有助于构建几乎所有新的数据库对象,包括转换、转换、数据类型、域、函数、聚合函数和索引,包括自定义种类运算符的自定义索引。

pg的优点

  1. 稳定的
  2. 可靠的
  3. 可扩展
  4. 简单易学
  5. 开源
  6. 专为高容量环境而设计
  7. 跨平台
  8. 更好的支持
  9. 灵活的

pg的核心优势

关系对象数据库。
SQL 支持和可扩展性
API 和数据库验证的灵活性。
MVCC 和过程语言,
WAL 和客户端-服务器。

pg数据库的一些缺点

  1. 它在性能方面比 MySQL 慢。
  2. 与 MySQL 相比,它没有大量开源应用程序的支持。
  3. 由于它更注重兼容性,因此为提高速度而进行的更改需要更多的工作。

PostgreSQL支持的各种数据类型

UUID
数值类型
布尔值
字符类型
时间类型
几何图元
任意精度数值
XML
数组等

pg的模式

模式是数据库的元素,包括表。它们包括数据类型、函数和运算符,以及其他命名对象类型。对象名称跨模式兼容;与数据库不同,模式划分更自由。这表明用户可以访问他们链接到的数据库中任何模式中的对象,直到他们被授予适当的权限。当多个用户必须访问单个数据库而不相互干扰时,模式非常有用。它有助于将数据库项目组织成逻辑类别,以便更好地管理。为了防止基于名称的冲突,第三方应用程序可以放置在不同的模式中。

pg的多版本并发控制

PostgreSQL 使用 MVCC(也称为多版本并发控制)来实现事务。它用于防止系统中意外的数据库锁定。每个查询数据库的事务都会看到不同版本的数据库。这可以防止显示不一致的数据并为每个数据库会话提供事务隔离。用于读取数据的 MVCC 锁不会干扰为写入数据而获取的锁。

pg多版本并发控制(MVCC)介绍

MVCC 或更广为人知的多版本并发控制用于避免不必要的数据库锁定。消除了用户的时间延迟,以便人们可以轻松地登录到他的数据库。所有的交易都保存完好作为记录。当其他人在内容上时会发生时间延迟。 PostgreSQL 中的多版本并发控制或 MVCC 用于避免数据库不必要的锁定。这消除了用户登录其数据库的时间延迟。当其他人访问内容时,会出现此功能或时间延迟。所有的交易都被保存为记录。

pg如何提供安全性

PostgreSQL 采用两层安全性。

  1. 网络级安全——利用 Unix 域套接字、TCP/IP 套接字和防火墙实现网络级安全。
  2. 传输级安全性- 传输级安全性采用 SSL/TLS 来确保安全的数据库通信
  3. 数据库级安全性——角色和权限、行级安全性 (RLS) 和审计都是数据库级安全性的特征。

PostgreSQL 中使用什么选项来使事务看到在事务的先前部分中受影响的行

QL标准主要针对三种现象定义了四个级别的事务隔离。并发事务之间必须防止这三种现象。不希望出现的现象是:

  1. 幻读:重新执行查询的事务,返回一组满足搜索条件的行,然后发现已经满足条件的行集由于另一个最近提交的事务而发生了变化。
  2. 不可重复读取:一个事务重新读取它之前读取的数据,然后发现该数据已经被另一个事务(自初始读取后提交)修改。
  3. 脏读:读取由并发未提交事务写入的数据时的事务是脏读。

pg跟其他数据库的区别

pg跟Oracle、MySQL之间的区别

  1. Oracle 、MySQL和PG都可以是单实例多数据库模式。
  2. PG和Oracle是多进程模式,MySQL是单进程多线程模式。在并发不高时,MySQL处理速度快,但当并发高的时候,对于现在多核的单台机器上,MySQL的总体处理性能不如PostgreSQL,原因是MySQL的线程无法充分利用CPU的能力。
  3. PostgreSQL没有回滚段,而Oracle与MySQL innodb都有回滚段。
  4. PostgreSQL完全免费,而且是BSD协议,Oracle是商业数据库,不开源,MySQL数据库虽然是开源的,但现在随着SUN被oracle公司收购,现在基本上被oracle公司控制。
  5. PostgreSQL在复杂SQL的执行、存储过程、触发器方面比MySQL支持的要好的多,是去O最佳的数据库。
  6. Oracle和PG支持物理备库,而MySQL只支持逻辑主从复制。
  7. Oracle支持堆表,也支持索引组织表;PostgreSQL只支持堆表,不支持索引组织表;Innodb只支持索引组织表。
  8. PG、SQL Server、Oracle的默认的事务隔离级别为Read Committed(提交读),MySQL的默认的事务隔离级别为Repeatable Read(可重复读)。
  9. PG、Oracle默认的块大小为8KB,而MySQL默认数据页大小为 16 KB

SQL 和 PostgreSQL 最显着的区别是什么

PostgreSQL 是一个复杂的 SQL 变体。无法更新 PostgreSQL 视图。PostgreSQL 不支持计算列。但是,它确实提供了功能索引。在 PostgreSQL 中,复制采用报告的形式。PostgreSQL 提供动态的操作。
PostgreSQL 服务器提供多个级别的加密和灵活性,以提高数据安全性,防止在不安全的网络场景中泄露。同时,SQL server 旨在提供一个安全的数据库平台。为此,它包含多种功能,可以加密数据、减少授权和保护数据免受不道德行为的影响。
PostgreSQL 是 SQL(结构化查询语言)的扩展或高级版本。您可以在这两者之间看到以下差异:

  1. 我们不能像在 SQL 中那样更新 PostgreSQL 数据库中的视图。
  2. 在 PostgreSQL 中,不需要像在 SQL 数据库中那样创建 DLL(动态链接库)来查看代码的活动。
  3. 此外,SQL 提供计算列,但 PostgreSQL 不提供。
  4. SQL 不支持动态操作,但 PostgreSQL 支持它们。

PostgreSQL和NoSQL之间的区别

表达“NoSQL”包含了作为非关系数据库一部分的广泛的实现集合。这包括诸如 TokyoCabinet 之类的微型嵌入式数据库、诸如 Hadoop 之类的大规模数据处理平台以及介于两者之间的一切。简而言之,几乎不可能评论 NoSQL 作为典型类所包含的范围。
在非关系数据库和关系数据库之间进行选择也很普遍,因为两者已经并存了四十多年。事实上,用户应该根据他们当前的应用需求来选择数据库的特性、社区支持和实现。此外,在大型项目中使用多种不同的数据库正变得越来越普遍,而不是趋势。此外,PostgreSQL 的用户也不例外

PostgreSQL和MongoDB之间的区别

PostgreSQL 是一个 SQL 数据库,其中数据存储在表的行和列中。它支持实体关系完整性和 JOINS 等概念。PostgreSQL 查询语言是 SQL。PostgreSQL 支持垂直缩放。这就需要使用大型服务器来存储数据。这导致需要停机时间来更新。如果您的应用程序需要关系数据库,或者您需要执行超出 SQL 功能的复杂查询,它的性能会更好。相比之下,MongoDB 是一个 NoSQL 数据库。不需要模式,因此可以存储非结构化数据。数据保存在 BSON 文档中,用户可以修改其结构。MongoDB 查询是用 JavaScript 编写的。由于其对水平扩展的适应性,可以根据需要添加额外的服务器,而停机时间很少甚至没有。文章来源地址https://www.toymoban.com/news/detail-580477.html

到了这里,关于postgresql 数据库 面试题整理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python面试:技巧与实践

    Python面试:技巧与实践 在当今的IT行业中,Python已经成为了一种非常流行的编程语言。它以其简洁明了的语法、强大的库支持和广泛的应用领域,吸引了无数的开发人员。然而,掌握Python并不是一件容易的事情,尤其是在面试过程中。本文将为您提供一些关于Python面试的技巧

    2024年02月15日
    浏览(42)
  • 面试求职-简历编写技巧

    试问一下:如果一个非常牛逼的软件工程的硕士,投递市场营销岗位,结果会是什么样呢? 这位同学大概率没办法通过简历。 不是因为他不够优秀,而是因为简历和岗位不够匹配。 在公司的招聘系统中,不仅仅是考察专业水平(即技能),还要考察一个人的价值观、性格、

    2024年02月09日
    浏览(38)
  • 春招秋招,求职应聘的面试技巧

    每年的春秋两季,都是热的招聘季,很多人都参加了多场招聘会。在招聘会中,我们会了解到很多事情,我们会将所有的问题解决出来,知道自己应该做什么,不应该做什么。其实,想要从面试中脱颖而出也没有那么困难,只需要掌握以下几种技巧即可。   1、主动向面试官

    2024年01月24日
    浏览(34)
  • Java程序员必备的面试技巧与高频面试题,内有面经

    作为一名Java程序员,面对职业生涯中不可避免的面试环节时,准备全面且具有针对性的面试技巧是非常关键的。 以下是根据我的面试百场总结的一些建议和技巧,我将从“面试经历”和“面试技巧”两个方面来帮助你更好地准备Java技术面试。 文章目录 Q1 - 能否自我介绍一下

    2024年02月02日
    浏览(67)
  • C++程序员必备的面试技巧

      “程序员必备的面试技巧,就像是编写一段完美的代码一样重要。在面试战场上,我们需要像忍者一样灵活,像侦探一样聪明,还要像无敌铁金刚一样坚定。只有掌握了这些技巧,我们才能在面试的舞台上闪耀光芒,成为那个令HR们心动的程序猿!” 在准备C++程序员面试时

    2024年02月01日
    浏览(53)
  • 软件测试高频面试题(2023全新版)你必须掌握的面试技巧,包含HR面试、基础面试、JMeter面试、Postman面试、Python面试、自动化化面试、安全性能面试题

    1.1 面试技巧 💡 告诫给位小伙伴,技巧不是投机取巧,起到辅助作用,技术面主要看实力,这里是基于实力之上的技巧 1.2 面试形式 😄 面试形式分为技术面和 HR 面,技术面就是考察你的专业技术水平的,HR 面主要看你这个人的综合素质以及家庭情况符不符合公司要求(一般

    2024年02月11日
    浏览(51)
  • 面试现场表现:展示你的编程能力和沟通技巧

    🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐 🌊 《100天精通Golang(基础入门篇)》学会Golang语言

    2024年02月11日
    浏览(93)
  • “程序员求职攻略:IT技术岗面试的必备技巧“

    人活一世,不在乎朋友多少,不问财富几车,关键看在你最困难的时候,是否有一个伸出援手的人,一颗暖遍全身的心。 在现代社会,IT技术在各行各业的应用越来越广泛,因此IT技术人才也备受重视。作为一名程序员,在求职过程中,面试是我们必须面对和应对的一项重要

    2024年02月14日
    浏览(65)
  • 面试中的系统设计:应对复杂问题的方法与技巧

    🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐 🌊 《100天精通Golang(基础入门篇)》学会Golang语言

    2024年02月11日
    浏览(67)
  • Node+GitLab实现小程序CI系统,web前端开发面试技巧

    后端功能实现 环境依赖 实现上传小程序后台接口; 实现拉取git项目到本地的接口; 实现获取gitlab项目信息,分支及tag的接口; 实现切换分支及tag接口 实现项目编译打包的接口; 实现拉起开发者工具的接口; 环境依赖 在后端功能的实现上用了以下框架和模块 express (nod

    2024年04月15日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包