PostgreSQL is an object-relational database management system
PostgreSQL is an object-relational database management system is which available as open source software and can be downloaded and used without licensing. The underlying PostgreS was developed as a project at the University of California at the Berkeley Computer Science Department. Since then, many developers around the globe have further developed this code, and in 1996 the program was renamed PostgreSQL.
PostgreSQL is considered to be an advanced open source database system in expert circles. PostgreSQL supports SQL92 and SQL99 standards, and also offers a number of its own extensions.
As an object-relational database system PostgreSQL stores data and object identities, and allows the user to extend the system with self-defined data types, operators and functions. In addition, PostgreSQL’s strengths also include advanced transaction management, as well as defining triggers and rules which can be used to control access to the database objects.
PostgreSQL has a huge storage capacity
PostgreSQL is based on a client-server model: a server process manages the database files and the connections, which are built by client programs to the server and handle requests which were made by these client programs. All of these tasks are done by the “postmaster” server program in PostgreSQL.
To be able to communicate with the “postmaster”, you can rely on the different client programs. Connections are built to the database server and actions are performed in the database with a client program. “Psql” is directly included in PostgreSQL distribution, and is a fast and easy database monitor. pgAccess, a graphical client, is often included in most Linux distributions and also runs on Windows – the web server takes over the role of the client in interactive web pages. A distributed architecture is typical to the client-server model: client and server do not need to be installed on the same machine, and are actually in the minority of cases. They communicate via a TCP/IP connection. The PostgreSQL server can manage multiple parallel connections. Each time the client connects to the server, the “postmaster” begins a new process that the client-server communication then takes over. The storage capacity of PostgreSQL is huge: in practice, users are more likely to be limited by their own storage capacity than by PostgreSQL’s limitations. The size of the database is unlimited and a table can include up to 32 terabytes. This table can contain unlimited records, which can be a maximum of 1.6 TB. Ultimately, only the number of columns is limited (to 250-1,600), depending on what type of data was used. Each field can take on data up to 1 gigabyte and an unlimited amount of indexes can be defined in each table.