• PostgreSQL 介绍


    PostgreSQL

    PostgreSQL 起源于加州大学伯克利分校计算机系,最初设想于 1986 年,当时叫做 Berkley Postgres Project。1995 年,开发者 Andrew Yu 和 Jolly Chen 在 Postgres 中添加了一个 SQL 翻译程序,并在开源社区发布,称为 Postgres95。1996 年,开发者再次对 Postgres95 做了较大的改动,并将其作为 PostgresSQL 6.0 版正式发布。

    PostgreSQL是一个强大的开源对象关系数据库系统,它使用并扩展了SQL语言,并结合了许多特性来安全存储和扩展最复杂的数据工作负载。凭借其经过验证的架构、可靠性、数据完整性、健壮的特性集、可扩展性,以及开源社区对该软件持续交付性能和创新解决方案的奉献,赢得了强大的声誉。PostgreSQL可以运行在所有主流的操作系统上,自2001年起就与acid兼容,并且拥有强大的插件,比如流行的PostGIS地理空间数据库扩展器。自从 MySQL 被 Oracle 收购以后,PostgreSQL 逐渐成为了开源关系型数据库的首选。

    特性

    数据类型

    • 基本类型:Integer、Numeric、String、Boolean
    • 结构类型:Date/Time、Array、Range / Multirange、UUID
    • 文档类型:JSON/JSONB、XML、Key-value (Hstore)
    • 几何类型:Point、Line、Circle、Polygon
    • 自定义类型:Composite、Custom Types

    完整性约束

    • 数据唯一约束,非空约束
    • 主键约束
    • 外键约束
    • 排除约束
    • 显式锁定、咨询锁定

    并发性、性能

    • 索引:B树,组合索引,表达式索引,局部索引
    • 高级索引:GiST, SP-Gist, KNN GiST, GIN, BRIN,覆盖索引,Bloom过滤器
    • 复杂的查询规划/优化器、仅索引扫描、多列统计信息
    • 事务、嵌套事务
    • 多版本并发控制
    • 并行读取查询和构建B树索引
    • 表分区
    • SQL标准中定义的所有事务隔离级别,包括Serializable
    • 表达式的即时(JIT)编译

    可靠性

    • 预写日志(WAL)
    • 数据复制(异步,同步,逻辑):对于 Web 应用来说,复制的特性很重要,PostgreSQL 可以做到同步,异步,半同步复制。PostgreSQL 的复制基于 WAL,可以做到同步复制。同时 PostgreSQL 还提供 stream 复制。
    • 时间点恢复
    • 主动备用
    • 表空间

    安全性

    • 身份验证方式:GSSAPI、SSPI、LDAP、SCRAM-SHA-256、证书等。
    • 健壮的访问控制系统
    • 列级和行级安全
    • 使用证书和附加方法的多因素身份验证

    可扩展性

    • 存储函数和过程

    • 过程语言:PL/PGSQL、Perl、Python(以及更多)

    • SQL / JSON路径表达式

    • 外部数据包装器:使用标准SQL接口连接到其他数据库或流

    • 可定制的表存储接口

    • 许多扩展提供额外的功能,包括PostGIS

    国际化、文本搜索

    • 支持国际字符集,例如通过ICU排序

    • 不区分大小写和不区分重音的排序规则

    • 全文搜索

  • 相关阅读:
    GO常用命令记录
    三、appender分析
    云原生 | Kubevela一键发布应用分析
    力扣第36天----第518题、第377题
    基于51单片机的孵化环境温湿度监控系统设计
    MAC 地址简化概念(有线 MAC 地址、无线 MAC 地址、MAC 地址的随机化)
    做外贸独立站选Shopify还是WordPress?
    内网服务器无法访问外网下载时,制作本地清华镜像源,搭建中转服务器(rinted)
    Springboot集成Swagger3详细操作步骤
    Leetcode1833. 雪糕的最大数量
  • 原文地址:https://blog.csdn.net/weixin_45804031/article/details/126235005