当前位置:网站首页>Introduction to PostgreSQL
Introduction to PostgreSQL
2022-08-10 20:56:00 【The wind cloud edge】
Article table of contents
PostgreSQL
PostgreSQL originated in the Department of Computing at the University of California, Berkeley, and was originally conceived in 1986 as the Berkley Postgres Project.In 1995, developers Andrew Yu and Jolly Chen added a SQL translator to Postgres and released it in the open source community, called Postgres95. In 1996, the developers again made major changes to Postgres95 and made it PostgresSQLVersion 6.0 is officially released.
PostgreSQL is a powerful open source object-relational database system that uses and extends the SQL language and incorporates many features to securely store and scale the most complex data workloads.It has earned a strong reputation for its proven architecture, reliability, data integrity, robust feature set, scalability, and the open source community's dedication to the software's continuous delivery performance and innovative solutions.PostgreSQL runs on all major operating systems, has been acid compatible since 2001, and has powerful plugins such as the popular PostGIS geospatial database extender.Since MySQL was acquired by Oracle, PostgreSQL has gradually become the open source relational database of choice.
Features
Data Type
- Basic types: Integer, Numeric, String, Boolean
- Structure types: Date/Time, Array, Range / Multirange, UUID
- Document Types: JSON/JSONB, XML, Key-value (Hstore)
- Geometry types: Point, Line, Circle, Polygon
- Custom Types: Composite, Custom Types
Integrity constraints
- Data unique constraint, not null constraint
- Primary key constraints
- Foreign key constraints
- Exclude constraints
- Explicit locking, Advisory locking
Concurrency, performance
- Index: B-tree, composite index, expression index, local index
- Advanced Indexing: GiST, SP-Gist, KNN GiST, GIN, BRIN, Covering Index, Bloom Filter
- Sophisticated query planner/optimizer, index scan only, multi-column statistics
- Transactions, Nested Transactions
- Multi-version concurrency control
- Parallel read query and build B-tree index
- Table partitioning
- All transaction isolation levels defined in the SQL standard, including Serializable
- Just-in-time (JIT) compilation of expressions
Reliability
- Write Ahead Log (WAL)
- Data replication (asynchronous, synchronous, logical): For Web applications, the characteristics of replication are very important. PostgreSQL can achieve synchronous, asynchronous, and semi-synchronous replication.PostgreSQL's replication is based on WAL and can achieve synchronous replication.At the same time, PostgreSQL also provides stream replication.
- point-in-time recovery
- Active Backup
- Tablespace
Security
- Authentication methods: GSSAPI, SSPI, LDAP, SCRAM-SHA-256, certificate, etc.
- Robust access control system
- Column and row level security
- Multi-factor authentication using certificates and additional methods
Scalability
Stored Functions and Procedures
Procedural languages: PL/PGSQL, Perl, Python (and more)
SQL/JSON path expressions
Foreign Data Wrapper: use standard SQL interface to connect to other databases or streams
Customizable table storage interface
Many extensions provide additional functionality, including PostGIS
Internationalization, text search
Supports international character sets, such as sorting by ICU
Case-insensitive and accent-insensitive collation
Full Text Search
边栏推荐
- zip文件协议解析
- 2019河北省大学生程序设计竞赛部分题题解
- leetcode:45. 跳跃游戏II
- Demis Hassabis:AI 的强大,超乎我们的想象
- cordova installation error Command failed: powershell solution
- cordova 安装错误 Command failed: powershell 解决方法
- 报错:runtime error: reference binding to null pointer of type ‘std::vector<int, std::allocator<int>>‘
- 【二叉树】二叉搜索树的后序遍历序列
- 水溶性合金量子点纳米酶|CuMoS纳米酶|多孔硅基Pt(Au)纳米酶|[email protected]纳米模拟酶|PtCo合金纳米粒子
- Rider调试ASP.NET Core时报thread not gc-safe的解决方法
猜你喜欢
随机推荐
(十二)STM32——NVIC中断优先级管理
Kubernetes 笔记 / 入门 / 生产环境 / 用部署工具安装 Kubernetes / 用 kubeadm 启动集群 / 用 kubeadm 创建集群
The 2021 ICPC Asia Shanghai Regional Programming Contest D、E
1D Array Dynamics and Question Answers
mysql----group by、where以及聚合函数需要注意事项
史上最全GIS相关软件(CAD、FME、Arcgis、ArcgisPro)
Oracle 的开窗函数使用详解(二)
爬虫基本原理介绍、实现以及问题解决
转铁蛋白Tf功能化β-榄香烯-雷公藤红素/紫杉醇PLGA纳米粒/雷公藤甲素脂质体(化学试剂)
The most complete GIS related software in history (CAD, FME, ArcGIS, ArcGISPro)
Auto.js中APP应用相关指令
大小端的理解以及宏定义实现的理解
svg+元素js实现在图片上描点成框,并获取相对图片的坐标位置
Transferrin (TF) Modified Paclitaxel (PTX) Liposomes (TF-PTX-LP) | Transferrin (Tf) Modified Curcumin Liposomes
Go程序员进化史
Auto.js找图找色常用功能
Public Key Retrieval is not allowed(不允许公钥检索)【解决办法】
金鱼哥RHCA回忆录:CL210OpenStack操作的故障排除--章节实验
一次由groovy引起的fullGC问题排查
XML小讲