All Topics  
PostgreSQL

 

   Email Print
   Bookmark   Link






 

PostgreSQL



 
 
PostgreSQL is an object-relational database management system (ORDBMS). It is released under a BSD-style license
BSD licenses

BSD licenses represent a family of permissive free software licence. The original was used for the Berkeley Software Distribution , a Unix-like operating system for which the license is named....
 and is thus free software
Free software

Free Software or software libre is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things and to prevent consumer-facing hardware...
. As with many other open-source programs, PostgreSQL is not controlled by any single company, but has a global community of developers and companies to develop it.

Product name
The mixed-capitalization of the PostgreSQL name can confuse some people on first viewing.






Discussion
Ask a question about 'PostgreSQL'
Start a new discussion about 'PostgreSQL'
Answer questions from other users
Full Discussion Forum



Encyclopedia


PostgreSQL is an object-relational database management system (ORDBMS). It is released under a BSD-style license
BSD licenses

BSD licenses represent a family of permissive free software licence. The original was used for the Berkeley Software Distribution , a Unix-like operating system for which the license is named....
 and is thus free software
Free software

Free Software or software libre is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things and to prevent consumer-facing hardware...
. As with many other open-source programs, PostgreSQL is not controlled by any single company, but has a global community of developers and companies to develop it.

Product name


The mixed-capitalization of the PostgreSQL name can confuse some people on first viewing. The several pronunciations of "SQL
SQL

SQL is a database computer language designed for the retrieval and management of data in relational database management systems , database schema creation and modification, and database object access control management....
" can lead to this confusion. PostgreSQL's developers pronounce it ; (, 5.6k MP3
MP3

MPEG-1 Audio Layer 3, more commonly referred to as MP3, is a digital audio Encoder format using a form of lossy data compression. It is a common audio format for consumer audio storage, as well as a de facto standard encoding for the transfer and playback of music on digital audio players....
). It is also common to hear it abbreviated as simply "Postgres", which was its original name. Because of ubiquitous support for the SQL Standard
SQL:2003

SQL:2003 is the fifth revision of the SQL database query language. The latest revision of the standard is SQL:2008....
 amongst most relational databases, the community considered changing the name back to Postgres. However, the PostgreSQL Core Team announced in 2007 that the product would continue to be named PostgreSQL. The name refers to the project's origins as a "post-Ingres" database, the original authors having also developed the Ingres database.

History


PostgreSQL evolved from the Ingres project at University of California, Berkeley
University of California, Berkeley

The University of California, Berkeley is a public university research university located in Berkeley, California, California, United States. The oldest of the ten major campuses affiliated with the University of California, Berkeley offers some 300 undergraduate and graduate degree programs in a wide range of disciplines....
. In 1982, the project leader, Michael Stonebraker
Michael Stonebraker

Michael Stonebraker is a computer scientist specializing in database research and development. His career covers, and helped create, the majority of the existing relational database market today....
, left Berkeley to commercialize Ingres. He returned to Berkeley in 1985 and started a post-Ingres project to address the problems with contemporary database systems that had become increasingly clear during the early 1980s. The new project, Postgres, aimed to add the fewest features needed to completely support types. These features included the ability to define types and to fully describe relationships – something used widely before but maintained entirely by the user. In Postgres, the database "understood" relationships, and could retrieve information in related tables in a natural way using rules. Postgres used many ideas of Ingres but not its code.

Starting in 1986, the team published a number of papers describing the basis of the system, and by 1988 had a prototype version. The team released version 1 to a small number of users in June 1989, then version 2 with a re-written rules system in June 1990. Version 3, released in 1991, again re-wrote the rules system, and added support for multiple storage managers and an improved query engine. By 1993 the great number of users began to overwhelm the project with requests for support and features. After releasing version 4 — primarily a cleanup — the project ended.

But open-source
Open source

Open source is an approach to design, development, and distribution offering practical accessibility to a product's source . Some consider open source as one of various possible design approaches, while others consider it a critical Strategy element of their business operations....
 developers could obtain copies and develop the system further, because Berkeley had released Postgres under the BSD license. In 1994, Berkeley graduate students Andrew Yu and Jolly Chen replaced the Ingres-based QUEL query language
QUEL query languages

QUEL is a relational database access language, similar in most ways to SQL. It was created as a part of the Ingres effort at University of California, Berkeley, based on Edgar F....
 interpreter with one for the SQL
SQL

SQL is a database computer language designed for the retrieval and management of data in relational database management systems , database schema creation and modification, and database object access control management....
 query language, creating Postgres95. The code was released on the web.

In July 1996, Marc Fournier at Hub.Org Networking Services provided the first non-university development server for the open source development effort. Along with Bruce Momjian and Vadim B. Mikheev, work began to stabilize the code inherited from Berkeley. The first open source version was released on August 1, 1996.

In 1996, the project was renamed to PostgreSQL to reflect its support for SQL. The first PostgreSQL release formed version 6.0 in January 1997. Since then, the software was maintained by a group of database developers and volunteers around the world, coordinating via the Internet
Internet

The Internet is a global network of interconnected computers, enabling users to share information along multiple channels. Typically, a computer that connects to the Internet can access information from a vast array of available server and other computers by moving information from them to the computer's local memory....
.

Although the license allowed for the commercialization of Postgres, the code did not develop commercially at first — somewhat surprisingly considering the advantages Postgres offered. The main offshoot originated when Paula Hawthorn (an original Ingres team member who moved from Ingres) and Michael Stonebraker formed Illustra
Illustra

Illustra was a commercialized version of the Postgres object-relational database management system sold by Illustra Information Technologies, a company formed by Michael Stonebraker and Paula Hawthorn....
 Information Technologies to commercialize Postgres.

In 2000, former Red Hat
Red Hat

In computing, Red Hat, Inc. is a company in the free and open source software sector, and a major Linux distribution vendor. Founded in 1995, Red Hat has its corporate headquarters in Raleigh, North Carolina with satellite offices worldwide....
 investors created the company Great Bridge to commercialize PostgreSQL and compete against commercial database vendors. Great Bridge sponsored several PostgreSQL developers and donated many resources back to the community, but by late 2001 closed due to tough competition from companies like Red Hat and to poor market conditions.

In 2001, Command Prompt, Inc. released Mammoth PostgreSQL, the oldest surviving commercial PostgreSQL distribution. It continues to actively support the PostgreSQL community through developer sponsorships and projects including PL/Perl, PL/php, and hosting of community projects such as the PostgreSQL Build Farm.

In January 2005, PostgreSQL received backing by database vendor Pervasive Software
Pervasive Software

Pervasive Software develops and distributes data infrastructure software and Extract, transform, load tools that integrate, analyze, secure, manage and harvest data from disparate sources....
, known for its Btrieve
Btrieve

In computing, Btrieve is a transactional database product based on Indexed Sequential Access Method , which is a way of storing data for fast retrieval....
 product which was ubiquitous on the Novell NetWare
Novell NetWare

NetWare is a network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, and the network protocols were based on the archetypal Xerox Xerox Network Services Protocol stack....
 platform. Pervasive announced commercial support and community participation and achieved some success. But in July 2006, it left the PostgreSQL support market.

In mid-2005 two other companies announced plans to commercialize PostgreSQL with focus on separate niche markets. EnterpriseDB
EnterpriseDB

EnterpriseDB is a privately-held company that provides enterprise class support for PostgreSQL through its product Postgres Plus Standard Server, an open source software List of relational database management systems built as a superset of PostgreSQL with additional open source packages and targeted for the enterprise market....
 added functionality to allow applications written to work with Oracle
Oracle database

The Oracle Database consists of a relational database management system produced and marketed by Oracle Corporation. , Oracle had become a major presence in database computing....
 to be more readily run with PostgreSQL. Greenplum
Greenplum

Greenplum is a software company that specializes in data warehousing. Greenplum is based in San Mateo, California. Greenplum Database is built from modified PostgreSQL into a massively parallel processing database....
 contributed enhancements directed at data warehouse
Data warehouse

Data warehouse is a repository of an organization's electronically stored data. Data warehouses are designed to facilitate reporting and analysis....
 and business intelligence
Business intelligence

Business intelligence refers to skills, technologies, applications and practices used to help a business acquire a better understanding of its commercial context....
 applications, including the BizGres project.

In October 2005, John Loiacono, executive vice president of software at Sun Microsystems
Sun Microsystems

Sun Microsystems, Inc. is a multinational corporation vendor of computers, computer components, computer software, and information technology services, founded on February 24, 1982....
, commented: "We're not going to OEM
Original Equipment Manufacturer

OEM stands for "Original Equipment Manufacturer".An original equipment manufacturer, or OEM is typically a company that uses a component made by a second company in its own product, or sells the product of the second company under its own brand....
 Microsoft but we are looking at PostgreSQL right now," although no specifics were released at that time. By November 2005, Sun had announced support for PostgreSQL. By June 2006, Sun Solaris 10 (6/06 release) shipped with PostgreSQL.

In August 2007, EnterpriseDB announced the Postgres Resource Center and EnterpriseDB Postgres, designed to be a fully configured distribution of PostgreSQL including many contrib modules and add-on components. EnterpriseDB Postgres was renamed to Postgres Plus in March 2008.

The PostgreSQL project continues to make yearly major releases and minor "bugfix" releases, all available under the BSD license, based on contributions from both commercial vendors, support companies, and open source programmers at large.

Features


Functions

Functions allow blocks of code to be executed by the server. Although these blocks can be written in SQL, the lack of basic programming operations, such as branching
Control flow

In computer science control flow refers to the order in which the individual statement , Instruction or function calls of an imperative programming or functional programming computer program are execution or evaluated....
 and looping
Iteration

Iteration means the act of repeating....
, has driven the adoption of other languages inside of functions. Some of the languages can even execute inside of triggers. Functions in PostgreSQL can be written in the following languages:

  • A built-in language called PL/pgSQL
    PL/pgSQL

    PL/pgSQL is a procedural language supported by the PostgreSQL RDBMS. It closely resembles Oracle_database PL/SQL language.PL/pgSQL, as a fully featured programming language, allows much more procedural control than SQL, including the ability to use loops and other control structures....
     resembles Oracle's procedural language PL/SQL
    PL/SQL

    PL/SQL is Oracle Corporation's proprietary procedural extension to the SQL database programming language, used in the Oracle database. Some other SQL database management systems offer similar extensions to the SQL language....
    .
  • Scripting languages are supported through , , PL/Perl
    PL/Perl

    PL/Perl is a procedural language supported by the PostgreSQL RDBMS.PL/Perl, as a true programming language, allows much more control than basic SQL, including the ability to use loops, advanced control structures, and quite sophisticated text manipulation....
    , , , , , and .
  • Compiled languages C
    C (programming language)

    C is a general-purpose computer programming language originally developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories to implement the Unix operating system....
    , C++
    C++

    C++ is a general-purpose programming language. It is regarded as a middle-level language, as it comprises a combination of both high-level programming language and low-level programming language language features....
    , or Java (via ).
  • The statistical language R
    R (programming language)

    In computing, R is a programming language and software environment for statistics computing and graphics. It is an implementation of the S programming language with lexical scoping semantics inspired by Scheme ....
     through .


PostgreSQL supports row-returning functions, where the output of the function is a set of values which can be treated much like a table within queries.

Functions can be defined to execute with the privileges of either the caller or the user who defined the function. Functions are sometimes referred to as stored procedures, although there is a slight technical distinction between the two.

Indexes

PostgreSQL includes built-in support for B+-tree
B+ tree

In computer science, a B+ tree is a type of tree data structure which represents sorted data in a way that allows for efficient insertion, retrieval and removal of records, each of which is identified by a key....
, hash
Hash table

In computer science, a hash table, or a hash map, is a data structure that associates Unique key with value .The primary operation that hash functions support efficiently is a lookup: given a key , find the corresponding value ....
, GiST
GIST

GIST may be:*...
 and GiN
Gin

Gin is a distilled beverage flavoured with juniper berries. Distilled gin is made by redistilling neutral grain spirit and raw cane sugar which has been flavoured with juniper berries....
 indexes. In addition, user-defined index methods can be created, although this is quite an involved process. Indexes in PostgreSQL also support the following features:

  • PostgreSQL is capable of scanning indexes backwards when needed; a separate index is never needed to support ORDER BY field DESC.
  • Expression indexes
    Expression index

    An expression index is a Relational database management system Index that is built on a generic expression, rather than on a list of Columns. This allows indexes to be defined for common query conditions that depend on data in a table, but are not actually stored in that table....
     can be created with an index of the result of an expression or function, instead of simply the value of a column.
  • Partial indexes
    Partial index

    A partial index is a Relational_database_management_system Index_ which has some condition applied to it such that it only includes a portion of the Rows in the Table_....
    , which only index part of a table, can be created by adding a WHERE clause to the end of the CREATE INDEX statement. This allows a smaller index to be created.
  • The planner is capable of using multiple indexes together to satisfy complex queries, using temporary in-memory bitmap index
    Bitmap Index

    A bitmap index is a special kind of Index that uses bitmaps.Bitmap indexes have traditionally been considered to work well for data such as gender, which has a small number of distinct values, e.g., male and female, but many occurrences of those values....
     operations.


Triggers

Triggers are events triggered by the action of SQL DML
Data Manipulation Language

Data Manipulation Language is a family of computer languages used by computer programs database users to retrieve, insert, delete and update data in a database....
 statements. For example, an INSERT
Insert (SQL)

An SQL INSERT statement adds one or more records to any single table in a relational database....
 statement might activate a trigger that checked if the values of the statement were valid. Most triggers are only activated by either INSERT or UPDATE
Update (SQL)

A SQL UPDATE statement that changes the data of one or more records in a table. Either all the rows can be updated, or a subset may be chosen using a condition ....
 statements.

Triggers
Database trigger

A database trigger is procedural code that is automatically executed in response to certain events on a particular Table in a database. Triggers can restrict access to specific data, perform logging, or audit data modifications....
 are fully supported and can be attached to tables but not to views
View (database)

In database Database theory, a view consists of a stored database query accessible as a virtual Table composed of the result set of a Query language....
. Views can have rules, though. Multiple triggers are fired in alphabetical order. In addition to calling functions written in the native PL/PgSQL, triggers can also invoke functions written in other languages like PL/Perl.

MVCC

PostgreSQL manages concurrency
Concurrency control

In computer science, especially in the fields of computer programming , operating systems , multiprocessors, and databases, concurrency control ensures that correct results for concurrent operations are generated, while getting those results as quickly as possible....
 through a system known as Multi-Version Concurrency Control
Multiversion concurrency control

Multiversion concurrency control , in the database field of computer science, is a concurrency control method commonly used by database management systems to provide concurrent access to the database....
 (MVCC), which gives each user a "snapshot" of the database, allowing changes to be made without being visible to other users until a transaction is committed. This largely eliminates the need for read locks, and ensures the database maintains the ACID
Acid

An acid is traditionally considered any chemical compound that, when dissolved in water, gives a solution with a hydrogen ion Activity greater than in pure water, i.e....
 principles in an efficient manner.

Rules

Rules allow the "query tree" of an incoming query to be rewritten. One common usage is to implement updatable views.

Data types

A wide variety of native data type
Data type

A data type in programming languages is an attribute of a data which tells the computer something about the kind of data it is. This involves setting constraints on the datum, such as what values it can take and what operations may be performed upon it....
s are supported, including:
  • Arrays
  • Arbitrary precision numerics
  • Variable length text
  • Geometric primitives
  • IPv4
    IPv4

    Internet Protocol version 4 is the fourth revision in the development of the Internet Protocol and it is the first version of the protocol to be widely deployed....
     and IPv6
    IPv6

    Internet Protocol version 6 is the next-generation Internet layer protocol for packet -switched internetworking and the Internet. IPv4 is the dominant Internet Protocol version, and was the first to receive widespread use....
     addresses
  • CIDR
    Classless Inter-Domain Routing

    Classless Inter-Domain Routing is a method of categorizing IP address for the purpose of allocating IP addresses to users and for efficiently routing IP packets on the Internet....
     blocks and MAC address
    MAC address

    In computer networking, a Media Access Control address , Ethernet Hardware Address , hardware address, adapter address or physical address is a quasi-unique identifier assigned to most network adapters or network interface cards by the manufacturer for identification....
    es
  • XML supporting Xpath
    XPath

    XPath is a language for selecting nodes from an XML document. In addition, XPath may be used to compute values from the content of an XML document....
     queries (as of 8.3)
  • UUID (as of 8.3)


In addition, users can create their own data types which can usually be made fully indexable via PostgreSQL's GiST
GIST

GIST may be:*...
 infrastructure. Examples of these are the geographic information system
Geographic Information System

A geographic information system captures, stores, analyzes, manages, and presents data that refers to or is linked to location.In the strictest sense, the term describes any Information systems that integrates, stores, edits, analyzes, shares, and displays georeference information....
 (GIS) data types from the PostGIS
PostGIS

PostGIS is an open source software program that adds support for geographic objects to the PostgreSQL object-relational database. PostGIS follows the Simple Features for SQL specification from the Open Geospatial Consortium....
 project for PostgreSQL.

User-defined objects

New types of almost all objects inside the database can be created, including:
  • Casts
  • Conversions
  • Data types
  • Domains
    Data domain

    In data management and database analysis, a data domain refers to all the unique values which a data element may contain. The rule for determining the domain boundary may be as simple as a data type with enumeration list of values....
  • Functions, including aggregate function
    Aggregate function

    In computer science, an aggregate function is a subroutine that returns a single value from a collection of input values such as a set, a multiset or a list ....
    s
  • Indexes
  • Operators (existing ones can be overloaded
    Operator overloading

    In computer programming, operator overloading is a specific case of polymorphism in which some or all of operator s like +, =, or have different implementations depending on the types of their arguments....
    )
  • Procedural languages


Inheritance

Tables can be set to inherit their characteristics from a "parent" table. Data is shared between "parent" and "child" tables. Tuples inserted or deleted in the "child" table will respectively be inserted or deleted in the "parent" table. Also adding a column in the parent table will cause that column to appear in the child table as well. This feature is not fully supported yet—in particular, table constraints are not currently inheritable. This means that attempting to insert the id of a row from a child table into a table that has a foreign key constraint referencing a parent table will fail because Postgres doesn't recognize that the id from the child table is also a valid id in the parent table.

Inheritance provides a way to map the features of generalization hierarchies depicted in Entity Relationship Diagrams (ERD) directly into the PostgreSQL database.

Other features

  • Referential integrity
    Referential integrity

    Referential integrity in a relational database is consistency between coupled tables. Referential integrity is usually enforced by the combination of a primary key or candidate key and a foreign key....
     constraint
    Constraint

    Constraint may refer to:* Constraint * Constraint algorithm such as SHAKE, or LINCS* Constraint ** Loading gauge versus structure gauge* Constraint ...
    s including foreign key
    Foreign key

    In the context of relational databases, a foreign key is a referential integrity between two tables. The foreign key identifies a column or a set of columns in one table that refers to a column or set of columns in another table....
     constraints, column constraints, and row checks
  • View
    View (database)

    In database Database theory, a view consists of a stored database query accessible as a virtual Table composed of the result set of a Query language....
    s. Although native support for updateable views has not been implemented, the same functionality can be achieved using the rules system.
  • Full, inner, and outer (left and right) join
    Join (SQL)

    An SQL JOIN clause combines records from two table s in a database. It creates a set that can be saved as a table or used as is. A JOIN is a means for combining fields from two tables by using values common to each....
    s
  • Sub-select
    Select (SQL)

    The SQL SELECT statement returns a result set of records from one or more tables.It retrieves zero or more rows from one or more base tables, temporary tables, or views in a database....
    s
  • Transaction
    Database transaction

    A database transaction comprises a unit of work performed within a database management system against a database, and treated in a coherent and reliable way independent of other transactions....
    s
  • Supports most of the major features of SQL:2003
    SQL:2003

    SQL:2003 is the fifth revision of the SQL database query language. The latest revision of the standard is SQL:2008....
     standard <-- lead to documentation for the next release of PostgreSQL, follow to find manuals for already released versions of PostgreSQL
  • Encrypted connections via SSL
  • Binary and textual large-object storage
  • Online backup
  • Domains
    Data domain

    In data management and database analysis, a data domain refers to all the unique values which a data element may contain. The rule for determining the domain boundary may be as simple as a data type with enumeration list of values....
  • Tablespace
    Tablespace

    A tablespace is a storage location where the actual data underlying database objects can be kept. It is the physical portion of the database used to allocate storage for all DBMS managed segments....
    s
  • Savepoint
    Savepoint

    A savepoint is a way of implementing subtransactions within a relational database management system by indicating a point within a database transaction that can be "rolled back to" without affecting any work done in the transaction before the savepoint was created....
    s
  • Point-in-time recovery
    Point-in-time recovery

    Point-in-time recovery in the context of computers is a system whereby a set of data or a particular setting can be restored or recovered from a time in the past....
  • Two-phase commit
  • TOAST (The Oversized-Attribute Storage Technique) is used to transparently store large table attributes (such as big MIME attachments or XML messages) in a separate area, with automatic compression.
  • Regular expression
    Regular expression

    In computing, regular expressions provide a concise and flexible means for identifying strings of text of interest, such as particular characters, words, or patterns of characters....
    s


Add-ons

  • Geographic objects via PostGIS
    PostGIS

    PostGIS is an open source software program that adds support for geographic objects to the PostgreSQL object-relational database. PostGIS follows the Simple Features for SQL specification from the Open Geospatial Consortium....
    . GPL.
  • Shortest-Path-Algorithms with using PostGIS. GPL.
  • Full text search
    Full text search

    In text retrieval, full text search refers to a technique for searching a computer-stored document or database. In a full text search, the search engine examines all of the words in every stored document as it tries to match search words supplied by the user....
     via and OpenFTS
    OpenFTS

    OpenFTS is a free software database search engine based on PostgreSQL. It is distributed under the GNU General Public License. From the OpenFTS Website:...
    . (As of version 8.3, Tsearch2 is included in core PostgreSQL)
  • Some synchronous multi-master derivatives or extensions exist, including
    • (BSD license)
    • (in early stages of development)
  • Several asynchronous master/slave replication packages, including
    • Slony-I
      Slony-I

      Slony-I is an asynchronous master-slave replication system for the PostgreSQL DBMS, providing support for cascading and failover. Asynchronous means that when a database transaction has been committed to the master server, it is not yet guaranteed to be available in slaves....
       (BSD license)
    • . (BSD license, formerly proprietary)
  • There are proxy (middleware) tools that enable replication, failover or load management and balancing for PostgreSQL:
    • .
    • available for a number of different server besides PostgreSQL.


Database administration front-ends


Open source


psql
The primary front-end for PostgreSQL is the psql command-line program, which can be used to enter SQL queries directly, or execute them from a file. In addition, psql provides a number of meta-commands and various shell-like features to facilitate writing scripts and automating a wide variety of tasks; for example tab completion of object names and SQL syntax.

pgAdmin
pgAdmin is a graphical
Graphical user interface

A graphical user interface is a type of user interface which allows people to human-computer interaction such as computers; hand-held devices such as MP3 Players, Portable Media Players or Gaming devices; household appliances and office equipment....
 front-end administration tool for PostgreSQL, which is supported on most popular computer platforms. The program is available in more than a dozen languages, and is free software
Free software

Free Software or software libre is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things and to prevent consumer-facing hardware...
 released under the Artistic License
Artistic License

The Artistic License refers most commonly to the original Artistic License , a software license used for certain free software packages, most notably the standard Perl implementation and most CPAN modules, which are dual-licensed under the Artistic License and the GNU General Public License ....
. The first prototype, named pgManager, was written for PostgreSQL 6.3.2 from 1998. The stable release (named pgAdmin II) was first released on 16 January 2002. The current version is pgAdmin III, which is released under the Artistic License
Artistic License

The Artistic License refers most commonly to the original Artistic License , a software license used for certain free software packages, most notably the standard Perl implementation and most CPAN modules, which are dual-licensed under the Artistic License and the GNU General Public License ....
.

phpPgAdmin
phpPgAdmin
PhpPgAdmin

phpPgAdmin is a web application, written in PHP, for managing PostgreSQL databases.phpPgAdmin is a web-based client which leverages PHP scripting and the PostgreSQL database to provide a convenient way for users to create databases, create tables, alter tables and query their own data using industry-standard SQL....
 is a web-based administration tool for PostgreSQL written in PHP
PHP

PHP is a scripting language originally designed for producing dynamic web pages. It has evolved to include a command line interface capability and can be used in Standalone software Graphical user interface....
 and based on the popular phpMyAdmin
PhpMyAdmin

phpMyAdmin is an open source tool written in PHP intended to handle the administration of MySQL over the World Wide Web. Currently it can create and drop databases, create/drop/alter Table , delete/edit/add Field , execute any SQL statement, manage users and permissions, and manage keys on fields....
 interface originally written for MySQL
MySQL

MySQL is a relational database management system which has more than 11 million installations. The program runs as a server providing multi-user access to a number of databases....
 administration.

Commercial

A number of companies offer commercial tools for PostgreSQL. They often consist of an universal core that is adapted for various specific database products. These tools mostly share the administration features with the open source tools but offer improvements in data modeling
Data modeling

Data modeling in software engineering is the process of creating a data model by applying formal data model descriptions using data modeling techniques....
, im/exporting or reporting. Among them are Navicat
Navicat

PremiumSoft Navicat is a series of graphical database management and development software for MySQL, Oracle Database and PostgreSQL. It has an Explorer-like interface and supports multiple database connections for local and remote databases....
, TeamPostgreSQL , SQLMaestro , DBtools manager or EMS SQL studio as well as pure data modeling tools like Toad data modeler or the open-source Mogwai ER designer .

See also: Comparison of database tools
Comparison of database tools

The following tables compare general and technical information for a number of available Database administrator#Performance. Please see individual product articles for further information....


Benchmarks

Many informal performance studies of PostgreSQL have been done but the first industry-standard and peer-validated benchmark was completed in June 2007 using the Sun Java System Application Server
Sun Java System Application Server

The Sun Java System Application Server, or SJSAS, is a platform for delivering server-side Java platform applications and Web services. Produced by Sun Microsystems, the SJSAS is a Java Platform, Enterprise Edition 5 certified application server and is a core part of the Java Enterprise System....
 (commercial version of GlassFish
Glassfish

Glassfish may refer to:* The Asiatic glassfishes in the family Ambassidae* GlassFish, a Java Enterprise Edition application server project...
) 9.0 Platform Edition, UltraSPARC T1
UltraSPARC T1

Sun Microsystems' UltraSPARC T1 microprocessor, known until its 14 November 2005 announcement by its development codename "Niagara", is a multithreading, multicore central processing unit....
 based Sun Fire
Sun Fire

The Sun Fire server brand is a series of server computers introduced by Sun Microsystems in 2001. The Sun Fire branding coincided with the introduction of the UltraSPARC III processor, superseding the UltraSPARC II-based Sun Enterprise series....
 server and Postgres 8.2. This result of 778.14 SPECjAppServer2004 JOPS@Standard compares favourably with the 874 JOPS@Standard with Oracle 10 on an Itanium
Itanium

Itanium is the brand name for 64-bit Intel microprocessors that implement the Intel Itanium architecture . Intel has released two processor families using the brand: the original Itanium and the Itanium 2....
 based HP-UX
HP-UX

HP-UX 11i is Hewlett-Packard's proprietary software implementation of the Unix operating system, based on UNIX System V . It runs on the HP 9000 PA-RISC-based range of central processing unit and HP Integrity Intel's Itanium-based systems, and was also available for later Apollo/Domain systems....
 

In August 2007, Sun submitted an improved benchmark score of 813.73 SPECjAppServer2004 JOPS@Standard. With the system under test
System under test

System under test refers to a system that is being tested for correct operation. The term is used mostly in software testing.A special case of a software system is an application software which, when tested, is called an application under test....
 at a reduced price, the price/performance improved from $US 84.98/JOPS to $US 70.57/JOPS.

Prominent users


  • Yahoo!
    Yahoo!

    Yahoo! Inc. is an United States public company corporation with headquarters in Sunnyvale, California, , and provides Internet services worldwide....
     for web user behavioral analysis, storing 2 petabytes and claimed to be the largest data warehouse using a heavily modified version of PostgreSQL with an entirely different column-based storage engine and different query processing layer. While for performance, storage, and query purposes the database bears little resemblance to PostgreSQL, the front-end maintains compatibility so that Yahoo can use many off-the-shelf tools already written to interact with PostgreSQL.
  • Afilias
    Afilias

    Afilias Limited. is the registry operator of the .info and .aero TLDs, and the service provider of the .org generic top-level domain , .mobi mobile phone TLD, and a provider of domain name registry services for several countries around the world, including .AG , .BZ , .GI , .HN , .IN , .ME , .SC , and .VC ....
    , domain registries for .org
    .org

    .org is a generic top-level domain used in the Internet's Domain Name System. In the typical style of most gTLDs, .org is sometimes pronounced in word form as 'dot-org' or 'dot-oh-are-gee ' when spoken, although not all users of the TLD agree on this usage....
    , .info
    .info

    .info is a generic top-level domain intended for informative websites, although its use is not restricted. It was a part of ICANN's highly publicized announcement, in late 2000, of a phased release of seven new generic top-level domains ....
     and others.
  • Sony Online multiplayer online games.
  • BASF
    BASF

    BASF SE is a German chemical company and the largest chemical company in the world. BASF originally stood for Badische Anilin- und Soda-Fabrik ....
    , shopping platform for their agribusiness portal.
  • hi5.com
    Hi5 (website)

    hi5 is a social networking website, which, throughout 2008,was one of the top 20 most visited sites on the Internet The company was founded in 2003 by Ramu Yalamanchi who is also the current CEO....
     social networking portal.
  • Skype
    Skype

    Skype is software that allows users to make voice over Internet Protocol. Calls to other users of the service and to free-of-charge numbers are free, while calls to other landlines and mobile phones can be made for a fee....
     VoIP application, central business databases.
  • Sun xVM
    Sun xVM

    Sun xVM is a family of four technologies from Sun Microsystems that address desktop and server virtualization, as well as datacenter automation....
    , Sun's virtualization and datacenter automation suite
  • Evergreen
    Evergreen (software)

    Evergreen is an open source, consortial-quality Integrated library system , initially developed by the for Public Information Network for Electronic Services , a statewide resource-sharing consortium with over 270 member libraries....
    , an open source integrated library system
    Integrated library system

    An integrated library system , also known as a library management system , is an enterprise resource planning system for a library, used to track items owned, orders made, bills paid, and patrons who have borrowed....
     providing an Online Public Access Catalog and cataloging, management, and other functions for hundreds of libraries in the United States, Canada, and elsewhere
  • NextBus
    NextBus

    NextBus is a vehicle tracking system provided by NextBus, Inc., for buses, trams, light rail operations and other public transportation vehicles....
    , provider of arrival-time prediction and GPS tracking systems for public transportation
  • Snooth
    Snooth

    Snooth is a social networking website based in New York City, USA. It was founded in November 2006 by Philip J. K. James, a graduate of Oxford University and Columbia Business School....
    , the world's most comprehensive wine database, featuring millions of reviews and hundreds of thousands of wines.


Awards

PostgreSQL has received the following awards:
  • 1999 LinuxWorld Editor's Choice Award for Best Database
  • 2000 Linux Journal Editors' Choice Awards for Best Database
  • 2002 Linux New Media Editors Choice Award for Best Database
  • 2003 Linux Journal Editors' Choice Awards for Best Database
  • 2004 Linux New Media Award For Best Database
  • 2004 Linux Journal Editors' Choice Awards for Best Database
  • 2004 ArsTechnica Best Server Application Award
  • 2005 Linux Journal Editors' Choice Awards for Best Database
  • 2006 Linux Journal Editors' Choice Awards for Best Database
  • 2008 Developer.com Product of the Year, Database Tool


See also


  • Comparison of relational database management systems
    Comparison of relational database management systems

    The following tables compare general and technical information for a number of relational database management systems. Please see the individual products' articles for further information....
  • Comparison of database tools
    Comparison of database tools

    The following tables compare general and technical information for a number of available Database administrator#Performance. Please see individual product articles for further information....
  • EnterpriseDB
    EnterpriseDB

    EnterpriseDB is a privately-held company that provides enterprise class support for PostgreSQL through its product Postgres Plus Standard Server, an open source software List of relational database management systems built as a superset of PostgreSQL with additional open source packages and targeted for the enterprise market....
  • MySQL
    MySQL

    MySQL is a relational database management system which has more than 11 million installations. The program runs as a server providing multi-user access to a number of databases....
  • Change control
    Change Control

    Change control is a formal process used to ensure that changes to a system are introduced in a controlled and coordinated manner. It reduces the possibility that unnecessary changes will be introduced to a system without forethought, introducing faults into the system or undoing changes made by other users of the software....


External links


About PostgreSQL

  • , blog aggregator
  • to the FUD
    Fud

    Fud may refer to:*FUD, Fear, uncertainty and doubt, a marketing or political strategy*FUD, Female urination device*FUD , a Mexican brand of cold cuts and hot dogs...
     (fear, uncertainty, and doubt) surrounding much of the criticism against PostgreSQL.
  • , documented but counterintuitive behavior
  • , Example embedded SQL/C program for PostgreSQL showing database operations and SQLSTATE testing.


Documentation

  • (Frequently Asked Questions)


Performance tuning documentation


External projects


The developers of PostgreSQL try to keep the system itself down to a set of "core" features, rather than encouraging extensions to be rolled into the main system. Here are places where "secondary" projects are managed:
  • is a free ETL
    Extract, transform, load

    Extract, transform, and load in database usage and especially in data warehouse involves:* data extraction from outside sources* data transformation it to fit operational needs ...
     tool for files working with the latest postgreSQL release.