Home >> Computers >> Software >> Databases >> PostgreSQL


  Replication
       


}

PostgreSQL occurs as free object-relational database server (database management system), released under the flexible BSD-style license. It offers an option to more open-source database systems (like MySQL and Firebird), when well as to proprietary systems such as Oracle, Sybase, IBM's DB2 and Microsoft SQL Server. Similar to more open-source projects like Apache and Linux, PostgreSQL is not controlled by any only company, however relies in the community of spherical developers & corporations to evolve it.

PostgreSQL's unusual-seeking title gives a bit of readers pause inside trying to pronounce it, especially victims world health organization pronounce SQL as "sequel". PostgreSQL's developers pronounce it "post-gress-Q-L". ([http://www.postgresql.org/files/postgresql.mp3 Audio sample], Phoebe.6k MP3). These are besides park to hear it abbreviated when only "postgres."

Features

Functions

Functions allow jams of code to become executed per server. Although these bars may be written within SQL, a want of basic programming operations like branching and looping, has driven a adoption of more languages within of functions. A bit of of the languages potty potentially execute within of triggers. Functions within PostgreSQL may be written in the ensuing languages:

A built-inherent language known as PL/pgSQL resembles Oracle's procedural language PL/SQL Scripting languages come supported across [http://www.postgresql.org/docs/current/interactive/plperl.html PL/Perl], [http://plphp.commandprompt.com/ plPHP], [http://www.postgresql.org/docs/current/interactive/plpython.html PL/Python], [http://raa.ruby-lang.org/project/pl-ruby PL/Ruby], [http://developer.postgresql.org/~petere/pgplsh/ PL/sh], and [http://www.postgresql.org/docs/current/interactive/pltcl.html PL/Tcl] Compiled languages C, C++, or Java (via [http://gborg.postgresql.org/project/pljava/projdisplay.php PL/Java]) The technical indicator language R programming language through [http://www.joeconway.com/plr/ PL/R]

Functions may be defined to execute by using a privileges of either a caller or even a user world health organization defined a work. Functions come occasionally known as stored procedures, although there is a cold-shoulder technical indicator distinction betwen them.

Indexes

User-defined indexes may be created, or even a built-inbuilt B-tree & R-tree indexes may be utilized. Indexes inside PostgreSQL too trend lines a as punishment features:

Expressional indexes may be created which stock the symptom of an expression or even work, instead of only a value of a column. Partial indexes, which only stock section of the table, may be created by adding the "where clause" clause to the prevent of the Produce Stock statement. This allows the little stock to become created. PostgreSQL is capable of scanning indexes backwards equally required.

Triggers

Triggers come fully supported & may be connected to tables & to views. Multiple triggers come fired inside alphabetical sequentially. Additionally to calling functions written inside the native PL/PgSQL, triggers can as well invoke languages written in Pl/Perl.

MVCC

PostgreSQL manages concurrency across the technique called Multi-Version Concurrency Control (MVCC), which gives each user the "snapshot" of the database, permitting changes to become processed forswearing existence seeable to more users until the dealing is commited. This largely eliminates a require for see locks, & ensures a database maintains a ACID principles in an effective manner.

Rules

System allow a "query tree" of an incoming enquiry to become rewritten. A single most common usage is to implement updateable views.

Data types

The wide kind of indigen data types are supported, including: IP and IPv6 addresses CIDR blocks, and MAC address data types Arrays

Additionally, users could produce their have information types.

User-defined objects

Fresh types of most a lot objects within a database may be created, including: Indexes Operators (& existent ones may be overloaded Aggregates Domains Casts Conversions

Inheritance

Tables may be placed to inherit their characteristics from either the "parent" table. When the information is non shared between a tables, adding a column in the parent table may drive that column to pop up in the infant table too. This feature is non fully supported however -- particularly, table constraints are non presently heritable.

Other features

Referential integrity constraints including foreign key constraints, column constraints, and row checks Views Full, inner, & outer (left & best) joins Sub-selects Transactions Strong compliance using a SQL:2003 standard Encrypted modems via SSL Binary & textual heavy-object storage Online backup Domains Tablespaces Savepoints Point-in-time recovery

Add-ons

Geographic objects via PostGIS. GPL license. Full text search via OpenFTS. GPL license. Several asynchronous master/slave replication packages, including [http://www.slony.info Slony-I] (BSD license) & [http://www.commandprompt.com/products/mammothreplicator Mammoth Replicator] (closed source, scoop L slaves, United states$1,000 for of these master & 1 slave).

History
PostgreSQL has experienced a extended evolution, starting by owning the Ingres project at UC Berkeley. A plan lead, Michael Stonebraker had left Berkeley to commercialize Ingres in 1982, but in time returned to academe. When giving to Berkeley around 1985, Stonebraker started a post-Ingres plan to location a problems sustaining contemporary database systems that got get progressively clear in the period of the early Eighties. A code bases of Postgres & Ingres began (& remain) totally separated.

A sequent design, known as Postgres, aimed at introducing a minimal total of features required to add complete trend lines for types. These features involved a ability to define types, however likewise a ability to fully describe relationships – higher until this period widely utilized however maintained completely per user. Around Postgres a database "understood" relationships, & can retrieve principles inside related tables inside the natural way utilizing system.

Starting around 1986 a team released the total of papers describing the basis of the body, & by 1988 the project got the paradigm version higher & going. the team freed version Ace to a little total of users around June 1989, followed by version 2 by having the re-written patterns system around June 1990. 1991's version 3 re-wrote a models system once more, however likewise added trend lines for multiple storage managers & for an improved enquiry engine. By 1993 a huge total of users existed & began to overwhelm a design sustaining requests for support and features. When releasing a Version Four -- primarily as a cleanup -- the plan ended.

Although a Postgres task got officially ended, a BSD license (under which Berkeley had freed Postgres) enabled Open Source developers to obtain copies and to respond with a rules farther. Around 1994 two UC Berkeley graduate students, Andrew Yu and Jolly Chen, added the SQL language interpreter to replace a earliest Ingres-depending QUEL system, creating Postgres95. A code was later freed to the web to call for its have way in the globe. 1996 saw a re-naming of a task: sequentially to reflect the database's freshly SQL query language, Postgres95 became PostgreSQL.

A number one PostgreSQL release formed version Sextet.Cipher. After a class action of database developers & volunteers from either in the world, coordinative via the Internet, have maintained a software program. Since version Sixer.Cypher, several subsequent releases keep close at h& appeared, and numbers of improvements use at times occurred in the models; in January 19, 2005 version 8.Cipher became a todays release.

Although a license provide a commercialisation of Postgres, a Postgres code did non respond using commercially with a equivalent celerity when Ingres -- somewhat amazingly shopping for the benefits Postgres offered. A independent offset originated while Paula Hawthorn (an original Ingres team member world health organization moved from either Ingres) & Michael Stonebraker formed Illustra Information Technologies to commercialize Postgres.

Inside January 2005, PostgreSQL received its number 1 backing by the database trafficker. [http://www.pervasivepostgres.com Pervasive Software], easily known for their Btrieve product which was nearly omnipresent on the Novell Netware platform, announced commercial message trend lines & community participation. Since so, [http://www.enterprisedb.com/ EnterpriseDB] has proclaimed similar involvement, by having the particular concentrate on adding functionality to allow applications written to operate by owning Oracle to be supplementary readily start atop PostgreSQL. [http://www.greenplum.com/ Greenplum] has been sponsoring efforts to provide sweetening directed at Data Warehouse and Business Intelligence applications, notably including the [http://www.bizgres.org/ BizGres] plan.

Inside October 2005, John Loiacono, executive vice-president of software system at Sun Microsystems, [http://www.computerworld.com.au/index.php/id;116679278;fp;16;fpid;0 commented] that "We're not going to OEM Microsoft but we are looking at PostgreSQL right now," although there are no specifics stand eventually been freed.

PostgreSQL Technical Documentation
Contains community contributed documentation, CBT (Computer Based Training) tutorials, installation guides, technical guides, support contracts, lists of hosting providers, and additional resources.

PostgreSQL
Sophisticated open-source Object-Relational DBMS supporting almost all SQL constructs, including subselects, transactions, and user-defined types and functions. Completely free database

Java JDBC
Drivers, documentation, and tutorials.

PostgreSQL Module for Python
Python module that embeds the PostgreSQL query library.

PostgreSQL Inc.
Commercial support for the object-relational database management system, PostgreSQL, as well as full database hosting.

About.com on Postgres
Provides feature articles, net links, forum discussions and a chat room.

dbengine
A plug 'n play Web interface for PostgreSQL and Oracle.

PGAda
PostGreSQL bindings for Ada

Embedding R in Postgres
The REmbeddedPostgres package allows you to embed the R interpreter in Postgres and use R functions as if they were built-in SQL functions.

MySQL PHP to PostgresSQL
A program that takes a php page that uses mysql calls and changes them into Postgres calls.






© 2005 GeneralAnswers.org