From 6bf44d51ead8e37fe3f75d18f64049392f902668 Mon Sep 17 00:00:00 2001 From: Bruce Momjian <bruce@momjian.us> Date: Mon, 26 Jun 2006 13:04:05 +0000 Subject: [PATCH] Use Unix newlines, instead of DOS ones. --- doc/src/FAQ/FAQ_chinese.html | 1750 +++++++++++++++++----------------- 1 file changed, 875 insertions(+), 875 deletions(-) diff --git a/doc/src/FAQ/FAQ_chinese.html b/doc/src/FAQ/FAQ_chinese.html index 8a4662c253..d089d69eab 100644 --- a/doc/src/FAQ/FAQ_chinese.html +++ b/doc/src/FAQ/FAQ_chinese.html @@ -1,875 +1,875 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en" dir="ltr"> - <head> - <title> - PostgreSQL: PostgreSQL �������⣨FAQ�� - </title> - <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> - </head> - - <body> - -<h1>PostgreSQL �������⣨FAQ��</h1> -<p> -������£�2005 �� 06 �� 02 �� ������ 22:27:35 CST -</p> -<p> - Ŀǰά����Ա��Bruce Momjian (<a href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>)<br/> - ���İ�ά����Ա��doudou586 ��doudou586_2005@yahoo.com.cn�� -</p> -<p> - ���ĵ������°汾������ - <a href="http://www.postgresql.org/files/documentation/faqs/FAQ.html">http://www.postgresql.org/files/documentation/faqs/FAQ.html</a>�鿴�� -</p> -<p> - �����ϵͳƽ̨��ص�������<a href="http://www.postgresql.org/docs/faq/">http://www.postgresql.org/docs/faq/</a>��ش�<br/> -</p> -<hr/> - -<div><h2>��������</h2></div> - -<p> -<a href="#1.1">1.1</a>)PostgreSQL ��ʲô������ô������<br/> -<a href="#1.2">1.2</a>)PostgreSQL �İ�Ȩ��ʲô��<br/> -<a href="#1.3">1.3</a>)PostgreSQL ������������Щ����ϵͳƽ̨�ϣ�<br/> -<a href="#1.4">1.4</a>)�Ҵ������ܵõ� PostgreSQL��<br/> -<a href="#1.5">1.5</a>)�Ҵ������ܵõ��� PostgreSQL ��֧�֣�<br/> -<a href="#1.6">1.6</a>)������ύһ��BUG���棿<br/> -<a href="#1.7">1.7</a>)���°��PostgreSQL ��ʲô��<br/> -<a href="#1.8">1.8</a>)�ܹ���ȡ�������ĵ�����Щ��<br/> -<a href="#1.9">1.9</a>)������˽���֪�� BUG ����ȱ�Ĺ��ܣ�<br/> -<a href="#1.10">1.10</a>)��Ӧ������ѧϰ SQL ��<br/> -<a href="#1.11">1.11</a>)��Ӧ���������뿪�����飿<br/> -<a href="#1.12">1.12</a>)PostgreSQL ���������ݿ�ϵͳ��������Σ�<br/> -<a href="#1.13">1.13</a>)˭���ƺ���PostgreSQL �� -</p> - -<div><h2>�û��ͻ�������</h2></div> -<p> -<a href="#2.1">2.1</a>)���ǿ�����ʲô���Ժ� PostgreSQL ����<br/> -<a href="#2.2">2.2</a>)��ʲô���߿��� PostgreSQL ���� Web ҳ�棿<br/> -<a href="#2.3">2.3</a>)PostgreSQL ӵ��ͼ���û�������<br/> -</p> - -<div><h2>ϵͳ��������</h2></div> -<p> -<a href="#3.1">3.1</a>)���������ܰ� PostgreSQL װ�� /usr/local/pgsql ����ĵط���<br/> -<a href="#3.2">3.2</a>)����ο��������������������ӣ�<br/> -<a href="#3.3">3.3</a>)�������������ݿ������Ի�ø��õ����ܣ�<br/> -<a href="#3.4">3.4</a>)PostgreSQL ����Ի��ʲô���ĵ������ԣ�<br/> -<a href="#3.5">3.5</a>)Ϊʲô����ͼ���ӵ�¼ʱ�յ���Sorry, too many clients�� ��Ϣ��<br/> -<a href="#3.6">3.6</a>)ΪʲôҪ������ PostgreSQL ��Ҫ�����汾ʱ�� dump �� restore ��<br/> -<a href="#3.7">3.7</a>)(ʹ��PostgreSQL)����Ҫʹ��ʲô�����Ӳ�� ��<br/> -</p> - -<div><h2>��������</h2></div> -<p> -<a href="#4.1">4.1</a>)���ֻѡ��һ����ѯ�����ͷ���У����������һ�У�<br/> -<a href="#4.2">4.2</a>)��β鿴�������������ݿ��Լ��û��Ķ��壿��β鿴<i>psql</i>���õ��IJ�ѯָ���ʾ���ǣ�<br/> -<a href="#4.3">4.3</a>)��θ���һ���ֶε��������ͣ�<br/> -<a href="#4.4">4.4</a>)һ�м�¼��һ������һ��������ߴ��Ƕ��٣�<br/> -<a href="#4.5">4.5</a>)�洢һ�����͵��ı��ļ����������Ҫ���ٴ��̿ռ䣿<br/> -<a href="#4.6">4.6</a>)Ϊʲô�ҵIJ�ѯ������Ϊʲô��Щ��ѯû������������<br/> -<a href="#4.7">4.7</a>)����β��ܿ�����ѯ�Ż������������������ҵIJ�ѯ�ģ�<br/> -<a href="#4.8">4.8</a>)���������������ʽ�����ʹ�Сд�ص��������ʽ���ң����������������д�Сд�ز��ң�<br/> -<a href="#4.9">4.9</a>)��һ����ѯ����������һ���ֶ��Ƿ�Ϊ NULL������β���ȷ���������ij�ֶ��Ƿ�NULLֵ��<br/> -<a href="#4.10">4.10</a>)�����ַ�����֮����ʲô��ͬ��<br/> -<a href="#4.11.1">4.11.1</a>)����������һ�����к�/�Զ��������ֶΣ�<br/> -<a href="#4.11.2">4.11.2</a>)����λ��һ����������кŵ�ֵ��<br/> -<a href="#4.11.3">4.11.3</a>)ʹ�� currval() �ᵼ�º������û������������race condition����<br/> -<a href="#4.11.4">4.11.4</a>)Ϊʲô���������쳣��ֹ���������к��أ�Ϊʲô�����к��ֶε�ȡֵ�д��ڼ���أ�<br/> -<a href="#4.12">4.12</a>)ʲô�� OID��ʲô�� CTID ��<br/> -<a href="#4.13">4.13</a>)Ϊʲô���յ�������Ϣ��<i>ERROR: Memory exhausted in AllocSetAlloc()</i>����<br/> -<a href="#4.14">4.14</a>)����β���֪�������е� PostgreSQL �İ汾��<br/> -<a href="#4.15">4.15</a>)����δ���һ��ȱʡֵ�ǵ�ǰʱ����ֶΣ�<br/> -<a href="#4.16">4.16</a>)��ν��� outer join �������ӣ���<br/> -<a href="#4.17">4.17</a>)���ʹ���漰������ݿ�IJ�ѯ��<br/> -<a href="#4.18">4.18</a>)����ú������ض��л���У�<br/> -<a href="#4.19">4.19</a>)Ϊʲô����ʹ��PL/PgSQL������ȡ��ʱ��ʱ���յ�������Ϣ��relation with OID ##### does not exist����<br/> -<a href="#4.20">4.20</a>)Ŀǰ����Щ���ݸ��Ʒ������ã�<br/> -</p> - -<hr/> - -<div><h2>��������</h2></div> - -<h4><a name="1.1"></a>1.1)PostgreSQL ��ʲô������ô������</h4> -<p> -PostgreSQL ���� <i>Post-Gres-Q-L</i>����ʱ��Ҳ���Ϊ<i>Postgres</i> �� -</p> -<p> - PostgreSQL ������Ŀ��Ĺ�ϵ���ݿ�ϵͳ�������д�ͳ��ҵ���ݿ�ϵͳ�����й��ܣ�ͬʱ�ֺ��н�����һ�� DBMS ϵͳ��ʹ�õ���ǿ���ԡ� - PostgreSQL ��������ѵģ���������Դ���붼���Ի�á� -</p> - -<p> - PostgreSQL �Ŀ���������ҪΪ־Ը�ߣ����DZ鲼������ز�ͨ��������������ϵ������һ������������Ŀ���������κι�˾���ơ� - ������뿪�����飬��μ�������Ա�������⣨FAQ�� - <a href="http://www.postgresql.org/files/documentation/faqs/FAQ_DEV.html">http://www.postgresql.org/files/documentation/faqs/FAQ_DEV.html</a> -</p> - - -<h4><a name="1.2"></a>1.2)PostgreSQL �İ�Ȩ��ʲô?</h4> -<p> -PostgreSQL�ķ�����Ӿ����BSD��Ȩ������Դ��������ʹ��û���κ����ƣ����Ǻ�ϲ�����ַ�ʽ���һ�û�д���ı����� -</p> -<p> -�����������ʹ�õ�BSD��Ȩ���ݣ� -</p> - -<p> - ���ְ�Ȩ��c��1996-2005��PostgreSQL ȫ��С�飬���ְ�Ȩ��c��1994-1996 ���ݴ�ѧ���� -</p> - -<p> - ��Portions copyright (c) 1996-2005, PostgreSQL Global Development Group Portions Copyright (c) 1994-6 Regents of the University of California�� -</p> - -<p> - ����Ϊ�κ�Ŀ��ʹ�ã��������ĺͷַ���������������ĵ�������ȡ�κη��ã� - ��������ǩ����˶�������֤����ǰ��������İ�Ȩ�����ͱ����Լ������������ֳ��������п����С� -</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> - ���κ�����£����ݴ�ѧ�����е���ʹ�ô����������ĵ������µĶ��κε����˵�ֱ�ӵģ� - ��ӵģ�����ģ����ӵĻ�����������������������ʧ�����Σ���ʹ���ݴ�ѧ�Ѿ���������Щ��ʧ�Ŀ�����ʱҲ����ˡ� -</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> - ���ݴ�ѧ��ȷ�����κα�֤����������������ijһ�ض���;����ҵ�������������֤�� - �����ṩ����������ǻ��ڡ������ǡ��Ļ����ģ�������ݴ�ѧû�������ṩά����֧�֣����£���ǿ�����ĵķ��� -</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/> - -</p> - -<h4><a name="1.3"></a>1.3)PostgreSQL ������������Щ����ϵͳƽ̨�ϣ�</h4> - -<p> - һ��˵����һ���ִ��� UNIX ���ݵ�ƽ̨�������� PostgreSQL ���ڰ�װָ�����г��˷���ʱ������ȷ���Ե�ƽ̨�� -</p> - -<p> - PostgreSQlҲ����ֱ�������ڻ�����Windows-NT�IJ���ϵͳ����Win2000��WinXP �� Win2003����������ɵİ�װ���ɴ� - <a href="http://pgfoundry.org/projects/pginstaller">http://pgfoundry.org/projects/pginstaller</a>���أ�����MSDOS��Windows����ϵͳ - ��Win95��Win98��WinMe����Ҫͨ��Cygwinģ�������PostgreSQL�� -</p> - -<p> - ͬʱҲ��һ��ΪNovell Netware 6�����İ汾�ɴ�<a href="http://forge.novell.com"> http://forge.novell.com </a>��ȡ��ΪOS/2�����İ汾�ɴ� - <a href="http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=postgreSQL&stype=all&sort=type&dir=%2F"> - http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=postgreSQL&stype=all&sort=type&dir=%2F</a> -</p> - -<h4><a name="1.4"></a>1.4)�Ҵ������ܵõ� PostgreSQL��</h4> - -<p> - ͨ��������ɴ�<a href="http://www.postgresql.org/ftp/">http://www.postgresql.org/ftp/</a>���أ�Ҳ��ͨ��FTP���� - <a href="ftp://ftp.PostgreSQL.org/pub/">ftp://ftp.PostgreSQL.org/pub/</a>վ�����ء� -</p> - - -<h4><a name="1.5"></a>1.5)�Ҵ������ܵõ��� PostgreSQL ��֧�֣�</h4> -<p> - PostgreSQL����ͨ���ʼ��б�Ϊ�������û��ṩ�����������ʼ��б�����վ����<a href="http://www.postgresql.org/community/lists/"> http://www.postgresql.org/community/lists/</a>��һ������£��ȼ���<i>General</i> �� <i>Bug</i>�ʼ��б���һ���ϺõĿ�ʼ�� -</p> - -<p> - ��Ҫ��IRCƵ������FreeNode(<i>irc.freenode.net</i>)��<i>#postgresql</i>��Ϊ�����ϴ�Ƶ��������ʹ��UNIX����irc����ָ���ʽ�� - irc -c '#postgresql' "$USER" irc.freenode.net ������ʹ������IRC�ͻ��˳����ڴ������л�����һ��PostgreSQL��������Ƶ��(<i>#postgersql-es</i>)�ͷ���Ƶ�� - (<i>#postgresql-fr</i>)��ͬ���أ���EFNET��Ҳ��һ��PostgreSQL�Ľ���Ƶ���� -</p> - -<p> - ��ҵ֧�ֹ�˾���б���<a href=" http://techdocs.postgresql.org/companies.php"> http://techdocs.postgresql.org/companies.php</a>�� -</p> - - - -<h4><a name="1.6"></a>1.6)������ύһ��BUG���棿</h4> -<p> - �ɷ��� <a href="http://www.postgresql.org/support/submitbug">http://www.postgresql.org/support/submitbug</a>����дBug�ϱ����ɡ� -</p> - -<p> - ͬ��Ҳ�ɷ���ftpվ��<a href="ftp://ftp.PostgreSQL.org/pub/">ftp://ftp.PostgreSQL.org/pub/</a> ��������µ�PostgreSQL�汾���� -</p> - - - -<h4><a name="1.7"></a>1.7)���°��PostgreSQL ��ʲô��</h4> -<p> - PostgreSQL ���µİ汾�ǰ汾 8.0.2 ����ע�������°汾Ϊ8.0.3���� -</p> - -<p> - ���Ǽƻ�ÿ�귢��һ����Ҫ�汾��ÿ�����·���һ��С�汾�� -</p> - - -<h4><a name="1.8"></a>1.8)�ܹ���ȡ�������ĵ�����Щ��</h4> - -<p> - PostgreSQL�����������ĵ�����Ҫ��һЩ�ֲᣬ�ֲ�ҳ��һЩ�IJ������ӡ��μ� /doc Ŀ¼����ע��ӦΪ $PGHOME/doc���� - �㻹����������� PostgreSQL ���ֲᣬ���ַ�ǣ�<a href="http://www.PostgreSQL.org/docs">http://www.PostgreSQL.org/docs</a>�� -</p> -<p> - ���������� PostgreSQL ���������ṩ���� - <a href="http://www.PostgreSQL.org/docs/awbook.html">http://www.PostgreSQL.org/docs/awbook.html</a> - �� <a href="http://www.commandprompt.com/ppbook/">http://www.commandprompt.com/ppbook/</a> �� - Ҳ�д�����PostgreSQL�鼮�ɹ�����������Ϊ���е�һ������Korry Douglas��д�ġ��� - <a href="http://techdocs.PostgreSQL.org/techdocs/bookreviews.php">http://techdocs.PostgreSQL.org/techdocs/bookreviews.php</a>�� - ���д����й�PostgreSQL�鼮�ļ�顣 - �� <a href="http://techdocs.PostgreSQL.org/">http://techdocs.PostgreSQL.org/</a>���ռ����й� PostgreSQL �Ĵ����������¡� -</p> - -<p> - �ͻ��˵������г���<i>psql</i>��һЩ�� \d ��ͷ���������ʾ�������ͣ������������������ܵȵ���Ϣ��ʹ�� \? ������ʾ���п��õ���� -</p> - -<p> - ���ǵ� web վ�����������ĵ��� -</p> - -<h4><a name="1.9"></a>1.9)������˽���֪�� BUG ����ȱ�Ĺ��ܣ�</h4> -<p> - PostgreSQL ֧��һ����չ�˵� SQL-92 ���Ӽ����������ǵ�<a href="http://www.postgresql.org/docs/faqs.TODO.html">TODO</a> �б�����ȡһ����֪Bug����ȱ�Ĺ��ܺͽ����ļƻ��� -</p> - - -<h4><a name="1.10"></a>1.10)��Ӧ������ѧϰ SQL ��</h4> -<p> - ���ȿ��������ᵽ����PostgreSQL��ص��鼮������һ����<i>Teach Yourself SQL in 21 Days, Second Edition</i>�� - ���ǵ������û�ϲ��<i>The Practical SQL Handbook</i> Bowman, Judith S., et al., Addison-Wesley����������ϲ�� - <i>The Complete Reference SQL</i>, Groff et al., McGraw-Hill�� -</p> - - -<h4><a name="1.11"></a>1.11)��Ӧ���������뿪�����飿</h4> -<p> - ���<a href="http://www.postgresql.org/docs/faqs.FAQ_DEV.html"> Developer's FAQ </a>�� -</p> - - -<h4><a name="1.12"></a>1.12)PostgreSQL ���������ݿ�ϵͳ��������Σ�</h4> -<p> -���������кü��ַ��������ԣ����ܣ��ɿ��ԣ�֧�ֺͼ۸� -</p> -<dl> - <dt><b>����</b></dt> - <dd> - PostgreSQL ӵ�д������� DBMS ���������ԣ� - ���磺�����Ӳ�ѯ������������ͼ������ο������Ժ��ӵ����ȡ� - ���ǻ���һЩ����û�е����ԣ����û��������ͣ��̳У�����Ͷ�汾���п����Լ����������õȡ�<br/> - </dd> - - <dt><b>����</b></dt> - <dd> - PostgreSQL ���������úͿ�Դ�����ݿ�������Ƶ����ܡ� - ��ijЩ�������ȽϿ죬������һЩ�������Ƚ����� - ���������ݿ���ȣ����ǵ�����ͨ���� +/- 10%֮�䡣<br/> - </dd> - - <dt><b>�ɿ���</b></dt> - <dd> - ����֪�� DBMS �����ǿɿ��ģ���������һ���ö�û�С� - ����Ŭ��������������������Եģ��ȶ��ij������ٵĴ��롣ÿ���汾������һ���µ� beta - ����ʱ�䣬�������ǵķ�����ʷ��ʾ���ǿ����ṩ�ȶ��ģ��ι̵ģ�����������ʹ�õİ汾���������� - ���ⷽ�����������������ݿ��������൱�ġ�<br/> - </dd> - - <dt><b>֧��</b></dt> - <dd> - ���ǵ��ʼ��б��ṩһ���dz���Ŀ�����Ա���û���������������������κ����⡣ - ���Dz��ܱ�֤�϶��ܽ�����⣬���֮�£����� DBMS Ҳ���������ܹ��ṩ��������� - ֱ���뿪����Ա���û�Ⱥ���ֲ��Դ����Ӵ��� PostgreSQL ��֧�ֱ����� DBMS - ��Ҫ�á�����һЩ��ҵ�Ե�Ԥ��װ��֧�֣����Ը��ṩ����Щ��Ҫ���ˡ������� FAQ ���� 1.5 С�ڣ�<br/> - </dd> - - <dt><b>�۸�</b></dt> - <dd> - ���Ƕ��κ���;����ѣ��������úͷ�����Ŀ�ġ� - ����Բ������Ƶ�����IJ�Ʒ��������ǵĴ��룬������Щ����������İ�Ȩ������������ BSD ���İ�Ȩ�⡣ - </dd> - -</dl> - - -<h4><a name="1.13"></a>1.13)˭����PostgreSQL ��</h4> -<p> - �������Ѱ��PostgreSQL�������ˣ�����ʲô����ίԱ�ᣬ����ʲô������˾����ֻ�ܷ�����---��Ϊһ��Ҳ�����ڣ������ǵ�ȷ��һ�� - ίԱ���CVS�����飬����Щ�������������Ҫ��Ϊ�˽��й������������Ƕ�PostgreSQL���п��ƣ�PostgreSQL��Ŀ�����κ��˾� - �ɲμӵĿ�����Ա�����������û����Ƶģ�������Ҫ���ľ��Ǽ����ʼ��б����������ۼ��ɣ�Ҫ����PostgreSQL�Ŀ������ - <a href="http://www.postgresql.org/docs/faqs.FAQ_DEV.html"> Developer's FAQ </a>��ȡ��Ϣ���� -</p> - -<hr/> - - -<div> <h2>�û��ͻ�������</h2> </div> - -<h4><a name="2.1"></a>2.1)���ǿ�����ʲô���Ժ� PostgreSQL ����</h4> -<p> - PostgreSQL(ȱʡ���)ֻ��װ��C����ǶʽC�Ľӿڣ������Ľӿڶ��Ƕ�������Ŀ���ܹ��ֱ����أ���Щ�ӿ���Ŀ�����ĺô� - �����ǿ����и��Եķ����ƻ����Զ����Ŀ����顣 -</p> -<p> - һЩ���������PHP���з��� PostgreSQL �Ľӿڣ�Perl,TCL,Python�Լ��ܶ��������ԵĽӿ��� - <a href="http://gborg.postgresql.org/"> http://gborg.postgresql.org </a>�ϵ�<i>Drivers/Interfaces</i>С�ڿ��ҵ��� - ����ͨ��Internet�������������� -</p> - - - -<h4><a name="2.2"></a>2.2)��ʲô���߿��� PostgreSQL ���� Web ҳ�棿</h4> -<p> - һ�����������ݿ�Ϊ��̨��ͦ������վ���ǣ�<a href="http://www.webreview.com">http://www.webreview.com</a>�� -</p> -<p> - ���� Web ���ɣ�PHP ��һ�����õĽӿڡ����ڣ�<a href="http://www.php.net/">http://www.php.net/</a>�� -</p> -<p> - ���ڸ��ӵ����ܶ��˲��� Perl �ӿں� CGI.pm �� mod_perl �� -</p> - - -<h4><a name="2.3"></a>2.3)PostgreSQL ӵ��ͼ���û�������</h4> -<p> - �ǵģ��� <a href="http://techdocs.postgresql.org/guides/GUITools">http://techdocs.postgresql.org/guides/GUITools</a>��һ����ϸ���б��� -</p> - - - -<hr/> - -<div> <h2>ϵͳ��������</h2> </div> - -<h4><a name="3.1"></a>3.1)�������ܰ� PostgreSQL װ�� /usr/local/pgsql ����ĵط���</h4> -<p> - ������ configure ʱ���� --prefix ѡ� -</p> - - -<h4><a name="3.2"></a>3.2)����ο��������������������ӣ�</h4> -<p> - ȱʡʱ��PostgreSQL ֻ����ͨ�� unix �����ֻ�TCP/IP��ʽ�����Ա��������ӡ� - ��ֻ�������������ļ�<i>postgresql.conf</i>�е�<i>listen_addresses</i>����Ҳ�������ļ�<i>pg_hba.conf</i>�д��� - ����Ϊ������ host-based ����������֤������������PostgreSQL���������������Dz��������PostgreSQL���������ӵġ� -</p> - - -<h4><a name="3.3"></a>3.3)�������������ݿ������Ի�ø��õ����ܣ�</h4> -<p> - ��������Ҫ�����������PostgreSQL��DZ�ܡ� -</p> - -<dl> - <dt><b>��ѯ��ʽ�ı仯</b></dt> - <dd> - ����Ҫ�漰�IJ�ѯ��ʽ�Ի�ȡ���õ�����: - <ul> - <li>������������������ʽ�Ͳ���������</li> - <li>ʹ��COPY��������Insert��䣻</li> - <li>�����SQL������һ�������Լ����ύ����Ŀ�����</li> - <li>��һ����������ȡ������¼ʱʹ��CLUSTER��</li> - <li>��һ����ѯ�����ȡ�����ּ�¼ʱʹ��LIMIT��</li> - <li>ʹ��Ԥ����ʽ��ѯ��Prepared Query)��</li> - <li>ʹ��ANALYZE�Ա��־�ȷ���Ż�ͳ�ƣ�</li> - <li>����ʹ�� VACUUM �� <i>pg_autovacuum</i></li> - <li>���д������ݸ���ʱ��ɾ��������Ȼ���ؽ�������</li> - </ul> - </dd> - - <dt><b>������������</b></dt> - <dd> - �����ļ�<i>postgres.conf</i>�еĺܶ����ö���Ӱ�����ܣ����в������б��ɼ��� - <a href="http://www.postgresql.org/docs/current/static/runtime.html">Administration Guide/Server Run-time Environment/Run-time Configuration</a>�� - �йز����Ľ��Ϳɼ���<a href="http://www.varlena.com/varlena/GeneralBits/Tidbits/annotated_conf_e.html"> - http://www.varlena.com/varlena/GeneralBits/Tidbits/annotated_conf_e.html </a> �� - <a href="http://www.varlena.com/varlena/GeneralBits/Tidbits/perf.html">http://www.varlena.com/varlena/GeneralBits/Tidbits/perf.html</a>�� - </dd> - - <dt><b>Ӳ����ѡ��</b></dt> - <dd> - �����Ӳ�������ܵ�Ӱ������ <a href="http://candle.pha.pa.us/main/writings/pgsql/hw_performance/index.html"> - http://candle.pha.pa.us/main/writings/pgsql/hw_performance/index.html</a> �� - <a href="http://www.powerpostgresql.com/PerfList/">http://www.powerpostgresql.com/PerfList/</a>�� - </dd> - -</dl> - - -<h4><a name="3.4"></a>3.4)PostgreSQL ����Ի��ʲô���ĵ������ԣ�</h4> -<p> - PostgreSQL �кܶ�����<i> log_* </i>�ķ��������ñ��������ڲ�ѯ�Ĵ�ӡ�ͽ���ͳ�ƣ�����Щ�����Ե��Ժ����ܲ��Ժ��а����� -</p> - - - -<h4><a name="3.5"></a>3.5)Ϊʲô����ͼ����ʱ�յ���Sorry, too many clients����Ϣ��</h4> -<p> - ���ʾ���Ѵﵽȱʡ100��������̨�����������ƣ�����Ҫͨ����<i>postgresql.conf</i>�ļ��е�<i>max_connections</i>ֵ�� - ����postmaster�ĺ�̨�������������ĺ�����������<i>postmaster</i>�� -</p> - - -<h4><a name="3.6"></a>3.6)ΪʲôҪ������ PostgreSQL ��Ҫ�����汾ʱ�� dump �� restore ��</h4> -<p> - PostgreSQL �������ÿ��С�����������˽��ٵ��ģ���˴� 7.4.0 ������ 7.4.1 ����Ҫ dump �� restore�� - ������Ҫ������������� 7.3 �� 7.4��ͨ������ϵͳ�������ݱ����ڲ���ʽ�� - ��Щ�仯һ��Ƚϸ��ӣ�������Dz�ά�����ļ��������ݡ� - dump �����ݰ���ͨ�õĸ�ʽ����������Ա����¼��ز�ʹ���µ��ڲ���ʽ�� -</p> - -<h4><a name="3.7"></a>3.7)(ʹ��PostgreSQL)����Ҫʹ��ʲô�����Ӳ�� ��</h4> -<p> - ���ڼ����Ӳ��������Ǽ��ݵģ����������������������м����Ӳ������Ҳ����ͬ�ġ���ʵ�ϲ��ǣ� - ECC RAM������żУ����ڴ棩��SCSI ��Ӳ�̣������ʵ������һЩ���˻�Ҫ���ӿɿ��Ҿ��и��õ����ܡ�PostgreSQL���������������κ�Ӳ���ϣ� - ������ɿ��Ժ����ܶ����ϵͳ����Ҫ�������Ҫȫ����о�һ�����Ӳ�������ˡ������ǵ��ʼ��б���Ҳ�й��� - Ӳ�����ú��Լ۱ȵ����ۡ� -</p> - - -<hr/> - -<div><h2>��������</h2> </div> - - -<h4><a name="4.1"></a>4.1)���ֻѡ��һ����ѯ�����ͷ���У����������һ�У�</h4> -<p> - �����ֻ��Ҫ��ȡ�������ݣ���������ִ�в�ѯ��֪��ȷ�е������������ʹ��LIMIT���ܡ� - �����һ�������� <i> ORDER BY</i>�е�����ƥ�䣬PostgreSQL ���ܾ�ֻ����Ҫ���ͷ������¼�� - ������������ѯ���д���ֱ��������Ҫ���У��������ִ�в�ѯ����ʱ��֪��ȷ�еļ�¼���� - ��ʹ���α�(cursor)��FETCH���ܡ� -</p> -<p> - ��ʹ�����·�����ȡһ�������¼�ģ� -</p> -<pre> - SELECT cols - FROM tab - ORDER BY random() - LIMIT 1 ; -</pre> - - - -<h4><a name="4.2"></a>4.2)��β鿴�������������ݿ��Լ��û��Ķ��壿��β鿴<i>psql</i>���õ��IJ�ѯָ���ʾ���ǣ�</h4> -<p> - ��<i>psql</i>��ʹ�� \dt ��������ʾ���ݱ��Ķ��壬Ҫ�˽�<i>psql</i>�е����������б���ʹ��\? �����⣬��Ҳ�����Ķ� <i>psql</i> ��Դ���� - �ļ�<i>pgsql/src/bin/psql/describe.c</i>��������Ϊ����<i>psql</i>��б���������������� SQL ����㻹���Դ� <i>-E</i> ѡ������ <i>psql</i>�� - ����������ӡ��ִ������<i>psql</i>����������������ڲ�ʵ��ʹ�õ�SQL��ѯ��PostgreSQLҲ�ṩ��һ������SQL��INFORMATION SCHEMA�ӿڣ� - ����Դ������ȡ�������ݿ����Ϣ�� -</p> -<p> - ��ϵͳ����һЩ��<i>pg_</i> ��ͷ��ϵͳ��Ҳ�����˱��Ķ��塣 -</p> -<p> - ʹ�� <i>psql -l</i> ָ������г����е����ݿ⡣ -</p> -<p> - Ҳ�������һ�� <i>pgsql/src/tutorial/syscat.source</i>�ļ������о��˺ܶ�ɴ����ݿ�ϵͳ���л�ȡ��Ϣ��SELECT��� -</p> - - -<h4><a name="4.3"></a>4.3)��θ���һ���ֶε��������ͣ�</h4> -<p> - ��8.0�汾�����һ���ֶε��������ͺ����ף���ʹ�� ALTER TABLE ALTER COLUMN TYPE �� -</p> -<p> - ����ǰ�İ汾�У������������� -</p> -<pre> - BEGIN; - ALTER TABLE tab ADD COLUMN new_col new_data_type; - UPDATE tab SET new_col = CAST(old_col AS new_data_type); - ALTER TABLE tab DROP COLUMN old_col; - COMMIT; -</pre> -<p> - ��Ȼ�����ʹ��<i>VACUUM FULL tab </i>ָ����ʹϵͳ�ջ���Ч������ռ�õĿռ䡣 -</p> - -<h4><a name="4.4"></a>4.4)һ�м�¼��һ������һ��������ߴ��Ƕ��٣�</h4> -<p> - ������һЩ���ƣ� -</p> -<blockquote> - <table> - <tbody> - <tr><td>һ�����ݿ����ߴ磿</td><td>�����ƣ��Ѵ����� 32TB �����ݿ⣩</td></tr> - <tr><td>һ���������ߴ磿</td><td>32 TB</td></tr> - <tr><td>һ�м�¼�����ߴ磿</td><td>1.6 TB</td></tr> - <tr><td>һ���ֶε����ߴ�?</td><td>1 GB</td></tr> - <tr><td>һ���������������</td><td>������</td></tr> - <tr><td>һ���������������</td><td>250-1600 �����������йأ�</td></tr> - <tr><td>һ��������������������</td><td>������</td></tr> - </tbody> -</table> -</blockquote> - -<p> - ��Ȼ��ʵ����û�������������ƣ�����Ҫ�ܿ��ô��̿ռ䡢�����ڴ�/����������Լ�� - ��ʵ�ϣ�����Щ��ֵ����쳣�ش�ʱ��ϵͳ����Ҳ���ܴܺ�Ӱ�졣 -</p> - -<p> - �������ߴ� 32 TB ����Ҫ����ϵͳ�Դ��ļ���֧�֡�����ö�� 1 GB ���ļ��洢������ļ�ϵͳ�ߴ�������Dz���Ҫ�ġ� -</p> -<p> - ���ȱʡ�Ŀ��С������ 32K �����ı��ߴ������������������ӵ��ı��� -</p> - - -<h4><a name="4.5"></a>4.5)�洢һ�����͵��ı��ļ����������Ҫ���ٴ��̿ռ䣿</h4> -<p> - һ�� Postgres ���ݿ⣨�洢һ���ı��ļ�����ռ�õĿռ���������Ҫ�൱������ı��ļ�������С5���Ĵ��̿ռ䡣 -</p> -<p> - ���磬������һ�� 100,000 �е��ļ���ÿ����һ��������һ���ı������� - �����ı�����ƽ������Ϊ20�ֽڡ��ı��ļ�ռ�� 2.8 MB�������Щ���ݵ� PostgreSQL ���ݿ��ļ���Լ�� 6.4 MB: -</p> -<pre> - 32 �ֽ�: ÿ�е�ͷ������ֵ�� - 24 �ֽ�: һ���������ֶκ�һ���ı����ֶ� - + 4 �ֽ�: ҳ����ָ��Ԫ���ָ�� - ---------------------------------------- - 60 �ֽ�ÿ�� - - PostgreSQL ����ҳ�Ĵ�С�� 8192 �ֽ� (8 KB)���� - - 8192 �ֽ�ÿҳ - ------------------- = 136 ��/����ҳ������ȡ���� - 60 �ֽ�ÿ�� - - 100000 ������ - -------------------- = 735 ����ҳ������ȡ���� - 128 ��ÿҳ - - 735 ����ҳ * 8192 �ֽ�/ҳ = 6,021,120 �ֽڣ�6 MB�� -</pre> - -<p> - ��������Ҫ��ô��Ķ������ģ���Ҳȷʵ���������������ݣ��������Ҳ���ܴܺ� -</p> -<p> - ��ֵ<i>NULL</i>�����λͼ�У����ռ�ú��ٵĿռ䡣 -</p> - -<h4><a name="4.6"></a>4.6)Ϊʲô�ҵIJ�ѯ������Ϊʲô��Щ��ѯû������������</h4> -<p> - ����ÿ����ѯ�����Զ�ʹ��������ֻ���ڱ��Ĵ�С����һ����Сֵ�����Ҳ�ѯֻ��ѡ�б��н�С�����ļ�¼ʱ�Ż���������� - ������Ϊ����ɨ��������漴���̴�ȡ���ܱ�ֱ�ӵض�ȡ����˳��ɨ�裩������ -</p> -<p> - Ϊ���ж��Ƿ�ʹ��������PostgreSQL�������йر���ͳ��ֵ����Щͳ��ֵ����ʹ�� VACUUM ANALYZE���� ANALYZE ��á� - ʹ��ͳ��ֵ���Ż���֪�������ж����У����ܹ����õ��ж��Ƿ����������� - ͳ��ֵ��ȷ���Ż�������˳������ӷ���Ҳ�����á��ڱ������ݷ����仯ʱ��Ӧ���ڽ���ͳ��ֵ�ĸ����ռ��� -</p> -<p> - ����ͨ�������� ORDER BY ��ִ�����ӡ���һ�������һ��˳��ɨ�裬����һ����ʽ������ͨ��������ɨ��Ҫ�졣 -</p> - -<p> - ���ǣ��� LIMIT �� ORDER BY ���ʹ��ʱ������ʹ����������Ϊ��ֻ�᷵�ر���һС���֡� - ʵ���ϣ���Ȼ MAX() �� MIN() ����ʹ��������ͨ���� - ORDER BY �� LLIMIT ʹ������ȡ�����ֵ����СֵҲ�ǿ��Եģ� -</p> -<pre> - SELECT col - FROM tab - ORDER BY col [ DESC ] - LIMIT 1; -</pre> -<p> - �����ȷ��PostgreSQL���Ż���ʹ��˳��ɨ���Dz���ȷ�ģ������ʹ��<code>SET enable_seqscan TO 'off'</code>ָ� - Ȼ���ٴ����в�ѯ����Ϳ��Կ���ʹ��һ������ɨ���Ƿ�ȷʵҪ��һЩ�� -</p> - -<p> - ��ʹ��ͨ������������� <i>LIKE</i> �� <i>~</i> ʱ������ֻ�����ض��������ʹ�ã� -</p> -<ul> - <li>�ַ����Ŀ�ʼ���ֱ�������ͨ�ַ�����Ҳ����˵�� - <ul> - <li> <i>LIKE</i> ģʽ������ <i>%</i> ��ͷ��</li> - <li> <i>~</i> ���������ʽ��ģʽ������ <i>^</i> ��ͷ��</li> - </ul> - </li> - <li>�ַ���������ƥ�����ַ���ģʽ���ͷ������ [a-e]��</li> - <li>��Сд�صIJ��ң��� ILIKE �� ~* �Ȳ�ʹ���������������� <a href="#4.8">4.8</a> �������ĺ���������</li> - <li>���� initdb ʱ�������ȱʡ�ı������� C locale����Ϊϵͳ������֪���ڷ�C locale���ʱ��һ������ַ���ʲô�� - ����������£�����Դ���һ�������<code>text_pattern_ops</code>����������<small>LIKE</small>�������� - </li> -</ul> -<p> - ��8.0֮ǰ�İ汾�У�����Ҫ��ѯ���������ͺ�����������������ƥ�䣬��������������δ���õ����ر��Ƕ�int2,int8����ֵ�͵������� -</p> - -<h4><a name="4.7"></a>4.7)����β��ܿ�����ѯ�Ż������������������ҵIJ�ѯ��</h4> -<p> - �ο� <small>EXPLAIN</small> �ֲ�ҳ�� -</p> - -<h4><a name="4.8"></a>4.8)���������������ʽ�����ʹ�Сд�ص��������ʽ���ң����������������д�Сд�ز��ң�</h4> -<p> - ������ <i> ~ </i> �����������ʽƥ�䣬�� <i>~*</i> ������Сд�ص��������ʽƥ�䡣��дЩ�ص� LIKE ���ֳ�Ϊ ILIKE�� -</p> -<p> - ��Сд�صĵ�ʽ�Ƚ�ͨ��д���� -</p> -<pre> SELECT * - FROM tab - WHERE lower(col) = 'abc'; -</pre> -<p> - ����������ʹ�ñ������������ǿ��Դ���һ���ɱ����õĺ�������: -</p> -<pre> CREATE INDEX tabindex ON tab (lower(col)); -</pre> - -<h4><a name="4.9"></a>4.9)��һ����ѯ����������һ���ֶ��Ƿ�Ϊ <i>NULL</i> ������β���ȷ���������ij�ֶ��Ƿ� <i>NULL</i> ֵ��</h4> -<p> - �� <small>IS NULL</small> �� <small>IS NOT NULL</small> ��������ֶΣ����巽�����£� -</p> -<pre> SELECT * - FROM tab - WHERE col IS NULL; -</pre> - -<p>Ϊ���ܶԺ� <small>NULL</small>�ֶ������� <small>ORDER BY</small> ������ʹ�� <small>IS NULL</small>�� - <small>IS NOT NULL</small> ���η�������Ϊ�� <i>true</i> ��������Ϊ��<i>false</i> ����ǰ�棬��������ӾͻὫ�� - NULL �ļ�¼���ڽ�������沿�֣� -</p> -<pre> SELECT * - FROM tab - ORDER BY (col IS NOT NULL) -</pre> - -<h4><a name="4.10"></a>4.10)�����ַ�����֮����ʲô��ͬ��</h4> -<blockquote> - <table> - <tbody> - <tr><th>����</th><th>�ڲ�����</th><th>˵��</th></tr> - <tr><td>VARCHAR(n)</td><td>varchar</td><td>ָ������ȣ��䳤�ַ��������㶨�峤�ȵIJ��ֲ�����</td></tr> - <tr><td>CHAR(n)</td><td>bpchar</td><td>�����ַ�����ʵ�����ݲ��㶨�峤��ʱ���Կո���</td></tr> - <tr><td>TEXT</td><td>text</td><td>û���ر���������ƣ������е�������ƣ�</td></tr> - <tr><td>BYTEA</td><td>bytea</td><td>�䳤�ֽ����У�ʹ��NULLҲ�������ģ�</td></tr> - <tr><td>"char"</td><td>char</td><td>һ���ַ�</td></tr> - </tbody> - </table> -</blockquote> - -<p> - ��ϵͳ������һЩ������Ϣ���㽫�����ڲ����ơ� -</p> -<p> - �������е�ǰ����������"varlena"���䳤�����ͣ�Ҳ����˵����ͷ���ĸ��ֽ��dz��ȣ�����������ݣ��� - ����ʵ��ռ�õĿռ�������Ĵ�СҪ��һЩ�� - Ȼ����Щ���Ͷ����Ա�ѹ���洢��Ҳ������ TOAST �ѻ��洢����˴��̿ռ�Ҳ���ܱ�Ԥ���Ҫ�١� -</p> -<p> - <small>VARCHAR(n)</small> �ڴ洢��������ȵı䳤�ַ�������õġ� - <small>TEXT</small> �����ڴ洢���ɴ� 1G���ҵ�δ�������Ƴ��ȵ��ַ����� -</p> -<p> - <small>CHAR(n)</small> ���ʺ��ڴ洢������ͬ���ַ����� <small>CHAR(n)</small>��������������ֶγ����Կո��㣨������ֶ����ݣ��� - �� <small>VARCHAR(n)</small> ֻ�洢���������������ݡ� - <small>BYTEA</small> ���ڴ洢���������ݣ������ǰ��� NULL �ֽڵ�ֵ����Щ���;������Ƶ��������ԡ� -</p> - - - -<h4><a name="4.11.1"></a>4.11.1)����������һ�����к�/�Զ��������ֶΣ�</h4> -<p> - PostgreSQL ֧�� SERIAL �������͡������ֶ����Զ�����һ�����к����������磺 -</p> -<pre> - CREATE TABLE person ( - id SERIAL, - name TEXT - ); -</pre> -<p> - ���Զ�ת��Ϊ�� -</p> -<pre> - CREATE SEQUENCE person_id_seq; - CREATE TABLE person ( - id INT4 NOT NULL DEFAULT nextval('person_id_seq'), - name TEXT - ); -</pre> -<p> - �ο� create_sequence �ֲ�ҳ��ȡ�������еĸ�����Ϣ�� -</p> - - -<h4><a name="4.11.2"></a>4.11.2)����λ��һ����������кŵ�ֵ��</h4> -<p> - һ�ַ������ڲ���֮ǰ���ú��� nextval() �����ж������������һ�� SERIAL ֵ��Ȼ������ʽ���롣ʹ�� - <a href="#4.11.1"> 4.11.1</a> �������������α������������ -</p> -<pre> - new_id = execute("SELECT nextval('person_id_seq')"); - execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')"); -</pre> -<p> - ����������������ѯ��ʹ�ô���� new_id �����ֵ�����磬��Ϊ person ����������� - ע���Զ������� SEQUENCE ��������ƽ����� <<i>table</i>>_<<i>serialcolumn</i>>_<i>seq</i>�� - ���� table �� serialcolumn �ֱ�����ı������ƺ���� SERIAL �ֶε����ơ� -</p> -<p> - ���Ƶģ��� SERIAL ����ȱʡ�����������ú��� currval() �����ո�ֵ�� SERIAL ֵ�����磺 -</p> -<pre> - execute("INSERT INTO person (name) VALUES ('Blaise Pascal')"); - new_id = execute("SELECT currval('person_id_seq')"); -</pre> - -<h4><a name="4.11.3"></a>4.11.3)ʹ�� <i>currval()</i> �ᵼ�º������û��ij�ͻ�����race condition����</h4> -<p> - ���ᡣ<i>currval()</i> ���ص����㱾�λỰ����������ֵ�����������û��ĵ�ǰֵ��<br/> -</p> - -<h4><a name="4.11.4"></a>4.11.4)Ϊʲô���������쳣��ֹ���������к��أ�Ϊʲô�����к��ֶε�ȡֵ�д��ڼ���أ�</h4> -<p> - Ϊ����߲����ԣ����к�����Ҫ��ʱ�����������е����������������֮ǰ������������ - ��ͻᵼ���쳣��ֹ����������кŻ���ּ���� -</p> - -<h4><br/><a name="4.12"></a>4.12)ʲô�� <small>OID</small> ��ʲô�� <small>CTID</small> ��</h4> -<p> - PostgreSQL �ﴴ����ÿһ�м�¼������һ��Ψһ��<small>OID</small>�������ڴ�����ʱʹ��<small>WITHOUT OIDS</small>ѡ� - <small>OID</small>����ʱ���Զ�����һ��4�ֽڵ����������� OID ������ PostgreSQL �о���Ψһ�ġ� Ȼ�������ڳ���40��ʱ������� - <small>OID</small>�˺������ظ���PostgreSQL �������ڲ�ϵͳ����ʹ�� OID �ڱ�֮�佨����ϵ�� -</p> -<p> - ���û������ݱ��У������ʹ��<small>SERIAl</small>������<small>OID</small> - ��Ϊ<small>SERIAL</small>ֻ�DZ�֤�ڵ�������������Ψһ�ģ�����������Ŀ����Ծͷdz�С�ˣ� - <small>SERIAL8</small>����������8�ֽڵ����к��ֶΡ� -</p> - -<p> - <small>CTID</small> ���ڱ�ʶ�������ݿ飨��ַ���ͣ����ڣ�ƫ�Ƶ��ض��������С� - <small>CTID</small> �ڼ�¼�����Ļ����غ����ı䡣�������ʹ������ָ�������С� -</p> - - -<h4><a name="4.13"></a>4.13)Ϊʲô���յ�������Ϣ��<i>ERROR: Memory exhausted in AllocSetAlloc()</i>����</h4> -<p> - ��ܿ�����ϵͳ�������ڴ��ù��ˣ������ں˶�ijЩ��Դ�нϵ͵�����ֵ�������� postmaster ֮ǰ������������ -</p> -<pre> - ulimit -d 262144 - limit datasize 256m -</pre> -<p> - ȡ�������õ� shell����������ֻ��һ���ܳɹ���������������Ľ������ݶ�������ñȽϸߣ� - ���Ҳ�����ò�ѯ��ɡ���������Ӧ���ڵ�ǰ���̣��Լ������������������к����ӽ��̡� - �������������SQL�ͻ���ʱ��Ϊ��̨������̫������ݶ��������⣬�������пͻ���֮ǰִ��������� -</p> - -<h4><a name="4.14"></a>4.14)����β���֪�������е� PostgreSQL �İ汾��</h4> -<p> - �� psql ����� <code>SELECT version();</code>ָ� -</p> - -<h4><a name="4.15"></a>4.15)����δ���һ��ȱʡֵ�ǵ�ǰʱ����ֶΣ�</h4> -<p> - ʹ�� CURRENT_TIMESTAMP�� -</p> -<pre> - CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -</pre> - - -<h4><a name="4.16"></a>4.16)���������� outer join �������ӣ���</h4> -<p> - PostgreSQL ���ñ��� SQL �֧�������ӡ��������������ӣ� -</p> -<pre> - SELECT * - FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col); -</pre> -<p>����</p> -<pre> - SELECT * - FROM t1 LEFT OUTER JOIN t2 USING (col); -</pre> -<p> - �������ȼ۵IJ�ѯ�� t1.col �� t2.col �������ӣ����ҷ��� t1 ������δ���ӵ��У���Щ�� t2 ��û��ƥ����У��� - ��[��]����(RIGHT OUTER JOIN)������ t2 ��δ���ӵ��С� - ��ȫ�����ӣ�FULL OUTER JOIN�������� t1 �� t2 ��δ���ӵ��С� - �ؼ��� OUTER ����[��]���ӡ���[��]���Ӻ���ȫ[��]�������ǿ�ѡ�ģ���ͨ���ӱ���Ϊ�����ӣ�INNER JOIN���� -</p> - - -<h4><a name="4.17"></a>4.17)���ʹ���漰������ݿ�IJ�ѯ��</h4> -<p> - û�а취��ѯ��ǰ���ݿ�֮������ݿ⡣ - ��Ϊ PostgreSQL Ҫ���������ݿ���ص�ϵͳĿ¼��ϵͳ��������˿����ݿ�IJ�ѯ���ִ���Dz����ġ� -</p> -<p> - ������ֵģ��contrib/dblink�������ú�������ʵ�ֿ���ѯ����Ȼ�û�Ҳ����ͬʱ���ӵ���ͬ�����ݿ�ִ�в�ѯȻ���ڿͻ��˺ϲ������ -</p> - -<h4><a name="4.18"></a>4.18)����ú������ض��л���У�</h4> -<p> - �ں����з������ݼ�¼���Ĺ����Ǻ�����ʹ�õģ�����μ��� - <a href="http://techdocs.postgresql.org/guides/SetReturningFunctions">http://techdocs.postgresql.org/guides/SetReturningFunctions</a> -</p> - -<h4><a name="4.19"></a>4.19)Ϊʲô����ʹ��PL/PgSQL������ȡ��ʱ��ʱ���յ�������Ϣ��relation with OID ##### does not exist����</h4> -<p> - PL/PgSQL�Ỻ�溯�������ݣ��ɴ˴�����һ�����õĸ���������һ�� PL/PgSQL - ����������һ����ʱ����Ȼ��ñ���ɾ�����ؽ��ˣ����ٴε��øú�����ʧ�ܣ� - ��Ϊ����ĺ���������Ȼָ��ɵ���ʱ��������ķ������� PL/PgSQL ����<small>EXECUTE</small> - ����ʱ�����з��ʡ������ᱣ֤��ѯ��ִ��ǰ�ܻᱻ���½����� -</p> - -<h4><a name="4.27"></a>4.27)Ŀǰ����Щ���ݸ��Ʒ������ã�</h4> -<p> - �����ơ�ֻ��һ������кü��ָ��Ƽ�����ʹ�ã�ÿ�ֶ����ŵ��ȱ�㣺 -</p> -<p> - ��/�Ӹ��Ʒ�ʽ������һ�������������ܶ�/д�����룬������ӷ�����ֻ�ܽ��ܶ�/<small>SELECT</small>��ѯ�����룬 - Ŀǰ������������ѵ���/�� PostgreSQL���Ʒ����� - <a href="http://gborg.postgresql.org/project/slony1/projdisplay.php">Slony-I </a>�� -</p> -<p> - ������������ĸ��Ʒ�ʽ��������/д�����뷢����̨�ļ���������ַ�ʽ������Ҫ�ڶ�̨������֮��ͬ�����ݱ䶯 - ���ܻ���������ص�������ʧ��<a href="http://pgfoundry.org/projects/pgcluster/">Pgcluster</a>��Ŀǰ���ַ��� - ����õģ����һ�����������ء� -</p> -<p> - Ҳ��һЩ��ҵ�踶�Ѻͻ���Ӳ�������ݸ��Ʒ�����֧���������ָ���ģ�͡� -</p> - - - -</body> -</html> - +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en" dir="ltr"> + <head> + <title> + PostgreSQL: PostgreSQL �������⣨FAQ�� + </title> + <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> + </head> + + <body> + +<h1>PostgreSQL �������⣨FAQ��</h1> +<p> +������£�2005 �� 06 �� 02 �� ������ 22:27:35 CST +</p> +<p> + Ŀǰά����Ա��Bruce Momjian (<a href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>)<br/> + ���İ�ά����Ա��doudou586 ��doudou586_2005@yahoo.com.cn�� +</p> +<p> + ���ĵ������°汾������ + <a href="http://www.postgresql.org/files/documentation/faqs/FAQ.html">http://www.postgresql.org/files/documentation/faqs/FAQ.html</a>�鿴�� +</p> +<p> + �����ϵͳƽ̨��ص�������<a href="http://www.postgresql.org/docs/faq/">http://www.postgresql.org/docs/faq/</a>��ش�<br/> +</p> +<hr/> + +<div><h2>��������</h2></div> + +<p> +<a href="#1.1">1.1</a>)PostgreSQL ��ʲô������ô������<br/> +<a href="#1.2">1.2</a>)PostgreSQL �İ�Ȩ��ʲô��<br/> +<a href="#1.3">1.3</a>)PostgreSQL ������������Щ����ϵͳƽ̨�ϣ�<br/> +<a href="#1.4">1.4</a>)�Ҵ������ܵõ� PostgreSQL��<br/> +<a href="#1.5">1.5</a>)�Ҵ������ܵõ��� PostgreSQL ��֧�֣�<br/> +<a href="#1.6">1.6</a>)������ύһ��BUG���棿<br/> +<a href="#1.7">1.7</a>)���°��PostgreSQL ��ʲô��<br/> +<a href="#1.8">1.8</a>)�ܹ���ȡ�������ĵ�����Щ��<br/> +<a href="#1.9">1.9</a>)������˽���֪�� BUG ����ȱ�Ĺ��ܣ�<br/> +<a href="#1.10">1.10</a>)��Ӧ������ѧϰ SQL ��<br/> +<a href="#1.11">1.11</a>)��Ӧ���������뿪�����飿<br/> +<a href="#1.12">1.12</a>)PostgreSQL ���������ݿ�ϵͳ��������Σ�<br/> +<a href="#1.13">1.13</a>)˭���ƺ���PostgreSQL �� +</p> + +<div><h2>�û��ͻ�������</h2></div> +<p> +<a href="#2.1">2.1</a>)���ǿ�����ʲô���Ժ� PostgreSQL ����<br/> +<a href="#2.2">2.2</a>)��ʲô���߿��� PostgreSQL ���� Web ҳ�棿<br/> +<a href="#2.3">2.3</a>)PostgreSQL ӵ��ͼ���û�������<br/> +</p> + +<div><h2>ϵͳ��������</h2></div> +<p> +<a href="#3.1">3.1</a>)���������ܰ� PostgreSQL װ�� /usr/local/pgsql ����ĵط���<br/> +<a href="#3.2">3.2</a>)����ο��������������������ӣ�<br/> +<a href="#3.3">3.3</a>)�������������ݿ������Ի�ø��õ����ܣ�<br/> +<a href="#3.4">3.4</a>)PostgreSQL ����Ի��ʲô���ĵ������ԣ�<br/> +<a href="#3.5">3.5</a>)Ϊʲô����ͼ���ӵ�¼ʱ�յ���Sorry, too many clients�� ��Ϣ��<br/> +<a href="#3.6">3.6</a>)ΪʲôҪ������ PostgreSQL ��Ҫ�����汾ʱ�� dump �� restore ��<br/> +<a href="#3.7">3.7</a>)(ʹ��PostgreSQL)����Ҫʹ��ʲô�����Ӳ�� ��<br/> +</p> + +<div><h2>��������</h2></div> +<p> +<a href="#4.1">4.1</a>)���ֻѡ��һ����ѯ�����ͷ���У����������һ�У�<br/> +<a href="#4.2">4.2</a>)��β鿴�������������ݿ��Լ��û��Ķ��壿��β鿴<i>psql</i>���õ��IJ�ѯָ���ʾ���ǣ�<br/> +<a href="#4.3">4.3</a>)��θ���һ���ֶε��������ͣ�<br/> +<a href="#4.4">4.4</a>)һ�м�¼��һ������һ��������ߴ��Ƕ��٣�<br/> +<a href="#4.5">4.5</a>)�洢һ�����͵��ı��ļ����������Ҫ���ٴ��̿ռ䣿<br/> +<a href="#4.6">4.6</a>)Ϊʲô�ҵIJ�ѯ������Ϊʲô��Щ��ѯû������������<br/> +<a href="#4.7">4.7</a>)����β��ܿ�����ѯ�Ż������������������ҵIJ�ѯ�ģ�<br/> +<a href="#4.8">4.8</a>)���������������ʽ�����ʹ�Сд�ص��������ʽ���ң����������������д�Сд�ز��ң�<br/> +<a href="#4.9">4.9</a>)��һ����ѯ����������һ���ֶ��Ƿ�Ϊ NULL������β���ȷ���������ij�ֶ��Ƿ�NULLֵ��<br/> +<a href="#4.10">4.10</a>)�����ַ�����֮����ʲô��ͬ��<br/> +<a href="#4.11.1">4.11.1</a>)����������һ�����к�/�Զ��������ֶΣ�<br/> +<a href="#4.11.2">4.11.2</a>)����λ��һ����������кŵ�ֵ��<br/> +<a href="#4.11.3">4.11.3</a>)ʹ�� currval() �ᵼ�º������û������������race condition����<br/> +<a href="#4.11.4">4.11.4</a>)Ϊʲô���������쳣��ֹ���������к��أ�Ϊʲô�����к��ֶε�ȡֵ�д��ڼ���أ�<br/> +<a href="#4.12">4.12</a>)ʲô�� OID��ʲô�� CTID ��<br/> +<a href="#4.13">4.13</a>)Ϊʲô���յ�������Ϣ��<i>ERROR: Memory exhausted in AllocSetAlloc()</i>����<br/> +<a href="#4.14">4.14</a>)����β���֪�������е� PostgreSQL �İ汾��<br/> +<a href="#4.15">4.15</a>)����δ���һ��ȱʡֵ�ǵ�ǰʱ����ֶΣ�<br/> +<a href="#4.16">4.16</a>)��ν��� outer join �������ӣ���<br/> +<a href="#4.17">4.17</a>)���ʹ���漰������ݿ�IJ�ѯ��<br/> +<a href="#4.18">4.18</a>)����ú������ض��л���У�<br/> +<a href="#4.19">4.19</a>)Ϊʲô����ʹ��PL/PgSQL������ȡ��ʱ��ʱ���յ�������Ϣ��relation with OID ##### does not exist����<br/> +<a href="#4.20">4.20</a>)Ŀǰ����Щ���ݸ��Ʒ������ã�<br/> +</p> + +<hr/> + +<div><h2>��������</h2></div> + +<h4><a name="1.1"></a>1.1)PostgreSQL ��ʲô������ô������</h4> +<p> +PostgreSQL ���� <i>Post-Gres-Q-L</i>����ʱ��Ҳ���Ϊ<i>Postgres</i> �� +</p> +<p> + PostgreSQL ������Ŀ��Ĺ�ϵ���ݿ�ϵͳ�������д�ͳ��ҵ���ݿ�ϵͳ�����й��ܣ�ͬʱ�ֺ��н�����һ�� DBMS ϵͳ��ʹ�õ���ǿ���ԡ� + PostgreSQL ��������ѵģ���������Դ���붼���Ի�á� +</p> + +<p> + PostgreSQL �Ŀ���������ҪΪ־Ը�ߣ����DZ鲼������ز�ͨ��������������ϵ������һ������������Ŀ���������κι�˾���ơ� + ������뿪�����飬��μ�������Ա�������⣨FAQ�� + <a href="http://www.postgresql.org/files/documentation/faqs/FAQ_DEV.html">http://www.postgresql.org/files/documentation/faqs/FAQ_DEV.html</a> +</p> + + +<h4><a name="1.2"></a>1.2)PostgreSQL �İ�Ȩ��ʲô?</h4> +<p> +PostgreSQL�ķ�����Ӿ����BSD��Ȩ������Դ��������ʹ��û���κ����ƣ����Ǻ�ϲ�����ַ�ʽ���һ�û�д���ı����� +</p> +<p> +�����������ʹ�õ�BSD��Ȩ���ݣ� +</p> + +<p> + ���ְ�Ȩ��c��1996-2005��PostgreSQL ȫ��С�飬���ְ�Ȩ��c��1994-1996 ���ݴ�ѧ���� +</p> + +<p> + ��Portions copyright (c) 1996-2005, PostgreSQL Global Development Group Portions Copyright (c) 1994-6 Regents of the University of California�� +</p> + +<p> + ����Ϊ�κ�Ŀ��ʹ�ã��������ĺͷַ���������������ĵ�������ȡ�κη��ã� + ��������ǩ����˶�������֤����ǰ��������İ�Ȩ�����ͱ����Լ������������ֳ��������п����С� +</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> + ���κ�����£����ݴ�ѧ�����е���ʹ�ô����������ĵ������µĶ��κε����˵�ֱ�ӵģ� + ��ӵģ�����ģ����ӵĻ�����������������������ʧ�����Σ���ʹ���ݴ�ѧ�Ѿ���������Щ��ʧ�Ŀ�����ʱҲ����ˡ� +</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> + ���ݴ�ѧ��ȷ�����κα�֤����������������ijһ�ض���;����ҵ�������������֤�� + �����ṩ����������ǻ��ڡ������ǡ��Ļ����ģ�������ݴ�ѧû�������ṩά����֧�֣����£���ǿ�����ĵķ��� +</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/> + +</p> + +<h4><a name="1.3"></a>1.3)PostgreSQL ������������Щ����ϵͳƽ̨�ϣ�</h4> + +<p> + һ��˵����һ���ִ��� UNIX ���ݵ�ƽ̨�������� PostgreSQL ���ڰ�װָ�����г��˷���ʱ������ȷ���Ե�ƽ̨�� +</p> + +<p> + PostgreSQlҲ����ֱ�������ڻ�����Windows-NT�IJ���ϵͳ����Win2000��WinXP �� Win2003����������ɵİ�װ���ɴ� + <a href="http://pgfoundry.org/projects/pginstaller">http://pgfoundry.org/projects/pginstaller</a>���أ�����MSDOS��Windows����ϵͳ + ��Win95��Win98��WinMe����Ҫͨ��Cygwinģ�������PostgreSQL�� +</p> + +<p> + ͬʱҲ��һ��ΪNovell Netware 6�����İ汾�ɴ�<a href="http://forge.novell.com"> http://forge.novell.com </a>��ȡ��ΪOS/2�����İ汾�ɴ� + <a href="http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=postgreSQL&stype=all&sort=type&dir=%2F"> + http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=postgreSQL&stype=all&sort=type&dir=%2F</a> +</p> + +<h4><a name="1.4"></a>1.4)�Ҵ������ܵõ� PostgreSQL��</h4> + +<p> + ͨ��������ɴ�<a href="http://www.postgresql.org/ftp/">http://www.postgresql.org/ftp/</a>���أ�Ҳ��ͨ��FTP���� + <a href="ftp://ftp.PostgreSQL.org/pub/">ftp://ftp.PostgreSQL.org/pub/</a>վ�����ء� +</p> + + +<h4><a name="1.5"></a>1.5)�Ҵ������ܵõ��� PostgreSQL ��֧�֣�</h4> +<p> + PostgreSQL����ͨ���ʼ��б�Ϊ�������û��ṩ�����������ʼ��б�����վ����<a href="http://www.postgresql.org/community/lists/"> http://www.postgresql.org/community/lists/</a>��һ������£��ȼ���<i>General</i> �� <i>Bug</i>�ʼ��б���һ���ϺõĿ�ʼ�� +</p> + +<p> + ��Ҫ��IRCƵ������FreeNode(<i>irc.freenode.net</i>)��<i>#postgresql</i>��Ϊ�����ϴ�Ƶ��������ʹ��UNIX����irc����ָ���ʽ�� + irc -c '#postgresql' "$USER" irc.freenode.net ������ʹ������IRC�ͻ��˳����ڴ������л�����һ��PostgreSQL��������Ƶ��(<i>#postgersql-es</i>)�ͷ���Ƶ�� + (<i>#postgresql-fr</i>)��ͬ���أ���EFNET��Ҳ��һ��PostgreSQL�Ľ���Ƶ���� +</p> + +<p> + ��ҵ֧�ֹ�˾���б���<a href=" http://techdocs.postgresql.org/companies.php"> http://techdocs.postgresql.org/companies.php</a>�� +</p> + + + +<h4><a name="1.6"></a>1.6)������ύһ��BUG���棿</h4> +<p> + �ɷ��� <a href="http://www.postgresql.org/support/submitbug">http://www.postgresql.org/support/submitbug</a>����дBug�ϱ����ɡ� +</p> + +<p> + ͬ��Ҳ�ɷ���ftpվ��<a href="ftp://ftp.PostgreSQL.org/pub/">ftp://ftp.PostgreSQL.org/pub/</a> ��������µ�PostgreSQL�汾���� +</p> + + + +<h4><a name="1.7"></a>1.7)���°��PostgreSQL ��ʲô��</h4> +<p> + PostgreSQL ���µİ汾�ǰ汾 8.0.2 ����ע�������°汾Ϊ8.0.3���� +</p> + +<p> + ���Ǽƻ�ÿ�귢��һ����Ҫ�汾��ÿ�����·���һ��С�汾�� +</p> + + +<h4><a name="1.8"></a>1.8)�ܹ���ȡ�������ĵ�����Щ��</h4> + +<p> + PostgreSQL�����������ĵ�����Ҫ��һЩ�ֲᣬ�ֲ�ҳ��һЩ�IJ������ӡ��μ� /doc Ŀ¼����ע��ӦΪ $PGHOME/doc���� + �㻹����������� PostgreSQL ���ֲᣬ���ַ�ǣ�<a href="http://www.PostgreSQL.org/docs">http://www.PostgreSQL.org/docs</a>�� +</p> +<p> + ���������� PostgreSQL ���������ṩ���� + <a href="http://www.PostgreSQL.org/docs/awbook.html">http://www.PostgreSQL.org/docs/awbook.html</a> + �� <a href="http://www.commandprompt.com/ppbook/">http://www.commandprompt.com/ppbook/</a> �� + Ҳ�д�����PostgreSQL�鼮�ɹ�����������Ϊ���е�һ������Korry Douglas��д�ġ��� + <a href="http://techdocs.PostgreSQL.org/techdocs/bookreviews.php">http://techdocs.PostgreSQL.org/techdocs/bookreviews.php</a>�� + ���д����й�PostgreSQL�鼮�ļ�顣 + �� <a href="http://techdocs.PostgreSQL.org/">http://techdocs.PostgreSQL.org/</a>���ռ����й� PostgreSQL �Ĵ����������¡� +</p> + +<p> + �ͻ��˵������г���<i>psql</i>��һЩ�� \d ��ͷ���������ʾ�������ͣ������������������ܵȵ���Ϣ��ʹ�� \? ������ʾ���п��õ���� +</p> + +<p> + ���ǵ� web վ�����������ĵ��� +</p> + +<h4><a name="1.9"></a>1.9)������˽���֪�� BUG ����ȱ�Ĺ��ܣ�</h4> +<p> + PostgreSQL ֧��һ����չ�˵� SQL-92 ���Ӽ����������ǵ�<a href="http://www.postgresql.org/docs/faqs.TODO.html">TODO</a> �б�����ȡһ����֪Bug����ȱ�Ĺ��ܺͽ����ļƻ��� +</p> + + +<h4><a name="1.10"></a>1.10)��Ӧ������ѧϰ SQL ��</h4> +<p> + ���ȿ��������ᵽ����PostgreSQL��ص��鼮������һ����<i>Teach Yourself SQL in 21 Days, Second Edition</i>�� + ���ǵ������û�ϲ��<i>The Practical SQL Handbook</i> Bowman, Judith S., et al., Addison-Wesley����������ϲ�� + <i>The Complete Reference SQL</i>, Groff et al., McGraw-Hill�� +</p> + + +<h4><a name="1.11"></a>1.11)��Ӧ���������뿪�����飿</h4> +<p> + ���<a href="http://www.postgresql.org/docs/faqs.FAQ_DEV.html"> Developer's FAQ </a>�� +</p> + + +<h4><a name="1.12"></a>1.12)PostgreSQL ���������ݿ�ϵͳ��������Σ�</h4> +<p> +���������кü��ַ��������ԣ����ܣ��ɿ��ԣ�֧�ֺͼ۸� +</p> +<dl> + <dt><b>����</b></dt> + <dd> + PostgreSQL ӵ�д������� DBMS ���������ԣ� + ���磺�����Ӳ�ѯ������������ͼ������ο������Ժ��ӵ����ȡ� + ���ǻ���һЩ����û�е����ԣ����û��������ͣ��̳У�����Ͷ�汾���п����Լ����������õȡ�<br/> + </dd> + + <dt><b>����</b></dt> + <dd> + PostgreSQL ���������úͿ�Դ�����ݿ�������Ƶ����ܡ� + ��ijЩ�������ȽϿ죬������һЩ�������Ƚ����� + ���������ݿ���ȣ����ǵ�����ͨ���� +/- 10%֮�䡣<br/> + </dd> + + <dt><b>�ɿ���</b></dt> + <dd> + ����֪�� DBMS �����ǿɿ��ģ���������һ���ö�û�С� + ����Ŭ��������������������Եģ��ȶ��ij������ٵĴ��롣ÿ���汾������һ���µ� beta + ����ʱ�䣬�������ǵķ�����ʷ��ʾ���ǿ����ṩ�ȶ��ģ��ι̵ģ�����������ʹ�õİ汾���������� + ���ⷽ�����������������ݿ��������൱�ġ�<br/> + </dd> + + <dt><b>֧��</b></dt> + <dd> + ���ǵ��ʼ��б��ṩһ���dz���Ŀ�����Ա���û���������������������κ����⡣ + ���Dz��ܱ�֤�϶��ܽ�����⣬���֮�£����� DBMS Ҳ���������ܹ��ṩ��������� + ֱ���뿪����Ա���û�Ⱥ���ֲ��Դ����Ӵ��� PostgreSQL ��֧�ֱ����� DBMS + ��Ҫ�á�����һЩ��ҵ�Ե�Ԥ��װ��֧�֣����Ը��ṩ����Щ��Ҫ���ˡ������� FAQ ���� 1.5 С�ڣ�<br/> + </dd> + + <dt><b>�۸�</b></dt> + <dd> + ���Ƕ��κ���;����ѣ��������úͷ�����Ŀ�ġ� + ����Բ������Ƶ�����IJ�Ʒ��������ǵĴ��룬������Щ����������İ�Ȩ������������ BSD ���İ�Ȩ�⡣ + </dd> + +</dl> + + +<h4><a name="1.13"></a>1.13)˭����PostgreSQL ��</h4> +<p> + �������Ѱ��PostgreSQL�������ˣ�����ʲô����ίԱ�ᣬ����ʲô������˾����ֻ�ܷ�����---��Ϊһ��Ҳ�����ڣ������ǵ�ȷ��һ�� + ίԱ���CVS�����飬����Щ�������������Ҫ��Ϊ�˽��й������������Ƕ�PostgreSQL���п��ƣ�PostgreSQL��Ŀ�����κ��˾� + �ɲμӵĿ�����Ա�����������û����Ƶģ�������Ҫ���ľ��Ǽ����ʼ��б����������ۼ��ɣ�Ҫ����PostgreSQL�Ŀ������ + <a href="http://www.postgresql.org/docs/faqs.FAQ_DEV.html"> Developer's FAQ </a>��ȡ��Ϣ���� +</p> + +<hr/> + + +<div> <h2>�û��ͻ�������</h2> </div> + +<h4><a name="2.1"></a>2.1)���ǿ�����ʲô���Ժ� PostgreSQL ����</h4> +<p> + PostgreSQL(ȱʡ���)ֻ��װ��C����ǶʽC�Ľӿڣ������Ľӿڶ��Ƕ�������Ŀ���ܹ��ֱ����أ���Щ�ӿ���Ŀ�����ĺô� + �����ǿ����и��Եķ����ƻ����Զ����Ŀ����顣 +</p> +<p> + һЩ���������PHP���з��� PostgreSQL �Ľӿڣ�Perl,TCL,Python�Լ��ܶ��������ԵĽӿ��� + <a href="http://gborg.postgresql.org/"> http://gborg.postgresql.org </a>�ϵ�<i>Drivers/Interfaces</i>С�ڿ��ҵ��� + ����ͨ��Internet�������������� +</p> + + + +<h4><a name="2.2"></a>2.2)��ʲô���߿��� PostgreSQL ���� Web ҳ�棿</h4> +<p> + һ�����������ݿ�Ϊ��̨��ͦ������վ���ǣ�<a href="http://www.webreview.com">http://www.webreview.com</a>�� +</p> +<p> + ���� Web ���ɣ�PHP ��һ�����õĽӿڡ����ڣ�<a href="http://www.php.net/">http://www.php.net/</a>�� +</p> +<p> + ���ڸ��ӵ����ܶ��˲��� Perl �ӿں� CGI.pm �� mod_perl �� +</p> + + +<h4><a name="2.3"></a>2.3)PostgreSQL ӵ��ͼ���û�������</h4> +<p> + �ǵģ��� <a href="http://techdocs.postgresql.org/guides/GUITools">http://techdocs.postgresql.org/guides/GUITools</a>��һ����ϸ���б��� +</p> + + + +<hr/> + +<div> <h2>ϵͳ��������</h2> </div> + +<h4><a name="3.1"></a>3.1)�������ܰ� PostgreSQL װ�� /usr/local/pgsql ����ĵط���</h4> +<p> + ������ configure ʱ���� --prefix ѡ� +</p> + + +<h4><a name="3.2"></a>3.2)����ο��������������������ӣ�</h4> +<p> + ȱʡʱ��PostgreSQL ֻ����ͨ�� unix �����ֻ�TCP/IP��ʽ�����Ա��������ӡ� + ��ֻ�������������ļ�<i>postgresql.conf</i>�е�<i>listen_addresses</i>����Ҳ�������ļ�<i>pg_hba.conf</i>�д��� + ����Ϊ������ host-based ����������֤������������PostgreSQL���������������Dz��������PostgreSQL���������ӵġ� +</p> + + +<h4><a name="3.3"></a>3.3)�������������ݿ������Ի�ø��õ����ܣ�</h4> +<p> + ��������Ҫ�����������PostgreSQL��DZ�ܡ� +</p> + +<dl> + <dt><b>��ѯ��ʽ�ı仯</b></dt> + <dd> + ����Ҫ�漰�IJ�ѯ��ʽ�Ի�ȡ���õ�����: + <ul> + <li>������������������ʽ�Ͳ���������</li> + <li>ʹ��COPY��������Insert��䣻</li> + <li>�����SQL������һ�������Լ����ύ����Ŀ�����</li> + <li>��һ����������ȡ������¼ʱʹ��CLUSTER��</li> + <li>��һ����ѯ�����ȡ�����ּ�¼ʱʹ��LIMIT��</li> + <li>ʹ��Ԥ����ʽ��ѯ��Prepared Query)��</li> + <li>ʹ��ANALYZE�Ա��־�ȷ���Ż�ͳ�ƣ�</li> + <li>����ʹ�� VACUUM �� <i>pg_autovacuum</i></li> + <li>���д������ݸ���ʱ��ɾ��������Ȼ���ؽ�������</li> + </ul> + </dd> + + <dt><b>������������</b></dt> + <dd> + �����ļ�<i>postgres.conf</i>�еĺܶ����ö���Ӱ�����ܣ����в������б��ɼ��� + <a href="http://www.postgresql.org/docs/current/static/runtime.html">Administration Guide/Server Run-time Environment/Run-time Configuration</a>�� + �йز����Ľ��Ϳɼ���<a href="http://www.varlena.com/varlena/GeneralBits/Tidbits/annotated_conf_e.html"> + http://www.varlena.com/varlena/GeneralBits/Tidbits/annotated_conf_e.html </a> �� + <a href="http://www.varlena.com/varlena/GeneralBits/Tidbits/perf.html">http://www.varlena.com/varlena/GeneralBits/Tidbits/perf.html</a>�� + </dd> + + <dt><b>Ӳ����ѡ��</b></dt> + <dd> + �����Ӳ�������ܵ�Ӱ������ <a href="http://candle.pha.pa.us/main/writings/pgsql/hw_performance/index.html"> + http://candle.pha.pa.us/main/writings/pgsql/hw_performance/index.html</a> �� + <a href="http://www.powerpostgresql.com/PerfList/">http://www.powerpostgresql.com/PerfList/</a>�� + </dd> + +</dl> + + +<h4><a name="3.4"></a>3.4)PostgreSQL ����Ի��ʲô���ĵ������ԣ�</h4> +<p> + PostgreSQL �кܶ�����<i> log_* </i>�ķ��������ñ��������ڲ�ѯ�Ĵ�ӡ�ͽ���ͳ�ƣ�����Щ�����Ե��Ժ����ܲ��Ժ��а����� +</p> + + + +<h4><a name="3.5"></a>3.5)Ϊʲô����ͼ����ʱ�յ���Sorry, too many clients����Ϣ��</h4> +<p> + ���ʾ���Ѵﵽȱʡ100��������̨�����������ƣ�����Ҫͨ����<i>postgresql.conf</i>�ļ��е�<i>max_connections</i>ֵ�� + ����postmaster�ĺ�̨�������������ĺ�����������<i>postmaster</i>�� +</p> + + +<h4><a name="3.6"></a>3.6)ΪʲôҪ������ PostgreSQL ��Ҫ�����汾ʱ�� dump �� restore ��</h4> +<p> + PostgreSQL �������ÿ��С�����������˽��ٵ��ģ���˴� 7.4.0 ������ 7.4.1 ����Ҫ dump �� restore�� + ������Ҫ������������� 7.3 �� 7.4��ͨ������ϵͳ�������ݱ����ڲ���ʽ�� + ��Щ�仯һ��Ƚϸ��ӣ�������Dz�ά�����ļ��������ݡ� + dump �����ݰ���ͨ�õĸ�ʽ����������Ա����¼��ز�ʹ���µ��ڲ���ʽ�� +</p> + +<h4><a name="3.7"></a>3.7)(ʹ��PostgreSQL)����Ҫʹ��ʲô�����Ӳ�� ��</h4> +<p> + ���ڼ����Ӳ��������Ǽ��ݵģ����������������������м����Ӳ������Ҳ����ͬ�ġ���ʵ�ϲ��ǣ� + ECC RAM������żУ����ڴ棩��SCSI ��Ӳ�̣������ʵ������һЩ���˻�Ҫ���ӿɿ��Ҿ��и��õ����ܡ�PostgreSQL���������������κ�Ӳ���ϣ� + ������ɿ��Ժ����ܶ����ϵͳ����Ҫ�������Ҫȫ����о�һ�����Ӳ�������ˡ������ǵ��ʼ��б���Ҳ�й��� + Ӳ�����ú��Լ۱ȵ����ۡ� +</p> + + +<hr/> + +<div><h2>��������</h2> </div> + + +<h4><a name="4.1"></a>4.1)���ֻѡ��һ����ѯ�����ͷ���У����������һ�У�</h4> +<p> + �����ֻ��Ҫ��ȡ�������ݣ���������ִ�в�ѯ��֪��ȷ�е������������ʹ��LIMIT���ܡ� + �����һ�������� <i> ORDER BY</i>�е�����ƥ�䣬PostgreSQL ���ܾ�ֻ����Ҫ���ͷ������¼�� + ������������ѯ���д���ֱ��������Ҫ���У��������ִ�в�ѯ����ʱ��֪��ȷ�еļ�¼���� + ��ʹ���α�(cursor)��FETCH���ܡ� +</p> +<p> + ��ʹ�����·�����ȡһ�������¼�ģ� +</p> +<pre> + SELECT cols + FROM tab + ORDER BY random() + LIMIT 1 ; +</pre> + + + +<h4><a name="4.2"></a>4.2)��β鿴�������������ݿ��Լ��û��Ķ��壿��β鿴<i>psql</i>���õ��IJ�ѯָ���ʾ���ǣ�</h4> +<p> + ��<i>psql</i>��ʹ�� \dt ��������ʾ���ݱ��Ķ��壬Ҫ�˽�<i>psql</i>�е����������б���ʹ��\? �����⣬��Ҳ�����Ķ� <i>psql</i> ��Դ���� + �ļ�<i>pgsql/src/bin/psql/describe.c</i>��������Ϊ����<i>psql</i>��б���������������� SQL ����㻹���Դ� <i>-E</i> ѡ������ <i>psql</i>�� + ����������ӡ��ִ������<i>psql</i>����������������ڲ�ʵ��ʹ�õ�SQL��ѯ��PostgreSQLҲ�ṩ��һ������SQL��INFORMATION SCHEMA�ӿڣ� + ����Դ������ȡ�������ݿ����Ϣ�� +</p> +<p> + ��ϵͳ����һЩ��<i>pg_</i> ��ͷ��ϵͳ��Ҳ�����˱��Ķ��塣 +</p> +<p> + ʹ�� <i>psql -l</i> ָ������г����е����ݿ⡣ +</p> +<p> + Ҳ�������һ�� <i>pgsql/src/tutorial/syscat.source</i>�ļ������о��˺ܶ�ɴ����ݿ�ϵͳ���л�ȡ��Ϣ��SELECT��� +</p> + + +<h4><a name="4.3"></a>4.3)��θ���һ���ֶε��������ͣ�</h4> +<p> + ��8.0�汾�����һ���ֶε��������ͺ����ף���ʹ�� ALTER TABLE ALTER COLUMN TYPE �� +</p> +<p> + ����ǰ�İ汾�У������������� +</p> +<pre> + BEGIN; + ALTER TABLE tab ADD COLUMN new_col new_data_type; + UPDATE tab SET new_col = CAST(old_col AS new_data_type); + ALTER TABLE tab DROP COLUMN old_col; + COMMIT; +</pre> +<p> + ��Ȼ�����ʹ��<i>VACUUM FULL tab </i>ָ����ʹϵͳ�ջ���Ч������ռ�õĿռ䡣 +</p> + +<h4><a name="4.4"></a>4.4)һ�м�¼��һ������һ��������ߴ��Ƕ��٣�</h4> +<p> + ������һЩ���ƣ� +</p> +<blockquote> + <table> + <tbody> + <tr><td>һ�����ݿ����ߴ磿</td><td>�����ƣ��Ѵ����� 32TB �����ݿ⣩</td></tr> + <tr><td>һ���������ߴ磿</td><td>32 TB</td></tr> + <tr><td>һ�м�¼�����ߴ磿</td><td>1.6 TB</td></tr> + <tr><td>һ���ֶε����ߴ�?</td><td>1 GB</td></tr> + <tr><td>һ���������������</td><td>������</td></tr> + <tr><td>һ���������������</td><td>250-1600 �����������йأ�</td></tr> + <tr><td>һ��������������������</td><td>������</td></tr> + </tbody> +</table> +</blockquote> + +<p> + ��Ȼ��ʵ����û�������������ƣ�����Ҫ�ܿ��ô��̿ռ䡢�����ڴ�/����������Լ�� + ��ʵ�ϣ�����Щ��ֵ����쳣�ش�ʱ��ϵͳ����Ҳ���ܴܺ�Ӱ�졣 +</p> + +<p> + �������ߴ� 32 TB ����Ҫ����ϵͳ�Դ��ļ���֧�֡�����ö�� 1 GB ���ļ��洢������ļ�ϵͳ�ߴ�������Dz���Ҫ�ġ� +</p> +<p> + ���ȱʡ�Ŀ��С������ 32K �����ı��ߴ������������������ӵ��ı��� +</p> + + +<h4><a name="4.5"></a>4.5)�洢һ�����͵��ı��ļ����������Ҫ���ٴ��̿ռ䣿</h4> +<p> + һ�� Postgres ���ݿ⣨�洢һ���ı��ļ�����ռ�õĿռ���������Ҫ�൱������ı��ļ�������С5���Ĵ��̿ռ䡣 +</p> +<p> + ���磬������һ�� 100,000 �е��ļ���ÿ����һ��������һ���ı������� + �����ı�����ƽ������Ϊ20�ֽڡ��ı��ļ�ռ�� 2.8 MB�������Щ���ݵ� PostgreSQL ���ݿ��ļ���Լ�� 6.4 MB: +</p> +<pre> + 32 �ֽ�: ÿ�е�ͷ������ֵ�� + 24 �ֽ�: һ���������ֶκ�һ���ı����ֶ� + + 4 �ֽ�: ҳ����ָ��Ԫ���ָ�� + ---------------------------------------- + 60 �ֽ�ÿ�� + + PostgreSQL ����ҳ�Ĵ�С�� 8192 �ֽ� (8 KB)���� + + 8192 �ֽ�ÿҳ + ------------------- = 136 ��/����ҳ������ȡ���� + 60 �ֽ�ÿ�� + + 100000 ������ + -------------------- = 735 ����ҳ������ȡ���� + 128 ��ÿҳ + + 735 ����ҳ * 8192 �ֽ�/ҳ = 6,021,120 �ֽڣ�6 MB�� +</pre> + +<p> + ��������Ҫ��ô��Ķ������ģ���Ҳȷʵ���������������ݣ��������Ҳ���ܴܺ� +</p> +<p> + ��ֵ<i>NULL</i>�����λͼ�У����ռ�ú��ٵĿռ䡣 +</p> + +<h4><a name="4.6"></a>4.6)Ϊʲô�ҵIJ�ѯ������Ϊʲô��Щ��ѯû������������</h4> +<p> + ����ÿ����ѯ�����Զ�ʹ��������ֻ���ڱ��Ĵ�С����һ����Сֵ�����Ҳ�ѯֻ��ѡ�б��н�С�����ļ�¼ʱ�Ż���������� + ������Ϊ����ɨ��������漴���̴�ȡ���ܱ�ֱ�ӵض�ȡ����˳��ɨ�裩������ +</p> +<p> + Ϊ���ж��Ƿ�ʹ��������PostgreSQL�������йر���ͳ��ֵ����Щͳ��ֵ����ʹ�� VACUUM ANALYZE���� ANALYZE ��á� + ʹ��ͳ��ֵ���Ż���֪�������ж����У����ܹ����õ��ж��Ƿ����������� + ͳ��ֵ��ȷ���Ż�������˳������ӷ���Ҳ�����á��ڱ������ݷ����仯ʱ��Ӧ���ڽ���ͳ��ֵ�ĸ����ռ��� +</p> +<p> + ����ͨ�������� ORDER BY ��ִ�����ӡ���һ�������һ��˳��ɨ�裬����һ����ʽ������ͨ��������ɨ��Ҫ�졣 +</p> + +<p> + ���ǣ��� LIMIT �� ORDER BY ���ʹ��ʱ������ʹ����������Ϊ��ֻ�᷵�ر���һС���֡� + ʵ���ϣ���Ȼ MAX() �� MIN() ����ʹ��������ͨ���� + ORDER BY �� LLIMIT ʹ������ȡ�����ֵ����СֵҲ�ǿ��Եģ� +</p> +<pre> + SELECT col + FROM tab + ORDER BY col [ DESC ] + LIMIT 1; +</pre> +<p> + �����ȷ��PostgreSQL���Ż���ʹ��˳��ɨ���Dz���ȷ�ģ������ʹ��<code>SET enable_seqscan TO 'off'</code>ָ� + Ȼ���ٴ����в�ѯ����Ϳ��Կ���ʹ��һ������ɨ���Ƿ�ȷʵҪ��һЩ�� +</p> + +<p> + ��ʹ��ͨ������������� <i>LIKE</i> �� <i>~</i> ʱ������ֻ�����ض��������ʹ�ã� +</p> +<ul> + <li>�ַ����Ŀ�ʼ���ֱ�������ͨ�ַ�����Ҳ����˵�� + <ul> + <li> <i>LIKE</i> ģʽ������ <i>%</i> ��ͷ��</li> + <li> <i>~</i> ���������ʽ��ģʽ������ <i>^</i> ��ͷ��</li> + </ul> + </li> + <li>�ַ���������ƥ�����ַ���ģʽ���ͷ������ [a-e]��</li> + <li>��Сд�صIJ��ң��� ILIKE �� ~* �Ȳ�ʹ���������������� <a href="#4.8">4.8</a> �������ĺ���������</li> + <li>���� initdb ʱ�������ȱʡ�ı������� C locale����Ϊϵͳ������֪���ڷ�C locale���ʱ��һ������ַ���ʲô�� + ����������£�����Դ���һ�������<code>text_pattern_ops</code>����������<small>LIKE</small>�������� + </li> +</ul> +<p> + ��8.0֮ǰ�İ汾�У�����Ҫ��ѯ���������ͺ�����������������ƥ�䣬��������������δ���õ����ر��Ƕ�int2,int8����ֵ�͵������� +</p> + +<h4><a name="4.7"></a>4.7)����β��ܿ�����ѯ�Ż������������������ҵIJ�ѯ��</h4> +<p> + �ο� <small>EXPLAIN</small> �ֲ�ҳ�� +</p> + +<h4><a name="4.8"></a>4.8)���������������ʽ�����ʹ�Сд�ص��������ʽ���ң����������������д�Сд�ز��ң�</h4> +<p> + ������ <i> ~ </i> �����������ʽƥ�䣬�� <i>~*</i> ������Сд�ص��������ʽƥ�䡣��дЩ�ص� LIKE ���ֳ�Ϊ ILIKE�� +</p> +<p> + ��Сд�صĵ�ʽ�Ƚ�ͨ��д���� +</p> +<pre> SELECT * + FROM tab + WHERE lower(col) = 'abc'; +</pre> +<p> + ����������ʹ�ñ������������ǿ��Դ���һ���ɱ����õĺ�������: +</p> +<pre> CREATE INDEX tabindex ON tab (lower(col)); +</pre> + +<h4><a name="4.9"></a>4.9)��һ����ѯ����������һ���ֶ��Ƿ�Ϊ <i>NULL</i> ������β���ȷ���������ij�ֶ��Ƿ� <i>NULL</i> ֵ��</h4> +<p> + �� <small>IS NULL</small> �� <small>IS NOT NULL</small> ��������ֶΣ����巽�����£� +</p> +<pre> SELECT * + FROM tab + WHERE col IS NULL; +</pre> + +<p>Ϊ���ܶԺ� <small>NULL</small>�ֶ������� <small>ORDER BY</small> ������ʹ�� <small>IS NULL</small>�� + <small>IS NOT NULL</small> ���η�������Ϊ�� <i>true</i> ��������Ϊ��<i>false</i> ����ǰ�棬��������ӾͻὫ�� + NULL �ļ�¼���ڽ�������沿�֣� +</p> +<pre> SELECT * + FROM tab + ORDER BY (col IS NOT NULL) +</pre> + +<h4><a name="4.10"></a>4.10)�����ַ�����֮����ʲô��ͬ��</h4> +<blockquote> + <table> + <tbody> + <tr><th>����</th><th>�ڲ�����</th><th>˵��</th></tr> + <tr><td>VARCHAR(n)</td><td>varchar</td><td>ָ������ȣ��䳤�ַ��������㶨�峤�ȵIJ��ֲ�����</td></tr> + <tr><td>CHAR(n)</td><td>bpchar</td><td>�����ַ�����ʵ�����ݲ��㶨�峤��ʱ���Կո���</td></tr> + <tr><td>TEXT</td><td>text</td><td>û���ر���������ƣ������е�������ƣ�</td></tr> + <tr><td>BYTEA</td><td>bytea</td><td>�䳤�ֽ����У�ʹ��NULLҲ�������ģ�</td></tr> + <tr><td>"char"</td><td>char</td><td>һ���ַ�</td></tr> + </tbody> + </table> +</blockquote> + +<p> + ��ϵͳ������һЩ������Ϣ���㽫�����ڲ����ơ� +</p> +<p> + �������е�ǰ����������"varlena"���䳤�����ͣ�Ҳ����˵����ͷ���ĸ��ֽ��dz��ȣ�����������ݣ��� + ����ʵ��ռ�õĿռ�������Ĵ�СҪ��һЩ�� + Ȼ����Щ���Ͷ����Ա�ѹ���洢��Ҳ������ TOAST �ѻ��洢����˴��̿ռ�Ҳ���ܱ�Ԥ���Ҫ�١� +</p> +<p> + <small>VARCHAR(n)</small> �ڴ洢��������ȵı䳤�ַ�������õġ� + <small>TEXT</small> �����ڴ洢���ɴ� 1G���ҵ�δ�������Ƴ��ȵ��ַ����� +</p> +<p> + <small>CHAR(n)</small> ���ʺ��ڴ洢������ͬ���ַ����� <small>CHAR(n)</small>��������������ֶγ����Կո��㣨������ֶ����ݣ��� + �� <small>VARCHAR(n)</small> ֻ�洢���������������ݡ� + <small>BYTEA</small> ���ڴ洢���������ݣ������ǰ��� NULL �ֽڵ�ֵ����Щ���;������Ƶ��������ԡ� +</p> + + + +<h4><a name="4.11.1"></a>4.11.1)����������һ�����к�/�Զ��������ֶΣ�</h4> +<p> + PostgreSQL ֧�� SERIAL �������͡������ֶ����Զ�����һ�����к����������磺 +</p> +<pre> + CREATE TABLE person ( + id SERIAL, + name TEXT + ); +</pre> +<p> + ���Զ�ת��Ϊ�� +</p> +<pre> + CREATE SEQUENCE person_id_seq; + CREATE TABLE person ( + id INT4 NOT NULL DEFAULT nextval('person_id_seq'), + name TEXT + ); +</pre> +<p> + �ο� create_sequence �ֲ�ҳ��ȡ�������еĸ�����Ϣ�� +</p> + + +<h4><a name="4.11.2"></a>4.11.2)����λ��һ����������кŵ�ֵ��</h4> +<p> + һ�ַ������ڲ���֮ǰ���ú��� nextval() �����ж������������һ�� SERIAL ֵ��Ȼ������ʽ���롣ʹ�� + <a href="#4.11.1"> 4.11.1</a> �������������α������������ +</p> +<pre> + new_id = execute("SELECT nextval('person_id_seq')"); + execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')"); +</pre> +<p> + ����������������ѯ��ʹ�ô���� new_id �����ֵ�����磬��Ϊ person ����������� + ע���Զ������� SEQUENCE ��������ƽ����� <<i>table</i>>_<<i>serialcolumn</i>>_<i>seq</i>�� + ���� table �� serialcolumn �ֱ�����ı������ƺ���� SERIAL �ֶε����ơ� +</p> +<p> + ���Ƶģ��� SERIAL ����ȱʡ�����������ú��� currval() �����ո�ֵ�� SERIAL ֵ�����磺 +</p> +<pre> + execute("INSERT INTO person (name) VALUES ('Blaise Pascal')"); + new_id = execute("SELECT currval('person_id_seq')"); +</pre> + +<h4><a name="4.11.3"></a>4.11.3)ʹ�� <i>currval()</i> �ᵼ�º������û��ij�ͻ�����race condition����</h4> +<p> + ���ᡣ<i>currval()</i> ���ص����㱾�λỰ����������ֵ�����������û��ĵ�ǰֵ��<br/> +</p> + +<h4><a name="4.11.4"></a>4.11.4)Ϊʲô���������쳣��ֹ���������к��أ�Ϊʲô�����к��ֶε�ȡֵ�д��ڼ���أ�</h4> +<p> + Ϊ����߲����ԣ����к�����Ҫ��ʱ�����������е����������������֮ǰ������������ + ��ͻᵼ���쳣��ֹ����������кŻ���ּ���� +</p> + +<h4><br/><a name="4.12"></a>4.12)ʲô�� <small>OID</small> ��ʲô�� <small>CTID</small> ��</h4> +<p> + PostgreSQL �ﴴ����ÿһ�м�¼������һ��Ψһ��<small>OID</small>�������ڴ�����ʱʹ��<small>WITHOUT OIDS</small>ѡ� + <small>OID</small>����ʱ���Զ�����һ��4�ֽڵ����������� OID ������ PostgreSQL �о���Ψһ�ġ� Ȼ�������ڳ���40��ʱ������� + <small>OID</small>�˺������ظ���PostgreSQL �������ڲ�ϵͳ����ʹ�� OID �ڱ�֮�佨����ϵ�� +</p> +<p> + ���û������ݱ��У������ʹ��<small>SERIAl</small>������<small>OID</small> + ��Ϊ<small>SERIAL</small>ֻ�DZ�֤�ڵ�������������Ψһ�ģ�����������Ŀ����Ծͷdz�С�ˣ� + <small>SERIAL8</small>����������8�ֽڵ����к��ֶΡ� +</p> + +<p> + <small>CTID</small> ���ڱ�ʶ�������ݿ飨��ַ���ͣ����ڣ�ƫ�Ƶ��ض��������С� + <small>CTID</small> �ڼ�¼�����Ļ����غ����ı䡣�������ʹ������ָ�������С� +</p> + + +<h4><a name="4.13"></a>4.13)Ϊʲô���յ�������Ϣ��<i>ERROR: Memory exhausted in AllocSetAlloc()</i>����</h4> +<p> + ��ܿ�����ϵͳ�������ڴ��ù��ˣ������ں˶�ijЩ��Դ�нϵ͵�����ֵ�������� postmaster ֮ǰ������������ +</p> +<pre> + ulimit -d 262144 + limit datasize 256m +</pre> +<p> + ȡ�������õ� shell����������ֻ��һ���ܳɹ���������������Ľ������ݶ�������ñȽϸߣ� + ���Ҳ�����ò�ѯ��ɡ���������Ӧ���ڵ�ǰ���̣��Լ������������������к����ӽ��̡� + �������������SQL�ͻ���ʱ��Ϊ��̨������̫������ݶ��������⣬�������пͻ���֮ǰִ��������� +</p> + +<h4><a name="4.14"></a>4.14)����β���֪�������е� PostgreSQL �İ汾��</h4> +<p> + �� psql ����� <code>SELECT version();</code>ָ� +</p> + +<h4><a name="4.15"></a>4.15)����δ���һ��ȱʡֵ�ǵ�ǰʱ����ֶΣ�</h4> +<p> + ʹ�� CURRENT_TIMESTAMP�� +</p> +<pre> + CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); +</pre> + + +<h4><a name="4.16"></a>4.16)���������� outer join �������ӣ���</h4> +<p> + PostgreSQL ���ñ��� SQL �֧�������ӡ��������������ӣ� +</p> +<pre> + SELECT * + FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col); +</pre> +<p>����</p> +<pre> + SELECT * + FROM t1 LEFT OUTER JOIN t2 USING (col); +</pre> +<p> + �������ȼ۵IJ�ѯ�� t1.col �� t2.col �������ӣ����ҷ��� t1 ������δ���ӵ��У���Щ�� t2 ��û��ƥ����У��� + ��[��]����(RIGHT OUTER JOIN)������ t2 ��δ���ӵ��С� + ��ȫ�����ӣ�FULL OUTER JOIN�������� t1 �� t2 ��δ���ӵ��С� + �ؼ��� OUTER ����[��]���ӡ���[��]���Ӻ���ȫ[��]�������ǿ�ѡ�ģ���ͨ���ӱ���Ϊ�����ӣ�INNER JOIN���� +</p> + + +<h4><a name="4.17"></a>4.17)���ʹ���漰������ݿ�IJ�ѯ��</h4> +<p> + û�а취��ѯ��ǰ���ݿ�֮������ݿ⡣ + ��Ϊ PostgreSQL Ҫ���������ݿ���ص�ϵͳĿ¼��ϵͳ��������˿����ݿ�IJ�ѯ���ִ���Dz����ġ� +</p> +<p> + ������ֵģ��contrib/dblink�������ú�������ʵ�ֿ���ѯ����Ȼ�û�Ҳ����ͬʱ���ӵ���ͬ�����ݿ�ִ�в�ѯȻ���ڿͻ��˺ϲ������ +</p> + +<h4><a name="4.18"></a>4.18)����ú������ض��л���У�</h4> +<p> + �ں����з������ݼ�¼���Ĺ����Ǻ�����ʹ�õģ�����μ��� + <a href="http://techdocs.postgresql.org/guides/SetReturningFunctions">http://techdocs.postgresql.org/guides/SetReturningFunctions</a> +</p> + +<h4><a name="4.19"></a>4.19)Ϊʲô����ʹ��PL/PgSQL������ȡ��ʱ��ʱ���յ�������Ϣ��relation with OID ##### does not exist����</h4> +<p> + PL/PgSQL�Ỻ�溯�������ݣ��ɴ˴�����һ�����õĸ���������һ�� PL/PgSQL + ����������һ����ʱ����Ȼ��ñ���ɾ�����ؽ��ˣ����ٴε��øú�����ʧ�ܣ� + ��Ϊ����ĺ���������Ȼָ��ɵ���ʱ��������ķ������� PL/PgSQL ����<small>EXECUTE</small> + ����ʱ�����з��ʡ������ᱣ֤��ѯ��ִ��ǰ�ܻᱻ���½����� +</p> + +<h4><a name="4.27"></a>4.27)Ŀǰ����Щ���ݸ��Ʒ������ã�</h4> +<p> + �����ơ�ֻ��һ������кü��ָ��Ƽ�����ʹ�ã�ÿ�ֶ����ŵ��ȱ�㣺 +</p> +<p> + ��/�Ӹ��Ʒ�ʽ������һ�������������ܶ�/д�����룬������ӷ�����ֻ�ܽ��ܶ�/<small>SELECT</small>��ѯ�����룬 + Ŀǰ������������ѵ���/�� PostgreSQL���Ʒ����� + <a href="http://gborg.postgresql.org/project/slony1/projdisplay.php">Slony-I </a>�� +</p> +<p> + ������������ĸ��Ʒ�ʽ��������/д�����뷢����̨�ļ���������ַ�ʽ������Ҫ�ڶ�̨������֮��ͬ�����ݱ䶯 + ���ܻ���������ص�������ʧ��<a href="http://pgfoundry.org/projects/pgcluster/">Pgcluster</a>��Ŀǰ���ַ��� + ����õģ����һ�����������ء� +</p> +<p> + Ҳ��һЩ��ҵ�踶�Ѻͻ���Ӳ�������ݸ��Ʒ�����֧���������ָ���ģ�͡� +</p> + + + +</body> +</html> +