<!-- $PostgreSQL: pgsql/doc/src/sgml/postgres.sgml,v 1.85 2007/11/14 02:36:43 tgl Exp $ --> <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.2//EN" [ <!entity % version SYSTEM "version.sgml"> %version; <!entity % filelist SYSTEM "filelist.sgml"> %filelist; <!entity reference SYSTEM "reference.sgml"> ]> <book id="postgres"> <title>PostgreSQL &version; Documentation</title> <bookinfo> <corpauthor>The PostgreSQL Global Development Group</corpauthor> &legal; </bookinfo> &intro; <part id="tutorial"> <title>Tutorial</title> <partintro> <para> Welcome to the <productname>PostgreSQL</productname> Tutorial. The following few chapters are intended to give a simple introduction to <productname>PostgreSQL</productname>, relational database concepts, and the SQL language to those who are new to any one of these aspects. We only assume some general knowledge about how to use computers. No particular Unix or programming experience is required. This part is mainly intended to give you some hands-on experience with important aspects of the <productname>PostgreSQL</productname> system. It makes no attempt to be a complete or thorough treatment of the topics it covers. </para> <para> After you have worked through this tutorial you might want to move on to reading <xref linkend="sql"> to gain a more formal knowledge of the SQL language, or <xref linkend="client-interfaces"> for information about developing applications for <productname>PostgreSQL</productname>. Those who set up and manage their own server should also read <xref linkend="admin">. </para> </partintro> &start; &query; &advanced; </part> <part id="sql"> <title>The SQL Language</title> <partintro> <para> This part describes the use of the <acronym>SQL</acronym> language in <productname>PostgreSQL</productname>. We start with describing the general syntax of <acronym>SQL</acronym>, then explain how to create the structures to hold data, how to populate the database, and how to query it. The middle part lists the available data types and functions for use in <acronym>SQL</acronym> commands. The rest treats several aspects that are important for tuning a database for optimal performance. </para> <para> The information in this part is arranged so that a novice user can follow it start to end to gain a full understanding of the topics without having to refer forward too many times. The chapters are intended to be self-contained, so that advanced users can read the chapters individually as they choose. The information in this part is presented in a narrative fashion in topical units. Readers looking for a complete description of a particular command should look into <xref linkend="reference">. </para> <para> Readers of this part should know how to connect to a <productname>PostgreSQL</> database and issue <acronym>SQL</acronym> commands. Readers that are unfamiliar with these issues are encouraged to read <xref linkend="tutorial"> first. <acronym>SQL</acronym> commands are typically entered using the <productname>PostgreSQL</> interactive terminal <application>psql</application>, but other programs that have similar functionality can be used as well. </para> </partintro> &syntax; &ddl; &dml; &queries; &datatype; &func; &typeconv; &indices; &textsearch; &mvcc; &perform; </part> <part id="admin"> <title>Server Administration</title> <partintro> <para> This part covers topics that are of interest to a <productname>PostgreSQL</> database administrator. This includes installation of the software, set up and configuration of the server, management of users and databases, and maintenance tasks. Anyone who runs a <productname>PostgreSQL</> server, even for personal use, but especially in production, should be familiar with the topics covered in this part. </para> <para> The information in this part is arranged approximately in the order in which a new user should read it. But the chapters are self-contained and can be read individually as desired. The information in this part is presented in a narrative fashion in topical units. Readers looking for a complete description of a particular command should look into <xref linkend="reference">. </para> <para> The first few chapters are written so that they can be understood without prerequisite knowledge, so that new users who need to set up their own server can begin their exploration with this part. The rest of this part is about tuning and management; that material assumes that the reader is familiar with the general use of the <productname>PostgreSQL</> database system. Readers are encouraged to look at <xref linkend="tutorial"> and <xref linkend="sql"> for additional information. </para> </partintro> &installation; &installw; &runtime; &config; &user-manag; &manage-ag; &client-auth; &charset; &maintenance; &backup; &high-availability; &monitoring; &diskusage; &wal; ®ress; </part> <part id="client-interfaces"> <title>Client Interfaces</title> <partintro> <para> This part describes the client programming interfaces distributed with <productname>PostgreSQL</>. Each of these chapters can be read independently. Note that there are many other programming interfaces for client programs that are distributed separately and contain their own documentation (<xref linkend="external-projects"> lists some of the more popular ones). Readers of this part should be familiar with using <acronym>SQL</acronym> commands to manipulate and query the database (see <xref linkend="sql">) and of course with the programming language that the interface uses. </para> </partintro> &libpq; &lobj; &ecpg; &infoschema; </part> <part id="server-programming"> <title>Server Programming</title> <partintro> <para> This part is about extending the server functionality with user-defined functions, data types, triggers, etc. These are advanced topics which should probably be approached only after all the other user documentation about <productname>PostgreSQL</> has been understood. Later chapters in this part describe the server-side programming languages available in the <productname>PostgreSQL</productname> distribution as well as general issues concerning server-side programming languages. It is essential to read at least the earlier sections of <xref linkend="extend"> (covering functions) before diving into the material about server-side programming languages. </para> </partintro> &extend; &trigger; &rules; &xplang; &plsql; &pltcl; &plperl; &plpython; &spi; </part> &reference; <part id="internals"> <title>Internals</title> <partintro> <para> This part contains assorted information that might be of use to <productname>PostgreSQL</> developers. </para> </partintro> &arch-dev; &catalogs; &protocol; &sources; &nls; &plhandler; &geqo; &indexam; &gist; &gin; &storage; &bki; &planstats; </part> <part id="appendixes"> <title>Appendixes</title> &errcodes; &datetime; &keywords; &features; &release; &contrib; &external-projects; &cvs; &docguide; &acronyms; </part> &biblio; &bookindex; </book>