PostgreSQL - English

Usage Examples Further Information

Development system PostgreSQL (2nd Edition), Korry Douglas, Sams Publishing, ISBN: 0672327562 A small system just for developing, running on any supported platform (Unix, Linux, Mac OS, Windows). Beginning with PostgreSQL:From Novice to This system does not need much system resources. Professional, Second Edition, Neil Matthew, Apress, The result can be exported and used in the production ISBN: 1590594789 PostgreSQL

system. PostgreSQL Developer's Handbook, Ewald Geschwinde, Sams Publishing, ISBN 0672322609 Beginning PHP and PostgreSQL 8, W. Jason Gilmore, Small to mid-level server Apress, ISBN 1590595475 A small to mid-level database server has just small PHP and PostgreSQL Advanced Web Programming, hardware requirements. PostgreSQL is not running ex- Ewald Geschwinde and Robert Treat, Sams Publishing, clusive on this system but shares the resources with ISBN 0672323826 other services. A webserver (, CMS) with a data- base backend is a good example. PostgreSQL homepage: www..org pgAdmin III: http://www.pgadmin.org

Large database server PgFoundry: http://pgfoundry.org phpPgAdmin: http://phppgadmin.sourceforge.net A large database server has extensive hardware re- PostGIS: postgis.refractions.net quirements and is usually dedicated to a single appli- cation or project. PostgreSQL can use the full power Slony: slony.info of the hardware without the need to share resources.

PostgreSQL 8.3 What is PostgreSQL?

PostgreSQL 8.3, released in early 2008, includes a record PostgreSQL is an object-relational database management number of new and improved features which will greatly system (ORDBMS). It is freely available and usable with- enhance PostgreSQL for application designers, database out licensing fee. PostgreSQL was originally developed at administrators, and users, with more than 280 patches by the University of California and uses the simple BSD-li- dozens of PostgreSQL contributors from 18 countries. cense. It is a very advanced database system in the open source Version 8.3 provides greater consistency of performance Space for Advertising area. PostgreSQL supports most parts of the SQL2003 than previous versions, ensuring that every user can standards and has a variety of its own extensions. depend on the same high performance demonstrated in recent benchmarks for every transaction, whether in peak Users can extend the system with self-defined data types, hours or not, seven days a week, 52 weeks per year. operators and functions. Apart from support for referen- Major enhancements include: tial integrity and an advanced transaction management, PostgreSQL also offers definition of triggers and rules to Heap Only Tuples (HOT) control access to database objects. Spread checkpoints Automated self-tuning of the background writer What does PostgreSQL offer? Asynchronous commit option Synchronized Scans PostgreSQL supports the ANSI-SQL-Standard ANSI-standard SQL/XML support, incl. XML export SQL92. Of the 5 categories of the SQL99 standard, Text search: Tsearch2 Framework, Foundation, Call Level Interface, Persis- GSSAPI and SSPI authentication support tent Stored Modules and Host Language Bindings are New data types: UUIDs, ENUMs and arrays of implemented in the categories 1, 2 and 5. Moreover composite types PostgreSQL offers, among many of its own exten- SNMP support sions, support for geometric data types (PostGIS).

© 2008 European PostgreSQL User Group (with help from the allBSD.de Project) – The images are copyright by the PostgreSQL project Language Scope: Mass operations on one or multiple GiST: Generalized Search Trees provide the possibil- Software for PostgreSQL tables are possible with PostgreSQL just as operations ity to create custom data types with indexed access with Subselects, Outer Joins (the Full Outer Join too) methods. System software or Views. Character Set: PostgreSQL understands many interna- PGCluster (Loadbalancing and Clustering) – Features: Referential Integrity: Tables can be referenced with tional character sets, Multibyte-Encoding is standard synchronous, replication on table level, multi-master, the definition of primary and foreign keys. This way and allows EUC or Unicode. two or more database servers can simultaneously serve the relations between tables is represented in the data- SSL: communication between client and server may be client requests, replication on demand, sent within a base and checked for correctness automatically. encrypted with SSL. group of server, replication of sequences and large ob- Transactions: PostgreSQL is ACID compliant while Kerberos Authentication: Kerberos is a protocol for jects, serial data types are synchronized. using Multi Version Concurrency Control (MVCC). In network authentication. It has been developed specifi- Slony (Replication) – Features: asynchronous mode, PostgreSQL read access never has to wait for write ac- cally for secure Client-Server -communication and can single master to multiple slaves, slaves can be cas- cess and vice versa. Also there are Two-phase-com- be compiled into PostgreSQL directly. caded, uses triggers, replication on table level, no ex- mits and Savepoints. Operation: PostgreSQL makes extensive use of multi- clusive locks necessary, can replicate schema changes, Concurrently Online Index Builds: Indices could be ple processors or cores, supports replication with all tables require a primary keys, all nodes in the net- created, without locking the table. During index “Slony” and offers the user the choice of table spaces work need to be available at all times, cannot replicate creation competing INSERTs, UPDATEs und and Point-In-Time recovery. large objects, no automatic failover. DELETEs are possible. Clustering und Loadbalancing: The software ‘PG- Triggers: In PostgreSQL ‘Before’ or ‘After’ triggers Cluster’ offers all the clustering load balancing fea- Administration on row or statement level are implemented. tures for PostgreSQL. Programming: offers interfaces for ODBC and JDBC Tablespaces: allows alternate locations for database pgAdmin: Extensive graphical tool for administration as well as interfaces to many programming languages objects on the file system (as example on a RAID that should fulfill nearly all wishes. It stands out with like PHP (native, PDO), Perl (DBI), C (libpq), Python system) its ease-of-use and clearly arranged display of the (psycopg, pyPgSQL), Ruby, ... Warm Standby Log Shipping: The continuous database structure. Stored Procedures: These are functions written in dif- archiving of transaction logs (PITR) makes high phpPgAdmin: A PHP-based web interface that can be ferent server side programming languages, i.e. SQL or availability solutions with one or more standby servers used with the browser of any operating system. PostgreSQL procedural languages like PL/pgSQL. possible. In case of a failure of the main server the They are compiled and directly stored in the database standby servers can take over. Client software for PostgreSQL server, making them very fast. Full Text Search: Available as an extension called ERP/CRM: Compiere, SQL-Ledger, TinyERP, Object-relational Characteristics: PostgreSQL allows Tsearch2 since PostgreSQL version 7.3. It is very Xtuples the storage of non-atomic data types in arrays or geo- flexible and supports stop words, dictionary mapping Connectivity: ODBC/JDBC-driver, Ruby-, Python, metric data types. Both are extensions of PostgreSQL of synonyms or phrases, stemming rules, indexes, Perl- and Tcl-Bindings, C/C++-Libraries, Qt-Plugin, not found in the SQL standard. All database objects, search result ranking and highlighting and more. Npgsql.NET, PG Win32 Client (pgOleDB and whether they are tables, views, sequences or single Tsearch2 is fully integrated into PostgreSQL from psqlODBC) data sets, have their own object identity. Apart from version 8.3 upwards. that inheritance from table characteristics to derived Stored Languages: pl/Ruby, pl/Python, pl/Perl, child tables is supported. Technical Data pl/Java, pl/PHP, pl/sh, pl/R, pl/scheme Extendability: The type system is extensible by cus- Connectivity: DBI-Link, Oralink, odbclink tom data types, operators and functions, making the Parameter Value Groupware: OpenGroupware, various POP3/IMAP- system individually customizable. Functions can be server written in SQL or other procedural languages. With Maximal size of database Unlimited Office: OpenOffice, StarOffice PL/pgSQL you have your own procedural language at Maximal size of table 16 Terabyte, 32 Terabyte your disposal. with Version 8 CMS/Shop-Systeme: LivingShop, XIST4C Large Objects: Binary data, like audio, video or im- Image Database: gPictureBase, Gallery2 ages, can be stored in tables. Maximal size of row 1,6 Terabyte Blog Software: Serendipity Rules: The rule system allows to define alternate ac- Maximal size of field 1 Gigabyte tions performed on insertions, updates or deletes. Board Software: phpBB3 GIN – Generalized Inverted Index: Index structure Maximal number of rows Unlimited, the file system Wiki Software: Mediawiki storing a set of (key, documentlist) tuples whereas in DB is the limiting factor Bugtracking/CRM: JIRA documentlist means a set of data in which a certain Maximal number of col- 250 to 1600, depending on field contains key. Invers means not the primary key Search: ht://miner, Tsearch2 umns the column type for referencing a record is stored, but expressions that Games: Poker Tracker, FlightGear are contain in the field itself. Maximal size of indices in Unlimited table

© 2008 European PostgreSQL User Group (with help from the allBSD.de Project) – The images are copyright by the PostgreSQL project PostgreSQL - English

© 2008 European PostgreSQL User Group (with help from the allBSD.de Project) – The images are copyright by the PostgreSQL project