git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: c6c6fa8)
Update Chinese FAQ to validate properly.
2005年5月16日 22:27:54 +0000 (22:27 +0000)
2005年5月16日 22:27:54 +0000 (22:27 +0000)

diff --git a/doc/src/FAQ/FAQ_chinese.html b/doc/src/FAQ/FAQ_chinese.html
index 20b8b7ca17b11bc0eeb962d9b89368659ee59e5d..bf7478f57c32c29643fadb00ebd118e18748974e 100644 (file)
--- a/doc/src/FAQ/FAQ_chinese.html
+++ b/doc/src/FAQ/FAQ_chinese.html
@@ -1,441 +1,529 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0063)file://I:\Wlzhang\MyDoc\postgresql\FAQcn.files\postgres-faq.htm -->
-<!-- saved from url=(0046)http://laser.zhengmai.com.cn/postgres-faq.html -->
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta name="generator" content="HTML Tidy for BSD/OS (vers 1st July 2002), see www.w3.org" />
-
- <title>PostgreSQL FAQ-ch</title>
- <meta http-equiv="Content-Type" content="text/html; CHARSET=gb2312" />
- <meta content="Microsoft FrontPage 4.0" name="GENERATOR" />
- </head>
-
- <body alink="#0000ff" bgcolor="#ffffff" link="#ff0000" text="#000000" vlink="#A00000">
- <h1>PostgreSQL 31ドル⁄4ûÎÊÌ⣠̈FAQ£©</h1>
- ×ばつî1⁄2ü ̧üУo2003 Äê 01 Ô 06 ÈÕ ÐÇÆÚÒ» 22:27:35 CST
-
- <p>Ŀǰά»¤ÈËÔ±£oBruce Momjian (<a href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>)<br />
- ÖÐÎİæÎ¬»¤ÈËÔ±£ooÎΰÆ1⁄2 £ ̈laser@pgsqldb.com £©</p>
-
- <p&g×ばつîаæ±3⁄4¿ÉÒÔÔÚ<a href="http://www.postgresql.org/files/documentation/faqs/FAQ.html">http://www.postgresql.org/files/documentation/faqs/FAQ.html</a> 2é¿ ́¡£</p>
-
- <p&g×ばつ÷ÏμÍ3Æ1⁄2Ì ̈Ïà1ØμÄÎÊÌâÔÚ<a href="http://www.postgresql.org/docs/faq/">http://www.postgresql.org/docs/faq/</a>Àï»Ø ́ð¡£<br />
- </p>
- <hr />
-
- <center>
- <h2>31ドル⁄4ûÎÊÌâ</h2>
- </center>
- <a href="#1.1">1.1</a>) PostgreSQL ÊÇÊ2à ́£¿ ̧ÃÔõà ́·¢Òô£¿ <br />
- <a href="#1.2">1.2</a>) PostgreSQL μİæÈ ̈ÊÇÊ2à ́? <br />
- <a href="#1.3">1.3</a>) PostgreSQL ÔËÐÐÔÚÊ2à ́ Unix Æ1⁄2Ì ̈ÉÏ£¿ <br />
- <a href="#1.4">1.4</a>) ¿ÉÓÃμÄ·Ç Unix Æ1⁄2Ì ̈ÓÐÄÇЩ£¿ <br />
- <a href="#1.5">1.5</a>) ÎÒ ́ÓÄÄÀïÄÜμÃμ1⁄2 PostgreSQL£¿ <br />
- <a href="#1.6">1.6</a>) ÎÒ ́ÓÄÄÀïÄÜμÃμ1⁄2¶Ô PostgreSQL μÄÖ§3Ö£¿ <br />
- <a href="#1.7">1.7</a>) PostgreSQL ×ばつîÐÂμİæ±3⁄4ÊÇÊ2à ́£¿ <br />
- <a href="#1.8">1.8</a>) ÓÐÄÄЩ¿ÉÓÃμÄ PostgreSQL μÄÎÄμμ£¿ <br />
- <a href="#1.9">1.9</a>) ÎÒÈçoÎÁË1⁄2âÒÑÖaμÄ BUG »òȱʧμÄÌØÐÔ£¿ <br />
- <a href="#1.10">1.10</a>) ÎÒÓ¦ ̧ÃÔõÑùѧϰ SQL £¿ <br />
- <a href="#1.11">1.11</a>) PostgreSQL ÊÇ Y2K 1⁄4æÈÝμÄÂ𣿠<br />
- <a href="#1.12">1.12</a>) ÎÒÓ¦ ̧ÃÔõÑù1⁄4ÓÈë¿a·¢¶ÓÎ飿 <br />
- <a href="#1.13">1.13</a>) ÎÒÓ¦ ̧ÃÔõÑùÌá1⁄2»Ò» ̧ö BUG ± ̈ ̧棿 <br />
- <a href="#1.14">1.14</a>) PostgreSQL oÍÆäËû DBMS ±ÈÆðÀ ́ÈçoΣ¿<br />
- <a href="#1.15">1.15</a>) ÎÒÓ¦ ̧ÃÔõÑùÔÞÖú PostgreSQL £¿
-
- <center>
- <h2>Óû§¿Í»§¶ËÎÊÌâ</h2>
- </center>
- <a href="#2.1">2.1</a>) ÓÐ PostgreSQL μÄ ODBC Çý¶ ̄3ÌÐòà ́£¿ <br />
- <a href="#2.2">2.2</a>) ÓÐÊ2à ́1¤3⁄4ß¿ÉÒÔ°Ñ PostgreSQL ÓÃÓÚ Web Ò3Ãæ£¿ <br />
- <a href="#2.3">2.3</a>) PostgreSQL ÓμÓÐÍ1⁄4ÐÎÓû§1⁄2çÃæÂ𣿠<br />
- <a href="#2.4">2.4</a>) ÎÒÃÇ¿ÉÒÔÓÃÊ2à ́ÓïÑÔoÍ PostgreSQL ́ò1⁄2»μÀ£¿
-
- <center>
- <h2>ÏμÍ31ÜÀíÎÊÌâ</h2>
- </center>
- <a href="#3.1">3.1</a>) ÎÒÔõÑùÄÜ°Ñ PostgreSQL ×ばつ°ÔÚ /usr/local/pgsql ÒÔÍâμÄμØ·1⁄2£¿ <br />
- <a href="#3.2">3.2</a>) μ±ÎÒÔËÐÐ postmaster ʱ£¬3öÏÖ <i>Bad System Call</i>£ ̈ÏμÍ3μ÷Óà ́í£©»ò Core Dumped ́íÎó¡£ÎaÊ2à ́£¿ <br />
- <a href="#3.3">3.3</a>) μ±ÎÒÊÔÍ1⁄4ÔËÐÐ postmaster ʱ£¬3öÏÖ <i>IpcMemoryCreate</i> ́íÎó¡£ÎaÊ2à ́£¿ <br />
- <a href="#3.4">3.4</a>) μ±ÎÒÊÔÍ1⁄4ÔËÐÐ postmaster ʱ£¬3öÏÖ <i>IpcSemaphoreCreate</i> ́íÎó¡£ÎaÊ2à ́£¿ <br />
- <a href="#3.5">3.5</a>) ÎÒÈçoοØÖÆÀ ×ばつÔÆäËûÖ÷»úμÄÁ¬1⁄2Ó£¿ <br />
- <a href="#3.6">3.6</a>) ÎÒÔõÑùμ÷ÕûÊý3⁄4Ý¿âÒýÇæÒÔ»ñμà ̧üoÃμÄÐÔÄÜ£¿ <br />
- <a href="#3.7">3.7</a>) PostgreSQL Àï¿ÉÒÔ»ñμÃÊ2à ́ÑùμÄμ÷ÊÔÌØÐÔ£¿ <br />
- <a href="#3.8">3.8</a>) ÎaÊ2à ́ÔÚÊÔÍ1⁄4Á¬1⁄2ÓμÇÂ1⁄4ʱÊÕμ1⁄2¡°Sorry, too many clients¡± ÏûÏ¢£¿<br />
- <a href="#3.9">3.9</a>) pgsql_tmp Ä¿Â1⁄4Àï¶1⁄4ÓÐЩÊ2à ́£¿<br />
- <a href="#3.10">3.10</a>) ÎaÊ2à ́ÒaÔÚÉý1⁄4¶ PostgreSQL ×ばつö dump oÍ restore £¿
-
- <center>
- <h2&g×ばつ÷ÎÊÌâ</h2>
- </center>
- <a href="#4.1">4.1</a>) ¶þ1⁄2øÖÆÓαêoÍÆÕÍ ̈ÓαêÖ®1⁄4äμÄÇø±ðÊÇÊ2à ́£¿ <br />
- <a href="#4.2">4.2</a>) ÈçoÎֻѡÔñÒ» ̧ö2éÑ ̄1⁄2á1ûμÄÍ·1⁄4 ̧ÐУ¿ <br />
- <a href="#4.3">4.3</a>) ÎÒÈçoλñȡһ ̧öÊý3⁄4Ý¿âÖбíμÄÁÐ±í£¬»òÕßÊÇÆäËûÎÒÄÜÔÚ <i>psql</i> Àï¿ ́μ1⁄2μĶ«Î÷£¿ <br />
- <a href="#4.4">4.4</a>) ÔõÑù ́Ó±íÀïÃæÉ3⁄43ýÒ»ÁУ¿ <br />
- <a href="#4.5">4.5</a>) Ò»ÐУ¬Ò» ̧ö±í£¬Ò» ×ばつî ́ó3ß ́çÊǶàÉÙ£¿ <br />
- <a href="#4.6">4.6</a>) ́æ ́¢Ò» ̧öμäÐÍμÄÎı3⁄4ÎÄ1⁄4þÀïμÄÊý3⁄4ÝÐèÒa¶àÉÙ ́ÅÅÌ¿Õ1⁄4䣿 <br />
- <a href="#4.7">4.7</a>) ÈçoÎ2é¿ ́±í¡¢Ë÷Òý¡¢Êý3⁄4Ý¿âÒÔ1⁄4°Óû§μĶ ̈Ò壿 <br />
- <a href="#4.8">4.8</a>) ÎÒμÄ2éÑ ̄oÜÂý»òÕßûÓÐÀûÓÃË÷Òý¡£ÎaÊ2à ́£¿ <br />
- <a href="#4.9">4.9</a>) ÎÒÈçoÎ2ÅÄÜ¿ ́μ1⁄22éÑ ̄ÓÅ» ̄Æ÷ÊÇÔõÑù ́¦ÀíÎÒμÄ2éÑ ̄μÄ£¿ <br />
- <a href="#4.10">4.10</a>) R-tree Ë÷ÒýÊÇÊ2à ́£¿ <br />
- <a href="#4.11">4.11</a>) Ê2à ́ÊÇ»ùÒò2éÑ ̄ÓÅ» ̄£ ̈Genetic Query Optimization£©£¿ <br />
- <a href="#4.12">4.12</a>) ×ばつöÕýÔò±í ́ïÊ1⁄2ËÑË÷oÍ ́óСР́ÎÞ1ØμÄÕýÔò±í ́ïÊ1⁄22éÕÒ£¿ÔõÑùÀûÓÃË÷Òý1⁄2øÐÐ ́óСР́ÎÞ1Ø2éÕÒ£¿ <br />
- <a href="#4.13">4.13</a>) ÔÚÒ» ̧ö2éÑ ̄ÀÎÒÔõÑù1⁄4ì2âÒ» ×ばつÖ¶ÎÊÇ·ñÎa NULL£¿ <br />
- <a href="#4.14">4.14</a>) ×ばつÖ·ûÀàÐÍÖ®1⁄4äÓÐÊ2à ́2»Í¬£¿ <br />
- <a href="#4.15.1">4.15.1</a>) ÎÒÔõÑù ́ ́1⁄2 ̈Ò» ×ばつÔ¶ ×ばつֶΣ¿ <br />
- <a href="#4.15.2">4.15.2</a>) ÎÒÈçoλñμÃÒ» ̧ö2åÈëμÄÐòÁÐoÅμÄÖμ£¿ <br />
- <a href="#4.15.3">4.15.3</a>) Ê1Óà currval() oÍ nextval() »áμ1⁄4ÖÂoÍÆäËûÓû§μÄÎÉÂÒÇé¿ö£ ̈race condition£©Âð£¿<br />
- <a href="#4.15.4">4.15.4</a>) ÎaÊ2à ́2»ÔÚÊÂÎñÒì3£ÖÐÖ1oóÖØÓÃÐòÁÐoÅÄØ£¿ÎaÊ2à ×ばつÖ¶ÎμÄÈ¡ÖμÖÐ ́æÔÚ1⁄4ä¶ÏÄØ£¿ <br />
- <a href="#4.16">4.16</a>) Ê2à ́ÊÇ OID£¿Ê2à ́ÊÇ TID £¿ <br />
- <a href="#4.17">4.17</a>) PostgreSQL Ê1ÓÃμÄһЩÊõÓïμÄo¬ÒåÊÇÊ2à ́£¿ <br />
- <a href="#4.18">4.18</a>) ÎaÊ2à ́ÎÒÊÕμ1⁄2 ́íÎó¡°<i>ERROR: Memory exhausted in AllocSetAlloc()</i>¡±£¿<br />
- <a href="#4.19">4.19</a>) ÎÒÈçoÎ2ÅÄÜÖaμÀËùÔËÐÐμÄ PostgreSQL μİæ±3⁄4£¿ <br />
- <a href="#4.20">4.20</a>) ÎaÊ2à ́ÎÒμÄ ×ばつ÷μ1⁄4Ö ́íÎó¡°<i>invalid large obj descriptor¡±£ ̈·Ç· ̈μÄ ́ó¶ÔÏóÃèÊö·û£©</i>£¿ <br />
- <a href="#4.21">4.21</a>) ÎÒÈçoÎ ́ ́1⁄2 ̈Ò» ×ばつֶΣ¿ <br />
- <a href="#4.22">4.22</a>) ÎaÊ2à ́Ê1Óà <tt>IN</tt> ×ばつÓ2éÑ ̄Õâà ́Âý£¿ <br />
- <a href="#4.23">4.23</a>) ÈçoÎ1⁄2øÐÐ outer join £ ̈ÍâÁ¬1⁄2Ó£©£¿<br />
- <a href="#4.24">4.24</a>) ÈçoÎÊ1ÓÃÉæ1⁄4°¶à ̧öÊý3⁄4Ý¿âμÄ2éÑ ̄£¿<br />
- <a href="#4.25">4.25</a>) ÈçoÎÈÃo ̄Êý·μ»Ø¶àÐлò¶àÁУ¿<br />
- <a href="#4.26">4.26</a>) ÎaÊ2à ́ÔÚ PL/PgSQL o ̄ÊýÖÐ2»Äܿɿ¿μØ ́ ́1⁄2 ̈»òÉ3⁄43ýÁÙʱ±í£¿<br />
- <a href="#4.27">4.27</a>) ÓÐÄÄЩÊý3⁄4Ý ̧ ́ÖÆÑ¡Ï<br />
- <a href="#4.28">4.28</a>) ÓÐÄÄЩÊý3⁄4Ý1⁄4ÓÃÜÑ¡Ï
-
- <center>
- <h2>À©Õ1 PostgreSQL</h2>
- </center>
- <a href="#5.1">5.1</a>) ÎÒÐ ́ÁËÒ» ̧öÓû§¶ ̈Òåo ̄Êý¡£μ±ÎÒÔÚ <i>psql</i> ÀïÔËÐÐʱ£¬ÎaÊ2à ́»áμ1⁄4Ö core dump£¿ <br />
- <a href="#5.2">5.2</a>) ÎÒÈçoÎÄÜ ̧ø PostgreSQL ×ばつһЩͦ2» ́íμÄÐÂÀàÐÍoÍo ̄Êý£¿ <br />
- <a href="#5.3">5.3</a>) ÎÒÔõÑùÐ ́Ò» ̧ö·μ»ØÒ»Ìõ1⁄4ÇÂ1⁄4μÄ C o ̄Êý£¿ <br />
- <a href="#5.4">5.4</a>) ÎÒÐÞ ̧ÄÁËÒ» ̧öÔ ́ÎÄ1⁄4þ£¬ÎaÊ2à ́ÖØÐ±àÒëoóûÓп ́μ1⁄2 ̧ı䣿 <br />
-
- <hr />
-
- <center>
- <h2>31ドル⁄4ûÎÊÌâ</h2>
- </center>
-
- <h4><a id="1.1" name="1.1"></a>1.1) PostgreSQL ÊÇÊ2à ́£¿ ̧ÃÔõà ́·¢Òô£¿</h4>
- PostgreSQL ×ばつ÷ <i>Post-Gres-Q-L</i> <i>¡£</i>
-
- <p>PostgreSQL ÊÇÏÂÒ» ́ú DBMS μÄÑÐ3⁄4¿Ô­ÐÍ POSTGRES Êý3⁄4Ý¿â1ÜÀíÏμÍ3μÄÔöÇ¿°æ¡£PostgreSQL ÔÚ±3ドルÖ POSTGRES μÄÇ¿ ́óμÄÊý3⁄4ÝÄ£ÐÍoÍ·á ̧»μÄÊý3⁄4ÝÀàÐÍμÄ»ù ́¡ÉÏ£¬ÓÃÒ» ̧öÀ©Õ1ÁËμÄ SQL ×ばつÓ1⁄4 ̄È¡ ́úÁËÔ­ÏÈμÄ PostQuel 2éÑ ̄ÓïÑÔ¡£PostgreSQL ×ばつÔÓÉμÄ2¢ÇÒËùÓÐÔ ́ ́úÂë¶1⁄4¿ÉÒÔ»ñμá£</p>
-
- <p>PostgreSQL μÄ¿a·¢ÓÉ2Î1⁄4Ó PostgreSQL ¿a·¢ÓÊ1⁄4þÁбíμÄÒ» ̧ö¿a×ばつé1⁄2øÐС£Ä¿Ç°μÄЭμ÷ÈËÊÇ Marc G. Fournier £ ̈<a href="mailto:scrappy@postgreSQL.org">scrappy@postgreSQL.org</a> £©¡££ ̈1ØÓÚÈçoÎ1⁄4ÓÈë2Î1⁄4û1.61⁄2Ú£©¡£Õâ ̧ö¶ÓÎéÏÖÔÚ ̧oÔð PostgreSQL μÄËùÓпa·¢¡£</p>
-
- <p>PostgreSQL 1.01 ×ばつ÷ÕßÊÇ Andrew Yu oÍ Jolly Chen¡£»1ÓÐÐí¶àÆäËûÈËÎaÒÆÖ2£¬2âÊÔ£¬μ÷ÊÔoÍÔöÇ¿ ×ばつöÁË ×ばつ¡£PostgreSQL ×ばつî3õÆðÔ ́ Postgres£¬ÊÇÔÚ1⁄4ÓÖÝ ́óѧ2®¿ËÀû·ÖУμÄ Michael Stonebraker 1⁄2ÌÊÚμÄÖ ̧μ1⁄4Ï£¬ÓÉÐí¶àÑÐ3⁄4¿Éú£¬±3⁄4¿ÆÉúoͱà3ÌÖ°Ô±Íê3ÉμÄ¡£</p>
-
- <p>Õâ ×ばつÖÊÇ Postgres¡£ÔÚ 1995 Ä꣬μ±Ôö1⁄4ÓÁË SQL ×ばつÖ ̧Ä3É Postgres95¡£ÔÚ 1996ÄêÄ©£¬2Å ̧ÄÃûÎa PostgreSQL¡£</p>
-
- <h4><a id="1.2" name="1.2"></a>1.2) PostgreSQL μİæÈ ̈ÊÇÊ2à ́?</h4>
- PostgreSQL ÊÜÏÂÃæμİæÈ ̈Ô1⁄4Êø¡£
-
- <p>PostgreSQL Êý3⁄4Ý¿â1ÜÀíÏμÍ3</p>
-
- <p>£ ̈PostgreSQL Data Base Management System£©</p>
-
- <p>2¿·Ö°æÈ ̈£ ̈c£©1996-2002£¬PostgreSQL È«Çò¿a×ばつé<br />
- 2¿·Ö°æÈ ̈£ ̈c£©1994-6 1⁄4ÓÖÝ ́óѧ¶­ÊÂ</p>
-
- <p>£ ̈Portions copyright (c) 1996-2002, PostgreSQL Global Development Group<br />
- Portions Copyright (c) 1994-6 Regents of the University of California£©</p>
-
- <p>ÔÊÐíÎaÈÎoÎÄ¿μÄÊ1Ó㬿1⁄2± ́£¬ÐÞ ̧ÄoÍ·Ö·¢Õâ ̧öÈí1⁄4þoÍËüμÄÎÄμμ¶ø2»ÊÕÈ¡ÈÎoηÑÓã¬2¢ÇÒÎÞÐëÇ©ÊðÒò ́˶ø2úÉúμÄÖ¤Ã÷£¬Ç°ÌáÊÇÉÏÃæμİæÈ ×ばつÖ3öÏÖÔÚËùÓп1⁄2± ́ÖС£</p>
-
- <p>£ ̈Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies.£©</p>
-
- <p>ÔÚÈÎoÎÇé¿öÏ£¬1⁄4ÓÖÝ ́óѧ¶1⁄42»3Ðμ£ÒòÊ1Óà ́ËÈí1⁄4þ1⁄4°ÆäÎÄμμ¶øμ1⁄4ÖÂμĶÔÈÎoÎμ±ÊÂÈËμÄÖ±1⁄2ÓμÄ£¬1⁄4ä1⁄2ÓμÄ£¬ÌØÊâμÄ£¬ ̧1⁄21⁄4ÓμÄ»òÕßÏà°é¶øÉúμÄËð»μ£¬°üÀ ̈ÀûÒæËðʧμÄÔðÈΣ¬1⁄4 ́Ê11⁄4ÓÖÝ ́óѧÒÑ3⁄4­1⁄2 ̈ÒéÁËÕâЩËðʧμÄ¿ÉÄÜÐÔʱÒ2ÊÇÈç ́Ë¡£</p>
-
- <p>£ ̈IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.£©</p>
-
- <p>1⁄4ÓÖÝ ́óѧÃ÷È··ÅÆúÈÎoα£Ö¤£¬°üÀ ̈μ«2»3⁄4ÖÏÞÓÚÄ3Ò»ÌØ¶ ×ばつ÷ÊÇ¡±μÄ»ù ́¡μÄ£¬Òò¶ø1⁄4ÓÖÝ ́óѧûÓÐÔðÈÎÌá1©Î¬»¤£¬Ö§3Ö£¬ ̧üУ¬ÔöÇ¿»òÕßÐÞ ̧ÄμÄ·þÎñ¡£</p>
-
- <p>£ ̈THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.£©<br />
- <br />
- ÉÏÃæ3⁄4ÍÊÇ BSD °æÈ ̈ÉùÃ÷£¬Ò» ̧ö3⁄4­μäμÄ¿aÔ ́°æÈ ̈ÉùÃ÷¡£Ëü¶ÔÔ ́ ́úÂëμÄÊ1ÓÃÎ ×ばつ÷ÈÎoÎÏÞÖÆ¡£ÎÒÃÇÏ2»¶Ëü2¢ÇÒ2» ́òËã ̧ıäËü¡£</p>
-
- <h4><a id="1.3" name="1.3"></a>1.3) PostgreSQL ÔËÐÐÔÚÊ2à ́ Unix Æ1⁄2Ì ̈ÉÏ£¿</h4>
-
- <p>Ò»°ãËμÀ ́£¬Ò» ̧öÏÖ ́úμÄ UNIX 1⁄4æÈÝμÄÆ1⁄2Ì ̈¶1⁄4ÄÜÔËÐÐ PostgreSQL ×ばつ°Ö ̧ÄÏÀïÁÐ3öÁË·21ドル⁄4ʱ3⁄4­1ýÃ÷È·2âÊÔμÄÆ1⁄2Ì ̈¡£</p>
-
- <h4><a id="1.4" name="1.4"></a>1.4) ¿ÉÓÃμÄ·Ç Unix Æ1⁄2Ì ̈ÓÐÄÄЩ£¿</h4>
- ¿Í»§¶Ë
-
- <p>°Ñ libpq C ¿â£¬psql£¬ÆäËû1⁄2Ó¿ÚoͿͻ§¶ËÓ¦ÓÃ3ÌÐò±àÒë3É¿ÉÒÔÔÚ MS Windows Æ1⁄2Ì ̈ÉÏÔËÐÐÊÇ¿ÉÄÜμÄ¡£ÕâÖÖÇé¿öÏ£¬¿Í»§¶ËÔÚ MS Windows ÉÏÔËÐУ¬2¢ÇÒÍ ̈1ý TCP/IP ÓëÒ» ̧öÔËÐÐÔÚÎÒÃÇÖ§3ÖμÄ Unix Æ1⁄2Ì ̈ÉÏμÄ·þÎñÆ÷1⁄2øÐÐÍ ̈Ѷ¡£·21ドル⁄4°æ±3⁄4Öаüo¬Ò» ̧öÎÄ1⁄4þ win32.mak ÓÃÓÚÉú3É Win32 libpq ¿âoÍ psql ¡£PostgreSQL Ò2¿ÉÒÔoÍ ODBC ¿Í»§¶ËÍ ̈Ѷ¡£</p>
-
- <p>·þÎñÆ÷</p>
-
- <p>Êý3⁄4Ý¿â·þÎñÆ÷ÏÖÔÚ¿ÉÒÔÍ ̈1ý Cygwin £¬Cygnus μÄ Unix/NT ÒÆÖ2¿âÔÚ Windows NT oÍ Win2k ÉÏÔËÐС2ドルÎÔÄ·21ドル⁄4°æ±3⁄4ÀïμÄ See <i>pgsql/doc/FAQ_MSWIN</i> ÎÄ1⁄4þ»ò <a href="http://www.PostgreSQL.org/docs/faq-mswin.html">http://www.PostgreSQL.org/docs/faq-mswin.html</a> ¡£</p>
-
- <p>ÒÆÖ2μ1⁄2 MS Win NT/2000/XP ×ばつ÷ÕýÔÚ1⁄2øÐС£</p>
-
- <h4><a id="1.5" name="1.5"></a>1.5) ÎÒ ́ÓÄÄÀïÄÜμÃμ1⁄2 PostgreSQL£¿</h4>
-
- <p>PostgreSQL μÄÖ÷ÄäÃûFTPÕ3⁄4μãÊÇ <a href="ftp://ftp.PostgreSQL.org/pub">ftp://ftp.PostgreSQL.org/pub</a>£¬3⁄4μÏñÕ3⁄4μã¿ÉÒÔ2ο1⁄4ÎÒÃÇÍøÕ3⁄4μÄÖ÷Ò3¡£</p>
-
- <h4><a id="1.6" name="1.6"></a>1.6) ÎÒ ́ÓÄÄÀïÄÜμÃμ1⁄2¶Ô PostgreSQL μÄÖ§3Ö£¿</h4>
-
- <p>Ö÷ÒaμÄÓÊ1⁄4þÁбíÊÇ£o<a href="mailto:pgsql-general@postgreSQL.org">pgsql-general@postgreSQL.org</a>¡£¿ÉÒÔÔÚÄÇÀïÌÖÂÛÓÐ1Ø PostgreSQL μÄÎÊÌâ¡£Òa1⁄4ÓÈëÁÐ±í£¬·¢Ò»·âÓÊ1⁄4þÄÚÈÝ£ ̈2»ÊÇÖ÷ÌâÐУ©Îa</p>
-<pre>
- subscribe
- end
-</pre>
- μÄÓÊ1⁄4þμ1⁄2 <a href="mailto:pgsql-general-request@postgreSQL.org">pgsql-general-request@postgreSQL.org</a> ¡£
-
- <p>»1¿ÉÒÔ»ñÈ¡ÕaÒaÁÐ±í¡£Òa1⁄4ÓÈëÕâ ̧öÁÐ±í£¬·¢ÓÊ1⁄4þμ1⁄2£o<a href="mailto:pgsql-general-digest-request@postgreSQL.org">pgsql-general-digest-request@postgreSQL.org</a>£¬ÆäÄÚÈÝÎa£o</p>
-<pre>
- subscribe
- end
-</pre>
- ÿμ±Ö÷Áбí ́ïμ1⁄2 ́óÔ1⁄4 30k μÄÏûÏ¢ÄÚÈÝʱ£¬ÕaÒa3⁄4Í·¢ËÍ ̧øÕâ ̧öÁбíμÄ3ÉÔ±¡£
-
- <p>»1¿ÉÒÔ2Î1⁄4Ó3ô3æÓÊ1⁄4þÁÐ±í¡£Òa1⁄4ÓÈëÕâ ̧öÁÐ±í£¬·¢ËÍÒ» ̧öÓÊ1⁄4þμ1⁄2 <a href="mailto:bugs-request@postgreSQL.org">bugs-request@postgreSQL.org</a>£¬ÄÚÈÝÎa£o</p>
-<pre>
- subscribe
- end
-</pre>
- »1¿ÉÒÔ2Î1⁄4Ó¿a·¢ÈËÔ±ÓÊ1⁄4þÁÐ±í¡£Òa1⁄4ÓÈëÕâ ̧öÁÐ±í£¬·¢ËÍÒ» ̧öÓÊ1⁄4þμ1⁄2 <a href="mailto:hackers-request@postgreSQL.org">hackers-request@postgreSQL.org</a>£¬ÄÚÈÝÎa£o
-<pre>
- subscribe
- end
-</pre>
- ÆäËûμÄ1ØÓÚ PostgreSQL ÓÊ1⁄4þÁбíoÍÆäËûÐÅÏ¢¿ÉÒÔÔÚ PostgreSQL μÄ WWW Ö÷Ò3ÕÒμ1⁄2£o
-
- <blockquote>
- <a href="http://postgresql.org/">http://postgresql.org/</a>
- </blockquote>
- ÔÚ EFNet Àï»1ÓÐÒ» ̧ö IRC ÆμμÀ£¬ÆμμÀ #PostgreSQL¡£ÎÒÓà unix ÃüÁî<tt>irc -c '#PostgreSQL' "$USER" irc.phoenix.net</tt>
-
- <p>ÉÌÒμÖ§3Ö1«Ë3⁄4μÄÁбíÔÚ <a href="http://www.PostgreSQL.org/users-lounge/commercial-support.html">http://www.PostgreSQL.org/users-lounge/commercial-support.html</a> ¡£</p>
-
- <h4><a id="1.7" name="1.7"></a>1.7) PostgreSQL ×ばつîÐÂμİæ±3⁄4ÊÇÊ2à ́£¿</h4>
- PostgreSQL ×ばつîÐÂμİæ±3⁄4Êǰæ±3⁄4 7.2.3¡££ ×ばつ¢£oÏÖÔÚÓ¦ ̧ÃÊÇ 7.3.1 ÁË¡££©
-
- <p>ÎÒÃÇ1⁄4Æ»®Ã¿ËÄ ̧öÔ·21ドル⁄4Ò» ̧öÖ÷Òa°æ±3⁄4¡£</p>
-
- <h4><a id="1.8" name="1.8"></a>1.8) ÓÐÄÄЩ¿ÉÓÃμÄ PostgreSQL μÄÎÄμμ£¿</h4>
- ×ばつÓ¡2ドルÎ1⁄4û /doc Ä¿Â1⁄4¡££ ×ばつ¢£oÓ¦Îa $PGHOME/doc£©¡£Äã»1¿ÉÒÔÔÚÏßä ̄ÀÀ PostgreSQL μÄÊÖ2ᣬÔÚ <a href="http://www.PostgreSQL.org/users-lounge/docs/">http://www.PostgreSQL.org/users-lounge/docs/</a> ¡£
-
- <p>ÓÐÁ1⁄2±3⁄41ØÓÚ PostgreSQL μÄÊéÔÚÏßÌá1©£¬ÔÚ <a href="http://www.PostgreSQL.org/docs/awbook.html">http://www.PostgreSQL.org/docs/awbook.html</a> oÍ <a href="http://www.commandprompt.com/ppbook/">http://www.commandprompt.com/ppbook/</a> ¡£ÔÚ <a href="http://www.ca.PostgreSQL.org/books/">http://www.ca.PostgreSQL.org/books/</a> ÉÏÓÐ1ØÓÚ PostgreSQL μÄ¿É1oÊé1⁄4®μÄÁÐ±í¡£ÔÚ <a href="http://techdocs.PostgreSQL.org/">http://techdocs.PostgreSQL.org/</a> ÉÏÊÕ1⁄4 ̄ÁËÓÐ1Ø PostgreSQL μÄ1⁄41⁄4ÊõÎÄÕ¡£</p>
-
- <p><i>psql</i> ÓÐһЩ2» ́íμÄ \d ×ばつ÷·û£¬o ̄Êý£¬3⁄4Û1⁄4 ̄μÈμÄÐÅÏ¢¡£</p>
-
- <p>ÎÒÃÇμÄ web Õ3⁄4μã°üo¬ ̧ü¶àμÄÎÄμμ£®</p>
-
- <h4><a id="1.9" name="1.9"></a>1.9) ÎÒÈçoÎÁË1⁄2âÒÑÖaμÄ BUG oÍȱʧμÄÌØÐÔ£¿</h4>
- PostgreSQL Ö§3ÖÒ» ̧öÀ©Õ1ÁËμÄ SQL-92 ×ばつÓ1⁄4 ̄¡2ドルÎÔÄÎÒÃÇμÄ <a href="http://www.postgresql.org/docs/todo.html">TODO</a> <a href="http://www.postgresql.org/docs/todo.html"></a>ÁÐ±í£¬»ñȡһ ̧öÒÑÖa3ô3æ£¬È±Ê§ÌØÐÔoÍÎ ́À ́1⁄4Æ»®¡£
-
- <h4><a id="1.10" name="1.10"></a>1.10) ÎÒÓ¦ ̧ÃÔõÑùѧϰ SQL£¿</h4>
- ÔÚ <a href="http://www.postgresql.org/docs/awbook.html">http://www.postgresql.org/docs/awbook.html</a> μÄ1ØÓÚ PostgreSQL μÄÊé1⁄2ÌÊÚ SQL¡££ ×ばつ¢£oÎÒÏÂÔØμ1⁄2±3⁄4μØÁË¡££©ÔÚ <a href="http://www.commandprompt.com/ppbook/">http://www.commandprompt.com/ppbook</a> ÓÐÁíÍâÒ»±3⁄41ØÓÚ PostgreSQL μÄÊé¡£ÔÚ<a href="http://www.intermedia.net/support/sql/sqltut.shtm">http://www.intermedia.net/support/sql/sqltut.shtm</a>£¬<a href="http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM">http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM </a> oÍ <a href="http://sqlcourse.com/">http://sqlcourse.com</a> ÓÐÒ» ̧ö2» ́íμÄÈëÃÅ1⁄2Ì3Ì¡£
-
- <p>ÁíÒ» ̧öÊÇ "Teach Yourself SQL in 21 Days, Second Edition"£ ̈21Ììѧ»áSQL£¬μÚ¶þ°æ£©£¬ÔÚ <a href="http://members.tripod.com/er4ebus/sql/index.htm">http://members.tripod.com/er4ebus/sql/index.htm</a></p>
-
- <p>ÎÒÃÇμÄÐí¶àÓû§Ï2»¶ <i>The Practical SQL Handbook, Bowman, Judith S., et al., Addison-Wesley ¡£</i> ÆäËûμÄÓÐ <i>The Complete Reference SQL, Groff et al., McGraw-Hill ¡£</i></p>
-
- <h4><a id="1.11" name="1.11"></a>1.11) PostgreSQL ÊÇ Y2K 1⁄4æÈÝμÄÂð£¿</h4>
- ×ばつ¿ØÖÆ 2000 AD Ö®oóoÍ 2000 BC ֮ǰμÄÈÕÆÚ¡£
-
- <h4><a id="1.12" name="1.12"></a>1.12) ÎÒÓ¦ ̧ÃÔõÑù1⁄4ÓÈë¿a·¢¶ÓÎ飿</h4>
- ×ばつîÐÂμÄÔ ́ ́úÂë2¢ÔĶÁÎÒÃÇ web Õ3⁄4μã»ò·21ドル⁄4°üÖÐμÄ PostgreSQL ¿a·¢ÕßÎÄμμ¡£Æä ́Σ¬1⁄4ÓÈë pgsql-hackers oÍ pgsql-patches ÓÊ1⁄4þÁÐ±í¡£μÚÈý£¬Ïò pgsql-patches Ìá1⁄2» ̧ßÖÊÁ¿μÄ21¶¡3ÌÐò¡£
-
- <p>ÏÖÔÚ ́ó ̧ÅÓÐÊ®1⁄4 ̧ ̧öÈËÓÐ PostgreSQL CVS 1éμμ <font size="-1">COMMIT</font> μÄÈ ̈ÏÞ¡£ËûÃǶ1⁄4ÒÑ3⁄4­Ìá1⁄2»ÁË·Ç3£¶à ̧ßÖÊÁ¿μÄ21¶¡ÁË£¬ÒÔÖÁÓÚÏÖÓÐμÄÌá1⁄2»ÈËoÜÄÑ ×ばつ࣬2¢ÇÒÎÒÃÇÏàÐÅËûÃÇÌá1⁄2»μÄ21¶¡¶1⁄4ÊÇ ̧ßÖÊÁ¿μÄ¡£</p>
-
- <h4><a id="1.13" name="1.13"></a>1.13) ÎÒÓ¦ ̧ÃÔõÑùÌá1⁄2»Ò» ̧öBUG± ̈ ̧棿</h4>
- Çë·ÃÎÊ <a href="http://www.PostgreSQL.org/bugs/bugs.php">http://www.PostgreSQL.org/bugs/bugs.php</a> μÄ PostgreSQL BugTool Ò3Ãæ, ÄÇÀï ̧ø3öÁËÈçoÎÌá1⁄2»Ò» ̧öBUG± ̈ ̧æμÄÖ ̧ÄÏ¡£
-
- <p>ͬÑùÒ2Òa¿ ́¿ ́ÎÒÃÇμÄ ftp Õ3⁄4μã <a href="ftp://ftp.postgresql.org/pub">ftp://ftp.postgreSQL.org/pub</a>£¬¿ ́ÓÐûÓÐ ̧üÐÂμÄ PostgreSQL °æ±3⁄4»ò21¶¡¡£</p>
-
- <h4><a id="1.14" name="1.14"></a>1.14) PostgreSQL oÍÆäËû DBMS ±ÈÆðÀ ́ÈçoΣ¿</h4>
- ÆÀ1⁄4ÛÈí1⁄4þÓÐoÃ1⁄4 ̧ÖÖ·1⁄2· ̈£oÌØÐÔ£¬ÐÔÄÜ£¬¿É¿¿ÐÔ£¬Ö§3ÖoÍ1⁄4Û ̧ñ¡£
-
- <dl>
- <dt><b>ÌØÐÔ</b></dt>
-
- <dd>PostgreSQL ÓμÓÐ ́óÐÍÉÌÓà DBMS Àï ×ばつÓ2éÑ ̄£¬ ́\·¢Æ÷£¬ÊÓÍ1⁄4£¬Íâ1⁄4ü2ο1⁄4ÍêÕûÐÔoÍ ̧ ́ÔÓμÄËøμÈ¡£ÎÒÃÇ»1ÓÐһЩËüÃÇûÓÐμÄÌØÐÔ£¬ÈçÓû§¶ ̈ÒåÀàÐÍ£¬1⁄4Ì3У¬1æÔòoÍ¶à°æ±3⁄42¢ÐпØÖÆÒÔ1⁄4õÉÙËøμÄÕùÓÃμÈ¡£<br />
- </dd>
-
- <dt><b>ÐÔÄÜ</b></dt>
-
- <dd>PostgreSQL oÍÆäËûÉÌÓÃoÍ¿aÔ ́μÄÊý3⁄4Ý¿â3⁄4ßÓÐÀàËÆμÄÐÔÄÜ¡£¶ÔÄ3Щ ́¦ÀíËü±È1⁄2Ͽ죬¶ÔÆäËûһЩ ́¦ÀíËü±È1⁄2ÏÂý¡£Óë MySQL »ò ̧üÇá±ãμÄÊý3⁄4Ý¿âÏμÍ3±È1⁄2Ï£¬ÎÒÃÇÔÚ insert/update ʱÂý£¬ÒòÎaÎÒÃÇÓÐÊÂÎñ ́¦Àí¡£μ±È» MySQL 2»3⁄4ßÓÐÎÒÃÇÔÚÉÏÃæμÄ<i>ÌØÐÔ</i> ¶ÎÀï ̧ø3öμÄÈÎoÎÌØÐÔ¡£ÎÒÃÇμÄÖ÷Òa·1⁄2ÏòÊǿɿ¿ÐÔoÍÌØÐÔ£¬3⁄4¡1ÜÎÒÃÇÔÚÿ ́η21ドル⁄4ʱ2»¶ÏμØ ̧Ä1⁄2øÐÔÄÜ¡£ÓÐÒ» ̧öoÜÓÐȤμÄÍøÒ3±È1⁄2ÏÁË PostgreSQL oÍ MySQL <a href="http://openacs.org/why-not-mysql.html">http://openacs.org/why-not-mysql.html</a>¡£<br />
- </dd>
-
- <dt><b>¿É¿¿ÐÔ</b></dt>
-
- <dd>ÎÒÃÇÖaμÀ DBMS ×ばつöμ1⁄2·21ドル⁄43⁄4­1ýÈÏÕæ2âÊÔμÄ£¬Îȶ ×ばつîÉÙμÄ ́úÂ롣ÿ ̧ö°æ±3⁄4ÖÁÉÙÓÐÒ» ̧öÔÂμÄ beta 2âÊÔ£¬2¢ÇÒÎÒÃÇμÄ·21ドル⁄4ÀúÊ·ÏÔÊ3⁄4ÎÒÃÇ¿ÉÒÔÌá1©Îȶ ̈μÄ£¬ÀÎ1ÌμÄ£¬¿ÉÓÃÓÚÉú2úÊ1ÓÃμİæ±3⁄4¡£ÎÒÃÇÏàÐÅÔÚÕâ·1⁄2ÃæÎÒÃÇÓëÆäËûμÄÊý3⁄4Ý¿âÈí1⁄4þÊÇÏàμ±μÄ¡£<br />
- </dd>
-
- <dt><b>Ö§3Ö</b></dt>
-
- <dd>ÎÒÃÇμÄÓÊ1⁄4þÁбíÌá1©Ò» ̧ö·Ç3£ ́óμÄ¿a×ばつéÒÔ°ïÖú1⁄2â3⁄4öËùÅöμ1⁄2μÄÈÎoÎÎÊÌâ¡£ÎÒÃÇ2»Äܱ£Ö¤¿Ï¶ ̈ÄÜ1⁄2â3⁄4öÎÊÌ⣬Ïà±È֮ϣ¬ÉÌÓà DBMS ×ばつÜÄÜ1»Ìá1©1⁄2â3⁄4ö·1⁄2· ̈¡£Ö±1⁄2ÓÓë¿a·¢ÈËÔ±£¬Óû§Èo£¬ÊÖ2áoÍÔ ́3ÌÐò1⁄2Ó ́\Áî PostgreSQL μÄÖ§3Ö±ÈÆäËû DBMS »1Òa×ばつ°μÄÖ§3Ö£¬¿ÉÒÔ ̧øÌá1© ̧øÄÇЩÐèÒaμÄÈË¡££ ̈2ÎÔÄÖ§3Ö FAQ Ìõ¿î 1.6 С1⁄2Ú¡££©<br />
- </dd>
-
- <dt><b>1⁄4Û ̧ñ</b></dt>
-
- <dd>ÎÒÃǶÔÈÎoÎÓÃÍ3⁄4¶1⁄4Ãâ·Ñ£¬°üÀ ̈ÉÌÓÃoÍ·ÇÉÌÓÃÄ¿μÄ¡£Äã¿ÉÒÔ2»1⁄4ÓÏÞÖÆμØÏòÄãμÄ2úÆ·Àï1⁄4ÓÈëÎÒÃÇμÄ ́úÂ룬3ýÁËÄÇЩÎÒÃÇÔÚÉÏÃæμİæÈ ̈ÉùÃ÷ÀïÉùÃ÷μÄ BSD ·ç ̧ñμİæÈ ̈Íâ¡£</dd>
- </dl>
-
- <h4><a id="1.15" name="1.15"></a>1.15) ÎÒÓ¦ ̧ÃÔõÑùÔÞÖú PostgreSQL £¿</h4>
-
- <p&g×ばつÔ ́Ó1996Äê¿aÊ1⁄4£¬PostgreSQL ÒÑ3⁄4­ÓÐÁËÒ» ×ばつéÖ ̄¡£ÕâЩӦ ̧Ã1é1¦ÓÚ Marc Fournier£¬ÊÇËû ́ ́1⁄2 ̈ÁË2¢ÔÚÕâЩÄêÒ»Ö±1ÜÀíÕâ ×ばつéÖ ̄¡£</p>
-
- <p>¶ÔÓÚÒ» ̧ö¿aÔ ́ÏîÄ¿À ́Ë죬ÖÊÁ¿»ù ́¡ÉèÊ©ÊÇ·Ç3£ÖØÒaμÄ¡£ËüÄÜ·ÀÖ13öÏÖÑÏÖØÑÓ3ÙÏîĿǰ1⁄2øμÄ»ìÂÒ¡£</p>
-
- <p>ÏÔÈ»£¬Õâ ×ばつéÖ ×ばつa3ɱ3⁄42»·Æ¡£Î¬3ÖÆäǰ1⁄2øÓÐ ̧÷ÖÖÔ¶ÈμÄ¡¢Ò» ́ÎÐÔμÄ¿aÖ§¡£Èç1ûÄã»òÕßÄãμÄ1«Ë3⁄4ÄÜ1⁄2øÐÐ3⁄4èÔùÒÔÖ§3ÖÕâÏîÊÂÒ죬Çë·ÃÎÊ <a href="http://store.pgsql.com/shopping/">http://store.pgsql.com/shopping/</a> 1⁄2øÐÐ3⁄4èÔù¡£</p>
-
- <p>ËäÈ» ̧ÃÍøÒ3Ìá1⁄4°ÁË PostgreSQL 1«Ë3⁄4£¬ÕâЩ3⁄4èÔù1⁄2«1⁄2öÓÃÓÚÖ§3Ö PostgreSQL ×ばつÊÖúû ̧öÌØ¶ ̈μÄ1«Ë3⁄4¡£Èç1ûÄãÔ ̧Ò⣬Ò2¿ÉÒÔÓÊ1⁄4Ä֧Ʊμ1⁄2ÁaÏμμØÖ·¡£</p>
- <hr />
-
- <center>
- <h2>Óû§¿Í»§¶ËÎÊÌâ</h2>
- </center>
-
- <h4><a id="2.1" name="2.1"></a>2.1) ÓÐ PostgreSQL μÄ ODBC Çý¶ ̄à ́£¿</h4>
- ÓÐÁ1⁄2 ̧ö ODBC Çý¶ ̄¿ÉÒÔ»ñμã¬PsqlODBC oÍ OpenLink ODBC.
-
- <p>¿ÉÒÔÔÚ<a href="http://gborg.postgresql.org/project/psqlodbc/projdisplay.php">http://gborg.postgresql.org/project/psqlodbc/projdisplay.php</a> ÏÂÔØ PsqlODBC ¡£</p>
-
- <p>OpenLink ODBC ¿ÉÒÔ ́Ó <a href="http://www.openlinksw.com/">http://www.openlinksw.com/</a> ×ばつ1⁄4 ODBC ¿Í»§¶ËÈí1⁄4þ1⁄4æÈÝ£¬Òò¶øÄã¿ÉÒÔÔÚÈÎoÎËûÃÇÖ§3ÖμĿͻ§¶ËÆ1⁄2Ì ̈£ ̈Win, Mac, Unix, VMS£©ÉÏÊ1Óà PostgreSQL ODBC¡£</p>
-
- <p>ËûÃÇ¿ÉÄÜ1⁄2«Õâ ̧ö2úÆ·ÏúÊÛ ̧øÄÇЩÐèÒa×ばつÜÊÇÓÐÒ» ̧ö freeware £ ×ばつÔÓÉÈí1⁄4þ£©μİæ±3⁄4¿ÉÒÔμÃμ1⁄2¡£ÇëÑ ̄ÎÊ <a href="mailto:postgres95@openlink.co.uk">postgres95@openlink.co.uk</a>¡£</p>
-
- <h4><a id="2.2" name="2.2"></a>2.2) ÓÐÊ2à ́1¤3⁄4ß¿ÉÒÔ°Ñ PostgreSQL ÓÃÓÚ Web Ò3Ãæ£¿</h4>
- Ò» ̧ö1⁄2éÉÜÒÔÊý3⁄4Ý¿âÎaoóÌ ̈μÄͦ2» ́íμÄ Õ3⁄4μãÊÇ£o<a href="http://www.webreview.com">http://www.webreview.com</a> ¡£
-
- <p>¶ÔÓÚ Web 1⁄4 ̄3É£¬PHP ÊÇÒ» ̧ö1⁄4«oÃμÄ1⁄2Ó¿Ú¡£ËüÔÚ£o<a href="http://www.php.net/">http://www.php.net/</a> ¡£</p>
-
- <p>¶ÔÓÚ ̧ ́ÔÓμÄÈÎÎñ£¬oܶàÈË2ÉÓà Perl 1⁄2Ó¿ÚoÍ CGI.pm »ò mod_perl ¡£</p>
-
- <h4><a id="2.3" name="2.3"></a>2.3) PostgreSQL ÓμÓÐÍ1⁄4ÐÎÓû§1⁄2çÃæÂð£¿</h4>
- ÊÇμÄ¡£ÓÐ1⁄4 ̧ ̧öÊÊÓÃÓÚ PostgreSQL μÄÍ1⁄4ÐÎ1⁄2Ó¿Ú¡£°üÀ ̈PgAccess£ ̈<a href="http://www.pgaccess.com">http://www.pgaccess.com</a>)£¬PgAdmin II £ ̈<a href="http://www.pgadmin.org">http://www.pgadmin.org</a>£¬1⁄2öÊÊÓÃÓÚWin32£©£¬ RHDB Admin (<a href="http://sources.redhat.com/rhdb/">http://sources.redhat.com/rhdb/</a>£© ÒÔ1⁄4° Rekall £ ̈<a href="http://www.thekompany.com/products/rekall/">http://www.thekompany.com/products/rekall/</a>£¬ ×ばつ ̈ÓÐμÄ/proprietary)¡£»1ÓÐPHPPgAdmin £ ̈<a href="http://phppgadmin.sourceforge.net/">http://phppgadmin.sourceforge.net/£©</a> £¬Ò» ̧ö»ùÓÚ web μÄ PostgreSQL ·ÃÎÊ1⁄2Ó¿Ú¡£
-
- <p>ÎÒÃÇÓÐÒ» ̧ö2» ́íμÄÍ1⁄4ÐÎÓû§1⁄2çÃæ£¬3ÆÎa PgAccess ×ばつ÷± ̈±íÉú3ÉÆ÷¡£ÍøÒ3ÊÇ <a href="http://www.pgaccess.org/">http://www.pgaccess.org/</a>¡£</p>
-
- <h4><a id="2.4" name="2.4"></a>2.4) ÎÒÃÇ¿ÉÒÔÓÃÊ2à ́ÓïÑÔoÍ PostgreSQL ́ò1⁄2»μÀ£¿</h4>
-
- <p> ́ó¶àÊýÁ÷ÐÐμıà3ÌÓïÑÔ¶1⁄4ÓзÃÎÊ PostgreSQL μÄ1⁄2Ó¿Ú¡£Çë1⁄4ì2é±à3ÌÓïÑÔμÄÀ©Õ1Ä£¿éÁÐ±í¡£</p>
-
- <p>PostgreSQL ·21ドル⁄4°üÖаüo¬ÁËÒÔÏÂ1⁄2Ó¿Ú£o</p>
-
- <ul>
- <li>C (libpq)</li>
-
- <li>Embedded C (ecpg)</li>
-
- <li>Java (jdbc)</li>
-
- <li>Python (PyGreSQL)</li>
-
- <li>TCL (libpgtcl)</li>
- </ul>
-
- <p>ÆäËûμÄ1⁄2Ó¿ÚÔÚ <a href="http://gborg.postgresql.org">http://gborg.postgresql.org</a> ÉÏμÄ <i>Drivers/Interfaces</i> С1⁄2Ú¡£</p>
- <hr />
-
- <center>
- <h2>ÏμÍ31ÜÀíÎÊÌâ</h2>
- </center>
-
- <h4><a id="3.1" name="3.1"></a>3.1) ÎÒÔõÑùÄÜ°Ñ PostgreSQL ×ばつ°ÔÚ /usr/local/pgsql ÒÔÍâμÄμØ·1⁄2£¿</h4>
-
- <p>ÔÚÔËÐÐ configure ʱ1⁄4ÓÉÏ --prefix Ñ¡Ïî¡£</p>
-
- <h4><a id="3.2" name="3.2"></a>3.2) μ±ÎÒÔËÐÐ postmaster ʱ£¬3öÏÖ <i>Bad System Call</i>£ ̈ÏμÍ3μ÷Óà ́í£©»ò Core Dumped ́íÎó¡£ÎaÊ2à ́£¿</h4>
-
- <p&g×ばつ÷ÏμÍ3oËÐÄÊÇ·ñÖ§3Ö System V À©Õ1¡£PostgreSQL ÐèÒaÄÚoËÖ§3Ö12ÏíÄÚ ́æoÍÐÅoÅμÆ¡£</p>
-
- <h4><a id="3.3" name="3.3"></a>3.3) μ±ÎÒÊÔÍ1⁄4ÔËÐÐ postmaster ʱ£¬3öÏÖ <i>IpcMemoryCreate</i> ́íÎó¡£ÎaÊ2à ́£¿</h4>
- ÄãÒaà ́ÊÇûÓÐÔÚÄÚoËÀïÕýÈ·ÅäÖÃ12ÏíÄÚ ́棬Òaà ́ÊÇÄãÐèÒaÀ© ́óÄãμÄÄÚoËμÄ¿ÉÓÃ12ÏíÄÚ ́æ¡£ÐèÒaμÄ12ÏíÄÚ ́æ3⁄4ßÌåμÄÊýÁ¿È¡3⁄4öÓÚÄãμÄÌåÏμ1⁄2á11oÍÄãÅäÖÃÄãμÄ postmaster ÔËÐÐʱÊ1ÓÃμÄ»o3åÇøoÍoó¶Ë1⁄2ø3ÌÊýÄ¿¡£¶Ô ×ばつîÉÙÐèÒa~1MB¡£ÓÐ1Ø12ÏíÄÚ ́æoÍÐÅoÅμÆμÄÏêÏ ̧ÐÅÏ¢Çë2ο1⁄4 <a href="http://www.postgresql.org/idocs/index.php?kernel-resources.html">PostgreSQL Administrator's Guide</a> ¡£
-
- <h4><a id="3.4" name="3.4"></a>3.4) μ±ÎÒÊÔÍ1⁄4ÔËÐÐ postmaster ʱ£¬3öÏÖ <i>IpcSemaphoreCreate</i> ́íÎó¡£ÎaÊ2à ́£¿</h4>
-
- <p>Èç1û ́íÎóÐÅÏ¢ÊÇ <i>IpcSemaphoreCreate: semget failed (No space left on device)</i>£¬ÄÇà ×ばつÊÔ ́¡£Postgres μÄÿ ̧öDZÔÚμÄoóÌ ̈1⁄2ø3̶1⁄4ÐèÒaÒ» ̧öÐÅoÅμÆ¡£Ò» ̧öÁÙʱμÄ1⁄2â3⁄4ö·1⁄2· ̈ÊÇÒÔ±È1⁄2ÏÉÙμÄoóÌ ̈1⁄2ø3ÌÊý£ ̈2ÎÊý£©Æô¶ ̄ postmaster¡£Ê1Óÿa1Ø <i>-N</i> ́øÒ» ̧öÉÙÓÚȱʡÖμ 32 μÄ2ÎÊýÔËÐÐ postmaster¡£ ̧ü3¤3⁄4ÃμÄ1⁄2â3⁄4ö·1⁄2· ̈ÊÇ1⁄4Ó ́óÄãμÄÄÚoËμÄ <font size="-1">SEMMNS</font> oÍ <font size="-1">SEMMNI</font> 2ÎÊý¡£</p>
-
- <p>ÔÚÊý3⁄4Ý¿â·ÃÎÊÁ¿oÜ ́óʱ£¬ÐÅoÅμÆ2»¿ÉÓÿÉÄÜμ1⁄4ÖÂÏμÍ3±ÀÀ£¡£</p>
-
- <p>Èç1û ́íÎóÐÅÏ¢ÊÇÆäËûμÄÊ2à ́¶«Î÷£¬Äã¿ÉÄÜ3⁄4Í ̧ù±3⁄4ûÓÐÔÚÄÚoËÀïÃæÅäÖÃÐÅoÅμÆÖ§3Ö¡£ÓÐ1Ø12ÏíÄÚ ́æoÍÐÅoÅμÆμÄÏêÏ ̧ÐÅÏ¢Çë2ο1⁄4 <a href="http://www.postgresql.org/idocs/index.php?kernel-resources.html">PostgreSQL Administrator's Guide</a> ¡£</p>
-
- <h4><a id="3.5" name="3.5"></a>3.5) ÎÒÈçoοØÖÆÀ ×ばつÔÆäËûÖ÷»úμÄÁ¬1⁄2Ó£¿</h4>
-
- <p>ȱʡʱ£¬PostgreSQL Ö»ÔÊÐíÍ ̈1ý unix ×ばつÖÀ ×ばつÔ±3⁄4»úμÄÁ¬1⁄2Ó¡3ドルý·ÇÄãÊ1Óà <i>-i</i> ¿a1ØÆô¶ ̄ <i>postmaster</i>£¬<b>2¢ÇÒ</b>Í ̈1ý¶ÔÓ¦μıà1⁄4­ <i>$PGDATA/pg_hba.conf</i> ÎÄ1⁄4þ ́ò¿aÁËÖ÷»úÎa»ù ́¡£ ̈ host-based £©μÄÈÏÖ¤£¬·ñÔòÆäËû»úÆ÷ÊÇ2»ÄÜÓëÄãμÄ»úÆ÷Á¬1⁄2ÓμÄ¡£ÕâÑù1⁄2«ÔÊÐí TCP/IP Á¬1⁄2Ó¡£</p>
-
- <h4><a id="3.6" name="3.6"></a>3.6) ÎÒÔõÑùμ÷ÕûÊý3⁄4Ý¿âÒýÇæÒÔ»ñμà ̧üoÃμÄÐÔÄÜ£¿</h4>
-
- <p>μ±È»£¬Ë÷Òý¿ÉÒÔ1⁄4ÓËÙ2éÑ ̄¡£<font size="-1">EXPLAIN</font> ÃüÁîÔÊÐíÄã1Û2ì PostgreSQL ÈçoÎ1⁄2âÊÍÄãμÄ2éÑ ̄£¬ÒÔ1⁄4°Ê1ÓÃÁËÄÄЩË÷Òý¡£</p>
-
- <p>Èç1ûÄãÕý ́¦ÀíÒ»¶Ñ <font size="-1">INSERT</font>£¬¿1⁄4ÂÇÊ1Óà <font size="-1">COPY</font> ÃüÁîÒÔ ×ばつö±Èμ\¶ÀμÄÒ» ̧ö ̧ö <font size="-1">INSERT</font> ¿ìμöࡣÆä ́Σ¬Ã»ÓÐ ́¦ÓÚ <font size="-1">BEGIN WORK/COMMIT</font> ÊÂÎñ¿éÖ®1⁄4äμÄÓï3⁄4ä±»ÈÏÎaÊôÓÚͬһ ×ばつÅÔÚÒ» ̧öÊÂÎñ¿éÀïÃæ ́¦Àí ̧ü¶àμÄÓï3⁄4ä¡£ÕâÑù¿ÉÒÔ1⁄4õÉÙÊÂÎñ ́øÀ ́μĶîÍâ¿a×ばつö ́óÁ¿μÄÊý3⁄4Ý ̧ıäʱ¿1⁄4ÂÇÉ3⁄43ýoÍÖØ1⁄2 ̈Ë÷Òý¡£</p>
-
- <p>»1ÓÐ1⁄4 ̧ ̧öμ÷1⁄2ÚμÄÑ¡Ïî¿ÉÒÔÊ1Óá£Äã¿ÉÒÔÍ ̈1ý ́ø <i>-o -F</i> Ñ¡ÏîÆô¶ ̄ postmaster À ́1⁄2ûÖ1 fsync()¡£ÕâÑù1⁄2«±ÜÃâÿ ́ÎÊÂÎñoóμ÷Óà <i>fsync()</i> °ÑÊý3⁄4ÝË¢ÐÂμ1⁄2 ́ÅÅÌÉÏ¡£</p>
-
- <p>Äã»1¿ÉÒÔÊ1Óà postmaster -B Ñ¡ÏîÔö1⁄4Óoó¶Ë1⁄2ø3ÌÊ1ÓÃμÄ12ÏíÄÚ ́æ»o3åμÄÊýÄ¿¡£Èç1ûÄã°ÑÕâ ̧ö2ÎÊýÉèÖÃμÃÌ« ́ó£¬postmaster ¿ÉÄÜÎÞ· ̈Æô¶ ̄£¬ÒòÎaÄãÒÑ3⁄4­3¬1ýÁËÄãμÄÄÚoËÔÚ12ÏíÄÚ ́æ¿Õ1⁄4äÉÏμÄÏÞÖÆ¡£Ã¿ ̧ö»o3åÇøÊÇ 8K 2¢ÇÒȱʡ 64 ̧ö»o3åÇø¡£</p>
-
- <p>Äã»1¿ÉÒÔÊ1ÓÃoóÌ ̈1⁄2ø3ÌμÄ -S Ñ¡ÏîÀ ́Ôö1⁄4Óÿ ̧öoóÌ ×ばつî ́óÄÚ ́æÊýÁ¿¡£-S ×ばつÖ1⁄2Ú1⁄4ÆμÄ£¬È±Ê¡ÊÇ 512 £ ̈Ò23⁄4ÍÊÇË죬512K£©¡£</p>
-
- <p>Äã»1¿ÉÒÔÊ1Óà <font size="-1">CLUSTER</font> ÃüÁîÀ ́°Ñ±íÀïμÄÊý3⁄4ݰ ́ÕÕÄ3 ̧öË÷Òý1⁄2øÐÐ3⁄4Û1⁄4 ̄ ́æ·Å¡2ドルÎÔÄ CLUSTER μÄÊÖ2áÒ3»ñÈ¡ ̧ü¶àÏ ̧1⁄2Ú¡£</p>
-
- <h4><a id="3.7" name="3.7"></a>3.7) PostgreSQL Àï¿ÉÒÔ»ñμÃÊ2à ́ÑùμÄμ÷ÊÔÌØÐÔ£¿</h4>
-
- <p>PostgreSQL ÓÐ1⁄4 ̧ ̧öÌØÐÔÓÃÓÚ± ̈ ×ばつ ̬́ÐÅÏ¢£¬ÕâЩÐÅÏ¢¿ÉÄܶÔμ÷ÊÔÓÃÍ3⁄4oÜÓаïÖú¡£</p>
-
- <p&g×ばつÏÈ£¬Í ̈1ý ̧1⁄2 ́ø --enable-cassert Ñ¡ÏîÔËÐÐ configure£¬ÓÐoܶà <i>assert()</i> 1⁄4à¿ØoóÌ ̈1⁄2ø3ÌoÍÔÚ·¢ÉúÄ3ЩΠ́ÔøÔ¤ÁÏμÄÏÖÏóʱͣÖ13ÌÐòÔËÐС£</p>
-
- <p>postmaster oÍ postgres ×ばつÏÈ£¬μ±ÄãÆô¶ ̄ postmaster ×ばつ1⁄4 ́íÎóÊä3ö¶ ̈Ïòμ1⁄2ÁËÒ» ̧öÈÕÖ3⁄4ÎÄ1⁄4þÀïÈ\ÁË£¬Ïó£o</p>
-<pre>
- cd /usr/local/pgsql
- ./bin/postmaster &gt;server.log 2&gt;&amp;1 &amp;
-</pre>
- ÕâÑù1⁄2«ÔÚ PostgreSQL ¶1円⁄4¶Ä¿Â1⁄4ÏÂÊä3öÒ» ̧ö server.log ÎÄ1⁄4þ¡£Õâ ̧öÎÄ1⁄4þ°üo¬·þÎñÆ÷Åöμ1⁄2μÄÎÊÌâoÍ ́íÎóμÄÓÐÓÃÐÅÏ¢¡£postmaster ÓÐÒ» ̧ö -d Ñ¡Ï ̧ÃÑ¡ÏîÔÊÐíÎÒÃÇ»ñμà ̧ü¶àμÄÏ ̧1⁄2ڻ㱠̈¡£-d Ñ¡Ïî1⁄2ÓÊÜÒ» ×ばつÖ±êÃ÷μ÷ÊÔ1⁄4¶±ð¡£ÐèÒa3⁄4 ̄ ̧æμÄÊÇ ̧ßμÄμ÷ÊÔ1⁄4¶±ð¿ÉÄÜ»áÉú3É3⁄4Þ ́óμÄÈÕÖ3⁄4ÎÄ1⁄4þ¡£
-
- <p>Èç1û postmaster ûÓÐÔËÐУ¬Äã¿ÉÒÔÖ±1⁄2ÓÔÚÃüÁîÐÐÉÏÆô¶ ̄ postgres oóÌ ̈1⁄2ø3Ì£¬È»oóÖ±1⁄2Ó1⁄4üÈë SQL Óï3⁄4ä¡£ÎÒÃÇ<b>Ö»</b> ÍÆ1⁄4öÔÚμ÷ÊÔμÄʱoòÕâà ́ ×ばつ¢ÒâÕâʱÓû»ÐÐÜÞ¶ø2»ÊÇ·ÖoűíÊ3⁄4Óï3⁄4ä1⁄2áÎ2¡£Èç1ûÄã ×ばつÅμ÷ÊÔ·ûoűàÒ룬Äã¿ÉÒÔÊ1ÓÃÒ» ̧öμ÷ÊÔÆ÷1Û¿ ́·¢ÉúÁËÊ2à ́ÊÂÇé¡£ÒòÎaoóÌ ̈1⁄2ø3ÌûÓÐÓÉ postmaster Æô¶ ̄μÄ£¬Ëü2»ÊÇoÍÊμ1⁄4ÊμÄÔËÐл·3⁄43Ò»Ö£¬¶øÇÒËø¶ ̈/oóÌ ̈1⁄2»»\ÎÊÌâ¿ÉÄÜ2»ÄÜÖØÏÖ¡£</p>
-
- <p>Èç1û postmaster ÒÑ3⁄4­ÔËÐУ¬¿ÉÔÚÒ» ̧ö ́°¿ÚÖÐÆô¶ ̄ <i>psql</i>£¬È»oóÕÒ3ö <i>psql</i> ¶ÔÓ¦μÄ <i>postgres</i> 1⁄2ø3ÌμÄ <font size="-1">PID</font>¡£Ê1ÓÃÒ» ̧öμ÷ÊÔÆ÷ ×ばつÅÔÚÕâ ̧ö <i>postgres</i> <font size="-1">PID</font> ÉÏ¡£Äã¿ÉÒÔÔÚμ÷ÊÔÆ÷ÀïÉèÖöÏμã2¢ÇÒ ́Ó <i>psql</i> ÀïÖ ́ÐÐ2éÑ ̄¡£Èç1ûÄãÔÚμ÷ÊÔ <i>postgres</i> μÄÆô¶ ̄£¬Äã¿ÉÒÔÉèÖà PGOPTIONS="-W n"£¬È»oóÆô¶ ̄ <i>psql</i>¡£ÕâÑù1⁄2«μ1⁄4ÖÂÆô¶ ̄ÑÓ3Ù <i>n</i> Ã룬ÕâÑùÄã3⁄4Í¿ÉÒÔ ̧1⁄21⁄4ÓÒ» ̧öμ÷ÊÔÆ÷2¢ÇÒ ×ばつÙÆô¶ ̄Ë3ÐòμÄ1ý3Ì¡£</p>
-
- <p>postgres 3ÌÐòÓÐ -s£¬-A£¬oÍ -t Ñ¡Ïî¿ÉÄÜÔÚμ÷ÊÔoÍÐÔÄÜ2âÁ¿μÄʱoò·Ç3£ÓÐÓá£</p>
-
- <p>Äã»1¿ÉÒÔ ́ø profiling Ö§3Ö±àÒëoóÌ ̈£¬ÒÔ±ã1Û2ìÄÄЩo ̄ÊýÕ1⁄4ÓÃμÄÖ ́ÐÐʱ1⁄4ä1⁄2϶ࡣprofile ÎÄ1⁄4þ1⁄2«·ÅÔÚ pgsql/data/base/dbname Ä¿Â1⁄4Ï¡£¿Í»§¶Ë profile ÎÄ1⁄4þ1⁄2«·ÅÔÚ¿Í»§¶Ëμ±Ç°Ä¿Â1⁄4Ï¡£ÔÚ Linux ÏÂÖ§3Ö profiling ÒaÔÚ±àÒëʱ1⁄4ÓÉÏ<i>-DLINUX_PROFILE</i> ¡£</p>
-
- <h4><a id="3.8" name="3.8"></a>3.8) ÎaÊ2à ́ÔÚÊÔÍ1⁄4Á¬1⁄2ÓμÇÂ1⁄4ʱÊÕμ1⁄2¡°Sorry, too many clients¡±ÏûÏ¢£¿</h4>
-
- <p>ÄãÐèÒaÔö ́ó postmaster Æô¶ ̄ʱ֧3ÖμÄ2¢·¢oóÌ ̈1⁄2ø3ÌÊý¡£</p>
-
- <p>ȱʡÏÞÖÆÊÇ 32 1⁄2ø3Ì¡£Äã¿ÉÒÔÍ ̈1ý ×ばつÅÊÊμ±μÄ <i>-N</i> Öμ¿a1ØÆô¶ ̄ postmaster Ôö1⁄4ÓÕâ ̧öÊýÄ¿¡£»òÕßÐÞ ̧Ä <i>postgresql.conf</i> ÎÄ1⁄4þ¡£</p>
-
- <p>Òa×ばつ¢ÒâÈç1ûÄã°Ñ <i>-N</i> ÉèÖÃÎa ́óÓÚ 32£¬Äã±ØÐëͬÑùÔö ́ó <i>-B</i>£¬3¬1ýËüȱʡμÄ 64£»-B ×ばつîÉÙÊÇ -N μÄÁ1⁄2±¶£¬¶øÇÒÎaÁË ̧üoÃμÄÐÔÄÜ¿ÉÄÜÒa±ÈÄÇ ×ばつÖÒa ́ó¡£¶ÔÓÚ ́óÊýÄ¿μÄoó¶Ë1⁄2ø3Ì£¬Äã¿ÉÄÜ»1»á·¢ÏÖÄã»1ÐèÒaÔö1⁄4ÓÐí¶à Unix ÄÚoËÅäÖÃ2ÎÊýÖμ¡£Òa1⁄4ì2éμĶ«Î÷°üÀ ̈12ÏíÄÚ ×ばつî ́ó3ß ́磬<font size="-1">SHMMAX</font&g×ばつî ́óÊýÄ¿£¬<font size="-1">SEMMNS</font> oÍ <font size="-1">SEMMNI</font&g×ばつî ́óμÄ1⁄2ø3ÌÊý£¬<font size="-1">NPROC</font&g×ばつî ́ó1⁄2ø3ÌÊý£¬<font size="-1">MAXUPRC</font>£¬ÒÔ1⁄4° ́ò¿a×ばつî ́óÊýÄ¿£¬<font size="-1">NFILE</font> oÍ <font size="-1">NINODE</font> ¡£Postgres ¶ÔÔÊÐíμÄoóÌ ̈1⁄2ø3ÌÊýÓÐÏÞÖÆμÄÔ­ÒòÊÇÎa×ばつÊÔ ́¡£</p>
-
- <p>ÔÚ Postgres ÔçÓÚ 6.5 ×ばつî ́óoóÌ ̈1⁄2ø3ÌÊýȱʡÊÇ 64£¬2¢ÇÒ¶ÔËüμÄÐÞ ×ばつÏÈÐèÒaÐÞ ̧Ä <i>include/storage/sinvaladt.h</i> ÀïμÄ MaxBackendId 3£Á¿£¬È»oóÖØÐ BUILD¡£</p>
-
- <h4><a id="3.9" name="3.9"></a>3.9) pgsql_tmp Ä¿Â1⁄4Àï¶1⁄4ÓÐЩÊ2à ́£¿</h4>
-
- <p> ̧ÃÄ¿Â1⁄4ϱ£ ́æÁË2éÑ ̄Ö ́ÐÐÆ÷Éú3ÉμÄÁÙʱÎÄ1⁄4þ¡£ÀýÈ磬Èç1ûÐèÒaÎa×ばつã <font size="-1">ORDER BY</font> ×ばつöÅÅÐò£¬2¢ÇÒÅÅÐòÐèÒa±ÈoóÌ ̈μÄ -S 2ÎÊý ̧ø3öμÄ ̧ü¶àμÄ¿Õ1⁄4䣬ÄÇà ́3⁄4Í»á ́ ́1⁄2 ̈Ò» ̧öÁÙʱÎÄ1⁄4þ±£ ́æ¶à3öÀ ́μÄÊý3⁄4Ý¡£</p>
-
- <p>ÁÙʱÎÄ1⁄4þÓ¦ ×ばつÔ¶ ̄É3⁄43ý£¬2»1ýÈç1ûÔÚÅÅÐò1ý3ÌÖÐoóÌ ̈±ÀÀ£ÁË3⁄4Í¿ÉÄÜÁôÏÂÀ ́¡£Í£Ö12¢ÖØÆð postmaster 1⁄2«»áÉ3⁄43ýÕâЩÎÄ1⁄4þ¡£<br />
- </p>
-
- <h4><a id="3.10" name="3.10"></a>3.10) ÎaÊ2à ́ÒaÔÚÉý1⁄4¶ PostgreSQL ×ばつö dump oÍ restore £¿</h4>
-
- <p>PostgreSQL ¿a×ばつé¶Ôÿ ×ばつöÁË1⁄2ÏÉÙμÄÐÞ ̧Ä,Òò ́Ë ́Ó 7.2 Éý1⁄4¶μ1⁄2 7.2.1 2»ÐèÒa dump oÍ restore¡£μ«ÊÇÖ÷ÒaμÄÉý1⁄4¶£ ̈ÀýÈç ́Ó 7.2 μ1⁄2 7.3£©Í ̈3£»áÐÞ ̧ÄÏμÍ3±íoÍÊý3⁄4ݱíμÄÄÚ2¿ ̧ñÊ1⁄2¡£ÕâЩ±ä» ̄Ò»°ã±È1⁄2Ï ̧ ́ÔÓ£¬Òò ́ËÎÒÃÇ2»Î¬Êý3⁄4ÝÎÄ1⁄4þμÄÏòoó1⁄4æÈÝ¡£dump 1⁄2«Êý3⁄4ݰ ́ÕÕÍ ̈ÓÃμÄ ̧ñÊ1⁄2Êä3ö£¬Ëæoó¿ÉÒÔ±»ÖØÐÂ1⁄4ÓÔØ2¢Ê1ÓÃÐÂμÄÄÚ2¿ ̧ñÊ1⁄2¡£</p>
-
- <p> ́ÅÅÌÎÄ1⁄4þ ̧ñÊ1⁄2ûÓÐ±ä» ̄μÄÉý1⁄4¶£¬¿ÉÒÔÓà <i>pg_upgrade</i> 1⁄2ű3⁄4£¬¶ø2»ÐèÒa×ばつö dump oÍ restor¡£·21ドル⁄4ËμÃ÷script »áÖ ̧Ã÷ <i>pg_upgrade</i> ¶Ô ̧à ́ÎÉý1⁄4¶ÊÇ·ñ¿ÉÓá£</p>
- <hr />
-
- <center>
- <h2&g×ばつ÷ÎÊÌâ</h2>
- </center>
-
- <h4><a id="4.1" name="4.1"></a>4.1) ¶þ1⁄2øÖÆÓαêoÍÆÕÍ ̈ÓαêÖ®1⁄4äμÄÇø±ðÊÇÊ2à ́£¿</h4>
- 2ÎÔÄ <font size="-1">DECLARE</font> ÊÖ2áÒ3»ñÈ¡ÐÅÏ¢¡£
-
- <h4><a id="4.2" name="4.2"></a>4.2)ÈçoÎÖ» <font size="-1">SELECT</font> Ò» ̧ö2éÑ ̄1⁄2á1ûμÄÍ·1⁄4 ̧ÐУ¿</h4>
- 2ÎÔÄ <font size="-1">FETCH</font> ÊÖ2áÒ3£¬»òÕßÊ1Óà SELECT ... LIMIT....
-
- <p>1⁄4 ́Ê1ÄãÖ»ÐèÒa¿aÍ·μÄ1⁄4 ̧ÐУ¬Ò2»áÉæ1⁄4°μ1⁄2Õû ̧ö2éÑ ×ばつÅÊ1Óà ́øÓÐ <font size="-1">ORDER BY</font> μÄ2éÑ ̄¡£Èç1ûÓÐÒ» ̧öË÷ÒýÓë <font size="-1">ORDER BY</font> Æ\Å䣬PostgreSQL ¿ÉÄÜ3⁄4ÍÖ» ́¦ÀíÒaÇóμÄÍ·1⁄4 ̧Ìõ1⁄4ÇÂ1⁄4£¬·ñÔò1⁄2«¶ÔÕû ̧ö2éÑ ̄1⁄2øÐÐ ́¦ÀíÖ±μ1⁄2Éú3ÉÐèÒaμÄÐС£</p>
-
- <h4><a id="4.3" name="4.3"></a>4.3) ÎÒÈçoλñȡһ ̧ö±íμÄÁÐ±í£¬»òÕßÊÇÆäËûÎÒÄÜÔÚ <i>psql</i> Àï¿ ́μ1⁄2μĶ«Î÷£¿</h4>
- Äã¿ÉÒÔÔĶÁ <i>psql</i> μÄÔ ́ ́úÂëÎÄ1⁄4þ<i>pgsql/src/bin/psql/describe.c</i> ¡£Ëü°üÀ ̈ÎaÉú3É psql μÄ· ́б ̧ÜÃüÁîμÄÊä3öμÄ SQL ÃüÁî¡£Äã»1¿ÉÒÔ ́ø <i>-E</i> Ñ¡ÏîÆô¶ ̄ <i>psql</i>£¬ÕâÑùËü1⁄2« ́òÓ¡3öÖ ́ÐÐÄã ̧ø3öμÄÃüÁîËùÓÃμÄ2éÑ ̄¡£
-
- <h4><a id="4.4" name="4.4"></a>4.4) ÔõÑù ́Ó±íÀïÃæÉ3⁄43ýÒ»ÁУ¿</h4>
-
- <p>7.3 ÀïÔö1⁄4ÓÁË <font size="-1">ALTER TABLE DROP COLUMN</font>£¬ÒÔÖ§3Ö ×ばつö£o</p>
-<pre>
- BEGIN;
+<!-- saved from url=(0046)http://laser.zhengmai.com.cn/postgres-faq.html --><HTML><HEAD><TITLE>PostgreSQL
+ FAQ-ch</TITLE>
+ <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=gb2312">
+ <META content="Microsoft FrontPage 4.0" name="GENERATOR">
+ </HEAD>
+ <BODY aLink="#0000ff" bgColor="#ffffff" link="#ff0000" text="#000000" vLink="#a00000">
+ <H1>PostgreSQL 31ドル⁄4ûÎÊÌ⣠̈FAQ£©</H1>
+ ×ばつî1⁄2ü ̧üУo2003 Äê 01 Ô 06 ÈÕ ÐÇÆÚÒ» 22:27:35 CST
+ <P>Ŀǰά»¤ÈËÔ±£oBruce Momjian (<A href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)
+ <BR>
+ ÖÐÎİæÎ¬»¤ÈËÔ±£ooÎΰÆ1⁄2 £ ̈laser@pgsqldb.com
+ £©<P&g×ばつîаæ±3⁄4¿ÉÒÔÔÚ<a href="http://www.postgresql.org/files/documentation/faqs/FAQ.html">http://www.postgresql.org/files/documentation/faqs/FAQ.html</a>
+ 2é¿ ́¡£<P&g×ばつ÷ÏμÍ3Æ1⁄2Ì ̈Ïà1ØμÄÎÊÌâÔÚ<a href="http://www.postgresql.org/docs/faq/">http://www.postgresql.org/docs/faq/</a>Àï»Ø ́ð¡£<br>
+ <HR>
+ <CENTER>
+ <H2>31ドル⁄4ûÎÊÌâ</H2>
+ </CENTER>
+ <a href="#1.1">1.1</a>)
+ PostgreSQL ÊÇÊ2à ́£¿ ̧ÃÔõà ́·¢Òô£¿
+ <BR>
+ <a href="#1.2">1.2</a>)
+ PostgreSQL μİæÈ ̈ÊÇÊ2à ́?
+ <BR>
+ <A href="#1.3">1.3</A>)
+ PostgreSQL ÔËÐÐÔÚÊ2à ́ Unix Æ1⁄2Ì ̈ÉÏ£¿
+ <BR>
+ <A href="#1.4">1.4</A>) ¿ÉÓÃμÄ·Ç Unix
+ Æ1⁄2Ì ̈ÓÐÄÇЩ£¿
+ <BR>
+ <A href="#1.5">1.5</A>) ÎÒ ́ÓÄÄÀïÄÜμÃμ1⁄2
+ PostgreSQL£¿
+ <BR>
+ <A href="#1.6">1.6</A>) ÎÒ ́ÓÄÄÀïÄÜμÃμ1⁄2¶Ô
+ PostgreSQL μÄÖ§3Ö£¿
+ <BR>
+ <A href="#1.7">1.7</A>)
+ PostgreSQL ×ばつîÐÂμİæ±3⁄4ÊÇÊ2à ́£¿
+ <BR>
+ <A href="#1.8">1.8</A>) ÓÐÄÄЩ¿ÉÓÃμÄ
+ PostgreSQL μÄÎÄμμ£¿
+ <BR>
+ <A href="#1.9">1.9</A>) ÎÒÈçoÎÁË1⁄2âÒÑÖaμÄ BUG
+ »òȱʧμÄÌØÐÔ£¿
+ <BR>
+ <A href="#1.10">1.10</A>) ÎÒÓ¦ ̧ÃÔõÑùѧϰ
+ SQL £¿
+ <BR>
+ <A href="#1.11">1.11</A>)
+ PostgreSQL ÊÇ Y2K 1⁄4æÈÝμÄÂð£¿
+ <BR>
+ <A href="#1.12">1.12</A>)
+ ÎÒÓ¦ ̧ÃÔõÑù1⁄4ÓÈë¿a·¢¶ÓÎ飿
+ <BR>
+ <A href="#1.13">1.13</A>)
+ ÎÒÓ¦ ̧ÃÔõÑùÌá1⁄2»Ò» ̧ö BUG ± ̈ ̧棿
+ <BR>
+ <A href="#1.14">1.14</A>)
+ PostgreSQL oÍÆäËû DBMS ±ÈÆðÀ ́ÈçoΣ¿<br>
+ <a href="#1.15">1.15</a>) ÎÒÓ¦ ̧ÃÔõÑùÔÞÖú
+ PostgreSQL £¿
+ <CENTER>
+ <H2>Óû§¿Í»§¶ËÎÊÌâ</H2>
+ </CENTER>
+ <A href="#2.1">2.1</A>) ÓÐ
+ PostgreSQL μÄ ODBC Çý¶ ̄3ÌÐòà ́£¿
+ <BR>
+ <A href="#2.2">2.2</A>) ÓÐÊ2à ́1¤3⁄4ß¿ÉÒÔ°Ñ
+ PostgreSQL ÓÃÓÚ Web Ò3Ãæ£¿
+ <BR>
+ <A href="#2.3">2.3</A>)
+ PostgreSQL ÓμÓÐÍ1⁄4ÐÎÓû§1⁄2çÃæÂð£¿
+ <BR>
+ <A href="#2.4">2.4</A>)
+ ÎÒÃÇ¿ÉÒÔÓÃÊ2à ́ÓïÑÔoÍ PostgreSQL ́ò1⁄2»μÀ£¿
+ <CENTER>
+ <H2>ÏμÍ31ÜÀíÎÊÌâ</H2>
+ </CENTER>
+ <a href="#3.1">3.1</a>) ÎÒÔõÑùÄܰÑ
+ PostgreSQL ×ばつ°ÔÚ /usr/local/pgsql ÒÔÍâμÄμØ·1⁄2£¿
+ <BR>
+ <a href="#3.2">3.2</a>) μ±ÎÒÔËÐÐ
+ postmaster ʱ£¬3öÏÖ<I> Bad System Call</I>£ ̈ÏμÍ3μ÷Óà ́í£©»ò Core Dumped ́íÎó¡£ÎaÊ2à ́£¿
+ <BR>
+ <a href="#3.3">3.3</a>) μ±ÎÒÊÔÍ1⁄4ÔËÐÐ
+ postmaster ʱ£¬3öÏÖ <I>IpcMemoryCreate</I> ́íÎó¡£ÎaÊ2à ́£¿
+ <BR>
+ <a href="#3.4">3.4</a>) μ±ÎÒÊÔÍ1⁄4ÔËÐÐ
+ postmaster ʱ£¬3öÏÖ <I>IpcSemaphoreCreate</I> ́íÎó¡£ÎaÊ2à ́£¿
+ <BR>
+ <a href="#3.5">3.5</a>)
+ ÎÒÈçoοØÖÆÀ ×ばつÔÆäËûÖ÷»úμÄÁ¬1⁄2Ó£¿
+ <BR>
+ <a href="#3.6">3.6</a>)
+ ÎÒÔõÑùμ÷ÕûÊý3⁄4Ý¿âÒýÇæÒÔ»ñμà ̧üoÃμÄÐÔÄÜ£¿
+ <BR>
+ <a href="#3.7">3.7</a>)
+ PostgreSQL Àï¿ÉÒÔ»ñμÃÊ2à ́ÑùμÄμ÷ÊÔÌØÐÔ£¿
+ <BR>
+ <a href="#3.8">3.8</a>)
+ ÎaÊ2à ́ÔÚÊÔÍ1⁄4Á¬1⁄2ÓμÇÂ1⁄4ʱÊÕμ1⁄2¡°Sorry, too many clients¡± ÏûÏ¢£¿<br>
+ <a href="#3.9">3.9</a>)
+ pgsql_tmp Ä¿Â1⁄4Àï¶1⁄4ÓÐЩÊ2à ́£¿<br>
+ <a href="#3.10">3.10</a>) ÎaÊ2Ã ́ÒaÔÚÉý1⁄4¶
+ PostgreSQL ×ばつö dump oÍ restore £¿
+ <CENTER>
+ <H2&g×ばつ÷ÎÊÌâ</H2>
+ </CENTER>
+ <a href="#4.1">4.1</a>)
+ ¶þ1⁄2øÖÆÓαêoÍÆÕÍ ̈ÓαêÖ®1⁄4äμÄÇø±ðÊÇÊ2à ́£¿
+ <BR>
+ <a href="#4.2">4.2</a>)
+ ÈçoÎֻѡÔñÒ» ̧ö2éÑ ̄1⁄2á1ûμÄÍ·1⁄4 ̧ÐУ¿
+ <BR>
+ <a href="#4.3">4.3</a>)
+ ÎÒÈçoλñȡһ ̧öÊý3⁄4Ý¿âÖбíμÄÁÐ±í£¬»òÕßÊÇÆäËûÎÒÄÜÔÚ <I>psql </I>Àï¿ ́μ1⁄2μĶ«Î÷£¿
+ <BR>
+ <a href="#4.4">4.4</a>)
+ ÔõÑù ́Ó±íÀïÃæÉ3⁄43ýÒ»ÁУ¿
+ <BR>
+ <a href="#4.5">4.5</a>)
+ Ò»ÐУ¬Ò» ̧ö±í£¬Ò» ×ばつî ́ó3ß ́çÊǶàÉÙ£¿
+ <BR>
+ <a href="#4.6">4.6</a>)
+ ́æ ́¢Ò» ̧öμäÐÍμÄÎı3⁄4ÎÄ1⁄4þÀïμÄÊý3⁄4ÝÐèÒa¶àÉÙ ́ÅÅÌ¿Õ1⁄4䣿
+ <BR>
+ <a href="#4.7">4.7</a>)
+ ÈçoÎ2é¿ ́±í¡¢Ë÷Òý¡¢Êý3⁄4Ý¿âÒÔ1⁄4°Óû§μĶ ̈Ò壿
+ <BR>
+ <a href="#4.8">4.8</a>)
+ ÎÒμÄ2éÑ ̄oÜÂý»òÕßûÓÐÀûÓÃË÷Òý¡£ÎaÊ2à ́£¿
+ <BR>
+ <a href="#4.9">4.9</a>)
+ ÎÒÈçoÎ2ÅÄÜ¿ ́μ1⁄22éÑ ̄ÓÅ» ̄Æ÷ÊÇÔõÑù ́¦ÀíÎÒμÄ2éÑ ̄μÄ£¿
+ <BR>
+ <a href="#4.10">4.10</a>) R-tree
+ Ë÷ÒýÊÇÊ2à ́£¿
+ <BR>
+ <a href="#4.11">4.11</a>)
+ Ê2à ́ÊÇ»ùÒò2éÑ ̄ÓÅ» ̄£ ̈Genetic Query Optimization£©£¿
+ <BR>
+ <a href="#4.12">4.12</a>)
+ ×ばつöÕýÔò±í ́ïÊ1⁄2ËÑË÷oÍ ́óСР́ÎÞ1ØμÄÕýÔò±í ́ïÊ1⁄22éÕÒ£¿ÔõÑùÀûÓÃË÷Òý1⁄2øÐÐ ́óСР́ÎÞ1Ø2éÕÒ£¿
+ <BR>
+ <a href="#4.13">4.13</a>)
+ ÔÚÒ» ̧ö2éÑ ̄ÀÎÒÔõÑù1⁄4ì2âÒ» ×ばつÖ¶ÎÊÇ·ñÎa NULL£¿
+ <BR>
+ <a href="#4.14">4.14</a>)
+ ×ばつÖ·ûÀàÐÍÖ®1⁄4äÓÐÊ2à ́2»Í¬£¿
+ <BR>
+ <a href="#4.15.1">4.15.1</a>)
+ ÎÒÔõÑù ́ ́1⁄2 ̈Ò» ×ばつÔ¶ ×ばつֶΣ¿
+ <BR>
+ <a href="#4.15.2">4.15.2</a>)
+ ÎÒÈçoλñμÃÒ» ̧ö2åÈëμÄÐòÁÐoÅμÄÖμ£¿
+ <BR>
+ <a href="#4.15.3">4.15.3</a>) Ê1ÓÃ
+ currval() oÍ nextval() »áμ1⁄4ÖÂoÍÆäËûÓû§μÄÎÉÂÒÇé¿ö£ ̈race condition£©Âð£¿<br>
+ <a href="#4.15.4">4.15.4</a>)
+ ÎaÊ2à ́2»ÔÚÊÂÎñÒì3£ÖÐÖ1oóÖØÓÃÐòÁÐoÅÄØ£¿ÎaÊ2à ×ばつÖ¶ÎμÄÈ¡ÖμÖÐ ́æÔÚ1⁄4ä¶ÏÄØ£¿
+ <BR>
+ <a href="#4.16">4.16</a>) Ê2Ã ́ÊÇ
+ OID£¿Ê2à ́ÊÇ TID £¿
+ <BR>
+ <a href="#4.17">4.17</a>)
+ PostgreSQL Ê1ÓÃμÄһЩÊõÓïμÄo¬ÒåÊÇÊ2à ́£¿
+ <BR>
+ <a href="#4.18">4.18</a>)
+ ÎaÊ2à ́ÎÒÊÕμ1⁄2 ́íÎó¡°<i>ERROR: Memory exhausted in AllocSetAlloc()</i>¡±£¿<br>
+ <a href="#4.19">4.19</a>)
+ ÎÒÈçoÎ2ÅÄÜÖaμÀËùÔËÐÐμÄ PostgreSQL μİæ±3⁄4£¿
+ <BR>
+ <a href="#4.20">4.20</a>)
+ ÎaÊ2à ́ÎÒμÄ ×ばつ÷μ1⁄4Ö ́íÎó¡°<I>invalid large obj descriptor¡±£ ̈·Ç· ̈μÄ ́ó¶ÔÏóÃèÊö·û£©</I>£¿
+ <BR>
+ <a href="#4.21">4.21</a>)
+ ÎÒÈçoÎ ́ ́1⁄2 ̈Ò» ×ばつֶΣ¿
+ <BR>
+ <a href="#4.22">4.22</a>) ÎaÊ2Ã ́Ê1ÓÃ <TT>IN</TT>
+ ×ばつÓ2éÑ ̄Õâà ́Âý£¿
+ <BR>
+ <a href="#4.23">4.23</a>) ÈçoÎ1⁄2øÐÐ
+ outer join £ ̈ÍâÁ¬1⁄2Ó£©£¿<br>
+ <a href="#4.24">4.24</a>)
+ ÈçoÎÊ1ÓÃÉæ1⁄4°¶à ̧öÊý3⁄4Ý¿âμÄ2éÑ ̄£¿<br>
+ <CENTER>
+ </CENTER>
+ <a href="#4.25">4.25</a>)
+ ÈçoÎÈÃo ̄Êý·μ»Ø¶àÐлò¶àÁУ¿<br>
+ <CENTER>
+ </CENTER>
+ <a href="#4.26">4.26</a>) ÎaÊ2Ã ́ÔÚ
+ PL/PgSQL o ̄ÊýÖÐ2»Äܿɿ¿μØ ́ ́1⁄2 ̈»òÉ3⁄43ýÁÙʱ±í£¿<br>
+ <CENTER>
+ </CENTER>
+ <a href="#4.27">4.27</a>)
+ ÓÐÄÄЩÊý3⁄4Ý ̧ ́ÖÆÑ¡Ï<br>
+ <a href="#4.28">4.28</a>)
+ ÓÐÄÄЩÊý3⁄4Ý1⁄4ÓÃÜÑ¡Ï
+ <CENTER>
+ <H2>À©Õ1 PostgreSQL</H2>
+ </CENTER>
+ <A href="#5.1">5.1</A>)
+ ÎÒÐ ́ÁËÒ» ̧öÓû§¶ ̈Òåo ̄Êý¡£μ±ÎÒÔÚ<I> psql</I> ÀïÔËÐÐʱ£¬ÎaÊ2à ́»áμ1⁄4Ö core dump£¿
+ <BR>
+ <a href="#5.2">5.2</a>) ÎÒÈçoÎÄÜ ̧ø
+ PostgreSQL ×ばつһЩͦ2» ́íμÄÐÂÀàÐÍoÍo ̄Êý£¿
+ <BR>
+ <a href="#5.3">5.3</a>)
+ ÎÒÔõÑùÐ ́Ò» ̧ö·μ»ØÒ»Ìõ1⁄4ÇÂ1⁄4μÄ C o ̄Êý£¿
+ <BR>
+ <a href="#5.4">5.4</a>)
+ ÎÒÐÞ ̧ÄÁËÒ» ̧öÔ ́ÎÄ1⁄4þ£¬ÎaÊ2à ́ÖØÐ±àÒëoóûÓп ́μ1⁄2 ̧ı䣿
+ <BR>
+ <HR>
+ <CENTER>
+ <H2>31ドル⁄4ûÎÊÌâ</H2>
+ </CENTER>
+ <H4><A name="1.1"></A>1.1) PostgreSQL ÊÇÊ2à ́£¿ ̧ÃÔõà ́·¢Òô£¿</H4>
+ PostgreSQL ×ばつ÷ <I>Post-Gres-Q-L</I><i> ¡£</i>
+ <p>PostgreSQL ÊÇÏÂÒ» ́ú DBMS μÄÑÐ3⁄4¿Ô­ÐÍ POSTGRES Êý3⁄4Ý¿â1ÜÀíÏμÍ3μÄÔöÇ¿°æ¡£PostgreSQL ÔÚ±3ドルÖ POSTGRES
+ μÄÇ¿ ́óμÄÊý3⁄4ÝÄ£ÐÍoÍ·á ̧»μÄÊý3⁄4ÝÀàÐÍμÄ»ù ́¡ÉÏ£¬ÓÃÒ» ̧öÀ©Õ1ÁËμÄ SQL ×ばつÓ1⁄4 ̄È¡ ́úÁËÔ­ÏÈμÄ PostQuel 2éÑ ̄ÓïÑÔ¡£PostgreSQL
+ ×ばつÔÓÉμÄ2¢ÇÒËùÓÐÔ ́ ́úÂë¶1⁄4¿ÉÒÔ»ñμá£</p>
+ <P>PostgreSQL μÄ¿a·¢ÓÉ2Î1⁄4Ó PostgreSQL ¿a·¢ÓÊ1⁄4þÁбíμÄÒ» ̧ö¿a×ばつé1⁄2øÐС£Ä¿Ç°μÄЭμ÷ÈËÊÇ Marc G. Fournier £ ̈<A href="mailto:scrappy@postgreSQL.org">scrappy@postgreSQL.org</A>
+ £©¡££ ̈1ØÓÚÈçoÎ1⁄4ÓÈë2Î1⁄4û1.61⁄2Ú£©¡£Õâ ̧ö¶ÓÎéÏÖÔÚ ̧oÔð PostgreSQL μÄËùÓпa·¢¡£
+ <P>
+ PostgreSQL 1.01 ×ばつ÷ÕßÊÇ Andrew Yu oÍ Jolly
+ Chen¡£»1ÓÐÐí¶àÆäËûÈËÎaÒÆÖ2£¬2âÊÔ£¬μ÷ÊÔoÍÔöÇ¿ ×ばつöÁË ×ばつ¡£PostgreSQL ×ばつî3õÆðÔ ́ Postgres£¬ÊÇÔÚ1⁄4ÓÖÝ ́óѧ2®¿ËÀû·ÖУμÄ Michael
+ Stonebraker 1⁄2ÌÊÚμÄÖ ̧μ1⁄4Ï£¬ÓÉÐí¶àÑÐ3⁄4¿Éú£¬±3⁄4¿ÆÉúoͱà3ÌÖ°Ô±Íê3ÉμÄ¡£
+ <P>Õâ ×ばつÖÊÇ Postgres¡£ÔÚ 1995 Ä꣬μ±Ôö1⁄4ÓÁË SQL ×ばつÖ ̧Ä3É Postgres95¡£ÔÚ 1996ÄêÄ©£¬2Å ̧ÄÃûÎa
+ PostgreSQL¡£
+ <H4><A name="1.2"></A>1.2) PostgreSQL μİæÈ ̈ÊÇÊ2à ́?</H4>
+ PostgreSQL ÊÜÏÂÃæμİæÈ ̈Ô1⁄4Êø¡£
+ <P>
+ PostgreSQL Êý3⁄4Ý¿â1ÜÀíÏμÍ3
+ <P>
+ £ ̈PostgreSQL Data Base Management System£©<P>2¿·Ö°æÈ ̈£ ̈c£©1996-2002£¬PostgreSQL È«Çò¿a×ばつé<br>
+ 2¿·Ö°æÈ ̈£ ̈c£©1994-6 1⁄4ÓÖÝ ́óѧ¶­ÊÂ
+ <P>£ ̈Portions copyright (c) 1996-2002, PostgreSQL Global Development Group<br>
+ &nbsp;Portions Copyright (c) 1994-6 Regents of the University of California£©
+ <P>
+ ÔÊÐíÎaÈÎoÎÄ¿μÄÊ1Ó㬿1⁄2± ́£¬ÐÞ ̧ÄoÍ·Ö·¢Õâ ̧öÈí1⁄4þoÍËüμÄÎÄμμ¶ø2»ÊÕÈ¡ÈÎoηÑÓã¬2¢ÇÒÎÞÐëÇ©ÊðÒò ́˶ø2úÉúμÄÖ¤Ã÷£¬Ç°ÌáÊÇÉÏÃæμİæÈ ×ばつÖ3öÏÖÔÚËùÓп1⁄2± ́ÖС£
+ <P>
+ £ ̈Permission to use, copy, modify, and distribute this software and its
+ documentation for any purpose, without fee, and without a written agreement is
+ hereby granted, provided that the above copyright notice and this paragraph and
+ the following two paragraphs appear in all copies.£©
+ <P>
+ ÔÚÈÎoÎÇé¿öÏ£¬1⁄4ÓÖÝ ́óѧ¶1⁄42»3Ðμ£ÒòÊ1Óà ́ËÈí1⁄4þ1⁄4°ÆäÎÄμμ¶øμ1⁄4ÖÂμĶÔÈÎoÎμ±ÊÂÈËμÄÖ±1⁄2ÓμÄ£¬1⁄4ä1⁄2ÓμÄ£¬ÌØÊâμÄ£¬ ̧1⁄21⁄4ÓμÄ»òÕßÏà°é¶øÉúμÄËð»μ£¬°üÀ ̈ÀûÒæËðʧμÄÔðÈΣ¬1⁄4 ́Ê11⁄4ÓÖÝ ́óѧÒÑ3⁄4­1⁄2 ̈ÒéÁËÕâЩËðʧμÄ¿ÉÄÜÐÔʱÒ2ÊÇÈç ́Ë¡£
+ <P>
+ £ ̈IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
+ DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST
+ PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+ THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+ DAMAGE.£©
+ <P>
+ 1⁄4ÓÖÝ ́óѧÃ÷È··ÅÆúÈÎoα£Ö¤£¬°üÀ ̈μ«2»3⁄4ÖÏÞÓÚÄ3Ò»ÌØ¶ ×ばつ÷ÊÇ¡±μÄ»ù ́¡μÄ£¬Òò¶ø1⁄4ÓÖÝ ́óѧûÓÐÔðÈÎÌá1©Î¬»¤£¬Ö§3Ö£¬ ̧üУ¬ÔöÇ¿»òÕßÐÞ ̧ÄμÄ·þÎñ¡£<P>£ ̈THE
+ UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT
+ NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND
+ THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE,
+ SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.£©<br>
+ <br>
+ ÉÏÃæ3⁄4ÍÊÇ BSD °æÈ ̈ÉùÃ÷£¬Ò» ̧ö3⁄4­μäμÄ¿aÔ ́°æÈ ̈ÉùÃ÷¡£Ëü¶ÔÔ ́ ́úÂëμÄÊ1ÓÃÎ ×ばつ÷ÈÎoÎÏÞÖÆ¡£ÎÒÃÇÏ2»¶Ëü2¢ÇÒ2» ́òËã ̧ıäËü¡£
+ <H4><A name="1.3"></A>1.3) PostgreSQL ÔËÐÐÔÚÊ2à ́ Unix Æ1⁄2Ì ̈ÉÏ£¿</H4>
+ <p>Ò»°ãËμÀ ́£¬Ò» ̧öÏÖ ́úμÄ UNIX 1⁄4æÈÝμÄÆ1⁄2Ì ̈¶1⁄4ÄÜÔËÐÐ PostgreSQL ×ばつ°Ö ̧ÄÏÀïÁÐ3öÁË·21ドル⁄4ʱ3⁄4­1ýÃ÷È·2âÊÔμÄÆ1⁄2Ì ̈¡£</p>
+ <H4><A name="1.4"></A>1.4) ¿ÉÓÃμÄ·Ç Unix Æ1⁄2Ì ̈ÓÐÄÄЩ£¿</H4>
+ ¿Í»§¶Ë
+ <p>°Ñ libpq C ¿â£¬psql£¬ÆäËû1⁄2Ó¿ÚoͿͻ§¶ËÓ¦ÓÃ3ÌÐò±àÒë3É¿ÉÒÔÔÚ MS Windows Æ1⁄2Ì ̈ÉÏÔËÐÐÊÇ¿ÉÄÜμÄ¡£ÕâÖÖÇé¿öÏ£¬¿Í»§¶ËÔÚ MS Windows
+ ÉÏÔËÐУ¬2¢ÇÒÍ ̈1ý TCP/IP ÓëÒ» ̧öÔËÐÐÔÚÎÒÃÇÖ§3ÖμÄ Unix Æ1⁄2Ì ̈ÉÏμÄ·þÎñÆ÷1⁄2øÐÐÍ ̈Ѷ¡£·21ドル⁄4°æ±3⁄4Öаüo¬Ò» ̧öÎÄ1⁄4þ win32.mak ÓÃÓÚÉú3É Win32
+ libpq ¿âoÍ psql ¡£PostgreSQL Ò2¿ÉÒÔoÍ ODBC ¿Í»§¶ËÍ ̈Ѷ¡£</p>
+ <p>·þÎñÆ÷</p>
+ <P>Êý3⁄4Ý¿â·þÎñÆ÷ÏÖÔÚ¿ÉÒÔÍ ̈1ý Cygwin £¬Cygnus μÄ Unix/NT ÒÆÖ2¿âÔÚ Windows NT oÍ Win2k ÉÏÔËÐС2ドルÎÔÄ·21ドル⁄4°æ±3⁄4ÀïμÄ See <i>pgsql/doc/FAQ_MSWIN</i>
+ ÎÄ1⁄4þ»ò <a href="http://www.PostgreSQL.org/docs/faq-mswin.html">http://www.PostgreSQL.org/docs/faq-mswin.html</a>
+ ¡£
+ <P>ÒÆÖ2μ1⁄2 MS Win NT/2000/XP ×ばつ÷ÕýÔÚ1⁄2øÐС£
+ <H4><A name="1.5"></A>1.5) ÎÒ ́ÓÄÄÀïÄÜμÃμ1⁄2 PostgreSQL£¿</H4>
+ <P>PostgreSQL μÄÖ÷ÄäÃûFTPÕ3⁄4μãÊÇ <a href="ftp://ftp.PostgreSQL.org/pub">ftp://ftp.PostgreSQL.org/pub</a>£¬3⁄4μÏñÕ3⁄4μã¿ÉÒÔ2ο1⁄4ÎÒÃÇÍøÕ3⁄4μÄÖ÷Ò3¡£
+ <H4><A name="1.6"></A>1.6) ÎÒ ́ÓÄÄÀïÄÜμÃμ1⁄2¶Ô PostgreSQL μÄÖ§3Ö£¿</H4>
+ <P>Ö÷ÒaμÄÓÊ1⁄4þÁбíÊÇ£o<A href="mailto:pgsql-general@postgreSQL.org">pgsql-general@postgreSQL.org</A>¡£¿ÉÒÔÔÚÄÇÀïÌÖÂÛÓÐ1Ø
+ PostgreSQL μÄÎÊÌâ¡£Òa1⁄4ÓÈëÁÐ±í£¬·¢Ò»·âÓÊ1⁄4þÄÚÈÝ£ ̈2»ÊÇÖ÷ÌâÐУ©Îa
+ <PRE>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; subscribe
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end</PRE>
+ μÄÓÊ1⁄4þμ1⁄2 <A href="mailto:pgsql-general-request@postgreSQL.org">pgsql-general-request@postgreSQL.org</A>
+ ¡£
+ <P>»1¿ÉÒÔ»ñÈ¡ÕaÒaÁÐ±í¡£Òa1⁄4ÓÈëÕâ ̧öÁÐ±í£¬·¢ÓÊ1⁄4þμ1⁄2£o<A href="mailto:pgsql-general-digest-request@postgreSQL.org">pgsql-general-digest-request@postgreSQL.org</A>£¬ÆäÄÚÈÝÎa£o
+ <PRE>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; subscribe
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end</PRE>
+ ÿμ±Ö÷Áбí ́ïμ1⁄2 ́óÔ1⁄4 30k μÄÏûÏ¢ÄÚÈÝʱ£¬ÕaÒa3⁄4Í·¢ËÍ ̧øÕâ ̧öÁбíμÄ3ÉÔ±¡£
+ <P>»1¿ÉÒÔ2Î1⁄4Ó3ô3æÓÊ1⁄4þÁÐ±í¡£Òa1⁄4ÓÈëÕâ ̧öÁÐ±í£¬·¢ËÍÒ» ̧öÓÊ1⁄4þμ1⁄2 <A href="mailto:bugs-request@postgreSQL.org">bugs-request@postgreSQL.org</A>£¬ÄÚÈÝÎa£o
+ <PRE>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; subscribe
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end</PRE>
+ »1¿ÉÒÔ2Î1⁄4Ó¿a·¢ÈËÔ±ÓÊ1⁄4þÁÐ±í¡£Òa1⁄4ÓÈëÕâ ̧öÁÐ±í£¬·¢ËÍÒ» ̧öÓÊ1⁄4þμ1⁄2 <A href="mailto:hackers-request@postgreSQL.org">hackers-request@postgreSQL.org</A>£¬ÄÚÈÝÎa£o
+ <PRE>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; subscribe
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end</PRE>
+ ÆäËûμÄ1ØÓÚ PostgreSQL ÓÊ1⁄4þÁбíoÍÆäËûÐÅÏ¢¿ÉÒÔÔÚ PostgreSQL μÄ WWW Ö÷Ò3ÕÒμ1⁄2£o <BLOCKQUOTE><A href="http://postgresql.org/">http://postgresql.org/</A></BLOCKQUOTE>
+ ÔÚ EFNet Àï»1ÓÐÒ» ̧ö IRC ÆμμÀ£¬ÆμμÀ #PostgreSQL¡£ÎÒÓà unix ÃüÁî<TT>irc -c '#PostgreSQL' "$USER"
+ irc.phoenix.net</TT>
+ <P>ÉÌÒμÖ§3Ö1«Ë3⁄4μÄÁбíÔÚ <a href="http://www.PostgreSQL.org/users-lounge/commercial-support.html">http://www.PostgreSQL.org/users-lounge/commercial-support.html</a>
+ ¡£
+ <H4><A name="1.7"></A>1.7) PostgreSQL ×ばつîÐÂμİæ±3⁄4ÊÇÊ2à ́£¿</H4>
+ PostgreSQL ×ばつîÐÂμİæ±3⁄4Êǰæ±3⁄4 7.2.3¡££ ×ばつ¢£oÏÖÔÚÓ¦ ̧ÃÊÇ 7.3.1 ÁË¡££©
+ <P>ÎÒÃÇ1⁄4Æ»®Ã¿ËÄ ̧öÔ·21ドル⁄4Ò» ̧öÖ÷Òa°æ±3⁄4¡£
+ <H4><A name="1.8"></A>1.8) ÓÐÄÄЩ¿ÉÓÃμÄ PostgreSQL μÄÎÄμμ£¿</H4>
+ ×ばつÓ¡2ドルÎ1⁄4û /doc Ä¿Â1⁄4¡££ ×ばつ¢£oÓ¦Îa $PGHOME/doc£©¡£Äã»1¿ÉÒÔÔÚÏßä ̄ÀÀ PostgreSQL
+ μÄÊÖ2ᣬÔÚ <a href="http://www.PostgreSQL.org/users-lounge/docs/">http://www.PostgreSQL.org/users-lounge/docs/</a>
+ ¡£<P>ÓÐÁ1⁄2±3⁄41ØÓÚ&nbsp;PostgreSQL μÄÊéÔÚÏßÌá1©£¬ÔÚ <a href="http://www.PostgreSQL.org/docs/awbook.html">
+ http://www.PostgreSQL.org/docs/awbook.html</a> oÍ <a href="http://www.commandprompt.com/ppbook/">
+ http://www.commandprompt.com/ppbook/</a> ¡£ÔÚ <a href="http://www.ca.PostgreSQL.org/books/">
+ http://www.ca.PostgreSQL.org/books/</a> ÉÏÓÐ1ØÓÚ PostgreSQL μÄ¿É1oÊé1⁄4®μÄÁÐ±í¡£ÔÚ <a href="http://techdocs.PostgreSQL.org/">
+ http://techdocs.PostgreSQL.org/</a>
+ ÉÏÊÕ1⁄4 ̄ÁËÓÐ1Ø PostgreSQL μÄ1⁄41⁄4ÊõÎÄÕ¡£
+ <P><I>psql</I>
+ ÓÐһЩ2» ́íμÄ \d ×ばつ÷·û£¬o ̄Êý£¬3⁄4Û1⁄4 ̄μÈμÄÐÅÏ¢¡£
+ <P>ÎÒÃÇμÄ web Õ3⁄4μã°üo¬ ̧ü¶àμÄÎÄμμ£®<H4><A name="1.9"></A>1.9)
+ ÎÒÈçoÎÁË1⁄2âÒÑÖaμÄ BUG oÍȱʧμÄÌØÐÔ£¿</H4>
+ PostgreSQL Ö§3ÖÒ» ̧öÀ©Õ1ÁËμÄ SQL-92 ×ばつÓ1⁄4 ̄¡2ドルÎÔÄÎÒÃÇμÄ <A href="http://www.postgresql.org/docs/todo.html">
+ TODO</A> <A href="http://www.postgresql.org/docs/todo.html"></A>ÁÐ±í£¬»ñȡһ ̧öÒÑÖa3ô3æ£¬È±Ê§ÌØÐÔoÍÎ ́À ́1⁄4Æ»®¡£
+ <H4><A name="1.10"></A>1.10) ÎÒÓ¦ ̧ÃÔõÑùѧϰ SQL£¿</H4>
+ ÔÚ <A href="http://www.postgresql.org/docs/awbook.html">http://www.postgresql.org/docs/awbook.html</A>
+ μÄ1ØÓÚ PostgreSQL μÄÊé1⁄2ÌÊÚ SQL¡££ ×ばつ¢£oÎÒÏÂÔØμ1⁄2±3⁄4μØÁË¡££©ÔÚ <a href="http://www.commandprompt.com/ppbook/">
+ http://www.commandprompt.com/ppbook</a> ÓÐÁíÍâÒ»±3⁄41ØÓÚ PostgreSQL μÄÊé¡£ÔÚ<a href="http://www.intermedia.net/support/sql/sqltut.shtm">http://www.intermedia.net/support/sql/sqltut.shtm</a>£¬<a href="http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM">http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM&nbsp;</a>
+ oÍ <a href="http://sqlcourse.com/">http://sqlcourse.com</a>
+ ÓÐÒ» ̧ö2» ́íμÄÈëÃÅ1⁄2Ì3Ì¡£
+ <P>ÁíÒ» ̧öÊÇ "Teach Yourself SQL in 21 Days, Second Edition"£ ̈21Ììѧ»áSQL£¬μÚ¶þ°æ£©£¬ÔÚ <A href="http://members.tripod.com/er4ebus/sql/index.htm">
+ http://members.tripod.com/er4ebus/sql/index.htm</A>
+ <P>ÎÒÃÇμÄÐí¶àÓû§Ï2»¶ <I>The Practical SQL Handbook, Bowman, Judith S., et al., Addison-Wesley ¡£ </I>
+ ÆäËûμÄÓÐ<I> The Complete Reference SQL, Groff et al., McGraw-Hill ¡£</I>
+ <H4><A name="1.11"></A>1.11) PostgreSQL ÊÇ Y2K 1⁄4æÈÝμÄÂð£¿</H4>
+ ×ばつ¿ØÖÆ 2000 AD Ö®oóoÍ 2000 BC ֮ǰμÄÈÕÆÚ¡£
+ <H4><A name="1.12"></A>1.12) ÎÒÓ¦ ̧ÃÔõÑù1⁄4ÓÈë¿a·¢¶ÓÎ飿</H4>
+ ×ばつîÐÂμÄÔ ́ ́úÂë2¢ÔĶÁÎÒÃÇ web Õ3⁄4μã»ò·21ドル⁄4°üÖÐμÄ PostgreSQL ¿a·¢ÕßÎÄμμ¡£Æä ́Σ¬1⁄4ÓÈë pgsql-hackers oÍ
+ pgsql-patches ÓÊ1⁄4þÁÐ±í¡£μÚÈý£¬Ïò pgsql-patches Ìá1⁄2» ̧ßÖÊÁ¿μÄ21¶¡3ÌÐò¡£
+ <P>ÏÖÔÚ ́ó ̧ÅÓÐÊ®1⁄4 ̧ ̧öÈËÓÐ PostgreSQL CVS 1éμμ <FONT size="-1">COMMIT</FONT> μÄÈ ̈ÏÞ¡£ËûÃǶ1⁄4ÒÑ3⁄4­Ìá1⁄2»ÁË·Ç3£¶à ̧ßÖÊÁ¿μÄ21¶¡ÁË£¬ÒÔÖÁÓÚÏÖÓÐμÄÌá1⁄2»ÈËoÜÄÑ ×ばつ࣬2¢ÇÒÎÒÃÇÏàÐÅËûÃÇÌá1⁄2»μÄ21¶¡¶1⁄4ÊÇ ̧ßÖÊÁ¿μÄ¡£<H4><A name="1.13"></A>1.13)
+ ÎÒÓ¦ ̧ÃÔõÑùÌá1⁄2»Ò» ̧öBUG± ̈ ̧棿</H4>
+ Çë·ÃÎÊ <a href="http://www.PostgreSQL.org/bugs/bugs.php">http://www.PostgreSQL.org/bugs/bugs.php</a>
+ μÄ PostgreSQL BugTool Ò3Ãæ, ÄÇÀï ̧ø3öÁËÈçoÎÌá1⁄2»Ò» ̧öBUG± ̈ ̧æμÄÖ ̧ÄÏ¡£
+ <P>ͬÑùÒ2Òa¿ ́¿ ́ÎÒÃÇμÄ ftp Õ3⁄4μã <A href="ftp://ftp.postgresql.org/pub">ftp://ftp.postgreSQL.org/pub</A>£¬¿ ́ÓÐûÓÐ ̧üÐÂμÄ
+ PostgreSQL °æ±3⁄4»ò21¶¡¡£
+ <H4><A name="1.14"></A>1.14) PostgreSQL oÍÆäËû DBMS ±ÈÆðÀ ́ÈçoΣ¿</H4>
+ ÆÀ1⁄4ÛÈí1⁄4þÓÐoÃ1⁄4 ̧ÖÖ·1⁄2· ̈£oÌØÐÔ£¬ÐÔÄÜ£¬¿É¿¿ÐÔ£¬Ö§3ÖoÍ1⁄4Û ̧ñ¡£
+ <DL>
+ <DT><B>ÌØÐÔ</B>
+ <DD>
+ PostgreSQL ÓμÓÐ ́óÐÍÉÌÓÃ DBMS
+ Àï ×ばつÓ2éÑ ̄£¬ ́\·¢Æ÷£¬ÊÓÍ1⁄4£¬Íâ1⁄4ü2ο1⁄4ÍêÕûÐÔoÍ ̧ ́ÔÓμÄËøμÈ¡£ÎÒÃÇ»1ÓÐһЩËüÃÇûÓÐμÄÌØÐÔ£¬ÈçÓû§¶ ̈ÒåÀàÐÍ£¬1⁄4Ì3У¬1æÔòoÍ¶à°æ±3⁄42¢ÐпØÖÆÒÔ1⁄4õÉÙËøμÄÕùÓÃμÈ¡£
+ <BR>
+ &nbsp; <DT><B>ÐÔÄÜ</B>
+ <DD>
+ PostgreSQL oÍÆäËûÉÌÓÃoÍ¿aÔ ́μÄÊý3⁄4Ý¿â3⁄4ßÓÐÀàËÆμÄÐÔÄÜ¡£¶ÔÄ3Щ ́¦ÀíËü±È1⁄2Ͽ죬¶ÔÆäËûһЩ ́¦ÀíËü±È1⁄2ÏÂý¡£Óë MySQL »ò ̧üÇá±ãμÄÊý3⁄4Ý¿âÏμÍ3±È1⁄2Ï£¬ÎÒÃÇÔÚ
+ insert/update ʱÂý£¬ÒòÎaÎÒÃÇÓÐÊÂÎñ ́¦Àí¡£μ±È» MySQL 2»3⁄4ßÓÐÎÒÃÇÔÚÉÏÃæμÄ<I>ÌØÐÔ </I>¶ÎÀï ̧ø3öμÄÈÎoÎÌØÐÔ¡£ÎÒÃÇμÄÖ÷Òa·1⁄2ÏòÊǿɿ¿ÐÔoÍÌØÐÔ£¬3⁄4¡1ÜÎÒÃÇÔÚÿ ́η21ドル⁄4ʱ2»¶ÏμØ ̧Ä1⁄2øÐÔÄÜ¡£ÓÐÒ» ̧öoÜÓÐȤμÄÍøÒ3±È1⁄2ÏÁË
+ PostgreSQL oÍ MySQL <A href="http://openacs.org/why-not-mysql.html">http://openacs.org/why-not-mysql.html</A>¡£<br>
+ <DT><B>¿É¿¿ÐÔ</B>
+ <DD>
+ ÎÒÃÇÖaμÀ DBMS ×ばつöμ1⁄2·21ドル⁄43⁄4­1ýÈÏÕæ2âÊÔμÄ£¬Îȶ ×ばつîÉÙμÄ ́úÂ롣ÿ ̧ö°æ±3⁄4ÖÁÉÙÓÐÒ» ̧öÔÂμÄ beta
+ 2âÊÔ£¬2¢ÇÒÎÒÃÇμÄ·21ドル⁄4ÀúÊ·ÏÔÊ3⁄4ÎÒÃÇ¿ÉÒÔÌá1©Îȶ ̈μÄ£¬ÀÎ1ÌμÄ£¬¿ÉÓÃÓÚÉú2úÊ1ÓÃμİæ±3⁄4¡£ÎÒÃÇÏàÐÅÔÚÕâ·1⁄2ÃæÎÒÃÇÓëÆäËûμÄÊý3⁄4Ý¿âÈí1⁄4þÊÇÏàμ±μÄ¡£
+ <BR>
+ &nbsp; <DT><B>Ö§3Ö</B>
+ <DD>
+ ÎÒÃÇμÄÓÊ1⁄4þÁбíÌá1©Ò» ̧ö·Ç3£ ́óμÄ¿a×ばつéÒÔ°ïÖú1⁄2â3⁄4öËùÅöμ1⁄2μÄÈÎoÎÎÊÌâ¡£ÎÒÃÇ2»Äܱ£Ö¤¿Ï¶ ̈ÄÜ1⁄2â3⁄4öÎÊÌ⣬Ïà±È֮ϣ¬ÉÌÓà DBMS
+ ×ばつÜÄÜ1»Ìá1©1⁄2â3⁄4ö·1⁄2· ̈¡£Ö±1⁄2ÓÓë¿a·¢ÈËÔ±£¬Óû§Èo£¬ÊÖ2áoÍÔ ́3ÌÐò1⁄2Ó ́\Áî PostgreSQL μÄÖ§3Ö±ÈÆäËû DBMS
+ »1Òa×ばつ°μÄÖ§3Ö£¬¿ÉÒÔ ̧øÌá1© ̧øÄÇЩÐèÒaμÄÈË¡££ ̈2ÎÔÄÖ§3Ö FAQ Ìõ¿î 1.6 С1⁄2Ú¡££©
+ <BR>
+ &nbsp; <DT><B>1⁄4Û ̧ñ</B>
+ <DD>
+ ÎÒÃǶÔÈÎoÎÓÃÍ3⁄4¶1⁄4Ãâ·Ñ£¬°üÀ ̈ÉÌÓÃoÍ·ÇÉÌÓÃÄ¿μÄ¡£Äã¿ÉÒÔ2»1⁄4ÓÏÞÖÆμØÏòÄãμÄ2úÆ·Àï1⁄4ÓÈëÎÒÃÇμÄ ́úÂ룬3ýÁËÄÇЩÎÒÃÇÔÚÉÏÃæμİæÈ ̈ÉùÃ÷ÀïÉùÃ÷μÄ BSD ·ç ̧ñμİæÈ ̈Íâ¡£
+ </DL>
+ <h4><a name="1.15"></a>1.15) ÎÒÓ¦ ̧ÃÔõÑùÔÞÖú PostgreSQL £¿</h4>
+ <p&g×ばつÔ ́Ó1996Äê¿aÊ1⁄4£¬PostgreSQL
+ ÒÑ3⁄4­ÓÐÁËÒ» ×ばつéÖ ̄¡£ÕâЩӦ ̧Ã1é1¦ÓÚ Marc
+ Fournier£¬ÊÇËû ́ ́1⁄2 ̈ÁË2¢ÔÚÕâЩÄêÒ»Ö±1ÜÀíÕâ ×ばつéÖ ̄¡£</p>
+ <p>¶ÔÓÚÒ» ̧ö¿aÔ ́ÏîÄ¿À ́Ë죬ÖÊÁ¿»ù ́¡ÉèÊ©ÊÇ·Ç3£ÖØÒaμÄ¡£ËüÄÜ·ÀÖ13öÏÖÑÏÖØÑÓ3ÙÏîĿǰ1⁄2øμÄ»ìÂÒ¡£</p>
+ <p>ÏÔÈ»£¬Õâ ×ばつéÖ ×ばつa3ɱ3⁄42»·Æ¡£Î¬3ÖÆäǰ1⁄2øÓÐ ̧÷ÖÖÔ¶ÈμÄ¡¢Ò» ́ÎÐÔμÄ¿aÖ§¡£Èç1ûÄã»òÕßÄãμÄ1«Ë3⁄4ÄÜ1⁄2øÐÐ3⁄4èÔùÒÔÖ§3ÖÕâÏîÊÂÒ죬Çë·ÃÎÊ <a href="http://store.pgsql.com/shopping/">
+ http://store.pgsql.com/shopping/</a> 1⁄2øÐÐ3⁄4èÔù¡£</p>
+ <p>ËäÈ» ̧ÃÍøÒ3Ìá1⁄4°ÁË PostgreSQL 1«Ë3⁄4£¬ÕâЩ3⁄4èÔù1⁄2«1⁄2öÓÃÓÚÖ§3Ö PostgreSQL
+ ×ばつÊÖúû ̧öÌØ¶ ̈μÄ1«Ë3⁄4¡£Èç1ûÄãÔ ̧Ò⣬Ò2¿ÉÒÔÓÊ1⁄4Ä֧Ʊμ1⁄2ÁaÏμμØÖ·¡£</p>
+ <HR>
+ <CENTER>
+ <H2>Óû§¿Í»§¶ËÎÊÌâ</H2>
+ </CENTER>
+ <H4><A name="2.1"></A>2.1) ÓÐ PostgreSQL μÄ ODBC Çý¶ ̄à ́£¿</H4>
+ ÓÐÁ1⁄2 ̧ö ODBC Çý¶ ̄¿ÉÒÔ»ñμã¬PsqlODBC oÍ OpenLink ODBC.<P>¿ÉÒÔÔÚ<a href="http://gborg.postgresql.org/project/psqlodbc/projdisplay.php">http://gborg.postgresql.org/project/psqlodbc/projdisplay.php</a>
+ ÏÂÔØ PsqlODBC ¡£
+ <P>OpenLink ODBC ¿ÉÒÔ ́Ó <A href="http://www.openlinksw.com/">http://www.openlinksw.com/</A>
+ ×ばつ1⁄4 ODBC ¿Í»§¶ËÈí1⁄4þ1⁄4æÈÝ£¬Òò¶øÄã¿ÉÒÔÔÚÈÎoÎËûÃÇÖ§3ÖμĿͻ§¶ËÆ1⁄2Ì ̈£ ̈Win, Mac, Unix, VMS£©ÉÏÊ1Óà PostgreSQL
+ ODBC¡£
+ <P>ËûÃÇ¿ÉÄÜ1⁄2«Õâ ̧ö2úÆ·ÏúÊÛ ̧øÄÇЩÐèÒa×ばつÜÊÇÓÐÒ» ̧ö freeware £ ×ばつÔÓÉÈí1⁄4þ£©μİæ±3⁄4¿ÉÒÔμÃμ1⁄2¡£ÇëÑ ̄ÎÊ <A href="mailto:postgres95@openlink.co.uk">
+ postgres95@openlink.co.uk</A>¡£
+ <H4><A name="2.2"></A>2.2) ÓÐÊ2à ́1¤3⁄4ß¿ÉÒÔ°Ñ PostgreSQL ÓÃÓÚ Web Ò3Ãæ£¿</H4>
+ Ò» ̧ö1⁄2éÉÜÒÔÊý3⁄4Ý¿âÎaoóÌ ̈μÄͦ2» ́íμÄ Õ3⁄4μãÊÇ£o<a href="http://www.webreview.com">http://www.webreview.com</a>
+ ¡£
+ <P>¶ÔÓÚ Web 1⁄4 ̄3É£¬PHP ÊÇÒ» ̧ö1⁄4«oÃμÄ1⁄2Ó¿Ú¡£ËüÔÚ£o<A href="http://www.php.net/">http://www.php.net/</A>
+ ¡£
+ <P>¶ÔÓÚ ̧ ́ÔÓμÄÈÎÎñ£¬oܶàÈË2ÉÓà Perl 1⁄2Ó¿ÚoÍ CGI.pm »ò mod_perl ¡£
+ <H4><A name="2.3"></A>2.3) PostgreSQL ÓμÓÐÍ1⁄4ÐÎÓû§1⁄2çÃæÂð£¿</H4>
+ ÊÇμÄ¡£ÓÐ1⁄4 ̧ ̧öÊÊÓÃÓÚ PostgreSQL μÄÍ1⁄4ÐÎ1⁄2Ó¿Ú¡£°üÀ ̈PgAccess£ ̈<a href="http://www.pgaccess.com">http://www.pgaccess.com</a>)£¬PgAdmin
+ II £ ̈<a href="http://www.pgadmin.org">http://www.pgadmin.org</a>£¬1⁄2öÊÊÓÃÓÚWin32£©£¬
+ RHDB Admin (<a href="http://sources.redhat.com/rhdb/">http://sources.redhat.com/rhdb/</a>£©
+ ÒÔ1⁄4° Rekall £ ̈<a href="http://www.thekompany.com/products/rekall/">http://www.thekompany.com/products/rekall/</a>£¬
+ ×ばつ ̈ÓÐμÄ/proprietary)¡£»1ÓÐPHPPgAdmin £ ̈<a href="http://phppgadmin.sourceforge.net/">http://phppgadmin.sourceforge.net/£©</a>
+ £¬Ò» ̧ö»ùÓÚ web μÄ PostgreSQL ·ÃÎÊ1⁄2Ó¿Ú¡£
+ <p>ÎÒÃÇÓÐÒ» ̧ö2» ́íμÄÍ1⁄4ÐÎÓû§1⁄2çÃæ£¬3ÆÎa PgAccess ×ばつ÷± ̈±íÉú3ÉÆ÷¡£ÍøÒ3ÊÇ <a href="http://www.pgaccess.org/">http://www.pgaccess.org/</a>¡£</p>
+ <H4><A name="2.4"></A>2.4) ÎÒÃÇ¿ÉÒÔÓÃÊ2à ́ÓïÑÔoÍ PostgreSQL ́ò1⁄2»μÀ£¿</H4>
+ <p> ́ó¶àÊýÁ÷ÐÐμıà3ÌÓïÑÔ¶1⁄4ÓзÃÎÊ PostgreSQL μÄ1⁄2Ó¿Ú¡£Çë1⁄4ì2é±à3ÌÓïÑÔμÄÀ©Õ1Ä£¿éÁÐ±í¡£</p>
+ <p>PostgreSQL ·21ドル⁄4°üÖаüo¬ÁËÒÔÏÂ1⁄2Ó¿Ú£o</p>
+ <ul>
+ <li>
+ C (libpq)
+ <li>
+ Embedded C (ecpg)
+ <li>
+ Java (jdbc)
+ <li>
+ Python (PyGreSQL)
+ <li>
+ TCL (libpgtcl)</li>
+ </ul>
+ <p>ÆäËûμÄ1⁄2Ó¿ÚÔÚ <a href="http://gborg.postgresql.org">http://gborg.postgresql.org</a> ÉÏμÄ <i>Drivers/Interfaces</i>
+ С1⁄2Ú¡£</p>
+ <HR>
+ <CENTER>
+ <H2>ÏμÍ31ÜÀíÎÊÌâ</H2>
+ </CENTER>
+ <H4><A name="3.1"></A>3.1) ÎÒÔõÑùÄÜ°Ñ PostgreSQL ×ばつ°ÔÚ /usr/local/pgsql ÒÔÍâμÄμØ·1⁄2£¿</H4>
+ <p>ÔÚÔËÐÐ configure ʱ1⁄4ÓÉÏ --prefix Ñ¡Ïî¡£</p>
+ <H4><A name="3.2"></A>3.2) μ±ÎÒÔËÐÐ postmaster ʱ£¬3öÏÖ<I> Bad System Call</I>£ ̈ÏμÍ3μ÷Óà ́í£©»ò Core
+ Dumped ́íÎó¡£ÎaÊ2à ́£¿</H4>
+ <p&g×ばつ÷ÏμÍ3oËÐÄÊÇ·ñÖ§3Ö System V À©Õ1¡£PostgreSQL ÐèÒaÄÚoËÖ§3Ö12ÏíÄÚ ́æoÍÐÅoÅμÆ¡£</p>
+ <H4><A name="3.3"></A>3.3) μ±ÎÒÊÔÍ1⁄4ÔËÐÐ postmaster ʱ£¬3öÏÖ <I>IpcMemoryCreate</I> ́íÎó¡£ÎaÊ2à ́£¿</H4>
+ ÄãÒaà ́ÊÇûÓÐÔÚÄÚoËÀïÕýÈ·ÅäÖÃ12ÏíÄÚ ́棬Òaà ́ÊÇÄãÐèÒaÀ© ́óÄãμÄÄÚoËμÄ¿ÉÓÃ12ÏíÄÚ ́æ¡£ÐèÒaμÄ12ÏíÄÚ ́æ3⁄4ßÌåμÄÊýÁ¿È¡3⁄4öÓÚÄãμÄÌåÏμ1⁄2á11oÍÄãÅäÖÃÄãμÄ postmaster
+ ÔËÐÐʱÊ1ÓÃμÄ»o3åÇøoÍoó¶Ë1⁄2ø3ÌÊýÄ¿¡£¶Ô ×ばつîÉÙÐèÒa~1MB¡£ÓÐ1Ø12ÏíÄÚ ́æoÍÐÅoÅμÆμÄÏêÏ ̧ÐÅÏ¢Çë2ο1⁄4 <a href="http://www.postgresql.org/idocs/index.php?kernel-resources.html">
+ PostgreSQL Administrator's Guide</a> ¡£
+ <H4><A name="3.4"></A>3.4) μ±ÎÒÊÔÍ1⁄4ÔËÐÐ postmaster ʱ£¬3öÏÖ <I>IpcSemaphoreCreate</I> ́íÎó¡£ÎaÊ2à ́£¿</H4>
+ <p>Èç1û ́íÎóÐÅÏ¢ÊÇ <I>IpcSemaphoreCreate: semget failed (No space left on device)</I>£¬ÄÇà ×ばつÊÔ ́¡£Postgres
+ μÄÿ ̧öDZÔÚμÄoóÌ ̈1⁄2ø3̶1⁄4ÐèÒaÒ» ̧öÐÅoÅμÆ¡£Ò» ̧öÁÙʱμÄ1⁄2â3⁄4ö·1⁄2· ̈ÊÇÒÔ±È1⁄2ÏÉÙμÄoóÌ ̈1⁄2ø3ÌÊý£ ̈2ÎÊý£©Æô¶ ̄ postmaster¡£Ê1Óÿa1Ø <I>-N</I> ́øÒ» ̧öÉÙÓÚȱʡÖμ
+ 32 μÄ2ÎÊýÔËÐÐ postmaster¡£ ̧ü3¤3⁄4ÃμÄ1⁄2â3⁄4ö·1⁄2· ̈ÊÇ1⁄4Ó ́óÄãμÄÄÚoËμÄ <FONT size="-1">SEMMNS</FONT> oÍ <FONT size="-1">
+ SEMMNI</FONT> 2ÎÊý¡£</p>
+ <p>ÔÚÊý3⁄4Ý¿â·ÃÎÊÁ¿oÜ ́óʱ£¬ÐÅoÅμÆ2»¿ÉÓÿÉÄÜμ1⁄4ÖÂÏμÍ3±ÀÀ£¡£</p>
+ <P>Èç1û ́íÎóÐÅÏ¢ÊÇÆäËûμÄÊ2à ́¶«Î÷£¬Äã¿ÉÄÜ3⁄4Í ̧ù±3⁄4ûÓÐÔÚÄÚoËÀïÃæÅäÖÃÐÅoÅμÆÖ§3Ö¡£ÓÐ1Ø12ÏíÄÚ ́æoÍÐÅoÅμÆμÄÏêÏ ̧ÐÅÏ¢Çë2ο1⁄4 <a href="http://www.postgresql.org/idocs/index.php?kernel-resources.html">
+ PostgreSQL Administrator's Guide</a> ¡£<H4><A name="3.5"></A>3.5)
+ ÎÒÈçoοØÖÆÀ ×ばつÔÆäËûÖ÷»úμÄÁ¬1⁄2Ó£¿</H4>
+ <p>ȱʡʱ£¬PostgreSQL Ö»ÔÊÐíÍ ̈1ý unix ×ばつÖÀ ×ばつÔ±3⁄4»úμÄÁ¬1⁄2Ó¡3ドルý·ÇÄãÊ1Óà <I>-i</I> ¿a1ØÆô¶ ̄ <I>postmaster</I>£¬<B>2¢ÇÒ</B>Í ̈1ý¶ÔÓ¦μıà1⁄4­
+ <I>$PGDATA/pg_hba.conf</I> ÎÄ1⁄4þ ́ò¿aÁËÖ÷»úÎa»ù ́¡£ ̈ host-based £©μÄÈÏÖ¤£¬·ñÔòÆäËû»úÆ÷ÊÇ2»ÄÜÓëÄãμÄ»úÆ÷Á¬1⁄2ÓμÄ¡£ÕâÑù1⁄2«ÔÊÐí
+ TCP/IP Á¬1⁄2Ó¡£</p>
+ <H4><A name="3.6"></A>3.6) ÎÒÔõÑùμ÷ÕûÊý3⁄4Ý¿âÒýÇæÒÔ»ñμà ̧üoÃμÄÐÔÄÜ£¿</H4>
+ <p>μ±È»£¬Ë÷Òý¿ÉÒÔ1⁄4ÓËÙ2éÑ ̄¡£<FONT size="-1">EXPLAIN</FONT> ÃüÁîÔÊÐíÄã1Û2ì PostgreSQL
+ ÈçoÎ1⁄2âÊÍÄãμÄ2éÑ ̄£¬ÒÔ1⁄4°Ê1ÓÃÁËÄÄЩË÷Òý¡£</p>
+ <P>Èç1ûÄãÕý ́¦ÀíÒ»¶Ñ <FONT size="-1">INSERT</FONT>£¬¿1⁄4ÂÇÊ1Óà <FONT size="-1">COPY</FONT> ÃüÁîÒÔ ×ばつö±Èμ\¶ÀμÄÒ» ̧ö ̧ö
+ <FONT size="-1">INSERT </FONT>¿ìμöࡣÆä ́Σ¬Ã»ÓÐ ́¦ÓÚ <FONT size="-1">BEGIN WORK/COMMIT</FONT>
+ ÊÂÎñ¿éÖ®1⁄4äμÄÓï3⁄4ä±»ÈÏÎaÊôÓÚͬһ ×ばつÅÔÚÒ» ̧öÊÂÎñ¿éÀïÃæ ́¦Àí ̧ü¶àμÄÓï3⁄4ä¡£ÕâÑù¿ÉÒÔ1⁄4õÉÙÊÂÎñ ́øÀ ́μĶîÍâ¿a×ばつö ́óÁ¿μÄÊý3⁄4Ý ̧ıäʱ¿1⁄4ÂÇÉ3⁄43ýoÍÖØ1⁄2 ̈Ë÷Òý¡£
+ <P>»1ÓÐ1⁄4 ̧ ̧öμ÷1⁄2ÚμÄÑ¡Ïî¿ÉÒÔÊ1Óá£Äã¿ÉÒÔÍ ̈1ý ́ø <I>-o -F</I> Ñ¡ÏîÆô¶ ̄ postmaster À ́1⁄2ûÖ1 fsync()¡£ÕâÑù1⁄2«±ÜÃâÿ ́ÎÊÂÎñoóμ÷Óà <I>fsync()
+ </I>
+ °ÑÊý3⁄4ÝË¢ÐÂμ1⁄2 ́ÅÅÌÉÏ¡£
+ <P>
+ Äã»1¿ÉÒÔÊ1Óà postmaster -B Ñ¡ÏîÔö1⁄4Óoó¶Ë1⁄2ø3ÌÊ1ÓÃμÄ12ÏíÄÚ ́æ»o3åμÄÊýÄ¿¡£Èç1ûÄã°ÑÕâ ̧ö2ÎÊýÉèÖÃμÃÌ« ́ó£¬postmaster
+ ¿ÉÄÜÎÞ· ̈Æô¶ ̄£¬ÒòÎaÄãÒÑ3⁄4­3¬1ýÁËÄãμÄÄÚoËÔÚ12ÏíÄÚ ́æ¿Õ1⁄4äÉÏμÄÏÞÖÆ¡£Ã¿ ̧ö»o3åÇøÊÇ 8K 2¢ÇÒȱʡ 64 ̧ö»o3åÇø¡£<P>
+ Äã»1¿ÉÒÔÊ1ÓÃoóÌ ̈1⁄2ø3ÌμÄ -S Ñ¡ÏîÀ ́Ôö1⁄4Óÿ ̧öoóÌ ×ばつî ́óÄÚ ́æÊýÁ¿¡£-S ×ばつÖ1⁄2Ú1⁄4ÆμÄ£¬È±Ê¡ÊÇ 512 £ ̈Ò23⁄4ÍÊÇË죬512K£©¡£<P>Äã»1¿ÉÒÔÊ1Óà <FONT size="-1">
+ CLUSTER</FONT> ÃüÁîÀ ́°Ñ±íÀïμÄÊý3⁄4ݰ ́ÕÕÄ3 ̧öË÷Òý1⁄2øÐÐ3⁄4Û1⁄4 ̄ ́æ·Å¡2ドルÎÔÄ CLUSTER μÄÊÖ2áÒ3»ñÈ¡ ̧ü¶àÏ ̧1⁄2Ú¡£
+ <H4><a name="3.7"></a>3.7) PostgreSQL Àï¿ÉÒÔ»ñμÃÊ2à ́ÑùμÄμ÷ÊÔÌØÐÔ£¿</H4>
+ <p>PostgreSQL ÓÐ1⁄4 ̧ ̧öÌØÐÔÓÃÓÚ± ̈ ×ばつ ̬́ÐÅÏ¢£¬ÕâЩÐÅÏ¢¿ÉÄܶÔμ÷ÊÔÓÃÍ3⁄4oÜÓаïÖú¡£</p>
+ <P&g×ばつÏÈ£¬Í ̈1ý ̧1⁄2 ́ø --enable-cassert Ñ¡ÏîÔËÐÐ configure£¬ÓÐoܶà <I>assert()</I>
+ 1⁄4à¿ØoóÌ ̈1⁄2ø3ÌoÍÔÚ·¢ÉúÄ3ЩΠ́ÔøÔ¤ÁÏμÄÏÖÏóʱͣÖ13ÌÐòÔËÐС£
+ <P>postmaster oÍ postgres ×ばつÏÈ£¬μ±ÄãÆô¶ ̄ postmaster
+ ×ばつ1⁄4 ́íÎóÊä3ö¶ ̈Ïòμ1⁄2ÁËÒ» ̧öÈÕÖ3⁄4ÎÄ1⁄4þÀïÈ\ÁË£¬Ïó£o
+ <PRE>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd /usr/local/pgsql
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ./bin/postmaster &gt;server.log 2&gt;&amp;1 &amp;</PRE>
+ ÕâÑù1⁄2«ÔÚ PostgreSQL ¶1円⁄4¶Ä¿Â1⁄4ÏÂÊä3öÒ» ̧ö server.log ÎÄ1⁄4þ¡£Õâ ̧öÎÄ1⁄4þ°üo¬·þÎñÆ÷Åöμ1⁄2μÄÎÊÌâoÍ ́íÎóμÄÓÐÓÃÐÅÏ¢¡£postmaster ÓÐÒ» ̧ö
+ -d Ñ¡Ï ̧ÃÑ¡ÏîÔÊÐíÎÒÃÇ»ñμà ̧ü¶àμÄÏ ̧1⁄2ڻ㱠̈¡£-d Ñ¡Ïî1⁄2ÓÊÜÒ» ×ばつÖ±êÃ÷μ÷ÊÔ1⁄4¶±ð¡£ÐèÒa3⁄4 ̄ ̧æμÄÊÇ ̧ßμÄμ÷ÊÔ1⁄4¶±ð¿ÉÄÜ»áÉú3É3⁄4Þ ́óμÄÈÕÖ3⁄4ÎÄ1⁄4þ¡£<P>Èç1û postmaster
+ ûÓÐÔËÐУ¬Äã¿ÉÒÔÖ±1⁄2ÓÔÚÃüÁîÐÐÉÏÆô¶ ̄ postgres oóÌ ̈1⁄2ø3Ì£¬È»oóÖ±1⁄2Ó1⁄4üÈë SQL Óï3⁄4ä¡£ÎÒÃÇ<B>Ö»</B>
+ ÍÆ1⁄4öÔÚμ÷ÊÔμÄʱoòÕâà ́ ×ばつ¢ÒâÕâʱÓû»ÐÐÜÞ¶ø2»ÊÇ·ÖoűíÊ3⁄4Óï3⁄4ä1⁄2áÎ2¡£Èç1ûÄã ×ばつÅμ÷ÊÔ·ûoűàÒ룬Äã¿ÉÒÔÊ1ÓÃÒ» ̧öμ÷ÊÔÆ÷1Û¿ ́·¢ÉúÁËÊ2à ́ÊÂÇé¡£ÒòÎaoóÌ ̈1⁄2ø3ÌûÓÐÓÉ
+ postmaster Æô¶ ̄μÄ£¬Ëü2»ÊÇoÍÊμ1⁄4ÊμÄÔËÐл·3⁄43Ò»Ö£¬¶øÇÒËø¶ ̈/oóÌ ̈1⁄2»»\ÎÊÌâ¿ÉÄÜ2»ÄÜÖØÏÖ¡£
+ <P>Èç1û postmaster ÒÑ3⁄4­ÔËÐУ¬¿ÉÔÚÒ» ̧ö ́°¿ÚÖÐÆô¶ ̄ <I>psql</I>£¬È»oóÕÒ3ö <I>psql</I> ¶ÔÓ¦μÄ <I>postgres</I> 1⁄2ø3ÌμÄ
+ <FONT size="-1">PID</FONT>¡£Ê1ÓÃÒ» ̧öμ÷ÊÔÆ÷ ×ばつÅÔÚÕâ ̧ö <I>postgres </I><FONT size="-1">PID</FONT>
+ ÉÏ¡£Äã¿ÉÒÔÔÚμ÷ÊÔÆ÷ÀïÉèÖöÏμã2¢ÇÒ ́Ó <I>psql</I> ÀïÖ ́ÐÐ2éÑ ̄¡£Èç1ûÄãÔÚμ÷ÊÔ <I>postgres</I> μÄÆô¶ ̄£¬Äã¿ÉÒÔÉèÖÃ
+ PGOPTIONS="-W n"£¬È»oóÆô¶ ̄ <I>psql</I>¡£ÕâÑù1⁄2«μ1⁄4ÖÂÆô¶ ̄ÑÓ3Ù <I>n</I>
+ Ã룬ÕâÑùÄã3⁄4Í¿ÉÒÔ ̧1⁄21⁄4ÓÒ» ̧öμ÷ÊÔÆ÷2¢ÇÒ ×ばつÙÆô¶ ̄Ë3ÐòμÄ1ý3Ì¡£
+ <P>
+ postgres 3ÌÐòÓÐ -s£¬-A£¬oÍ -t Ñ¡Ïî¿ÉÄÜÔÚμ÷ÊÔoÍÐÔÄÜ2âÁ¿μÄʱoò·Ç3£ÓÐÓá£
+ <P>Äã»1¿ÉÒÔ ́ø profiling Ö§3Ö±àÒëoóÌ ̈£¬ÒÔ±ã1Û2ìÄÄЩo ̄ÊýÕ1⁄4ÓÃμÄÖ ́ÐÐʱ1⁄4ä1⁄2϶ࡣprofile ÎÄ1⁄4þ1⁄2«·ÅÔÚ pgsql/data/base/dbname
+ Ä¿Â1⁄4Ï¡£¿Í»§¶Ë profile ÎÄ1⁄4þ1⁄2«·ÅÔÚ¿Í»§¶Ëμ±Ç°Ä¿Â1⁄4Ï¡£ÔÚ Linux ÏÂÖ§3Ö profiling ÒaÔÚ±àÒëʱ1⁄4ÓÉÏ<i>-DLINUX_PROFILE </i>
+ ¡£<H4><a name="3.8"></a>3.8)
+ ÎaÊ2à ́ÔÚÊÔÍ1⁄4Á¬1⁄2ÓμÇÂ1⁄4ʱÊÕμ1⁄2¡°Sorry, too many clients¡±ÏûÏ¢£¿</H4>
+ <p>ÄãÐèÒaÔö ́ó postmaster Æô¶ ̄ʱ֧3ÖμÄ2¢·¢oóÌ ̈1⁄2ø3ÌÊý¡£</p>
+ <P>ȱʡÏÞÖÆÊÇ 32 1⁄2ø3Ì¡£Äã¿ÉÒÔÍ ̈1ý ×ばつÅÊÊμ±μÄ <I>-N</I> Öμ¿a1ØÆô¶ ̄ postmaster Ôö1⁄4ÓÕâ ̧öÊýÄ¿¡£»òÕßÐÞ ̧Ä <i>postgresql.conf</i>
+ ÎÄ1⁄4þ¡£
+ <P>Òa×ばつ¢ÒâÈç1ûÄã°Ñ <I>-N</I> ÉèÖÃÎa ́óÓÚ 32£¬Äã±ØÐëͬÑùÔö ́ó <I>-B</I>£¬3¬1ýËüȱʡμÄ 64£»-B ×ばつîÉÙÊÇ -N
+ μÄÁ1⁄2±¶£¬¶øÇÒÎaÁË ̧üoÃμÄÐÔÄÜ¿ÉÄÜÒa±ÈÄÇ ×ばつÖÒa ́ó¡£¶ÔÓÚ ́óÊýÄ¿μÄoó¶Ë1⁄2ø3Ì£¬Äã¿ÉÄÜ»1»á·¢ÏÖÄã»1ÐèÒaÔö1⁄4ÓÐí¶à Unix
+ ÄÚoËÅäÖÃ2ÎÊýÖμ¡£Òa1⁄4ì2éμĶ«Î÷°üÀ ̈12ÏíÄÚ ×ばつî ́ó3ß ́磬<FONT size="-1">SHMMAX</FONT&g×ばつî ́óÊýÄ¿£¬<FONT size="-1">SEMMNS</FONT>
+ oÍ <FONT size="-1">SEMMNI</FONT&g×ばつî ́óμÄ1⁄2ø3ÌÊý£¬<FONT size="-1">NPROC</FONT&g×ばつî ́ó1⁄2ø3ÌÊý£¬<FONT size="-1">MAXUPRC</FONT>£¬ÒÔ1⁄4° ́ò¿a×ばつî ́óÊýÄ¿£¬<FONT size="-1">NFILE</FONT>
+ oÍ <FONT size="-1">NINODE</FONT>
+ ¡£Postgres ¶ÔÔÊÐíμÄoóÌ ̈1⁄2ø3ÌÊýÓÐÏÞÖÆμÄÔ­ÒòÊÇÎa×ばつÊÔ ́¡£<P>ÔÚ Postgres ÔçÓÚ 6.5 ×ばつî ́óoóÌ ̈1⁄2ø3ÌÊýȱʡÊÇ
+ 64£¬2¢ÇÒ¶ÔËüμÄÐÞ ×ばつÏÈÐèÒaÐÞ ̧Ä <I>include/storage/sinvaladt.h</I> ÀïμÄ MaxBackendId 3£Á¿£¬È»oóÖØÐÂ
+ BUILD¡£
+ <H4><a name="3.9"></a>3.9) pgsql_tmp Ä¿Â1⁄4Àï¶1⁄4ÓÐЩÊ2à ́£¿</H4>
+ <p> ̧ÃÄ¿Â1⁄4ϱ£ ́æÁË2éÑ ̄Ö ́ÐÐÆ÷Éú3ÉμÄÁÙʱÎÄ1⁄4þ¡£ÀýÈ磬Èç1ûÐèÒaÎa×ばつã <FONT size="-1">ORDER BY</FONT> ×ばつöÅÅÐò£¬2¢ÇÒÅÅÐòÐèÒa±ÈoóÌ ̈μÄ
+ -S 2ÎÊý ̧ø3öμÄ ̧ü¶àμÄ¿Õ1⁄4䣬ÄÇà ́3⁄4Í»á ́ ́1⁄2 ̈Ò» ̧öÁÙʱÎÄ1⁄4þ±£ ́æ¶à3öÀ ́μÄÊý3⁄4Ý¡£</p>
+ <P>ÁÙʱÎÄ1⁄4þÓ¦ ×ばつÔ¶ ̄É3⁄43ý£¬2»1ýÈç1ûÔÚÅÅÐò1ý3ÌÖÐoóÌ ̈±ÀÀ£ÁË3⁄4Í¿ÉÄÜÁôÏÂÀ ́¡£Í£Ö12¢ÖØÆð postmaster 1⁄2«»áÉ3⁄43ýÕâЩÎÄ1⁄4þ¡£
+ <BR>
+ <h4><a name="3.10"></a>3.10) ÎaÊ2à ́ÒaÔÚÉý1⁄4¶ PostgreSQL ×ばつö dump oÍ restore £¿</h4>
+ <p>
+ PostgreSQL ¿a×ばつé¶Ôÿ ×ばつöÁË1⁄2ÏÉÙμÄÐÞ ̧Ä,Òò ́Ë ́Ó 7.2 Éý1⁄4¶μ1⁄2 7.2.1 2»ÐèÒa dump oÍ restore¡£μ«ÊÇÖ÷ÒaμÄÉý1⁄4¶£ ̈ÀýÈç ́Ó
+ 7.2 μ1⁄2 7.3£©Í ̈3£»áÐÞ ̧ÄÏμÍ3±íoÍÊý3⁄4ݱíμÄÄÚ2¿ ̧ñÊ1⁄2¡£ÕâЩ±ä» ̄Ò»°ã±È1⁄2Ï ̧ ́ÔÓ£¬Òò ́ËÎÒÃÇ2»Î¬Êý3⁄4ÝÎÄ1⁄4þμÄÏòoó1⁄4æÈÝ¡£dump
+ 1⁄2«Êý3⁄4ݰ ́ÕÕÍ ̈ÓÃμÄ ̧ñÊ1⁄2Êä3ö£¬Ëæoó¿ÉÒÔ±»ÖØÐÂ1⁄4ÓÔØ2¢Ê1ÓÃÐÂμÄÄÚ2¿ ̧ñÊ1⁄2¡£</p>
+ <p>
+ ́ÅÅÌÎÄ1⁄4þ ̧ñÊ1⁄2ûÓÐ±ä» ̄μÄÉý1⁄4¶£¬¿ÉÒÔÓà <i>pg_upgrade</i> 1⁄2ű3⁄4£¬¶ø2»ÐèÒa×ばつö dump oÍ restor¡£·21ドル⁄4ËμÃ÷script »áÖ ̧Ã÷ <i>pg_upgrade</i>
+ ¶Ô ̧à ́ÎÉý1⁄4¶ÊÇ·ñ¿ÉÓá£</p>
+ <P>
+ <HR>
+ <CENTER>
+ <H2&g×ばつ÷ÎÊÌâ</H2>
+ </CENTER>
+ <H4><A name="4.1"></A>4.1)
+ ¶þ1⁄2øÖÆÓαêoÍÆÕÍ ̈ÓαêÖ®1⁄4äμÄÇø±ðÊÇÊ2à ́£¿</H4>
+ 2ÎÔÄ <FONT size="-1">DECLARE</FONT> ÊÖ2áÒ3»ñÈ¡ÐÅÏ¢¡£
+ <H4><a name="4.2"></a>4.2)ÈçoÎÖ» <FONT size="-1">SELECT</FONT> Ò» ̧ö2éÑ ̄1⁄2á1ûμÄÍ·1⁄4 ̧ÐУ¿</H4>
+ 2ÎÔÄ <FONT size="-1">FETCH</FONT>
+ ÊÖ2áÒ3£¬»òÕßÊ1Óà SELECT ... LIMIT....
+ <P>1⁄4 ́Ê1ÄãÖ»ÐèÒa¿aÍ·μÄ1⁄4 ̧ÐУ¬Ò2»áÉæ1⁄4°μ1⁄2Õû ̧ö2éÑ ×ばつÅÊ1Óà ́øÓÐ <FONT size="-1">ORDER BY</FONT> μÄ2éÑ ̄¡£Èç1ûÓÐÒ» ̧öË÷ÒýÓë <FONT size="-1">
+ ORDER BY</FONT> Æ\Å䣬PostgreSQL ¿ÉÄÜ3⁄4ÍÖ» ́¦ÀíÒaÇóμÄÍ·1⁄4 ̧Ìõ1⁄4ÇÂ1⁄4£¬·ñÔò1⁄2«¶ÔÕû ̧ö2éÑ ̄1⁄2øÐÐ ́¦ÀíÖ±μ1⁄2Éú3ÉÐèÒaμÄÐС£
+ <H4><a name="4.3"></a>4.3) ÎÒÈçoλñȡһ ̧ö±íμÄÁÐ±í£¬»òÕßÊÇÆäËûÎÒÄÜÔÚ <I>psql</I> Àï¿ ́μ1⁄2μĶ«Î÷£¿</H4>
+ Äã¿ÉÒÔÔĶÁ <I>psql</I> μÄÔ ́ ́úÂëÎÄ1⁄4þ<I>pgsql/src/bin/psql/describe.c</I> ¡£Ëü°üÀ ̈ÎaÉú3É psql
+ μÄ· ́б ̧ÜÃüÁîμÄÊä3öμÄ SQL ÃüÁî¡£Äã»1¿ÉÒÔ ́ø <I>-E</I> Ñ¡ÏîÆô¶ ̄ <I>psql</I>£¬ÕâÑùËü1⁄2« ́òÓ¡3öÖ ́ÐÐÄã ̧ø3öμÄÃüÁîËùÓÃμÄ2éÑ ̄¡£
+ <H4><a name="4.4"></a>4.4) ÔõÑù ́Ó±íÀïÃæÉ3⁄43ýÒ»ÁУ¿</H4>
+ <P>7.3 ÀïÔö1⁄4ÓÁË <FONT size="-1">ALTER TABLE DROP COLUMN</FONT>£¬ÒÔÖ§3Ö ×ばつö£o</P>
+ <PRE> BEGIN;
LOCK TABLE old_table;
SELECT ... -- select all columns but the one you want to remove
INTO TABLE new_table
@@ -443,31 +531,24 @@
DROP TABLE old_table;
ALTER TABLE new_table RENAME TO old_table;
COMMIT;
-</pre>
-
- <h4><a id="4.5" name="4.5"></a>4.5) Ò»ÐУ¬Ò» ̧ö±í£¬Ò» ×ばつî ́ó3ß ́çÊǶàÉÙ£¿</h4>
- ÏÂÃæÊÇһЩÏÞÖÆ£o
-<pre>
- Ò» ×ばつî ́ó3ß ́磿 ÎÞÏÞÖÆ£ ̈ ́æÔÚ 1TB μÄÊý3⁄4ݿ⣩
- Ò» ×ばつî ́ó3ß ́磿 16TB
- ×ばつî ́ó3ß ́磿 1.6TB
+</PRE>
+ <H4><a name="4.5"></a>4.5) Ò»ÐУ¬Ò» ̧ö±í£¬Ò» ×ばつî ́ó3ß ́çÊǶàÉÙ£¿</H4>
+ ÏÂÃæÊÇһЩÏÞÖÆ£o<PRE> Ò» ×ばつî ́ó3ß ́磿&nbsp;&nbsp;&nbsp;ÎÞÏÞÖÆ£ ̈ ́æÔÚ 1TB μÄÊý3⁄4ݿ⣩
+ Ò» ×ばつî ́ó3ß ́磿&nbsp;&nbsp;&nbsp; 16TB
+ ×ばつî ́ó3ß ́磿&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.6TB
Ò» ×ばつî ́ó3ß ́ç? 1GB
- Ò» ×ばつî ́óÐÐÊý£¿ ÎÞÏÞÖÆ
- Ò» ×ばつî ́óÁÐÊý£¿ ̧úÁÐÀàÐÍÓÐ1Ø,250-1600
- Ò» ×ばつî ́óË÷ÒýÊýÁ¿£¿ÎÞÏÞÖÆ
-</pre>
- μ±È»£¬Êμ1⁄4ÊÉÏûÓÐÕæÕýμÄÎÞÏÞÖÆ£¬»1ÊÇÒaÊÜ¿ÉÓà ́ÅÅÌ¿Õ1⁄4ä¡¢¿ÉÓÃÄÚ ́æ/1⁄2»»»ÇøμÄÖÆÔ1⁄4¡£
-
- <p&g×ばつî ́ó3ß ́ç 16 TB 2»ÐèÒa×ばつ÷ÏμÍ3¶Ô ́óÎÄ1⁄4þμÄÖ§3Ö¡£ ́ó±íÓöà ̧ö 1 GB μÄÎÄ1⁄4þ ́æ ́¢£¬Òò ́ËÎÄ1⁄4þÏμÍ33ß ́çμÄÏÞÖÆÊÇ2»ÖØÒaμÄ¡£</p>
-
- <p>Èç1ûȱʡμÄ¿é ́óСÔö3¤μ1⁄2 32K ×ばつî ́óμıí3ß ×ばつî ́óÁÐÊý¿ÉÒÔÔö1⁄4Ó¡£</p>
-
- <h4><a id="4.6" name="4.6"></a>4.6) ́æ ́¢Ò» ̧öμäÐÍμÄÆ1⁄2ÃæÎÄ1⁄4þÀïμÄÊý3⁄4ÝÐèÒa¶àÉÙ ́ÅÅÌ¿Õ1⁄4䣿</h4>
- Ò» ̧ö Postgres ×ばつî¶à¿ÉÄÜÐèÒaÏàμ±ÓÚÔÚÒ» ̧öÆ1⁄2ÃæÎÄ1⁄4þÀï ́æ ́¢ÏàͬÊý3⁄4ÝμÄ5±¶μÄ ́ÅÅÌ¿Õ1⁄4ä¡£
-
- <p>ÀýÈ磬1⁄4ÙÉèÓÐÒ» ̧ö 100,000 ÐÐμÄÎÄ1⁄4þ£¬Ã¿ÐÐÓÐÒ» ̧öÕûÊýoÍÒ» ̧öÎı3⁄4ÃèÊö¡1ドル⁄4ÙÉèÎı3⁄4 ×ばつÖ1⁄2Ú¡£Æ1⁄2ÃæÎÄ1⁄4þÕ1⁄4Óà 2.8 MB¡£ ́æ·ÅÕâЩÊý3⁄4ÝμÄ PostgreSQL Êý3⁄4Ý¿âÎÄ1⁄4þ ́óÔ1⁄4ÊÇ 6.4 MB:</p>
-<pre>
- 36 ×ばつÖ1⁄2Ú: ÿÐÐμÄÍ·£ ̈1À1⁄4ÆÖ죩
+ Ò» ×ばつî ́óÐÐÊý£¿&nbsp;&nbsp;&nbsp;&nbsp; ÎÞÏÞÖÆ
+ Ò» ×ばつî ́óÁÐÊý£¿&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ̧úÁÐÀàÐÍÓÐ1Ø,250-1600
+ Ò» ×ばつî ́óË÷ÒýÊýÁ¿£¿ÎÞÏÞÖÆ</PRE>
+ μ±È»£¬Êμ1⁄4ÊÉÏûÓÐÕæÕýμÄÎÞÏÞÖÆ£¬»1ÊÇÒaÊÜ¿ÉÓà ́ÅÅÌ¿Õ1⁄4ä¡¢¿ÉÓÃÄÚ ́æ/1⁄2»»»ÇøμÄÖÆÔ1⁄4¡£
+ <P>
+ ×ばつî ́ó3ß ́ç 16 TB 2»ÐèÒa×ばつ÷ÏμÍ3¶Ô ́óÎÄ1⁄4þμÄÖ§3Ö¡£ ́ó±íÓöà ̧ö 1
+ GB μÄÎÄ1⁄4þ ́æ ́¢£¬Òò ́ËÎÄ1⁄4þÏμÍ33ß ́çμÄÏÞÖÆÊÇ2»ÖØÒaμÄ¡£
+ <P>Èç1ûȱʡμÄ¿é ́óСÔö3¤μ1⁄2 32K ×ばつî ́óμıí3ß ×ばつî ́óÁÐÊý¿ÉÒÔÔö1⁄4Ó¡£</P>
+ <H4><a name="4.6"></a>4.6) ́æ ́¢Ò» ̧öμäÐÍμÄÆ1⁄2ÃæÎÄ1⁄4þÀïμÄÊý3⁄4ÝÐèÒa¶àÉÙ ́ÅÅÌ¿Õ1⁄4䣿</H4>
+ Ò» ̧ö Postgres ×ばつî¶à¿ÉÄÜÐèÒaÏàμ±ÓÚÔÚÒ» ̧öÆ1⁄2ÃæÎÄ1⁄4þÀï ́æ ́¢ÏàͬÊý3⁄4ÝμÄ5±¶μÄ ́ÅÅÌ¿Õ1⁄4ä¡£
+ <P>ÀýÈ磬1⁄4ÙÉèÓÐÒ» ̧ö 100,000 ÐÐμÄÎÄ1⁄4þ£¬Ã¿ÐÐÓÐÒ» ̧öÕûÊýoÍÒ» ̧öÎı3⁄4ÃèÊö¡1ドル⁄4ÙÉèÎı3⁄4 ×ばつÖ1⁄2Ú¡£Æ1⁄2ÃæÎÄ1⁄4þÕ1⁄4ÓÃ&nbsp;2.8 MB¡£ ́æ·ÅÕâЩÊý3⁄4ÝμÄ
+ PostgreSQL Êý3⁄4Ý¿âÎÄ1⁄4þ ́óÔ1⁄4ÊÇ 6.4 MB:<PRE> 36 ×ばつÖ1⁄2Ú: ÿÐÐμÄÍ·£ ̈1À1⁄4ÆÖ죩
24 ×ばつÖ1⁄2Ú: Ò» ̧öin×ばつÖ¶ÎoÍÒ» ×ばつÖ¶Î
+ 4 ×ばつÖ1⁄2Ú: Ò3ÃæÄÚÖ ̧ÏòÔa×ばつéμÄÖ ̧Õë
----------------------------------------
@@ -484,293 +565,275 @@
128 ÐÐÿÒ3
782 Êý3⁄4ÝÒ3 * 8192 ×ばつÖ1⁄2Ú/Ò3 = 6,406,144 ×ばつÖ1⁄2Ú£ ̈6.4 MB£©
-</pre>
-
- <p>Ë÷Òý2»ÐèÒaÕâà ́¶àμĶîÍâÏûoÄ£¬μ«Ò2È·Êμ°üÀ ̈±»Ë÷ÒýμÄÊý3⁄4Ý£¬Òò ́ËËüÃÇÒ2¿ÉÄÜoÜ ́ó¡£</p>
-
- <p>¿ÕÖμ ́æ·ÅÔÚλÍ1⁄4ÖУ¬Òò ́ËÕ1⁄4ÓÃoÜÉÙμÄ¿Õ1⁄4ä¡£</p>
-
- <h4><a id="4.7" name="4.7"></a>4.7) ÈçoÎ2é¿ ́±í¡¢Ë÷Òý¡¢Êý3⁄4Ý¿âÒÔ1⁄4°Óû§μĶ ̈Ò壿</h4>
- <i> psql</i> ÓÐÐí¶à· ́б ̧ÜÃüÁîÓÃÓÚÏÔÊ3⁄4ÕâЩÐÅÏ¢¡£Óà \? ¿ ́¿ ́¶1⁄4ÓÐÄÄЩ¡£ÒÔ pg_ ́òÍ·μÄÏμÍ3±íÒ2ÃèÊöÁËÕâЩÐÅÏ¢¡£ psql -l ¿ÉÒÔÁÐ3öËùÓÐμÄÊý3⁄4ݿ⡣
-
- <p>Ò2¿ÉÒÔÊÔÊÔÎÄ1⁄4þ <i>pgsql/src/tutorial/syscat.source</i>¡£ËüÑÝÊ3⁄4ÁËÐí¶à ́ÓÊý3⁄4Ý¿âÏμÍ3±íÀï»ñÈ¡ÐÅÏ¢ÐèÒaμÄ <font size="-1">SELECT</font>¡£</p>
-
- <h4><a id="4.8" name="4.8"></a>4.8) ÎÒμÄ2éÑ ̄oÜÂý»òÕßûÓÐÀûÓÃË÷Òý¡£ÎaÊ2à ́£¿</h4>
-
- <p>2¢·Çÿ ̧ö2éÑ ×ばつÔ¶ ̄Ê1ÓÃË÷Òý¡£Ö»ÓÐÔÚ±íμÄ ́óС3¬1ýÒ» ×ばつîСÖ죬2¢ÇÒ2éÑ ֻ̄ѡÔñ±íÖÐ1⁄2ÏС±ÈÀýμÄÐÐʱ2ÉÓÃÊ1ÓÃË÷Òý¡£ÕâÊÇÒòÎaË÷ÒýÉ ̈ÃèÒýÆðμÄËæ1⁄4 ́ ́ÅÅÌ ́æÈ¡¿ÉÄܱÈÖ±1⁄2ÓμØ¶ÁÈ¡±í£ ̈Ë3ÐòÉ ̈Ã裩 ̧üÂý¡£ÎaÁËÅжÏÊÇ·ñÊ1ÓÃË÷Òý£¬PostgreSQL ±ØÐë»ñμÃÓÐ1رíμÄÍ31⁄4ÆÖμ¡£ÕâЩÍ31⁄4ÆÖμ¿ÉÒÔÊ1Óà VACUUM ANALYZE£¬»ò ANALYZE »ñμá£Ê1ÓÃÍ31⁄4ÆÖ죬ÓÅ» ̄Æ÷ÖaμÀ±íÖÐÓжàÉÙÐУ¬3⁄4ÍÄÜ1» ̧üoÃμØÅжÏÊÇ·ñÀûÓÃË÷Òý¡£Í31⁄4ÆÖμ¶ÔÈ·¶ ̈ÓÅ» ̄μÄÁ¬1⁄2ÓË3ÐòoÍÁ¬1⁄2Ó·1⁄2· ̈Ò2oÜÓÐÓá£ÔÚ±íμÄÄÚÈÝ·¢Éú±ä» ̄ʱ£¬Ó¦¶ ̈ÆÚ1⁄2øÐÐÍ31⁄4ÆÖμμÄ»ñÈ¡¡£</p>
-
- <p>Ë÷ÒýÍ ̈32ドル»ÓÃÓÚ ORDER BY »òÖ ́ÐÐÁ¬1⁄2Ó¡£¶ÔÒ» ̧ö ́ó±íμÄÒ» ́ÎË3ÐòÉ ×ばつöÒ» ̧öÏÔÊ1⁄2μÄÅÅÐòÍ ̈3£±ÈË÷ÒýÉ ̈ÃèÒa¿ì¡£</p>
-
- <p>μ«ÊÇ£¬ÔÚ LIMIT oÍ ORDER BY 1⁄2áoÏÊ1ÓÃʱ3⁄4­3£»áÊ1ÓÃË÷Òý£¬ÒòÎaÖ»»á·μ»Ø±íμÄһС2¿·Ö¡£Êμ1⁄4ÊÉÏ£¬ËäÈ» MAX() oÍ MIN() 22ドル»Ê1ÓÃË÷Òý£¬Í ̈1ý¶Ô ORDER BY oÍ LLIMIT ×ばつî ×ばつîСÖμÒ2ÊÇ¿ÉÒÔμÄ£o<br />
- <br />
- SELECT col<br />
- FROM tab<br />
- ORDER BY col [ DESC ]<br />
- LIMIT 1;</p>
-
- <p>μ±Ê1ÓÃÍ ×ばつ÷£¬ÀýÈç LIKE »ò ~ ʱ£¬Ë÷ÒýÖ»ÄÜÔÚÌØ¶ ̈μÄÇé¿öÏÂÊ1Óão </p>
-
- <ul>
- <li&g×ばつÖ·û ́®μÄ¿aÊ1⁄42¿·Ö±ØÐëÊÇÆÕÍ ×ばつÖ·û ́®£¬Ò23⁄4ÍÊÇËμ£o</li>
-
- <li>LIKE Ä£Ê1⁄22»ÄÜÒÔ % ́òÍ·¡£</li>
-
- <li>~ £ ̈ÕýÔò±í ́ïÊ1⁄2£©Ä£Ê1⁄2±ØÐëÒÔ ^ ́òÍ·¡£</li>
-
- <li&g×ばつÖ·û ́®2»ÄÜÒÔÆ\Åä¶à ×ばつÖ·ûμÄÄ£Ê1⁄2Àà ́òÍ·£¬ÀýÈç [a-e]¡£</li>
-
- <li> ́óСР́ÎÞ1ØμÄ2éÕÒ£¬Èç ILIKE oÍ ~* μÈ2»Ê1ÓÃË÷Òý¡£μ«¿ÉÒÔÓà 4.12 1⁄2ÚÃèÊöμÄo ̄ÊýË÷Òý¡£</li>
-
- <li&g×ばつö initdb ʱ±ØÐë2ÉÓÃȱʡμı3⁄4μØÉèÖà C locale¡£</li>
- </ul>
-
- <h4><a id="4.9" name="4.9"></a>4.9) ÎÒÈçoÎ2ÅÄÜ¿ ́μ1⁄22éÑ ̄ÓÅ» ̄Æ÷ÊÇÔõÑù ́¦ÀíÎÒμÄ2éÑ ̄μÄ£¿</h4>
- 2ο1⁄4 <font size="-1">EXPLAIN</font> ÊÖ2áÒ3¡£
-
- <h4><a id="4.10" name="4.10"></a>4.10) R-tree Ë÷ÒýÊÇÊ2à ́£¿</h4>
-
- <p>R-tree Ë÷ÒýÓÃÓÚË÷Òý¿Õ1⁄4äÊý3⁄4Ý¡£Ò» ̧ö1þÏ£Ë÷ÒýÎÞ· ̈ ́¦Àí·¶Î§ËÑË÷¡£¶ø B-tree Ë÷ÒýÖ»ÄÜ ́¦ÀíһάμÄ·¶Î§ËÑË÷¡£R-tree Ë÷Òý¿ÉÒÔ ́¦Àí¶àάÊý3⁄4Ý¡£ÀýÈ磬Èç1û¿ÉÒÔÔÚÒ» ̧öÀàÐÍÎa point ×ばつÖ¶ÎÉÏ1⁄2 ̈Á¢Ò» ̧ö R-tree Ë÷Òý£¬ÄÇà ́ÏμÍ3ÄÜ ̧ü ̧ßÐ§μØ»Ø ́ðÀàËÆ ¡°Ñ¡ÔñÔÚÒ» ̧ö3¤·1⁄2Ðη¶Î§ÄÚμÄËùÓÐμ㡱¡£<br />
- <br />
- ×ばつî3õμÄ R-Tree Éè1⁄4ÆμÄÕýÊ1⁄2ÂÛÎÄÊÇ£o<br />
- <br />
- Guttman, A. "R-Trees: A Dynamic Index Structure for Spatial Searching." Proc of the 1984 ACM SIGMOD Int'l Conf on Mgmt of Data, 45-57.<br />
- <br />
- Äã»1¿ÉÒÔÔÚ Stonebraker μÄ¡°Readings in Database Systems¡±ÀïÕÒμ1⁄2ÕâÆaÎÄÕ¡£<br />
- <br />
- ÏμÍ3ÄÚÖÃμÄ R-Tree ¿ÉÒÔ ́¦Àí¶à±ßÐÎoÍ·1⁄2ÐΡ£ÀíÂÛÉÏË죬R-tree ¿ÉÒÔÀ©Õ1Îa ́¦Àí ̧ü¶àάÊý¡2ドル»1ýÔÚÊμ1⁄4ùÉÏ£¬À©Õ1 R-trees ÐèÒaÒ»¶ ×ばつöμÄÎÄμμ¡£</p>
-
- <h4><a id="4.11" name="4.11"></a>4.11) Ê2à ́ÊÇ»ùÒò2éÑ ̄ÓÅ» ̄£ ̈Genetic Query Optimization£©£¿</h4>
-
- <p>GEQO Ä£¿é2ÉÓûùÒòËã· ̈£ ̈Genetic Algorithm£¬GA£©1⁄4Ó¿ì¶à±íÁ¬1⁄2ÓμÄ2éÑ ̄ÓÅ» ̄¡£ËüÔÊÐíÍ ̈1ý·ÇÇî3⁄4ÙËÑË÷ ́¦Àí ́óμÄÁ¬1⁄2Ó2éÑ ̄¡£</p>
-
- <h4><a id="4.12" name="4.12"></a>4.12) ×ばつöÕýÔò±í ́ïÊ1⁄2ËÑË÷oÍ ́óСР́ÎÞ1ØμÄÕýÔò±í ́ïÊ1⁄2ËÑË÷£¿ÔõÑùÀûÓÃË÷Òý1⁄2øÐÐ ́óСР́ÎÞ1ØËÑË÷£¿</h4>
-
- <p&g×ばつ÷·û ~ ́¦ÀíÕýÔò±í ́ïÊ1⁄2Æ\Å䣬¶ø ~* ́¦Àí ́óСР́ÎÞ1ØμÄÕýÔò±í ́ïÊ1⁄2Æ\Åä¡£ ́óÐ ́ЩÎÞ1ØμÄ LIKE ±äÖÖ3ÉÎa ILIKE¡£<br />
- <br />
- ́óСР́ÎÞ1ØμÄμÈÊ1⁄2±È1⁄2ÏÍ ̈3£Ð ×ばつö£o<br />
- <br />
- SELECT *<br />
- FROM tab<br />
- WHERE lower(col) = 'abc';<br />
- <br />
- ×ばつ1⁄4μÄË÷Òý¡£μ«ÊÇ¿ÉÒÔ ́ ́1⁄2 ̈Ò» ̧ö¿É±»ÀûÓÃμÄo ̄ÊýË÷Òý:<br />
- <br />
- CREATE INDEX tabindex ON tab (lower(col));</p>
-
- <h4><a id="4.13" name="4.13"></a>4.13) ÔÚÒ» ̧ö2éÑ ̄ÀÎÒÔõÑù1⁄4ì2âÒ» ×ばつÖ¶ÎÊÇ·ñÎa NULL£¿</h4>
-
- <p>Óà IS NULL oÍ IS NOT NULL 2âÊÔÕâ ×ばつֶΡ£ <br />
- </p>
-
- <h4><a id="4.14" name="4.14"></a>4.14) ×ばつÖ·ûÀàÐÍÖ®1⁄4äÓÐÊ2à ́2»Í¬£¿</h4>
-
- <p> ÀàÐÍ ÄÚ2¿Ãû3Æ ËμÃ÷<br />
- --------------------------------------------------<br />
- "char" char 1 ×ばつÖ·û character<br />
- CHAR(#) bpchar ¶ ×ばつÖ·û ×ばつã¶ ̈Òå3¤¶Èʱ£¬ÒÔ¿Õ ̧ñ21Æë<br />
- VARCHAR(#) varchar Ö ̧¶ ×ばつî ×ばつÖ·û ×ばつã¶ ̈Òå3¤¶ÈμÄ2¿·Ö2»21Æë<br />
- TEXT text ×ばつî ́ó3¤¶ÈÏÞÖÆ<br />
- BYTEA bytea ×ばつÖ1⁄2ÚÐòÁУ ̈±ä3¤μĶþ1⁄2øÖÆÊý3⁄4Ý£©<br />
- <br />
- ÔÚÏμÍ3±íoÍÔÚһЩ ́íÎóÐÅÏ¢ÀïÄã1⁄2«¿ ́μ1⁄2ÄÚ2¿Ãû3Æ¡£ <br />
- <br />
- ×ばつîoóËÄÖÖÀàÐÍÊÇ"varlena"£ ̈±ä3¤£©ÀàÐÍ£ ̈Ò23⁄4ÍÊÇË죬¿aÍ·μÄËÄ ×ばつÖ1⁄2ÚÊÇ3¤¶È£¬oóÃæ2ÅÊÇÊý3⁄4Ý£©¡£ÓÚÊÇÊμ1⁄4ÊÕ1⁄4ÓÃμÄ¿Õ1⁄4ä±ÈÉùÃ÷μÄ ́óСÒa¶àһЩ¡£È»¶øÕâЩÀàÐͶ1⁄4¿ÉÒÔ±»Ñ1Ëõ ́æ ́¢£¬Ò2¿ÉÒÔÓà TOAST ÍÑ»ú ́æ ́¢£¬Òò ́Ë ́ÅÅÌ¿Õ1⁄4äÒ2¿ÉÄܱÈÔ¤ÏëμÄÒaÉÙ¡£<br />
- <br />
- CHAR(n) ×ばつîÊÊoÏÓÚ ́æ ×ばつÖ·û ́®¡£VARCHAR(n) ÔÚ ́æ ×ばつî ×ばつÖ·û ×ばつîoÃμÄ¡£TEXT ÊÊÓÃÓÚ ́æ ×ばつÖ·û ×ばつî ́ó¿É ́ï 1G¡£BYTEA ÓÃÓÚ ́æ ́¢¶þ1⁄2øÖÆÊý3⁄4Ý£¬ÓÈÆäÊǰüo¬ NULL ×ばつÖ1⁄2Ú£ ̈¶þ1⁄2øÖÆμÄ0£©μÄÖμ¡£ÕâЩÀàÐÍ3⁄4ßÓÐÀàÐÍμÄÐÔÄÜ¡£</p>
-
- <h4><a id="4.15.1" name="4.15.1"></a>4.15.1) ÎÒÔõÑù ́ ́1⁄2 ̈Ò» ×ばつÔ¶ ×ばつֶΣ¿</h4>
-
- <p>PostgreSQL Ö§3Ö SERIAL ×ばつÔ¶ ̄ ́ ́1⁄2 ̈Ò» ̧öÐòÁÐoÍË÷Òý¡£ÀýÈ磬<br />
- CREATE TABLE person ( <br />
- id SERIAL, <br />
- name TEXT <br />
- );<br />
- <br />
- ×ばつÔ¶ ×ばつa»»Îa£o <br />
- <br />
- CREATE SEQUENCE person_id_seq;<br />
- CREATE TABLE person ( <br />
- id INT4 NOT NULL DEFAULT nextval('person_id_seq'),<br />
- name TEXT <br />
- );<br />
- CREATE UNIQUE INDEX person_id_key ON person ( id );<br />
- <br />
- 2ο1⁄4 create_sequence ÊÖ2áÒ3»ñÈ¡1ØÓÚÐòÁÐμÄ ̧ü¶àÐÅÏ¢¡£Äã»1¿ÉÒÔÓÃÿÐÐμÄ oid ×ばつ÷ÎaÒ» ̧öÎ ̈Ò»Öμ¡2ドル»1ý£¬Èç1ûÄãÐèÒaÇãμ1oÍÖØÔØÊý3⁄4ݿ⣬ÄãÐèÒaÊ1Óà pg_dump μÄ -o Ñ¡Ïî»òÕß COPY WITH OIDS Ñ¡ÏîÒÔ±£Áô OID¡£ </p>
-
- <h4><a id="4.15.2" name="4.15.2"></a>4.15.2) ÎÒÈçoλñμÃÒ» ̧ö2åÈëμÄÐòÁÐoÅμÄÖμ£¿</h4>
-
- <p>Ò»ÖÖ·1⁄2· ̈ÊÇÔÚ2åÈë֮ǰÏÈÓÃo ̄Êý nextval() ́ÓÐòÁжÔÏóÀï1⁄4ìË÷3öÏÂÒ» ̧ö SERIAL Öμ£¬È»oóÔÙÏÔÊ1⁄22åÈë¡£Ê1Óà <a href="#4.15.1">4.15.1</a> ÀïμÄÀý±í£¬¿ÉÓÃαÂëÕâÑùÃèÊö£o <br />
- <br />
- new_id = execute("SELECT nextval('person_id_seq')");<br />
- execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')");<br />
- <br />
- ÕâÑù»1ÄÜÔÚÆäËû2éÑ ̄ÖÐÊ1Óà ́æ·ÅÔÚ new_id ÀïμÄÐÂÖμ£ ×ばつ÷Îa person ×ばつÔ¶ ̄ ́ ́1⁄2 ̈μÄ SEQUENCE ¶ÔÏóμÄÃû3Æ1⁄2«»áÊÇ &lt;table&gt;_&lt;serialcolumn&gt;_seq£¬ÕâÀï table oÍ serialcolumn ·Ö±ðÊÇÄãμıíμÄÃû3ÆoÍÄãμÄ SERIAL ×ばつÖ¶ÎμÄÃû3Æ¡£ <br />
- <br />
- ÀàËÆμÄ£¬ÔÚ SERIAL ¶ÔÏóȱʡ2åÈëoóÄã¿ÉÒÔÓÃo ̄Êý currval() 1⁄4ìË÷ ̧Õ ̧3ÖμμÄ SERIAL Ö죬ÀýÈ磬 <br />
- <br />
- execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");<br />
- new_id = execute("SELECT currval('person_id_seq')");<br />
- <br />
- ×ばつîoó£¬Äã¿ÉÒÔÊ1Óà ́Ó INSERT Óï3⁄4ä·μ»ØμÄ <a href="4.16">OID</a> ×ばつîȱ·¦ÒÆÖ2ÐÔμÄ·1⁄2· ̈¡£ÔÚ Perl ÀÊ1Óà ́øÓÐ Edmund Mergl μÄ DBD::Pg Ä£¿éμÄ DBI£¬oid Öμ¿ÉÒÔÍ ̈1ý $sth-&gt;execute() oóμÄ $sth-&gt;{pg_oid_status} »ñμᣠ</p>
-
- <h4><a id="4.15.3" name="4.15.3"></a>4.15.3) Ê1Óà currval() oÍ nextval() »áμ1⁄4ÖÂÒ» ̧öÓëÆäËûÓû§Ö®1⁄4äμÄÎÉÂÒÇé¿öÂð£¿</h4>
-
- <p>2»»á¡£currval() ·μ»ØoóÌ ̈1⁄2ø3̶ø2»ÊÇËùÓÐÓû§ ̧3ÓèμÄμ±Ç°Öμ¡£<br />
- </p>
-
- <h4><a id="4.15.4" name="4.15.4"></a>4.15.4) ÎaÊ2à ́2»ÔÚÊÂÎñÒì3£ÖÐÖ1oóÖØÓÃÐòÁÐoÅÄØ£¿ÎaÊ2à ×ばつÖ¶ÎμÄÈ¡ÖμÖÐ ́æÔÚ1⁄4ä¶ÏÄØ£¿</h4>
-
- <p>ÎaÁËÌá ̧ß2¢·¢ÐÔ£¬ÐòÁÐoÅÔÚÐèÒaμÄʱoò ̧3ÓèÕýÔÚÔËÐÐμÄÊÂÎñ£¬2¢ÇÒÖ»ÔÚÊÂÎñ1⁄2áÊøÖ®Ç°2»·âËø¡£Õâ3⁄4Í»áμ1⁄4ÖÂØ2ÕÛÊÂÎñoóμÄÐòÁÐoÅ3öÏÖ1⁄4ä ̧ô¡£</p>
-
- <h4><br />
- <a id="4.16" name="4.16"></a>4.16) Ê2à ́ÊÇ OID£¿Ê2à ́ÊÇ TID£¿</h4>
-
- <p>OID ÊÇ PostgreSQL ÖÐÐÐμÄÎ ̈Ò»±êʶ¡£PostgreSQL Àï ́ ́1⁄2 ̈μÄÿһÐж1⁄4»ñμÃÒ» ̧öÎ ̈Ò»μÄ OID¡£ËùÓÐÔÚ initdb 1ý3ÌÖÐ ́ ́1⁄2 ̈μÄ OID ¶1⁄4СÓÚ 16384 £ ̈2Î1⁄4û include/access/transam.h£©¡£ËùÓÐÓû§ ́ ́1⁄2 ̈μÄ OID ¶1⁄4 ́óÓÚ»òμÈÓÚÕâ ̧öÖμ¡£È±Ê¡Ê±£¬ËùÓÐÕâЩ OID 2»1⁄2öÔÚÒ» ̧ö±í»òÒ» ̧öÊý3⁄4Ý¿âÀïÃæÎ ̈Ò»£¬¶øÇÒÔÚÕû ̧ö PostgreSQL ×ばつ°ÀïÒ2ÊÇÎ ̈Ò»μÄ¡£ <br />
- <br />
- PostgreSQL ÔÚËüμÄÄÚ2¿ÏμÍ3±íÀïÊ1Óà OID ÔÚ±íÖ®1⁄4ä1⁄2 ̈Á¢ÁaÏμ¡£ÕâЩ OID ¿ÉÒÔÓÃÓÚ±êÊ¶ÌØ¶ ̈μÄÓû§ÐÐÒÔ1⁄4°ÓÃÔÚÁ¬1⁄2ÓÀï¡1ドル⁄2 ×ばつÖ¶ÎÀàÐÍ OID ́æ ́¢ OID Öμ¡£¿ÉÒÔÔÚ OID ×ばつÖ¶ÎÉÏ ́ ́1⁄2 ̈Ò» ̧öË÷ÒýÒÔ¿ìËÙ·ÃÎÊ¡£ <br />
- <br />
- OID ́ÓÒ» ̧ö±»ËùÓÐÊý3⁄4Ý¿âÊ1ÓÃμÄÖÐÐÄÇøÓòÀï ̧3Öμ ̧øËùÓÐÐÂÐС£Èç1ûÄãÏë°Ñ OID ×ばつöÒ»·Ý±íμÄ ́øÔ­Ê1⁄4 OID μÄ¿1⁄2± ×ばつöμ1⁄2£o <br />
- <br />
- CREATE TABLE new(old_oid oid, mycol int);<br />
- SELECT old_oid, mycol INTO new FROM old;<br />
- COPY new TO '/tmp/pgtable';<br />
- DELETE FROM new;<br />
- COPY new WITH OIDS FROM '/tmp/pgtable';<br />
- <br />
- OID ×ばつÖ1⁄2ÚμÄÕûÊý±£ ́棬ÔÚ3¬1ý40ÒÚʱ1⁄2«Òç3ö¡£Ã»ÓÐÈ˱ ̈ ̧æ3öÏÖ1ýÒç3ö£¬¶øÎÒÃÇ ́òËãÔÚÓÐÈ˱ ̈ ̧æÖ®Ç°Ïû3ýÕâ ̧öÏÞÖÆ¡£<br />
- <br />
- TID ÓÃÓÚ±êʶ ×ばつÅÊý3⁄4Ý¿é£ ̈μØÖ·£©oÍ£ ̈¿éÄÚ£©Æ«ÒÆμÄÌØ¶ ̈μÄÎïÀíÐС£TID ÔÚÐб» ̧ü ̧Ä»òÖØÔØoó·¢Éú ̧ı䡣Ë÷ÒýÈë¿ÚÊ1ÓÃËüÃÇÖ ̧ÏòÎïÀíÐС£</p>
-
- <h4><a id="4.17" name="4.17"></a>4.17) PostgreSQL Ê1ÓÃμÄһЩÊõÓïμÄo¬ÒåÊÇÊ2à ́£¿</h4>
-
- <p>Ò»Ð©Ô ́ ́úÂëoÍһЩ3⁄4ÉÒ»μãμÄÎÄμμÊ1ÓÃһЩÓÐ ̧ü3£ÓÃÓ÷ ̈μÄÊõÓï¡£ÏÂÃæÊÇÆäÖÐÒ»2¿·Ö£o <br />
- table, relation, class <br />
- row, record, tuple <br />
- column, field, attribute <br />
- retrieve, select <br />
- replace, update <br />
- append, insert <br />
- OID, serial value <br />
- portal, cursor <br />
- range variable, table name, table alias <br />
- <br />
- ÓÐÒ» ̧öÍ ̈ÓÃÊý3⁄4Ý¿âÊõÓïμÄÁбí£o<a href="http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glossary.html">http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glossary.html</a> ¡£ </p>
-
- <h4><a id="4.18" name="4.18"></a>4.18) ÎaÊ2à ́ÎÒÊÕμ1⁄2 ́íÎó¡°<i>ERROR: Memory exhausted in AllocSetAlloc()</i>¡±£¿</h4>
-
- <p>ÕâoÜ¿ÉÄÜÊÇÏμÍ3μÄÐéÄâÄÚ ×ばつÊÔ ́ÓÐ1⁄2ÏμÍμÄÏÞÖÆÖμ¡£ÔÚÆô¶ ̄ postmaster ֮ǰÊÔÊÔÏÂÃæμÄÃüÁî£o <br />
- <br />
- ulimit -d 262144<br />
- limit datasize 256m<br />
- <br />
- È¡3⁄4öÓÚÄãÓÃμÄ shell£¬ÉÏÃæÃüÁîÖ»ÓÐÒ»ÌõÄÜ3É1¦£¬μ«ÊÇËü1⁄2«°ÑÄãμÄ1⁄2ø3ÌÊý3⁄4ݶÎÏÞÖÆÉèμñÈ1⁄2Ï ̧ߣ¬Òò¶øÒ2ÐíÄÜÈÃ2éÑ ̄Íê3É¡£ÕâÌõÃüÁîÓ¦ÓÃÓÚμ±Ç°1⁄2ø3Ì£¬ÒÔ1⁄4°ËùÓÐÔÚÕâÌõÃüÁîÔËÐÐoó ́ ́1⁄2 ×ばつÓ1⁄2ø3Ì¡£Èç1ûÄãÊÇÔÚÔËÐÐSQL¿Í»§¶ËʱÒòÎaoóÌ ̈·μ»ØÁËÌ«¶àμÄÊý3⁄4ݶø3öÏÖÎÊÌ⣬ÇëÔÚÔËÐпͻ§¶ËÖ®Ç°Ö ́ÐÐÉÏÊöÃüÁî¡£</p>
-
- <h4><a id="4.19" name="4.19"></a>4.19) ÎÒÈçoÎ2ÅÄÜÖaμÀËùÔËÐÐμÄ PostgreSQL μİæ±3⁄4£¿</h4>
-
- <p> ́Ó psql À1⁄4üÈë SELECT version()£»<br />
- </p>
-
- <h4><a id="4.20" name="4.20"></a>4.20) ÎaÊ2à ́ÎÒμÄ ×ばつ÷μ1⁄4Ö ́íÎó¡°<i>invalid large obj descriptor¡±£ ̈·Ç· ̈μÄ ́ó¶ÔÏóÃèÊö·û£©</i>£¿</h4>
-
- <p>ÄãÐèÒaÔÚÊ1ÓÃÈÎoÎ ́ó¶ÔÏó3⁄4ä±úμÄǰoó·ÅÉÏ BEGIN WORK oÍ COMMIT£¬Ò23⁄4ÍÊÇË죬°üΧ lo_open ... lo_close¡£ <br />
- <br />
- Ŀǰ PostgreSQL Ç¿ÖÆÊμÊ©ÕâÌõ1æÔò£oÔÚÊÂÎñÌá1⁄2»Ê±1Ø±Õ ́ó¶ÔÏó3⁄4ä±ú£¬ÕâÑù£¬£ ×ばつ ́Î¶Ô ×ばつöÈÎoÎÊÂÇéμÄÆóÍ1⁄4¶1⁄4»áμ1⁄4ÖÂÒ» ̧ö invalid large obj descriptor¡£ËùÒÔ£¬Èç1ûÄãûÓÐÊ1ÓÃÒ» ×ばつ÷μÄ ́úÂë£ ̈ÖÁÉÙÊÇ ́ó¶àÊýʱ1⁄4䣩1⁄2«»áÉú3ÉÕâà ́Ò» ̧ö ́íÎóÐÅÏ¢¡£ <br />
- <br />
- Èç1ûÄãÊ1Óÿͻ§¶Ë1⁄2Ó¿Ú£¬Èç ODBC£¬Äã¿ÉÄÜÐèÒa set auto-commit off¡£</p>
-
- <h4><a id="4.21" name="4.21"></a>4.21) ÎÒÈçoÎ ́ ́1⁄2 ̈Ò» ×ばつֶΣ¿</h4>
-
- <p>Ê1ÓÃ CURRENT_TIMESTAMP£o<br />
- <br />
- CREATE TABLE test(x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP);</p>
-
- <h4><a id="4.22" name="4.22"></a>4.22) ÎaÊ2à ́Ê1Óà IN ×ばつÓ2éÑ ̄Õâà ́Âý£¿</h4>
-
- <p>Ŀǰ£¬ÎÒÃÇÍ ̈1ýÎaÍâ2éÑ ̄μÄÿһÐÐË3ÐòÉ ×ばつÓ2éÑ ̄μÄ1⁄2á1ûÀ ×ばつÓ2éÑ ̄oÍÍâ2éÑ ×ばつÓ2éÑ ̄·μ»ØÉÙÊý1⁄4 ̧ÐУ¬¶øÍâ2éÑ ̄·μ»ØoܶàÐУ¬IN Ö ́ÐÐμÃoܿ졣ÎaÁË1⁄4Ó¿ìÆäËû IN 2éÑ ̄μÄÖ ́ÐУ¬¿ÉÒÔÓà EXISTS Ìæ»» IN£o <br />
- <br />
- SELECT *<br />
- FROM tab<br />
- WHERE col IN (SELECT subcol FROM subtab);<br />
- <br />
- ̧ÄÎa£o <br />
- <br />
- SELECT *<br />
- FROM tab<br />
- WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col);<br />
- <br />
- oóÕßÒaÏëÖ ́ÐÐμà ̧ü¿ì£¬subcol Ó¦ ̧ÃÊÇÒ» ̧öË÷ÒýÁС£ÎÒÃÇÏ£ÍûÔÚÎ ́À ́μÄ·21ドル⁄4°æ±3⁄4ÖÐÐÞ21Õâ ̧öÏÞÖÆ¡£</p>
-
- <h4><a id="4.23" name="4.23"></a>4.23) ÎÒÔõÑù1⁄2øÐÐ outer join £ ̈ÍâÁ¬1⁄2Ó£©£¿</h4>
-
- <p>PostgreSQL ×ばつ1⁄4μÄ SQL Óï· ̈Ö§3ÖÍâÁ¬1⁄2Ó¡£ÕâÀïÊÇÁ1⁄2 ×ばつÓ£o<br />
- <br />
- SELECT *<br />
- FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);<br />
- <br />
- »ò <br />
- SELECT *<br />
- FROM t1 LEFT OUTER JOIN t2 USING (col);<br />
- <br />
- ÕâÁ1⁄2 ̧öμÈ1⁄4ÛμÄ2éÑ ̄ÔÚ t1.col oÍ t2.col ×ばつöÁ¬1⁄2Ó£¬2¢ÇÒ·μâ»?t1 ÖÐËùÓÐÎ ́Á¬1⁄2ÓμÄÐУ ̈ÄÇЩÔÚ t2 ÖÐûÓÐÆ\ÅäμÄÐУ©¡£ÓÒ[Íâ]Á¬1⁄2Ó(RIGHT OUTER JOIN)1⁄2«·μ»Ø t2 ÖÐÎ ́Á¬1⁄2ÓμÄÐС£ÍêÈ«ÍâÁ¬1⁄2Ó£ ̈FULL OUTER JOIN£©1⁄2«·μ»Ø t1 oÍ t2 ÖÐÎ ×ばつÖ OUTER ×ばつó[Íâ]Á¬1⁄2Ó¡¢ÓÒ[Íâ]Á¬1⁄2ÓoÍÍêÈ«[Íâ]Á¬1⁄2ÓÖÐÊÇ¿ÉÑ¡μÄ£¬ÆÕÍ ̈Á¬1⁄2Ó±»3ÉÎaÄÚÁ¬1⁄2Ó£ ̈INNER JOIN£©¡£<br />
- <br />
- ÔÚ ́Ëǰμİæ±3⁄4ÖУ¬ÍâÁ¬1⁄2Ó¿ÉÒÔÓà UNION oÍ NOT IN À ×ばつÓÔÚ±í tab1 oÍ tab2 ×ばつöÍâÁ¬1⁄2Ó£o<br />
- <br />
- SELECT tab1.col1, tab2.col2<br />
- FROM tab1, tab2<br />
- WHERE tab1.col1 = tab2.col1<br />
- <br />
- UNION ALL<br />
- <br />
- SELECT tab1.col1, NULL<br />
- FROM tab1<br />
- WHERE tab1.col1 NOT IN (SELECT tab2.col1 FROM tab2)<br />
- ORDER BY col1</p>
-
- <h4><a id="4.24" name="4.24"></a>4.24) ÈçoÎÊ1ÓÃÉæ1⁄4°¶à ̧öÊý3⁄4Ý¿âμÄ2éÑ ̄£¿</h4>
-
- <p>ûÓÐ°ì· ̈2éÑ ̄μ±Ç°Êý3⁄4Ý¿âÖ®ÍâμÄÊý3⁄4ݿ⡣ÒòÎa PostgreSQL 1⁄4ÓÔØÊý3⁄4Ý¿âÏà1ØμÄÏμÍ3Ä¿Â1⁄4£ ̈ÏμÍ3±í£©£¬¿çÊý3⁄4Ý¿âμÄ2éÑ ̄ÈçoÎÖ ́ÐÐÒ2Î ́Ã÷È·¡£<br />
- <br />
- contrib/dblink ÔÊÐí2ÉÓÃo ̄Êýμ÷ÓÃÊμÏÖ¿ç¿â2éÑ ̄¡£μ±È»¿ÉÒÔͬʱÁ¬1⁄2Óμ1⁄22»Í¬μÄÊý3⁄4Ý¿â2¢ÔÚ¿Í»§¶ËoÏ21ドル⁄2á1û¡£</p>
-
- <h4><a id="4.25" name="4.25"></a>4.25) ÈçoÎÈÃo ̄Êý·μ»Ø¶àÐлò¶àÁУ¿</h4>
-
- <p>¿ÉÒÔÔÚ PL/pgSQL o ̄ÊýÖÐÊ1Óà refcursors ·μ»Ø1⁄2á1û1⁄4 ̄¡2ドルο ́ <a href="http://www.PostgreSQL.org/idocs/index.php?plpgsql-cursors.html">http://www.PostgreSQL.org/idocs/index.php?plpgsql-cursors.html</a>, 23.7.3.31⁄2Ú¡£<br />
- </p>
-
- <h4><a id="4.26" name="4.26"></a>4.26) ÎaÊ2à ́ÔÚ PL/PgSQL o ̄ÊýÖÐ2»Äܿɿ¿μØ ́ ́1⁄2 ̈»òÉ3⁄43ýÁÙʱ±í£¿</h4>
-
- <p>PL/PgSQL »o ́æo ̄ÊýμÄÄÚÈÝ£¬ÓÉ ́Ë ́øÀ ́μÄÒ» ̧ö2»oÃμÄ ×ばつ÷ÓÃÊÇÈôÒ» ̧ö PL/PgSQL o ̄Êý·ÃÎÊÁËÒ» ̧öÁÙʱ±í£¬È»oó ̧Ã±í±»É3⁄43ý2¢ÖØ1⁄2 ̈ÁË£¬ÔòÔÙ ́Îμ÷Óà ̧Ão ̄Êý1⁄2«Ê§°Ü£¬ÒòÎa»o ́æμÄo ̄ÊýÄÚÈÝÈÔÈ»Ö ̧Ïò3⁄4ÉμÄÁÙʱ±í¡1ドル⁄2â3⁄4öμÄ·1⁄2· ̈ÊÇÔÚ PL/PgSQL ÖÐÓà EXECUTE ¶ÔÁÙʱ±í1⁄2øÐзÃÎÊ¡£ÕâÑù»á±£Ö¤2éÑ ̄ÔÚÖ ×ばつÜÊÇÖØÐ·ÖÎö¡£</p>
-
- <h4><a id="4.27" name="4.27"></a>4.27) ÓÐÄÄЩÊý3⁄4Ý ̧ ́ÖÆÑ¡Ï</h4>
-
- <p>ÓÐ1⁄4 ̧ÖÖÖ÷/ ́Ó·1⁄2Ê1⁄2μÄ ̧ ́ÖÆÑ¡Ïî¡£ÕâЩѡÏîÖ»ÔÊÐíÖ÷Êý3⁄4Ý¿â1⁄2øÐÐ ̧üУ¬ ́ÓÊý3⁄4Ý¿âÖ»ÄÜ1⁄2øÐжÁ¡£ÍøÒ3 <a href="http://gborg.PostgreSQL.org/genpage?replication_research">http://gborg.PostgreSQL.org/genpage?replication_research</a> ×ばつîoóÁÐ3öÁËÕâЩѡÏî¡£ÔÚ <a href="http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php">http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php</a> ÕýÔÚ1⁄2øÐÐÒ» ̧ö¶àÖ÷±3⁄4 ̧ ́ÖÆμÄ1⁄2â3⁄4ö·1⁄2° ̧¡£</p>
-
- <h4><a id="4.28" name="4.28"></a>4.28) ÓÐÄÄЩÊý3⁄4Ý1⁄4ÓÃÜÑ¡Ï</h4>
-
- <p>contrib/pgcrypto °üo¬ÁËoܶàÔÚ SQL 2éÑ ̄ÖÐÊ1ÓÃμÄ1⁄4ÓÃÜo ̄Êý¡1ドル⁄4ÓÃܿͻ§¶Ëμ1⁄2·þÎñÆ÷¶Ë ́«ÊäÊý3⁄4ÝμÄÎ ̈Ò»·1⁄2· ̈ÊÇÔÚ pg_hba.conf ÖÐ2ÉÓà hostss ¡£ <br />
- <br />
- 7.3 ×ばつÔ¶ ̄¶ÔÊý3⁄4Ý¿âÓû§ÃÜÂë1⁄2øÐÐ1⁄4ÓÃÜ¡£ÔÚÒÔǰμİæ±3⁄4ÖУ¬±ØÐëÔÚ postgresql.conf ÖÐ ́ò¿a PASSWORD_ENCRYPTION Ñ¡Ïî¡£·þÎñÆ÷¿ÉÒÔÔËÐÐÔÚ1⁄4ÓÃÜμÄÎÄ1⁄4þÏμÍ3ÉÏ£ ̈ÒÔ ́ïμ1⁄21⁄4ÓÃÜμÄÄ¿μÄ£©¡£<br />
- <br />
- --------------------------------------------------------------------------------</p>
-
- <h2 align="center">À©Õ1 PostgreSQL</h2>
-
- <h4><a id="5.1" name="5.1"></a>5.1) ÎÒÐ ́ÁËÒ» ̧öÓû§¶ ̈Òåo ̄Êý¡£μ±ÎÒÔÚ psql ÀïÔËÐÐʱ£¬ÎaÊ2à ́»áμ1⁄4Ö core dump£¿</h4>
-
- <p>2úÉúÕâ ̧öÎÊÌâμÄÔ­ÒòoܶࡣÇëÏÈÔÚÒ» ×ばつÔ¶ ̈Òåo ̄Êý¡£</p>
-
- <h4><a id="5.2" name="5.2"></a>5.2) ÎÒÈçoÎÄÜ ̧ø PostgreSQL ×ばつһЩͦ2» ́íμÄÐÂÀàÐÍoÍo ̄Êý£¿</h4>
-
- <p>1⁄2«ÄãμÄÀ©Õ1·¢ËÍμ1⁄2 pgsql-hackers ×ばつîÖջᱻ·Åμ1⁄2 contrib/ ×ばつÓÄ¿Â1⁄4¡£<br />
- </p>
-
- <h4><a id="5.3" name="5.3"></a>5.3) ÎÒÔõÑùÐ ́Ò» ̧ö·μ»ØÒ»ÌõÔa×ばつéμÄ C o ̄Êý£¿</h4>
-
- <p>ÔÚ PostgreSQL 7.3 ÒÔoóμİæ±3⁄4ÖУ¬C, PL/PgSQL oÍ SQL Íêȫ֧3Ö·μ»ØÖμÎa±íμÄo ̄Êý¡£ ̧ü¶àÐÅÏ¢Çë2ο1⁄4 3ÌÐòÔ±Ö ̧ÄÏ£ ̈the Programmer's Guide£©¡£ÔÚ contrib/tablefunc ÖÐÓÐÒ» ×ばつÓÊÇÓà C Ð ́μÄ·μ»ØÖμÎa±íμÄo ̄Êý¡£</p>
-
- <h4><a id="5.4" name="5.4"></a>5.4) ÎÒÐÞ ̧ÄÁËÒ» ̧öÔ ́ÎÄ1⁄4þ£¬ÎaÊ2à ́ÖØÐ±àÒëoóûÓп ́μ1⁄2 ̧ı䣿</h4>
-
- <p>Makefiles ×ばつömake clean£¬ ×ばつöÒ» ́Î make ¡£Èç1ûÄúÊ1ÓÃμÄÊÇ GCC £¬Ôò¿ÉÒÔ2ÉÓÃÑ¡Ïî --enable-depend ×ばつÔ¶ ̄Éú3ÉÍ·ÎÄ1⁄4þμÄÒÀÀμ1ØÏμ¡£</p>
- </body>
-</html>
-
+</PRE>
+ <P>Ë÷Òý2»ÐèÒaÕâà ́¶àμĶîÍâÏûoÄ£¬μ«Ò2È·Êμ°üÀ ̈±»Ë÷ÒýμÄÊý3⁄4Ý£¬Òò ́ËËüÃÇÒ2¿ÉÄÜoÜ ́ó¡£</P>
+ <P>¿ÕÖμ ́æ·ÅÔÚλÍ1⁄4ÖУ¬Òò ́ËÕ1⁄4ÓÃoÜÉÙμÄ¿Õ1⁄4ä¡£</P>
+ <H4><a name="4.7"></a>4.7)
+ ÈçoÎ2é¿ ́±í¡¢Ë÷Òý¡¢Êý3⁄4Ý¿âÒÔ1⁄4°Óû§μĶ ̈Ò壿</H4>
+ <I>&nbsp;psql</I> ÓÐÐí¶à· ́б ̧ÜÃüÁîÓÃÓÚÏÔÊ3⁄4ÕâЩÐÅÏ¢¡£Óà \? ¿ ́¿ ́¶1⁄4ÓÐÄÄЩ¡£ÒÔ pg_ ́òÍ·μÄÏμÍ3±íÒ2ÃèÊöÁËÕâЩÐÅÏ¢¡£ psql -l
+ ¿ÉÒÔÁÐ3öËùÓÐμÄÊý3⁄4ݿ⡣
+ <P>Ò2¿ÉÒÔÊÔÊÔÎÄ1⁄4þ <I>pgsql/src/tutorial/syscat.source</I>¡£ËüÑÝÊ3⁄4ÁËÐí¶à ́ÓÊý3⁄4Ý¿âÏμÍ3±íÀï»ñÈ¡ÐÅÏ¢ÐèÒaμÄ <FONT size="-1">
+ SELECT</FONT>¡£
+ <H4><a name="4.8"></a>4.8) ÎÒμÄ2éÑ ̄oÜÂý»òÕßûÓÐÀûÓÃË÷Òý¡£ÎaÊ2à ́£¿</H4>
+ <P>
+ 2¢·Çÿ ̧ö2éÑ ×ばつÔ¶ ̄Ê1ÓÃË÷Òý¡£Ö»ÓÐÔÚ±íμÄ ́óС3¬1ýÒ» ×ばつîСÖ죬2¢ÇÒ2éÑ ֻ̄ѡÔñ±íÖÐ1⁄2ÏС±ÈÀýμÄÐÐʱ2ÉÓÃÊ1ÓÃË÷Òý¡£ÕâÊÇÒòÎaË÷ÒýÉ ̈ÃèÒýÆðμÄËæ1⁄4 ́ ́ÅÅÌ ́æÈ¡¿ÉÄܱÈÖ±1⁄2ÓμØ¶ÁÈ¡±í£ ̈Ë3ÐòÉ ̈Ã裩 ̧üÂý¡£ÎaÁËÅжÏÊÇ·ñÊ1ÓÃË÷Òý£¬PostgreSQL
+ ±ØÐë»ñμÃÓÐ1رíμÄÍ31⁄4ÆÖμ¡£ÕâЩÍ31⁄4ÆÖμ¿ÉÒÔÊ1Óà VACUUM ANALYZE£¬»ò ANALYZE
+ »ñμá£Ê1ÓÃÍ31⁄4ÆÖ죬ÓÅ» ̄Æ÷ÖaμÀ±íÖÐÓжàÉÙÐУ¬3⁄4ÍÄÜ1» ̧üoÃμØÅжÏÊÇ·ñÀûÓÃË÷Òý¡£Í31⁄4ÆÖμ¶ÔÈ·¶ ̈ÓÅ» ̄μÄÁ¬1⁄2ÓË3ÐòoÍÁ¬1⁄2Ó·1⁄2· ̈Ò2oÜÓÐÓá£ÔÚ±íμÄÄÚÈÝ·¢Éú±ä» ̄ʱ£¬Ó¦¶ ̈ÆÚ1⁄2øÐÐÍ31⁄4ÆÖμμÄ»ñÈ¡¡£
+ <P>
+ Ë÷ÒýÍ ̈32ドル»ÓÃÓÚ ORDER BY »òÖ ́ÐÐÁ¬1⁄2Ó¡£¶ÔÒ» ̧ö ́ó±íμÄÒ» ́ÎË3ÐòÉ ×ばつöÒ» ̧öÏÔÊ1⁄2μÄÅÅÐòÍ ̈3£±ÈË÷ÒýÉ ̈ÃèÒa¿ì¡£
+ <P>μ«ÊÇ£¬ÔÚ LIMIT oÍ ORDER BY 1⁄2áoÏÊ1ÓÃʱ3⁄4­3£»áÊ1ÓÃË÷Òý£¬ÒòÎaÖ»»á·μ»Ø±íμÄһС2¿·Ö¡£Êμ1⁄4ÊÉÏ£¬ËäÈ» MAX() oÍ MIN() 22ドル»Ê1ÓÃË÷Òý£¬Í ̈1ý¶Ô
+ ORDER BY oÍ LLIMIT ×ばつî ×ばつîСÖμÒ2ÊÇ¿ÉÒÔμÄ£o<BR>
+ <BR>
+ &nbsp;&nbsp;&nbsp; SELECT col<BR>
+ &nbsp;&nbsp;&nbsp; FROM tab<BR>
+ &nbsp;&nbsp;&nbsp; ORDER BY col [ DESC ]<BR>
+ &nbsp;&nbsp;&nbsp; LIMIT 1;
+ <P>μ±Ê1ÓÃÍ ×ばつ÷£¬ÀýÈç LIKE »ò ~ ʱ£¬Ë÷ÒýÖ»ÄÜÔÚÌØ¶ ̈μÄÇé¿öÏÂÊ1Óão&nbsp;&nbsp;<ul><li> ×ばつÖ·û ́®μÄ¿aÊ1⁄42¿·Ö±ØÐëÊÇÆÕÍ ×ばつÖ·û ́®£¬Ò23⁄4ÍÊÇËμ£o</li>
+ <li>LIKE Ä£Ê1⁄22»ÄÜÒÔ % ́òÍ·¡£</li><li>~ £ ̈ÕýÔò±í ́ïÊ1⁄2£©Ä£Ê1⁄2±ØÐëÒÔ ^ ́òÍ·¡£</li>
+ <li&g×ばつÖ·û ́®2»ÄÜÒÔÆ\Åä¶à ×ばつÖ·ûμÄÄ£Ê1⁄2Àà ́òÍ·£¬ÀýÈç [a-e]¡£</li><li> ́óСР́ÎÞ1ØμÄ2éÕÒ£¬Èç ILIKE oÍ ~* μÈ2»Ê1ÓÃË÷Òý¡£μ«¿ÉÒÔÓà 4.12 1⁄2ÚÃèÊöμÄo ̄ÊýË÷Òý¡£</li><li&g×ばつö initdb ʱ±ØÐë2ÉÓÃȱʡμı3⁄4μØÉèÖà C locale¡£</li></ul>
+ <H4><a name="4.9"></a>4.9)
+ ÎÒÈçoÎ2ÅÄÜ¿ ́μ1⁄22éÑ ̄ÓÅ» ̄Æ÷ÊÇÔõÑù ́¦ÀíÎÒμÄ2éÑ ̄μÄ£¿</H4>
+ 2ο1⁄4 <FONT size="-1">EXPLAIN</FONT> ÊÖ2áÒ3¡£
+ <H4><a name="4.10"></a>4.10) R-tree Ë÷ÒýÊÇÊ2à ́£¿</H4>
+ <P>R-tree Ë÷ÒýÓÃÓÚË÷Òý¿Õ1⁄4äÊý3⁄4Ý¡£Ò» ̧ö1þÏ£Ë÷ÒýÎÞ· ̈ ́¦Àí·¶Î§ËÑË÷¡£¶ø B-tree Ë÷ÒýÖ»ÄÜ ́¦ÀíһάμÄ·¶Î§ËÑË÷¡£R-tree
+ Ë÷Òý¿ÉÒÔ ́¦Àí¶àάÊý3⁄4Ý¡£ÀýÈ磬Èç1û¿ÉÒÔÔÚÒ» ̧öÀàÐÍÎa point ×ばつÖ¶ÎÉÏ1⁄2 ̈Á¢Ò» ̧ö R-tree Ë÷Òý£¬ÄÇà ́ÏμÍ3ÄÜ ̧ü ̧ßÐ§μØ»Ø ́ðÀàËÆ
+ ¡°Ñ¡ÔñÔÚÒ» ̧ö3¤·1⁄2Ðη¶Î§ÄÚμÄËùÓÐμ㡱¡£<BR>
+ <BR>
+ ×ばつî3õμÄ R-Tree Éè1⁄4ÆμÄÕýÊ1⁄2ÂÛÎÄÊÇ£o<BR>
+ <BR>
+ Guttman, A. "R-Trees: A Dynamic Index Structure for Spatial Searching." Proc of
+ the 1984 ACM SIGMOD Int'l Conf on Mgmt of Data, 45-57.
+ <BR>
+ <BR>
+ Äã»1¿ÉÒÔÔÚ Stonebraker μÄ¡°Readings in Database Systems¡±ÀïÕÒμ1⁄2ÕâÆaÎÄÕ¡£<BR>
+ <BR>
+ ÏμÍ3ÄÚÖÃμÄ R-Tree ¿ÉÒÔ ́¦Àí¶à±ßÐÎoÍ·1⁄2ÐΡ£ÀíÂÛÉÏË죬R-tree ¿ÉÒÔÀ©Õ1Îa ́¦Àí ̧ü¶àάÊý¡2ドル»1ýÔÚÊμ1⁄4ùÉÏ£¬À©Õ1 R-trees
+ ÐèÒaÒ»¶ ×ばつöμÄÎÄμμ¡£<H4><a name="4.11"></a>4.11)
+ Ê2à ́ÊÇ»ùÒò2éÑ ̄ÓÅ» ̄£ ̈Genetic Query Optimization£©£¿</H4>
+ <P>GEQO Ä£¿é2ÉÓûùÒòËã· ̈£ ̈Genetic Algorithm£¬GA£©1⁄4Ó¿ì¶à±íÁ¬1⁄2ÓμÄ2éÑ ̄ÓÅ» ̄¡£ËüÔÊÐíÍ ̈1ý·ÇÇî3⁄4ÙËÑË÷ ́¦Àí ́óμÄÁ¬1⁄2Ó2éÑ ̄¡£
+ <H4><a name="4.12"></a>4.12)
+ ×ばつöÕýÔò±í ́ïÊ1⁄2ËÑË÷oÍ ́óСР́ÎÞ1ØμÄÕýÔò±í ́ïÊ1⁄2ËÑË÷£¿ÔõÑùÀûÓÃË÷Òý1⁄2øÐÐ ́óСР́ÎÞ1ØËÑË÷£¿</H4>
+ <p&g×ばつ÷·û ~ ́¦ÀíÕýÔò±í ́ïÊ1⁄2Æ\Å䣬¶ø ~* ́¦Àí ́óСР́ÎÞ1ØμÄÕýÔò±í ́ïÊ1⁄2Æ\Åä¡£ ́óÐ ́ЩÎÞ1ØμÄ LIKE ±äÖÖ3ÉÎa ILIKE¡£<br>
+ <br>
+ ́óСР́ÎÞ1ØμÄμÈÊ1⁄2±È1⁄2ÏÍ ̈3£Ð ×ばつö£o<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; SELECT *<br>
+ &nbsp;&nbsp;&nbsp; FROM tab<br>
+ &nbsp;&nbsp;&nbsp; WHERE lower(col) = 'abc';<br>
+ <br>
+ ×ばつ1⁄4μÄË÷Òý¡£μ«ÊÇ¿ÉÒÔ ́ ́1⁄2 ̈Ò» ̧ö¿É±»ÀûÓÃμÄo ̄ÊýË÷Òý:<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; CREATE INDEX tabindex ON tab (lower(col));</p>
+ <h4><a name="4.13"></a>4.13) ÔÚÒ» ̧ö2éÑ ̄ÀÎÒÔõÑù1⁄4ì2âÒ» ×ばつÖ¶ÎÊÇ·ñÎa NULL£¿</h4>
+ <p>Óà IS NULL oÍ IS NOT NULL 2âÊÔÕâ ×ばつֶΡ£&nbsp;<br>
+ </p>
+ <h4><a name="4.14"></a>4.14) ×ばつÖ·ûÀàÐÍÖ®1⁄4äÓÐÊ2à ́2»Í¬£¿</h4>
+ <p>&nbsp; ÀàÐÍ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ ÄÚ2¿Ãû3Æ&nbsp;&nbsp;&nbsp;
+ ËμÃ÷<br>
+ &nbsp; --------------------------------------------------<br>
+ &nbsp; "char"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ 1 ×ばつÖ·û character<br>
+ &nbsp; CHAR(#)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bpchar&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ ¶ ×ばつÖ·û ×ばつã¶ ̈Òå3¤¶Èʱ£¬ÒÔ¿Õ ̧ñ21Æë<br>
+ &nbsp; VARCHAR(#)&nbsp; varchar&nbsp;&nbsp;&nbsp;&nbsp; Ö ̧¶ ×ばつî ×ばつÖ·û ×ばつã¶ ̈Òå3¤¶ÈμÄ2¿·Ö2»21Æë<br>
+ &nbsp; TEXT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ ×ばつî ́ó3¤¶ÈÏÞÖÆ<br>
+ &nbsp; BYTEA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bytea&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ ×ばつÖ1⁄2ÚÐòÁУ ̈±ä3¤μĶþ1⁄2øÖÆÊý3⁄4Ý£©<br>
+ <br>
+ ÔÚÏμÍ3±íoÍÔÚһЩ ́íÎóÐÅÏ¢ÀïÄã1⁄2«¿ ́μ1⁄2ÄÚ2¿Ãû3Æ¡£&nbsp;<br>
+ <br>
+ ×ばつîoóËÄÖÖÀàÐÍÊÇ"varlena"£ ̈±ä3¤£©ÀàÐÍ£ ̈Ò23⁄4ÍÊÇË죬¿aÍ·μÄËÄ ×ばつÖ1⁄2ÚÊÇ3¤¶È£¬oóÃæ2ÅÊÇÊý3⁄4Ý£©¡£ÓÚÊÇÊμ1⁄4ÊÕ1⁄4ÓÃμÄ¿Õ1⁄4ä±ÈÉùÃ÷μÄ ́óСÒa¶àһЩ¡£È»¶øÕâЩÀàÐͶ1⁄4¿ÉÒÔ±»Ñ1Ëõ ́æ ́¢£¬Ò2¿ÉÒÔÓà TOAST ÍÑ»ú ́æ ́¢£¬Òò ́Ë ́ÅÅÌ¿Õ1⁄4äÒ2¿ÉÄܱÈÔ¤ÏëμÄÒaÉÙ¡£<br>
+ <br>
+ CHAR(n) ×ばつîÊÊoÏÓÚ ́æ ×ばつÖ·û ́®¡£VARCHAR(n) ÔÚ ́æ ×ばつî ×ばつÖ·û ×ばつîoÃμÄ¡£TEXT ÊÊÓÃÓÚ ́æ ×ばつÖ·û ×ばつî ́ó¿É ́ï 1G¡£BYTEA ÓÃÓÚ ́æ ́¢¶þ1⁄2øÖÆÊý3⁄4Ý£¬ÓÈÆäÊǰüo¬ NULL ×ばつÖ1⁄2Ú£ ̈¶þ1⁄2øÖÆμÄ0£©μÄÖμ¡£ÕâЩÀàÐÍ3⁄4ßÓÐÀàÐÍμÄÐÔÄÜ¡£</p>
+ <h4><a name="4.15.1"></a>4.15.1) ÎÒÔõÑù ́ ́1⁄2 ̈Ò» ×ばつÔ¶ ×ばつֶΣ¿</h4>
+ <p>PostgreSQL Ö§3Ö SERIAL ×ばつÔ¶ ̄ ́ ́1⁄2 ̈Ò» ̧öÐòÁÐoÍË÷Òý¡£ÀýÈ磬<br>
+ &nbsp;&nbsp;&nbsp; CREATE TABLE person (&nbsp;<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id SERIAL,&nbsp;<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name TEXT&nbsp;<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );<br>
+ <br>
+ ×ばつÔ¶ ×ばつa»»Îa£o&nbsp;<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;<br>
+ &nbsp;&nbsp;&nbsp; CREATE SEQUENCE person_id_seq;<br>
+ &nbsp;&nbsp;&nbsp; CREATE TABLE person (&nbsp;<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id INT4 NOT NULL DEFAULT nextval('person_id_seq'),<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name TEXT&nbsp;<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );<br>
+ &nbsp;&nbsp;&nbsp; CREATE UNIQUE INDEX person_id_key ON person ( id );<br>
+ <br>
+ 2ο1⁄4 create_sequence ÊÖ2áÒ3»ñÈ¡1ØÓÚÐòÁÐμÄ ̧ü¶àÐÅÏ¢¡£Äã»1¿ÉÒÔÓÃÿÐÐμÄ oid ×ばつ÷ÎaÒ» ̧öÎ ̈Ò»Öμ¡2ドル»1ý£¬Èç1ûÄãÐèÒaÇãμ1oÍÖØÔØÊý3⁄4ݿ⣬ÄãÐèÒaÊ1Óà pg_dump μÄ -o Ñ¡Ïî»òÕß COPY WITH OIDS Ñ¡ÏîÒÔ±£Áô OID¡£&nbsp;</p>
+ <h4><a name="4.15.2"></a>4.15.2)
+ ÎÒÈçoλñμÃÒ» ̧ö2åÈëμÄÐòÁÐoÅμÄÖμ£¿</h4>
+ <p>Ò»ÖÖ·1⁄2· ̈ÊÇÔÚ2åÈë֮ǰÏÈÓÃo ̄Êý nextval() ́ÓÐòÁжÔÏóÀï1⁄4ìË÷3öÏÂÒ» ̧ö SERIAL Öμ£¬È»oóÔÙÏÔÊ1⁄22åÈë¡£Ê1ÓÃ
+ <a href="#4.15.1"> 4.15.1</a> ÀïμÄÀý±í£¬¿ÉÓÃαÂëÕâÑùÃèÊö£o&nbsp;<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; new_id = execute("SELECT nextval('person_id_seq')");<br>
+ &nbsp;&nbsp;&nbsp; execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')");<br>
+ <br>
+ ÕâÑù»1ÄÜÔÚÆäËû2éÑ ̄ÖÐÊ1Óà ́æ·ÅÔÚ new_id ÀïμÄÐÂÖμ£ ×ばつ÷Îa person ×ばつÔ¶ ̄ ́ ́1⁄2 ̈μÄ SEQUENCE ¶ÔÏóμÄÃû3Æ1⁄2«»áÊÇ &lt;table>_&lt;serialcolumn>_seq£¬ÕâÀï table oÍ serialcolumn ·Ö±ðÊÇÄãμıíμÄÃû3ÆoÍÄãμÄ SERIAL ×ばつÖ¶ÎμÄÃû3Æ¡£&nbsp;<br>
+ <br>
+ ÀàËÆμÄ£¬ÔÚ SERIAL ¶ÔÏóȱʡ2åÈëoóÄã¿ÉÒÔÓÃo ̄Êý currval() 1⁄4ìË÷ ̧Õ ̧3ÖμμÄ SERIAL Ö죬ÀýÈ磬&nbsp;<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");<br>
+ &nbsp;&nbsp;&nbsp; new_id = execute("SELECT currval('person_id_seq')");<br>
+ <br>
+ ×ばつîoó£¬Äã¿ÉÒÔÊ1Óà ́Ó INSERT Óï3⁄4ä·μ»ØμÄ <a href="4.16">OID</a>
+ ×ばつîȱ·¦ÒÆÖ2ÐÔμÄ·1⁄2· ̈¡£ÔÚ Perl ÀÊ1Óà ́øÓÐ Edmund Mergl μÄ DBD::Pg Ä£¿éμÄ DBI£¬oid Öμ¿ÉÒÔÍ ̈1ý $sth->execute() oóμÄ $sth->{pg_oid_status} »ñμá£&nbsp;</p>
+ <h4><a name="4.15.3"></a>4.15.3) Ê1Óà currval() oÍ nextval() »áμ1⁄4ÖÂÒ» ̧öÓëÆäËûÓû§Ö®1⁄4äμÄÎÉÂÒÇé¿öÂð£¿</h4>
+ <p>2»»á¡£currval() ·μ»ØoóÌ ̈1⁄2ø3̶ø2»ÊÇËùÓÐÓû§ ̧3ÓèμÄμ±Ç°Öμ¡£<br>
+ </p>
+ <h4><a name="4.15.4"></a>4.15.4)
+ ÎaÊ2à ́2»ÔÚÊÂÎñÒì3£ÖÐÖ1oóÖØÓÃÐòÁÐoÅÄØ£¿ÎaÊ2à ×ばつÖ¶ÎμÄÈ¡ÖμÖÐ ́æÔÚ1⁄4ä¶ÏÄØ£¿</h4>
+ <p>ÎaÁËÌá ̧ß2¢·¢ÐÔ£¬ÐòÁÐoÅÔÚÐèÒaμÄʱoò ̧3ÓèÕýÔÚÔËÐÐμÄÊÂÎñ£¬2¢ÇÒÖ»ÔÚÊÂÎñ1⁄2áÊøÖ®Ç°2»·âËø¡£Õâ3⁄4Í»áμ1⁄4ÖÂØ2ÕÛÊÂÎñoóμÄÐòÁÐoÅ3öÏÖ1⁄4ä ̧ô¡£</p>
+ <h4><br>
+ <a name="4.16"></a>4.16) Ê2à ́ÊÇ OID£¿Ê2à ́ÊÇ TID£¿</h4>
+ <p>OID ÊÇ PostgreSQL ÖÐÐÐμÄÎ ̈Ò»±êʶ¡£PostgreSQL Àï ́ ́1⁄2 ̈μÄÿһÐж1⁄4»ñμÃÒ» ̧öÎ ̈Ò»μÄ OID¡£ËùÓÐÔÚ initdb 1ý3ÌÖÐ ́ ́1⁄2 ̈μÄ OID ¶1⁄4СÓÚ 16384 £ ̈2Î1⁄4û include/access/transam.h£©¡£ËùÓÐÓû§ ́ ́1⁄2 ̈μÄ OID ¶1⁄4 ́óÓÚ»òμÈÓÚÕâ ̧öÖμ¡£È±Ê¡Ê±£¬ËùÓÐÕâЩ OID 2»1⁄2öÔÚÒ» ̧ö±í»òÒ» ̧öÊý3⁄4Ý¿âÀïÃæÎ ̈Ò»£¬¶øÇÒÔÚÕû ̧ö PostgreSQL ×ばつ°ÀïÒ2ÊÇÎ ̈Ò»μÄ¡£&nbsp;<br>
+ <br>
+ PostgreSQL ÔÚËüμÄÄÚ2¿ÏμÍ3±íÀïÊ1Óà OID ÔÚ±íÖ®1⁄4ä1⁄2 ̈Á¢ÁaÏμ¡£ÕâЩ OID ¿ÉÒÔÓÃÓÚ±êÊ¶ÌØ¶ ̈μÄÓû§ÐÐÒÔ1⁄4°ÓÃÔÚÁ¬1⁄2ÓÀï¡1ドル⁄2 ×ばつÖ¶ÎÀàÐÍ OID ́æ ́¢ OID Öμ¡£¿ÉÒÔÔÚ OID ×ばつÖ¶ÎÉÏ ́ ́1⁄2 ̈Ò» ̧öË÷ÒýÒÔ¿ìËÙ·ÃÎÊ¡£&nbsp;<br>
+ <br>
+ OID ́ÓÒ» ̧ö±»ËùÓÐÊý3⁄4Ý¿âÊ1ÓÃμÄÖÐÐÄÇøÓòÀï ̧3Öμ ̧øËùÓÐÐÂÐС£Èç1ûÄãÏë°Ñ OID ×ばつöÒ»·Ý±íμÄ ́øÔ­Ê1⁄4 OID μÄ¿1⁄2± ×ばつöμ1⁄2£o&nbsp;<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; CREATE TABLE new(old_oid oid, mycol int);<br>
+ &nbsp;&nbsp;&nbsp; SELECT old_oid, mycol INTO new FROM old;<br>
+ &nbsp;&nbsp;&nbsp; COPY new TO '/tmp/pgtable';<br>
+ &nbsp;&nbsp;&nbsp; DELETE FROM new;<br>
+ &nbsp;&nbsp;&nbsp; COPY new WITH OIDS FROM '/tmp/pgtable';<br>
+ <br>
+ OID ×ばつÖ1⁄2ÚμÄÕûÊý±£ ́棬ÔÚ3¬1ý40ÒÚʱ1⁄2«Òç3ö¡£Ã»ÓÐÈ˱ ̈ ̧æ3öÏÖ1ýÒç3ö£¬¶øÎÒÃÇ ́òËãÔÚÓÐÈ˱ ̈ ̧æÖ®Ç°Ïû3ýÕâ ̧öÏÞÖÆ¡£<br>
+ <br>
+ TID ÓÃÓÚ±êʶ ×ばつÅÊý3⁄4Ý¿é£ ̈μØÖ·£©oÍ£ ̈¿éÄÚ£©Æ«ÒÆμÄÌØ¶ ̈μÄÎïÀíÐС£TID ÔÚÐб» ̧ü ̧Ä»òÖØÔØoó·¢Éú ̧ı䡣Ë÷ÒýÈë¿ÚÊ1ÓÃËüÃÇÖ ̧ÏòÎïÀíÐС£</p>
+ <h4><a name="4.17"></a>4.17) PostgreSQL Ê1ÓÃμÄһЩÊõÓïμÄo¬ÒåÊÇÊ2à ́£¿</h4>
+ <p>Ò»Ð©Ô ́ ́úÂëoÍһЩ3⁄4ÉÒ»μãμÄÎÄμμÊ1ÓÃһЩÓÐ ̧ü3£ÓÃÓ÷ ̈μÄÊõÓï¡£ÏÂÃæÊÇÆäÖÐÒ»2¿·Ö£o&nbsp;<br>
+ &nbsp;&nbsp;&nbsp; table, relation, class&nbsp;<br>
+ &nbsp;&nbsp;&nbsp; row, record, tuple&nbsp;<br>
+ &nbsp;&nbsp;&nbsp; column, field, attribute&nbsp;<br>
+ &nbsp;&nbsp;&nbsp; retrieve, select&nbsp;<br>
+ &nbsp;&nbsp;&nbsp; replace, update&nbsp;<br>
+ &nbsp;&nbsp;&nbsp; append, insert&nbsp;<br>
+ &nbsp;&nbsp;&nbsp; OID, serial value&nbsp;<br>
+ &nbsp;&nbsp;&nbsp; portal, cursor&nbsp;<br>
+ &nbsp;&nbsp;&nbsp; range variable, table name, table alias&nbsp;<br>
+ <br>
+ ÓÐÒ» ̧öÍ ̈ÓÃÊý3⁄4Ý¿âÊõÓïμÄÁбí£o<a href="http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glossary.html">http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glossary.html</a>
+ ¡£&nbsp;&nbsp;</p>
+ <h4><a name="4.18"></a>4.18)
+ ÎaÊ2à ́ÎÒÊÕμ1⁄2 ́íÎó¡°<i>ERROR: Memory exhausted in AllocSetAlloc()</i>¡±£¿</h4>
+ <p>ÕâoÜ¿ÉÄÜÊÇÏμÍ3μÄÐéÄâÄÚ ×ばつÊÔ ́ÓÐ1⁄2ÏμÍμÄÏÞÖÆÖμ¡£ÔÚÆô¶ ̄ postmaster ֮ǰÊÔÊÔÏÂÃæμÄÃüÁî£o&nbsp;<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; ulimit -d 262144<br>
+ &nbsp;&nbsp;&nbsp; limit datasize 256m<br>
+ <br>
+ È¡3⁄4öÓÚÄãÓÃμÄ shell£¬ÉÏÃæÃüÁîÖ»ÓÐÒ»ÌõÄÜ3É1¦£¬μ«ÊÇËü1⁄2«°ÑÄãμÄ1⁄2ø3ÌÊý3⁄4ݶÎÏÞÖÆÉèμñÈ1⁄2Ï ̧ߣ¬Òò¶øÒ2ÐíÄÜÈÃ2éÑ ̄Íê3É¡£ÕâÌõÃüÁîÓ¦ÓÃÓÚμ±Ç°1⁄2ø3Ì£¬ÒÔ1⁄4°ËùÓÐÔÚÕâÌõÃüÁîÔËÐÐoó ́ ́1⁄2 ×ばつÓ1⁄2ø3Ì¡£Èç1ûÄãÊÇÔÚÔËÐÐSQL¿Í»§¶ËʱÒòÎaoóÌ ̈·μ»ØÁËÌ«¶àμÄÊý3⁄4ݶø3öÏÖÎÊÌ⣬ÇëÔÚÔËÐпͻ§¶ËÖ®Ç°Ö ́ÐÐÉÏÊöÃüÁî¡£</p>
+ <h4><a name="4.19"></a>4.19)
+ ÎÒÈçoÎ2ÅÄÜÖaμÀËùÔËÐÐμÄ PostgreSQL μİæ±3⁄4£¿</h4>
+ <p> ́Ó psql À1⁄4üÈë SELECT version()£»<br>
+ </p>
+ <h4><a name="4.20"></a>4.20)
+ ÎaÊ2à ́ÎÒμÄ ×ばつ÷μ1⁄4Ö ́íÎó¡°<I>invalid large obj descriptor¡±£ ̈·Ç· ̈μÄ ́ó¶ÔÏóÃèÊö·û£©</I>£¿</h4>
+ <p>ÄãÐèÒaÔÚÊ1ÓÃÈÎoÎ ́ó¶ÔÏó3⁄4ä±úμÄǰoó·ÅÉÏ BEGIN WORK oÍ COMMIT£¬Ò23⁄4ÍÊÇË죬°üΧ lo_open ... lo_close¡£&nbsp;<br>
+ <br>
+ Ŀǰ PostgreSQL Ç¿ÖÆÊμÊ©ÕâÌõ1æÔò£oÔÚÊÂÎñÌá1⁄2»Ê±1Ø±Õ ́ó¶ÔÏó3⁄4ä±ú£¬ÕâÑù£¬£ ×ばつ ́Î¶Ô ×ばつöÈÎoÎÊÂÇéμÄÆóÍ1⁄4¶1⁄4»áμ1⁄4ÖÂÒ» ̧ö invalid large obj descriptor¡£ËùÒÔ£¬Èç1ûÄãûÓÐÊ1ÓÃÒ» ×ばつ÷μÄ ́úÂë£ ̈ÖÁÉÙÊÇ ́ó¶àÊýʱ1⁄4䣩1⁄2«»áÉú3ÉÕâà ́Ò» ̧ö ́íÎóÐÅÏ¢¡£&nbsp;<br>
+ <br>
+ Èç1ûÄãÊ1Óÿͻ§¶Ë1⁄2Ó¿Ú£¬Èç ODBC£¬Äã¿ÉÄÜÐèÒa set auto-commit off¡£</p>
+ <h4><a name="4.21"></a>4.21) ÎÒÈçoÎ ́ ́1⁄2 ̈Ò» ×ばつֶΣ¿</h4>
+ <p>Ê1ÓÃ CURRENT_TIMESTAMP£o<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; CREATE TABLE test(x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP);</p>
+ <h4><a name="4.22"></a>4.22) ÎaÊ2à ́Ê1Óà IN ×ばつÓ2éÑ ̄Õâà ́Âý£¿</h4>
+ <p>Ŀǰ£¬ÎÒÃÇÍ ̈1ýÎaÍâ2éÑ ̄μÄÿһÐÐË3ÐòÉ ×ばつÓ2éÑ ̄μÄ1⁄2á1ûÀ ×ばつÓ2éÑ ̄oÍÍâ2éÑ ×ばつÓ2éÑ ̄·μ»ØÉÙÊý1⁄4 ̧ÐУ¬¶øÍâ2éÑ ̄·μ»ØoܶàÐУ¬IN Ö ́ÐÐμÃoܿ졣ÎaÁË1⁄4Ó¿ìÆäËû IN 2éÑ ̄μÄÖ ́ÐУ¬¿ÉÒÔÓà EXISTS Ìæ»» IN£o&nbsp;<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; SELECT *<br>
+ &nbsp;&nbsp;&nbsp; FROM tab<br>
+ &nbsp;&nbsp;&nbsp; WHERE col IN (SELECT subcol FROM subtab);<br>
+ <br>
+ ̧ÄÎa£o&nbsp;<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; SELECT *<br>
+ &nbsp;&nbsp;&nbsp; FROM tab<br>
+ &nbsp;&nbsp;&nbsp; WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col);<br>
+ <br>
+ oóÕßÒaÏëÖ ́ÐÐμà ̧ü¿ì£¬subcol Ó¦ ̧ÃÊÇÒ» ̧öË÷ÒýÁС£ÎÒÃÇÏ£ÍûÔÚÎ ́À ́μÄ·21ドル⁄4°æ±3⁄4ÖÐÐÞ21Õâ ̧öÏÞÖÆ¡£</p>
+ <h4><a name="4.23"></a>4.23) ÎÒÔõÑù1⁄2øÐÐ outer join £ ̈ÍâÁ¬1⁄2Ó£©£¿</h4>
+ <p>PostgreSQL ×ばつ1⁄4μÄ SQL Óï· ̈Ö§3ÖÍâÁ¬1⁄2Ó¡£ÕâÀïÊÇÁ1⁄2 ×ばつÓ£o<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; SELECT *<br>
+ &nbsp;&nbsp;&nbsp; FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);<br>
+ <br>
+ »ò&nbsp;<br>
+ &nbsp;&nbsp;&nbsp; SELECT *<br>
+ &nbsp;&nbsp;&nbsp; FROM t1 LEFT OUTER JOIN t2 USING (col);<br>
+ <br>
+ ÕâÁ1⁄2 ̧öμÈ1⁄4ÛμÄ2éÑ ̄ÔÚ t1.col oÍ t2.col ×ばつöÁ¬1⁄2Ó£¬2¢ÇÒ·μâ»?t1 ÖÐËùÓÐÎ ́Á¬1⁄2ÓμÄÐУ ̈ÄÇЩÔÚ t2 ÖÐûÓÐÆ\ÅäμÄÐУ©¡£ÓÒ[Íâ]Á¬1⁄2Ó(RIGHT OUTER JOIN)1⁄2«·μ»Ø t2 ÖÐÎ ́Á¬1⁄2ÓμÄÐС£ÍêÈ«ÍâÁ¬1⁄2Ó£ ̈FULL OUTER JOIN£©1⁄2«·μ»Ø t1 oÍ t2 ÖÐÎ ×ばつÖ OUTER ×ばつó[Íâ]Á¬1⁄2Ó¡¢ÓÒ[Íâ]Á¬1⁄2ÓoÍÍêÈ«[Íâ]Á¬1⁄2ÓÖÐÊÇ¿ÉÑ¡μÄ£¬ÆÕÍ ̈Á¬1⁄2Ó±»3ÉÎaÄÚÁ¬1⁄2Ó£ ̈INNER JOIN£©¡£<br>
+ <br>
+ ÔÚ ́Ëǰμİæ±3⁄4ÖУ¬ÍâÁ¬1⁄2Ó¿ÉÒÔÓà UNION oÍ NOT IN À ×ばつÓÔÚ±í tab1 oÍ tab2 ×ばつöÍâÁ¬1⁄2Ó£o<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; SELECT tab1.col1, tab2.col2<br>
+ &nbsp;&nbsp;&nbsp; FROM tab1, tab2<br>
+ &nbsp;&nbsp;&nbsp; WHERE tab1.col1 = tab2.col1<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; UNION ALL<br>
+ <br>
+ &nbsp;&nbsp;&nbsp; SELECT tab1.col1, NULL<br>
+ &nbsp;&nbsp;&nbsp; FROM tab1<br>
+ &nbsp;&nbsp;&nbsp; WHERE tab1.col1 NOT IN (SELECT tab2.col1 FROM tab2)<br>
+ &nbsp;&nbsp;&nbsp; ORDER BY col1</p>
+ <h4><a name="4.24"></a>4.24)
+ ÈçoÎÊ1ÓÃÉæ1⁄4°¶à ̧öÊý3⁄4Ý¿âμÄ2éÑ ̄£¿</h4>
+ <p>ûÓÐ°ì· ̈2éÑ ̄μ±Ç°Êý3⁄4Ý¿âÖ®ÍâμÄÊý3⁄4ݿ⡣ÒòÎa PostgreSQL 1⁄4ÓÔØÊý3⁄4Ý¿âÏà1ØμÄÏμÍ3Ä¿Â1⁄4£ ̈ÏμÍ3±í£©£¬¿çÊý3⁄4Ý¿âμÄ2éÑ ̄ÈçoÎÖ ́ÐÐÒ2Î ́Ã÷È·¡£<br>
+ <br>
+ contrib/dblink ÔÊÐí2ÉÓÃo ̄Êýμ÷ÓÃÊμÏÖ¿ç¿â2éÑ ̄¡£μ±È»¿ÉÒÔͬʱÁ¬1⁄2Óμ1⁄22»Í¬μÄÊý3⁄4Ý¿â2¢ÔÚ¿Í»§¶ËoÏ21ドル⁄2á1û¡£</p>
+ <h4><a name="4.25"></a>4.25)
+ ÈçoÎÈÃo ̄Êý·μ»Ø¶àÐлò¶àÁУ¿</h4>
+ <p>¿ÉÒÔÔÚ PL/pgSQL o ̄ÊýÖÐÊ1Óà refcursors ·μ»Ø1⁄2á1û1⁄4 ̄¡2ドルο ́
+ <a href="http://www.PostgreSQL.org/idocs/index.php?plpgsql-cursors.html"> http://www.PostgreSQL.org/idocs/index.php?plpgsql-cursors.html</a>, 23.7.3.31⁄2Ú¡£<br>
+ </p>
+ <h4><a name="4.26"></a>4.26) ÎaÊ2Ã ́ÔÚ
+ PL/PgSQL o ̄ÊýÖÐ2»Äܿɿ¿μØ ́ ́1⁄2 ̈»òÉ3⁄43ýÁÙʱ±í£¿</h4>
+ <p>PL/PgSQL
+ »o ́æo ̄ÊýμÄÄÚÈÝ£¬ÓÉ ́Ë ́øÀ ́μÄÒ» ̧ö2»oÃμÄ ×ばつ÷ÓÃÊÇÈôÒ» ̧ö PL/PgSQL
+ o ̄Êý·ÃÎÊÁËÒ» ̧öÁÙʱ±í£¬È»oó ̧Ã±í±»É3⁄43ý2¢ÖØ1⁄2 ̈ÁË£¬ÔòÔÙ ́Îμ÷Óà ̧Ão ̄Êý1⁄2«Ê§°Ü£¬ÒòÎa»o ́æμÄo ̄ÊýÄÚÈÝÈÔÈ»Ö ̧Ïò3⁄4ÉμÄÁÙʱ±í¡1ドル⁄2â3⁄4öμÄ·1⁄2· ̈ÊÇÔÚ
+ PL/PgSQL ÖÐÓÃ EXECUTE
+ ¶ÔÁÙʱ±í1⁄2øÐзÃÎÊ¡£ÕâÑù»á±£Ö¤2éÑ ̄ÔÚÖ ×ばつÜÊÇÖØÐ·ÖÎö¡£</p>
+ <h4><a name="4.27"></a>4.27)
+ ÓÐÄÄЩÊý3⁄4Ý ̧ ́ÖÆÑ¡Ï</h4>
+ <p>ÓÐ1⁄4 ̧ÖÖÖ÷/ ́Ó·1⁄2Ê1⁄2μÄ ̧ ́ÖÆÑ¡Ïî¡£ÕâЩѡÏîÖ»ÔÊÐíÖ÷Êý3⁄4Ý¿â1⁄2øÐÐ ̧üУ¬ ́ÓÊý3⁄4Ý¿âÖ»ÄÜ1⁄2øÐжÁ¡£ÍøÒ3
+ <a href="http://gborg.PostgreSQL.org/genpage?replication_research">http://gborg.PostgreSQL.org/genpage?replication_research</a>&nbsp;
+ ×ばつîoóÁÐ3öÁËÕâЩѡÏî¡£ÔÚ <a href="http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php"> http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php</a>
+ ÕýÔÚ1⁄2øÐÐÒ» ̧ö¶àÖ÷±3⁄4 ̧ ́ÖÆμÄ1⁄2â3⁄4ö·1⁄2° ̧¡£</p>
+ <h4><a name="4.28"></a>4.28)
+ ÓÐÄÄЩÊý3⁄4Ý1⁄4ÓÃÜÑ¡Ï
+ </h4>
+ <p>contrib/pgcrypto °üo¬ÁËoܶàÔÚ SQL
+ 2éÑ ̄ÖÐÊ1ÓÃμÄ1⁄4ÓÃÜo ̄Êý¡1ドル⁄4ÓÃܿͻ§¶Ëμ1⁄2·þÎñÆ÷¶Ë ́«ÊäÊý3⁄4ÝμÄÎ ̈Ò»·1⁄2· ̈ÊÇÔÚ pg_hba.conf
+ ÖÐ2ÉÓÃ hostss ¡£&nbsp;<br>
+ <br>
+ 7.3
+ ×ばつÔ¶ ̄¶ÔÊý3⁄4Ý¿âÓû§ÃÜÂë1⁄2øÐÐ1⁄4ÓÃÜ¡£ÔÚÒÔǰμİæ±3⁄4ÖУ¬±ØÐëÔÚ
+ postgresql.conf ÖÐ ́ò¿a PASSWORD_ENCRYPTION
+ Ñ¡Ïî¡£·þÎñÆ÷¿ÉÒÔÔËÐÐÔÚ1⁄4ÓÃÜμÄÎÄ1⁄4þÏμÍ3ÉÏ£ ̈ÒÔ ́ïμ1⁄21⁄4ÓÃÜμÄÄ¿μÄ£©¡£<br>
+ <br>
+ --------------------------------------------------------------------------------</p>
+ <h2 align="center">À©Õ1 PostgreSQL</h2>
+ <h4><a name="5.1"></a>5.1)
+ ÎÒÐ ́ÁËÒ» ̧öÓû§¶ ̈Òåo ̄Êý¡£μ±ÎÒÔÚ psql ÀïÔËÐÐʱ£¬ÎaÊ2à ́»áμ1⁄4Ö core dump£¿</h4>
+ <p>2úÉúÕâ ̧öÎÊÌâμÄÔ­ÒòoܶࡣÇëÏÈÔÚÒ» ×ばつÔ¶ ̈Òåo ̄Êý¡£</p>
+ <h4><a name="5.2"></a>5.2) ÎÒÈçoÎÄÜ ̧ø
+ PostgreSQL ×ばつһЩͦ2» ́íμÄÐÂÀàÐÍoÍo ̄Êý£¿</h4>
+ <p>1⁄2«ÄãμÄÀ©Õ1·¢ËÍμ1⁄2 pgsql-hackers
+ ×ばつîÖջᱻ·Åμ1⁄2 contrib/ ×ばつÓÄ¿Â1⁄4¡£<br>
+ </p>
+ <h4><a name="5.3"></a>5.3) ÎÒÔõÑùÐ ́Ò» ̧ö·μ»ØÒ»ÌõÔa×ばつéμÄ C o ̄Êý£¿</h4>
+ <p>ÔÚ PostgreSQL 7.3 ÒÔoóμİæ±3⁄4ÖУ¬C, PL/PgSQL oÍ SQL
+ Íêȫ֧3Ö·μ»ØÖμÎa±íμÄo ̄Êý¡£ ̧ü¶àÐÅÏ¢Çë2ο1⁄4
+ 3ÌÐòÔ±Ö ̧ÄÏ£ ̈the Programmer's Guide£©¡£ÔÚ contrib/tablefunc
+ ÖÐÓÐÒ» ×ばつÓÊÇÓà C Ð ́μÄ·μ»ØÖμÎa±íμÄo ̄Êý¡£</p>
+ <h4><a name="5.4"></a>5.4)
+ ÎÒÐÞ ̧ÄÁËÒ» ̧öÔ ́ÎÄ1⁄4þ£¬ÎaÊ2à ́ÖØÐ±àÒëoóûÓп ́μ1⁄2 ̧ı䣿</h4>
+ <p> Makefiles ×ばつömake
+ clean£¬ ×ばつöÒ» ́Î make ¡£Èç1ûÄúÊ1ÓÃμÄÊÇ GCC
+ £¬Ôò¿ÉÒÔ2ÉÓÃÑ¡Ïî --enable-depend
+ ×ばつÔ¶ ̄Éú3ÉÍ·ÎÄ1⁄4þμÄÒÀÀμ1ØÏμ¡£</p>
+ </BODY>
+</HTML>
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /