Logo
  • Ubuntu
  • CentOS
  • Debian
  • Fedora
  • RedHat

What is PostgreSQL? How Does MySQL Work? - DesignLinux

Jun 13 2020
designlinux 0 Comments

PostgreSQL is the world’s most advanced enterprise-class open source database management system that is developed by the PostgreSQL Global Development Group. It is a powerful and highly-extensible object-relational SQL (Structured Query Language) database system popular for its reliability, feature robustness, and high performance. It is known to be highly scalable both in the amount of data it can store and manage and in the number of concurrent users it can accommodate.

PostgreSQL is available and distributed under the PostgreSQL License, a liberal open source license. This implies that you can download the software, use, modify, and distribute it free of charge for any purpose. It is also cross-platform, it runs on Linux, Windows, and macOS, and many other operating systems.

Download PostgreSQL

  • Download PostgreSQL 12

It uses and extends the SQL language with so many powerful and modern features. Although it is SQL compliant where many of the features required by the SQL standard are supported (the latest version of PostgreSQL is 12 at the time of writing confirms to at least 160 of the 179 mandatory features for SQL), there are some slight variations in syntax or function.

How Does PostgreSQL Work?

PostgreSQL uses a client-server model where the client and the server can reside on different hosts in a networked environment. The server program manages the database files, accepts connections to the database from client applications. It can handle multiple concurrent connections from clients by “forking” a new process for each connection. It executes database requests from clients and sends the results back to the clients. Remote clients can connect over the network or internet to the server.

Valid client programs include text-oriented tools that ship with PostgreSQL, a graphical tool, or applications developed using other programming languages.

PostgreSQL Server and Client Requests

PostgreSQL Server and Client Requests

Key Features of PostgreSQL

PostgreSQL supports several data types including primitives (such as string, integer, numeric, and boolean), structured (such as date/time, array, range, and UUID), document (JSON, JSONB, XML, Key-Value (Hstore)), geometry(point, line, circle, and polygon), and customizations (composite and custom types). It supports data integrity using features such as UNIQUE, NOT NULL, primary and foreign keys, exclusion constraints, explicit and advisory locks.

  • It is built for concurrency and performance using many features that include indexing and advanced indexing, transactions and nested transactions, multi-version concurrency control (MVCC), parallelization of reading queries, and building B-tree indexes, table partitioning, Just-In-Time (JIT) compilation of expressions, and more.
  • To ensure reliability, data redundancy, high availability, and disaster recovery, PostgreSQL offers features such as write-ahead logging (WAL), master-slave replication, active standbys, and point-in-time-recovery (PITR), and much more. These all allow for multi-node database cluster deployment which can store and manage large volumes(terabytes) of data, and specialized systems that manage petabytes.
  • Importantly, PostgreSQL is also very extensible in so many ways. To extend it, you can use stored functions and procedures, procedural languages including PL/PGSQL, Perl, Python, SQL/JSON path expressions, foreign data wrappers, and more. You can also extend its core functionality using many extensions developed by the community.
  • Security is also at the heart of Postgres. To protect your databases, it offers various forms of authentication(including GSSAPI, SSPI, LDAP, SCRAM-SHA-256, Certificate, etc.), a robust access control system, column, and row-level security, as well as multi-factor authentication with certificates and an additional method. However, good database server security should always start at the network and server layer.

PostgreSQL Clients and Tools

PostgreSQL provides and supports many client applications for database administration such as the psql interactive command-line utility and pgadmin, a PHP-based web interface for database administration (which is the most favored way).

To use PostgreSQL databases to store data for your applications, you can connect your applications using any of the supported libraries or drivers, available for most popular programming languages. libpq is a popular C application programmer’s interface to PostgreSQL, it is the underlying engine for several other PostgreSQL application interfaces.

Who is Using PostgreSQL?

PostgreSQL is being used at RedHat, Debian, Apple, Sun Microsystem, Cisco, and many other companies and organizations.

Check out these related guides in setting up your application with the PostgreSQL database on Linux.

  • How to Install PostgreSQL in RHEL 8
  • How to Install PostgreSQL and pgAdmin in CentOS 8
  • How to Install PostgreSQL Database in Debian 10
  • How to Install PgAdmin 4 Debian 10
  • How to Install and Use PostgreSQL on Ubuntu 18.04
  • How to Install PostgreSQL with PhpPgAdmin on OpenSUSE
Sharing is Caring…
Share on FacebookShare on TwitterShare on LinkedinShare on Reddit

Related

Tags: PostgreSQL Tips

How to Install Mono on Ubuntu 20.04

Prev Post

How to Install R on Ubuntu 20.04

Next Post
Archives
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • July 2022
  • June 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
Categories
  • AlmaLinux
  • Android
  • Ansible
  • Apache
  • Arch Linux
  • AWS
  • Backups
  • Bash Shell
  • Bodhi Linux
  • CentOS
  • CentOS Stream
  • Chef
  • Cloud Software
  • CMS
  • Commandline Tools
  • Control Panels
  • CouchDB
  • Data Recovery Tools
  • Databases
  • Debian
  • Deepin Linux
  • Desktops
  • Development Tools
  • Docker
  • Download Managers
  • Drupal
  • Editors
  • Elementary OS
  • Encryption Tools
  • Fedora
  • Firewalls
  • FreeBSD
  • FTP
  • GIMP
  • Git
  • Hadoop
  • HAProxy
  • Java
  • Jenkins
  • Joomla
  • Kali Linux
  • KDE
  • Kubernetes
  • KVM
  • Laravel
  • Let's Encrypt
  • LFCA
  • Linux Certifications
  • Linux Commands
  • Linux Desktop
  • Linux Distros
  • Linux IDE
  • Linux Mint
  • Linux Talks
  • Lubuntu
  • LXC
  • Mail Server
  • Manjaro
  • MariaDB
  • MongoDB
  • Monitoring Tools
  • MySQL
  • Network
  • Networking Commands
  • NFS
  • Nginx
  • Nodejs
  • NTP
  • Open Source
  • OpenSUSE
  • Oracle Linux
  • Package Managers
  • Pentoo
  • PHP
  • Podman
  • Postfix Mail Server
  • PostgreSQL
  • Python
  • Questions
  • RedHat
  • Redis Server
  • Rocky Linux
  • Security
  • Shell Scripting
  • SQLite
  • SSH
  • Storage
  • Suse
  • Terminals
  • Text Editors
  • Top Tools
  • Torrent Clients
  • Tutorial
  • Ubuntu
  • Udemy Courses
  • Uncategorized
  • VirtualBox
  • Virtualization
  • VMware
  • VPN
  • VSCode Editor
  • Web Browsers
  • Web Design
  • Web Hosting
  • Web Servers
  • Webmin
  • Windows
  • Windows Subsystem
  • WordPress
  • Zabbix
  • Zentyal
  • Zorin OS
Visits
  • 1
  • 990
  • 1,055,762

DesignLinux.com © All rights reserved

Go to mobile version