PostgreSQL

PostgreSQL

PostgreSQL comes with many features aimed to help developers build applications, administrators to protect data integrity and build fault-tolerant environments, and help you manage your data no matter how big or small the dataset. In addition to being free and open source, PostgreSQL is highly extensible. For example, you can define your own data types, build out custom functions, even write code from different programming languages without recompiling your database!

PostgreSQL tries to conform with the SQL standard where such conformance does not contradict traditional features or could lead to poor architectural decisions. Many of the features required by the SQL standard are supported, though sometimes with slightly differing syntax or function. Further moves towards conformance can be expected over time. As of the version 16 release in September 2023, PostgreSQL conforms to at least 170 of the 179 mandatory features for SQL:2023 Core conformance. As of this writing, no relational database meets full conformance with this standard.

Below is an inexhaustive list of various features found in PostgreSQL, with more being added in every major release:

  • Data TypesPrimitives: Integer, Numeric, String, BooleanStructured: Date/Time, Array, Range / Multirange, UUIDDocument: JSON/JSONB, XML, Key-value (Hstore)Geometry: Point, Line, Circle, PolygonCustomizations: Composite, Custom Types
  • Data IntegrityUNIQUE, NOT NULLPrimary KeysForeign KeysExclusion ConstraintsExplicit Locks, Advisory Locks
  • Concurrency, PerformanceIndexing: B-tree, Multicolumn, Expressions, PartialAdvanced Indexing: GiST, SP-Gist, KNN Gist, GIN, BRIN, Covering indexes, Bloom filtersSophisticated query planner / optimizer, index-only scans, multicolumn statisticsTransactions, Nested Transactions (via savepoints)Multi-Version concurrency Control (MVCC)Parallelization of read queries and building B-tree indexesTable partitioningAll transaction isolation levels defined in the SQL standard, including SerializableJust-in-time (JIT) compilation of expressions
  • Reliability, Disaster RecoveryWrite-ahead Logging (WAL)Replication: Asynchronous, Synchronous, LogicalPoint-in-time-recovery (PITR), active standbysTablespaces
  • SecurityAuthentication: GSSAPI, SSPI, LDAP, SCRAM-SHA-256, Certificate, and moreRobust access-control systemColumn and row-level securityMulti-factor authentication with certificates and an additional method
  • ExtensibilityStored functions and proceduresProcedural Languages: PL/pgSQL, Perl, Python, and Tcl. There are other languages available through extensions, e.g. Java, JavaScript (V8), R, Lua, and RustSQL/JSON constructors and path expressionsForeign data wrappers: connect to other databases or streams with a standard SQL interfaceCustomizable storage interface for tablesMany extensions that provide additional functionality, including PostGIS

要查看或添加评论,请登录

Shree Varsa M的更多文章

  • Data warehouse

    Data warehouse

    A data warehouse is a type of data management system that is designed to enable and support business intelligence (BI)…

  • Data analytics

    Data analytics

    Data analytics is the process of examining raw data with the purpose of drawing conclusions about that information. It…

  • DBMS Keys

    DBMS Keys

    Keys play an important role in the relational database. It is used to uniquely identify any record or row of data from…

  • Front end developer

    Front end developer

    Definition: A frontend developer is a professional responsible for creating the user interface and user experience of a…

  • Social Networks

    Social Networks

    Definition: Social networks are online platforms or services that facilitate the creation and sharing of content, as…

  • Blockchain

    Blockchain

    Definition: Blockchain is a decentralized, distributed ledger technology that enables secure and transparent…

  • Android developer

    Android developer

    Android developerAn Android developer is a software programmer who specializes in creating applications for the Android…

  • Python developer

    Python developer

    Python developer A Python developer is someone who writes, debugs, and executes the source code of a software…

    3 条评论

社区洞察