About company Our development services Portfolio. Case studies Support Testimonials Contacts Brutka Ltd: web site development and custom software development


Software Solution
Application Type
Technology Domain

Phrase of the day

Philosophy, when superficially studied, excites doubt; when thoroughly explored, it dispels it.
Philosophy, when superficially studied, excites doubt; when thoroughly explored, it dispels it.
Francis Bacon


PostgreSQLPostgreSQL (Postgres) is a free object-relational database server (database management system), released under a flexible BSD-style license. It offers an alternative to other database systems. Similar to other open-source projects such as Apache, Linux, and Mediawiki, PostgreSQL is not controlled by any single company, but relies on a global community of developers and companies to develop it.

PostgreSQL's unusual-looking name makes some readers pause when trying to pronounce it, especially those who pronounce SQL as "sequel". PostgreSQL's developers pronounce it "post-gress-Q-L". (Audio sample, 5.6k MP3). It is also common to hear it abbreviated as simply "postgres", which was its original name. The name refers to the project's origins as a "post-Ingres" database, the authors having also written Ingres.

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 and looping, 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 resembles Oracle's procedural language PL/SQL
Scripting languages are supported through PL/Perl, plPHP, PL/Python, PL/Ruby, PL/sh, and PL/Tcl
Compiled languages C, C++, or Java (via PL/Java)
The statistical language R through PL/R
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.

Triggers are fully supported and can be attached to tables and to views. 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.

More about PostgreSQL >>