From Seo Wiki - Search Engine Optimization and Programming Languages
|Stable release||8.1.0/ August 13, 2009|
8.0.0/ April 23, 2009
--- UNDER WORK, NOT FOR RELEASE YET ---
Rasdaman is an array database management system (ADBMS). It is released under a GPL license and is thus free software. It offers an array query language, rasql, for declarative retrieval and manipulation on multi-dimensional arrays of unlimited size.
The name "rasdaman" is an acronym standing for "raster data manager" indicating its focus on raster, i.e, array data.
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 which existed prior to version 8.4, 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/Lua, PL/LOLCODE, PL/Perl, plPHP, PL/Python, PL/Ruby, PL/sh, PL/Tcl and PL/Scheme.
- Compiled languages C, C++, or Java (via PL/Java).
- The statistical language R through PL/R.
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.
PostgreSQL includes built-in support for B+-tree, hash, GiST and GiN 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:
- Referential integrity constraints including foreign key constraints, column constraints, and row checks
Database administration front-ends
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.
A number of companies offer proprietary tools for PostgreSQL. They often consist of a 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, im/exporting or reporting. Among them are Navicat, SQL Maestro as well as pure data modeling tools like DeZign for Databases or ModelRight.
- See also: Comparison of database tools
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 (proprietary version of GlassFish) 9.0 Platform Edition, UltraSPARC T1 based Sun Fire 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 based HP-UX system.
In August 2007, Sun submitted an improved benchmark score of 813.73 SPECjAppServer2004 JOPS@Standard. With the system under test at a reduced price, the price/performance improved from $US 84.98/JOPS to $US 70.57/JOPS.
- 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
- ↑ What is rasdaman?
- ↑ 2.0 2.1 Josh Berkus (2007-07-06). "PostgreSQL publishes first real benchmark". http://blogs.ittoolbox.com/database/soup/archives/postgresql-publishes-first-real-benchmark-17470. Retrieved 2007-07-10.
- ↑ "SPECjAppServer2004 Result". SPEC. 2007-07-06. http://www.spec.org/jAppServer2004/results/res2007q3/jAppServer2004-20070606-00065.html. Retrieved 2007-07-10.
- ↑ "SPECjAppServer2004 Result". SPEC. 2007-07-04. http://www.spec.org/jAppServer2004/results/res2007q3/jAppServer2004-20070703-00073.html. Retrieved 2007-09-01.
- ↑ "PostgreSQL, Award Winning Software". postgresql.org. 2008-01-19. http://www.postgresql.org/about/awards. Retrieved 2008-01-31.
- Douglas, Korry (August 5, 2005). PostgreSQL (Second ed.). Sams. pp. 664. ISBN 0672327562. http://www.informit.com/store/product.aspx?isbn=0672327562.
- Gilmore, W. Jason; Treat, Robert (February 27, 2006). Beginning PHP and PostgreSQL 8: From Novice to Professional. Apress. pp. 896. ISBN 1590595475. http://www.apress.com/book/view/1590595475.
- Matthew, Neil; Stones, Richard (April 6, 2005). Beginning Databases with PostgreSQL (Second ed.). Apress. pp. 664. ISBN 1590594789. http://www.apress.com/book/view/9781590594780.
- Worsley, John C.; Drake, Joshua D. (January 2002). Practical PostgreSQL. O'Reilly Media. pp. 636. ISBN 1565928466. http://oreilly.com/catalog/9781565928466/.
- Pebau/Rasdaman at the Open Directory Project
- Planet PostgreSQL, blog aggregator
- Database Journal articles on PostgreSQL
- Linux Productivity Magazine: a complete issue on PostgreSQL
- PostgreSQL Guide
- a rebuttal to the FUD (fear, uncertainty, and doubt) surrounding much of the criticism against PostgreSQL.
- PostgreSQL gotchas, documented but counterintuitive behavior
- Test_PGC, Example embedded SQL/C program for PostgreSQL showing database operations and SQLSTATE testing.
- LinuxChix PostgreSQL Course on Moodle
- PostgreSQL FAQ (Frequently Asked Questions)
- PostgreSQL Website
- PostgreSQL Wiki
- PostgreSQL Documentation
Performance tuning documentation