PostgreSQL is an open-source, relational database management system (RDBMS) available for all major platforms including Linux, UNIX, Windows and OS X. Please mention your version of Postgres when asking questions. Questions concerning administration or advanced features are best directed to dba.stackexchange.com.
PostgreSQL (often "Postgres", never "Postgre"), is an object-relational database management system (ORDBMS) available for all major operating systems. It is free and open source software released under the PostgreSQL License, an MIT-style license. PostgreSQL is developed by the PostgreSQL Global Development Group, consisting of volunteers employed by companies such as Red Hat and EnterpriseDB.
PostgreSQL is pronounced as "post-grez-q-l". Postgres is pronounced as "post-grez".
Numerous forks of Postgres exist for specialized tasks, such as Greenplum Database, Amazon Redshift, ParAccel, Postgres-XC, Postgres-XL, PPAS, etc. Their features and syntax differ from stock PostgreSQL. Declare what you are using and add a tag.
PostgreSQL Features
- Implements most of the major features of SQL:2016
- ACID-compliant
- Fully transactional (including all DDL statements)
- Extensible data types, operators, indexing, functions, aggregates, procedural languages
- Large number of extensions both bundled and supplied by third parties
- Supported operating systems include: Linux, FreeBSD, Solaris, MS Windows, Mac OS X
- Detailed, comprehensive and clear documentation
How to ask good questions
For performance questions consider instructions for postgresql-performance.
For questions targeting a specific version add a version tag: postgresql-9.6, postgresql-13 etc.
Questions concerning administration or advanced features are best directed to dba.stackexchange.com.
The Guide to Reporting Problems on the PostgreSQL wiki is useful reading.
Show at least your major PostgreSQL version from
SELECT version()
.Include the full text of relevant error messages, SQL queries, etc.
Where appropriate supply a test case with
CREATE TABLE
andINSERT
statements with sample data and expected results. A fiddle site like dbfiddle.uk or sqlfiddle.com is typically useful.If you've asked previous, related questions, add a link.
If you re-post a mailing list question, link to the page in the mailing list archives. And vice versa.
Know about
PostgreSQL
current settings/backend config with:SELECT name, current_setting(name), source FROM pg_settings WHERE source NOT IN ('default', 'override');
Resources
- The current manual
- PostgreSQL GUI Tools
- PostgreSQL Wiki
- PostgreSQL on Wikipedia
- Mailing list archives
- PostgreSQL IRC channels
- Books