diff options
author | Bruce Momjian <bruce@momjian.us> | 2006-10-10 00:29:15 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2006-10-10 00:29:15 +0000 |
commit | 61c91fd2d22c97fd942ca67f458af5dc364f5fab (patch) | |
tree | b25e9b354c18151dca88541ee719bab8087cc400 | |
parent | 7cec8b4e4acedec1dbc8a576d4f862eb1c0c0759 (diff) | |
download | postgresql-61c91fd2d22c97fd942ca67f458af5dc364f5fab.tar.gz postgresql-61c91fd2d22c97fd942ca67f458af5dc364f5fab.zip |
Backpatch FAQs to 8.1.X.
-rw-r--r-- | doc/FAQ | 59 | ||||
-rw-r--r-- | doc/FAQ_AIX | 111 | ||||
-rw-r--r-- | doc/FAQ_DEV | 54 | ||||
-rw-r--r-- | doc/FAQ_HPUX | 18 | ||||
-rw-r--r-- | doc/FAQ_Solaris | 164 | ||||
-rw-r--r-- | doc/FAQ_japanese | 74 | ||||
-rw-r--r-- | doc/FAQ_russian | 68 | ||||
-rw-r--r-- | doc/src/FAQ/FAQ.html | 63 | ||||
-rw-r--r-- | doc/src/FAQ/FAQ_DEV.html | 63 | ||||
-rw-r--r-- | doc/src/FAQ/FAQ_chinese.html | 1750 | ||||
-rw-r--r-- | doc/src/FAQ/FAQ_japanese.html | 103 | ||||
-rw-r--r-- | doc/src/FAQ/FAQ_russian.html | 74 |
12 files changed, 1390 insertions, 1211 deletions
@@ -1,9 +1,9 @@ Frequently Asked Questions (FAQ) for PostgreSQL - Last updated: Thu May 18 23:52:32 EDT 2006 + Last updated: Mon Oct 9 20:28:14 EDT 2006 - Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us) + Current maintainer: Bruce Momjian (bruce@momjian.us) The most recent version of this document can be viewed at http://www.postgresql.org/files/documentation/faqs/FAQ.html. @@ -19,7 +19,7 @@ 1.3) What is the copyright of PostgreSQL? 1.4) What platforms does PostgreSQL support? 1.5) Where can I get PostgreSQL? - 1.6) What is the latest release? + 1.6) What is the most recent release? 1.7) Where can I get support? 1.8) How do I submit a bug report? 1.9) How do I find out about known bugs or missing features? @@ -42,8 +42,7 @@ 3.3) How do I tune the database engine for better performance? 3.4) What debugging features are available? 3.5) Why do I get "Sorry, too many clients" when trying to connect? - 3.6) Why do I need to do a dump and restore to upgrade PostgreSQL - releases? + 3.6 What is the upgrade process for PostgreSQL? 3.7) What computer hardware should I use? Operational Questions @@ -153,8 +152,8 @@ time of release are listed in the installation instructions. PostgreSQL also runs natively on Microsoft Windows NT-based operating - systems like Win2000, WinXP, and Win2003. A prepackaged installer is - available at http://pgfoundry.org/projects/pginstaller. MSDOS-based + systems like Win2000 SP4, WinXP, and Win2003. A prepackaged installer + is available at http://pgfoundry.org/projects/pginstaller. MSDOS-based versions of Windows (Win95, Win98, WinMe) can run PostgreSQL using Cygwin. @@ -168,7 +167,7 @@ Via web browser, use http://www.postgresql.org/ftp/, and via ftp, use ftp://ftp.PostgreSQL.org/pub/. - 1.6) What is the latest release? + 1.6) What is the most recent release? The latest release of PostgreSQL is version 8.1.5. @@ -189,7 +188,7 @@ (#postgresqlfr). There is also a PostgreSQL channel on EFNet. A list of commercial support companies is available at - http://techdocs.postgresql.org/companies.php. + http://www.postgresql.org/support/professional_support. 1.8) How do I submit a bug report? @@ -350,8 +349,9 @@ 2.3) Does PostgreSQL have a graphical user interface? - Yes, see http://techdocs.postgresql.org/guides/GUITools for a detailed - list. + There are a large number of GUI Tools that are available for + PostgreSQL from both commercial and open source developers. A detailed + list can be found in the PostgreSQL Community Documentation _________________________________________________________________ Administrative Questions @@ -397,8 +397,9 @@ Hardware Selection The effect of hardware on performance is detailed in - http://candle.pha.pa.us/main/writings/pgsql/hw_performance/inde - x.html and http://www.powerpostgresql.com/PerfList/. + http://www.powerpostgresql.com/PerfList/ and + http://momjian.us/main/writings/pgsql/hw_performance/index.html + . 3.4) What debugging features are available? @@ -413,16 +414,22 @@ processes it can start by changing the max_connections value in postgresql.conf and restarting the postmaster. - 3.6) Why do I need to do a dump and restore to upgrade between major - PostgreSQL releases? + 3.6) What is the upgrade process for PostgreSQL? - The PostgreSQL team makes only small changes between minor releases, - so upgrading from 7.4.0 to 7.4.1 does not require a dump and restore. - However, major releases (e.g. from 7.3 to 7.4) often change the - internal format of system tables and data files. These changes are - often complex, so we don't maintain backward compatibility for data - files. A dump outputs data in a generic format that can then be loaded - in using the new internal format. + The PostgreSQL team makes only bug fixes in minor releases, so, for + example, upgrading from 7.4.8 to 7.4.9 does not require a dump and + restore; merely stop the database server, install the updated + binaries, and restart the server. + + All users should upgrade to the most recent minor release as soon as + it is available. While every upgrade has some risk, PostgreSQL minor + releases are designed to fix only common bugs with the least risk. The + community considers not upgrading more risky that upgrading. + + Major releases (e.g. from 7.3 to 7.4) often change the internal format + of system tables and data files. These changes are often complex, so + we don't maintain backward compatibility for data files. A dump/reload + of the database is required for major upgrades. 3.7) What computer hardware should I use? @@ -513,7 +520,7 @@ One limitation is that indexes can not be created on columns longer than about 2,000 characters. Fortunately, such indexes are rarely - needed. Uniqueness is best guaranteed by a funtion index of an MD5 + needed. Uniqueness is best guaranteed by a function index of an MD5 hash of the long column, and full text indexing allows for searching of words within the column. @@ -614,8 +621,8 @@ FROM tab WHERE lower(col) = 'abc'; - This will not use an standard index. However, if you create a - expresssion index, it will be used: + This will not use an standard index. However, if you create an + expression index, it will be used: CREATE INDEX tabindex ON tab (lower(col)); If the above index is created as UNIQUE, though the column can store @@ -720,7 +727,7 @@ 4.12) What is an OID? What is a CTID? Every row that is created in PostgreSQL gets a unique OID unless - created WITHOUT OIDS. OIDs are autotomatically assigned unique 4-byte + created WITHOUT OIDS. OIDs are automatically assigned unique 4-byte integers that are unique across the entire installation. However, they overflow at 4 billion, and then the OIDs start being duplicated. PostgreSQL uses OIDs to link its internal system tables together. diff --git a/doc/FAQ_AIX b/doc/FAQ_AIX index dd2ce3053da..36fab80972a 100644 --- a/doc/FAQ_AIX +++ b/doc/FAQ_AIX @@ -1,5 +1,5 @@ From: Zeugswetter Andreas <ZeugswetterA@spardat.at> -$Date: 2006/05/19 03:57:17 $ +$Date: 2006/10/10 00:29:13 $ On AIX 4.3.2 PostgreSQL compiled with the native IBM compiler xlc (vac.C 5.0.1) passes all regression tests. Other versions of OS and @@ -365,3 +365,112 @@ References and resources IBM Redbook http://www.redbooks.ibm.com/redbooks/pdfs/sg245674.pdf http://www.redbooks.ibm.com/abstracts/sg245674.html?Open + + +Statistics Collector Fun on AIX +-------------------------------- + +When implementing PostgreSQL version 8.1 on AIX 5.3, we periodically +ran into problems where the statistics collector would "mysteriously" +not come up successfully. + +This appears to be the result of unexpected behaviour in the IPv6 +implementation. It looks like PostgreSQL and IPv6 do not play very +well together at this time on AIX. + +Any of the following actions "fix" the problem. + +1. Delete the localhost ipv6 address + +(as root) +# ifconfig lo0 inet6 ::1/0 delete + +2. Remove IPv6 from net services. The file /etc/netsvc.conf, on AIX, +is roughly equivalent to /etc/nsswitch.conf on Solaris/Linux. + +The default, on AIX, is thus: + + hosts=local,bind + +Replace this with: + + hosts=local4,bind4 + +to deactivate searching for IPv6 addresses. + + +Shared Linking +-------------- + +Shared libraries in AIX are different from shared libraries in Linux. + +A shared library on AIX is an 'ar' archive containing shared objects. A +shared object is produced by the linker when invoked appropriately (e.g. +with -G), it is what we call a shared library on Linux. + +-> On AIX, you can do a static as well as a dynamic +-> link against a shared library, it depends on how you +-> invoke the linker. + +When you link statically, the shared objects from the library are added +to your executable as required; when you link dynamically, only +references to the shared objects are included in the executable. + +Consequently you do not need a separate static library on AIX if you +have a dynamic library. + +However, you CAN have static libraries (ar archives containing *.o +files), and the linker will link against them. This will of course +always be a static link. + +When the AIX linker searches for libraries to link, it will look for a +library libxy.a as well as for a single shared object libxy.so when you +tell it to -lyx. When it finds both in the same directory, it will +prefer libpq.a unless invoked with -brtl. + +This is where the problem occurs: + +By default, PostgreSQL will (in the Linux way) create a shared object +libpq.so and a static library libpq.a in the same directory. + +Up to now, since the linker was invoked without the -brtl flag, linking +on AIX was always static, as the linker preferred libpq.a over libpq.so. + +We could have solved the problem by linking with -brtl on AIX, but we +chose to go a more AIX-conforming way so that third party programs +linking against PostgreSQL libraries will not be fooled into linking +statically by default. + +The 'new way' on AIX is: +- Create libxy.so.n as before from the static library + libxy.a with the linker. +- Remove libxy.a +- Recreate libxy.a as a dynamic library with + ar -cr libxy.a libxy.so.n +- Only install libxy.a, do not install libxy.so + +Since linking is dynamic on AIX now, we have a new problem: + +We must make sure that the executable finds its library even if the +library is not installed in one of the standard library paths (/usr/lib +or /lib). + +On Linux this is done with an RPATH, on AIX the equivalent is LIBPATH +that can be specified at link time with -blibpath:<colon separated path> +. If you do not specify the LIBPATH, it is automatically computed from +the -L arguments given to the linker. The LIBPATH, when set, must +contain ALL directories where shared libraries should be searched, +including the standard library directories. + +Makefile.aix has been changed to link executables with a LIBPATH that +contains --libdir when PostgreSQL is configured with --enable-rpath (the +default). + +The AIX equivalent for the Linux environment variable LD_LIBRARY_PATH is +LIBPATH. + +The regression tests rely on LD_LIBRARY_PATH and have to be changed to +set LIBPATH as well. + +Laurenz Albe + diff --git a/doc/FAQ_DEV b/doc/FAQ_DEV index 240e38d6e40..587e3ed02f8 100644 --- a/doc/FAQ_DEV +++ b/doc/FAQ_DEV @@ -1,9 +1,9 @@ Developer's Frequently Asked Questions (FAQ) for PostgreSQL - Last updated: Fri May 5 05:51:42 EDT 2006 + Last updated: Wed Sep 6 20:12:13 EDT 2006 - Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us) + Current maintainer: Bruce Momjian (bruce@momjian.us) The most recent version of this document can be viewed at http://www.postgresql.org/files/documentation/faqs/FAQ_DEV.html. @@ -125,7 +125,7 @@ General Questions 3. The patch should be generated in contextual diff format (diff -c and should be applicable from the root directory. If you are unfamiliar with this, you might find the script - src/tools/makediff/difforig useful. (Unified diffs are only + src/tools/make_diff/difforig useful. (Unified diffs are only preferable if the file changes are single-line changes and do not rely on surrounding lines.) 4. PostgreSQL is licensed under a BSD license, so any submissions @@ -141,7 +141,7 @@ General Questions 7. New feature patches should also be accompanied by documentation patches. If you need help checking the SQL standard, see 1.16. 8. If you are adding a new feature, confirm that it has been tested - thoughly. Try to test the feature in all conceivable scenarios. + thoroughly. Try to test the feature in all conceivable scenarios. 9. If it is a performance patch, please provide confirming test results to show the benefit of your patch. It is OK to post patches without this information, though the patch will not be @@ -159,7 +159,8 @@ General Questions Other than documentation in the source tree itself, you can find some papers/presentations discussing the code at - http://www.postgresql.org/developer. + http://www.postgresql.org/developer. An excellent presentation is at + http://neilconway.org/talks/hacking/ 1.7) How do I download/update the current source tree? @@ -276,9 +277,9 @@ General Questions applied to the distribution. This produces context diffs, which is our preferred format. - Our standard format is to indent each code level with one tab, where - each tab is four spaces. You will need to set your editor to display - tabs as four spaces: + Our standard format BSD style, with each level of code indented one + tab, where each tab is four spaces. You will need to set your editor + or file viewer to display tabs as four spaces: vi in ~/.exrc: set tabstop=4 set sw=4 @@ -286,40 +287,11 @@ General Questions more -x4 less: less -x4 - emacs: - M-x set-variable tab-width - - or - - (c-add-style "pgsql" - '("bsd" - (indent-tabs-mode . t) - (c-basic-offset . 4) - (tab-width . 4) - (c-offsets-alist . - ((case-label . +))) - ) - nil ) ; t = set this style, nil = don't - - (defun pgsql-c-mode () - (c-mode) - (c-set-style "pgsql") - ) - - and add this to your autoload list (modify file path in macro): - - (setq auto-mode-alist - (cons '("\\`/home/andrew/pgsql/.*\\.[chyl]\\'" . pgsql-c-mode) - auto-mode-alist)) - or - /* - * Local variables: - * tab-width: 4 - * c-indent-level: 4 - * c-basic-offset: 4 - * End: - */ + The tools/editors directory of the latest sources contains sample + settings that can be used with the emacs, xemacs and vim editors, that + assist in keeping to PostgreSQL coding standards. + pgindent will the format code by specifying flags to your operating system's utility indent. This article describes the value of a consistent coding style. diff --git a/doc/FAQ_HPUX b/doc/FAQ_HPUX index d04aa92d0e8..9d05ec549ae 100644 --- a/doc/FAQ_HPUX +++ b/doc/FAQ_HPUX @@ -3,7 +3,7 @@ Frequently Asked Questions (FAQ) for PostgreSQL 7.3 HP-UX Specific TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ ======================================================= -last updated: $Date: 2004/09/02 17:46:24 $ +last updated: $Date: 2006/10/10 00:29:14 $ current maintainer: Tom Lane (tgl@sss.pgh.pa.us) original author: Tom Lane (tgl@sss.pgh.pa.us) @@ -84,19 +84,3 @@ low-order-digit differences in the geometry tests, which vary depending on which compiler and math library versions you use. Any other error is cause for suspicion. - -The parallel regression test script (gmake check) is known to lock up -on PA-RISC when run under HP's Bourne shells: /usr/bin/sh and -/sbin/sh. To fix this problem, you will need PHCO_30269 with its -dependent patch or successor patches: - - PHCO_30269 s700_800 cumulative sh-posix(1) patch - PHCO_29816 s700_800 rc(1M) scripts cumulative patch - -To work around this problem, use ksh to run the regression script: - - gmake SHELL=/bin/ksh check - -If you see that the tests have stopped making progress and only a shell -process is consuming CPU, kill the shell process and start over with the -above command. diff --git a/doc/FAQ_Solaris b/doc/FAQ_Solaris index 9d6b8f97b15..78a003120bf 100644 --- a/doc/FAQ_Solaris +++ b/doc/FAQ_Solaris @@ -1,11 +1,9 @@ ============================================================ Frequently Asked Questions (FAQ) for PostgreSQL Sun Solaris specific -to be read in conjunction with the installation instructions +To be read in conjunction with the installation instructions. ============================================================ -last updated: $Date: 2003/10/09 17:11:13 $ - -current maintainer: Peter Eisentraut <peter_e@gmx.net> +Last updated: $Date: 2006/10/10 00:29:14 $ Contents: @@ -15,73 +13,89 @@ Contents: 3) Why does configure complain about a failed test program? 4) Why does my 64-bit build sometimes crash? 5) How can I compile for optimum performance? +6) How to compile PostgreSQL with Sun Studio? +7) Where I can download prepared Solaris packages? +8) How to tune PostgreSQL and Solaris for best performance? +9) Can I use dtrace for tracing PostgreSQL? 1) What tools do I need to build and install PostgreSQL on Solaris? You will need -- GNU zip (for installing the documentation) -- GNU make -- GNU readline library (optional) -- GCC (if you don't have Sun's compiler) + GNU zip (for installing the documentation) + GNU make + GNU readline library (optional) + Sun Studio CC or GCC + +You can download Sun Studio from: +http://developers.sun.com/prodtech/cc/downloads/index.jsp + +Many of GNU tools are integrated into the Solaris 10 or they are +present on the Solaris companion CD. + +If you like packages for older version of Solaris, you can find these +tools here: -If you like Solaris packages, you can find these tools here: -http://www.sunfreeware.com + http://www.sunfreeware.com or http://www.blastwave.org If you prefer sources, look here: -http://www.gnu.org/order/ftp.html -You can build with either GCC or Sun's compiler suite. We have heard -reports of problems when using gcc 2.95.1; gcc 2.95.3 or later is -recommended. If you are using Sun's compiler, be careful *not* to -select /usr/ucb/cc; use /opt/SUNWspro/bin/cc. + http://www.gnu.org/order/ftp.html + +You can build with either GCC or Sun's compiler suite. For better code +optimalization Sun's compiler is strongly recommended on the SPARC +architecture. We have heard reports of problems when using gcc 2.95.1; +gcc 2.95.3 or later is recommended. If you are using Sun's compiler, be +careful *not* to select /usr/ucb/cc; use /opt/SUNWspro/bin/cc. 2) Why do I get problems when building with OpenSSL support? -When you build PostgreSQL with OpenSSL support you might get -compilation errors in the following files: +When you build PostgreSQL with OpenSSL support you might get compilation +errors in the following files: -src/backend/libpq/crypt.c -src/backend/libpq/password.c -src/interfaces/libpq/fe-auth.c -src/interfaces/libpq/fe-connect.c + src/backend/libpq/crypt.c + src/backend/libpq/password.c + src/interfaces/libpq/fe-auth.c + src/interfaces/libpq/fe-connect.c This is because of a namespace conflict between the standard /usr/include/crypt.h header and the header files provided by OpenSSL. Upgrading your OpenSSL installation to version 0.9.6a fixes this -problem. +problem. Solaris 9 and above already newer version of OpenSSL. 3) Why does configure complain about a failed test program? -This is probably a case of the run-time linker being unable to find -libz or some other non-standard library, such as libssl. To point it -to the right location, set the LD_LIBRARY_PATH environment variable, -e.g., - -LD_LIBRARY_PATH=/usr/local/lib:/usr/local/ssl/lib -export LD_LIBRARY_PATH +This is probably a case of the run-time linker being unable to find some +library. On solaris 8 and older it should be libz or some other +non-standard library, such as libssl. To point it to the right +location, set the LD_LIBRARY_PATH environment variable, e.g., -and restart configure. You will also have to keep this setting -whenever you run any of the installed PostgreSQL programs. + LD_LIBRARY_PATH=/usr/sfw/lib:/opt/sfw/lib:/usr/local/lib + export LD_LIBRARY_PATH -Alternatively, set the environment variable LD_RUN_PATH. See the -ld(1) man page for more information. +and restart configure. You will also have to keep this setting whenever +you run any of the installed PostgreSQL programs. Alternatively, set +the environment variable LD_RUN_PATH. See the ld(1) man page for more +information. 4) Why does my 64-bit build sometimes crash? On Solaris 7 and older, the 64-bit version of libc has a buggy vsnprintf -routine, which leads to erratic core dumps in PostgreSQL. The simplest known -workaround is to force PostgreSQL to use its own version of vsnprintf rather -than the library copy. To do this, after you run 'configure' edit a file -produced by configure: +routine, which leads to erratic core dumps in PostgreSQL. The simplest +known workaround is to force PostgreSQL to use its own version of +vsnprintf rather than the library copy. To do this, after you run +'configure' edit a file produced by configure: In src/Makefile.global, change the line + LIBOBJS = + to read + LIBOBJS = snprintf.o (There might be other files already listed in this variable. Order @@ -92,10 +106,78 @@ Then build as usual. 5) How can I compile for optimum performance? -Try using the "-fast" compile flag. The binaries might not be portable to -other Solaris systems, and you might need to compile everything that links -to PostgreSQL with "-fast", but PostgreSQL will run significantly faster, -50% faster on some tests. +On SPARC architecture Sun Studio is strongly recommended for +compilation. Try using -xO5 optimalization flag to generate +significantly faster binaries. Do not use any flags which modify +behavior of floating point operations and errno processing (e.g. +-fast). These flags should raise some nonstandard PostgreSQL behavior +for example in the date/time computing. + +If you do not reason to use 64-bit binaries on SPARC, prefer 32-bit +version. The 64-bit operations are slower and 64-bit binaries are slower +then 32-bits. And on other side a 32-bit code on the AMD64 CPU family is +not native and that is why 32-bit code is significant slower on this +CPU family. + + +6) How to compile PostgreSQL with Sun Studio? + +On Solaris 10 you can performed following steps: + + export CC=/opt/SUNWspro/bin/cc + export CFLAGS=-xO5 + export LDFLAGS=-lm + ./configure --without-readline + gmake + + +7) Where I can download prepared Solaris packages? + +The PostgreSQL is bundled with Solaris 10 (from update 2). Official +packages are too available on +http://pgfoundry.org/projects/solarispackages/. Packages for older +Solaris version (8,9) you can download from: http://www.sunfreeware.com +or http://www.blastwave.org + + +8) How to tune PostgreSQL and Solaris for best performance? + +Some tuning tricks can be found here: + + http://www.sun.com/servers/coolthreads/tnb/applications_postgresql.jsp + +This article is primary focused on T2000 platform, however, many of +recommendations are general for other hardware with Solaris. + + +9) Can I use dtrace for tracing PostgreSQL? + +The PostgreSQL 8.2 has implemented dtrace support. You can enable it by +the --enable-dtrace configure switch. If you want to compile a 64-bit +code with dtrace you must specify DTRACEFLAGS='-64', e.g. + +Using gcc compiler: + + $ ./configure CC='gcc -m64' --enable-dtrace DTRACEFLAGS='-64' ... + +Using Sun compiler: + + $ configure CC='/opt/SUNWspro/bin/cc -xtarget=native64' --enable-dtrace DTRACEFLAGS='-64' + + +If you have some problem with postgres linking, looks like: + + Undefined first referenced + symbol in file + AbortTransaction utils/probes.o + CommitTransaction utils/probes.o + ld: fatal: Symbol referencing errors. No output written to postgres + collect2: ld returned 1 exit status + gmake: *** [postgres] Error 1 + +check if you have Solaris 10u3 or newer installed on your box. You can +also find more information here: + http://blogs.sun.com/robertlor/entry/user_level_dtrace_probes_in diff --git a/doc/FAQ_japanese b/doc/FAQ_japanese index 58cdb6d9e27..79df065e610 100644 --- a/doc/FAQ_japanese +++ b/doc/FAQ_japanese @@ -1,8 +1,8 @@ PostgreSQL(¥Ý¥¹¥È¥°¥ì¥¹¡¦¥¥å¡¼¡¦¥¨¥ë)¤Ë¤Ä¤¤¤Æ¤è¤¯¤¢¤ë¼ÁÌä¤È¤½¤Î²òÅú(FAQ) -¸¶Ê¸ºÇ½ª¹¹¿·Æü: Sun Apr 2 23:40:12 EDT 2006 +¸¶Ê¸ºÇ½ª¹¹¿·Æü: Fri Aug 18 12:27:33 EDT 2006 -¸½ºß¤Î°Ý»ý´ÉÍý¼Ô: Bruce Momjian (pgman at candle.pha.pa.us) +¸½ºß¤Î°Ý»ý´ÉÍý¼Ô: Bruce Momjian (bruce@momjian.us) Maintainer of Japanese Translation: Jun Kuwamura (juk at PostgreSQL.jp) ¤³¤Îʸ½ñ¤ÎºÇ¿·ÈÇ¤Ï http://www.postgresql.org/docs/faqs.FAQ.html ¤Ç¸«¤ë¤³¤È¤¬¤Ç @@ -29,13 +29,13 @@ Maintainer of Japanese Translation: Jun Kuwamura (juk at PostgreSQL.jp) 1.3) PostgreSQL¤ÎÃøºî¸¢¤Ï¤É¤¦¤Ê¤Ã¤Æ¤Þ¤¹¤«¡© 1.4) PostgreSQL¤ò¥µ¥Ý¡¼¥È¤¹¤ë¥×¥é¥Ã¥È¥Û¡¼¥à¤Ï¡© 1.5) PostgreSQL¤Ï¤É¤³¤«¤éÆþ¼ê¤Ç¤¤Þ¤¹¤«¡© -1.6) ºÇ¿·ÈǤϤɤì¤Ç¤¹¤«¡© +1.6) ºÇ¿·¤Î¥ê¥ê¡¼¥¹¤Ï¤É¤ì¤Ç¤¹¤«¡© 1.7) ¥µ¥Ý¡¼¥È¤Ï¤É¤³¤Ç¼õ¤±¤é¤ì¤Þ¤¹¤«¡© 1.8) ¥Ð¥°¥ì¥Ý¡¼¥È¤Ï¤É¤Î¤è¤¦¤Ëȯ¿®¤·¤Þ¤¹¤«¡© 1.9) ´ûÃΤΥХ°¤ä̤¤À̵¤¤µ¡Ç½¤Ï¤É¤¦¤ä¤Ã¤Æ¸«¤Ä¤±¤Þ¤¹¤«¡© 1.10) ¤É¤Î¤è¤¦¤Êʸ½ñ¤¬¤¢¤ê¤Þ¤¹¤«¡© 1.11) SQL¤Ï¤É¤¦¤¹¤ì¤Ð³Ø¤Ù¤Þ¤¹¤«¡© -1.12) ³«È¯¥Á¡¼¥à¤Ë¤Ï¤É¤Î¤è¤¦¤Ë»²²Ã¤·¤Þ¤¹¤«¡© +1.12) ¥Ñ¥Ã¥Á¤òÄ󶡤·¤¿¤ê¡¢³«È¯¥Á¡¼¥à»²²Ã¤¹¤ë¤Ë¤Ï¤É¤¦¤¹¤ì¤Ð¤è¤¤¤Ç¤¹¤«¡© 1.13) ¾¤ÎDBMS¤ÈÈæ¤Ù¤ÆPostgreSQL¤Ï¤É¤¦¤Ê¤Î¤Ç¤¹¤«¡© ¥æ¡¼¥¶¡¦¥¯¥é¥¤¥¢¥ó¥È¤Î¼ÁÌä @@ -53,8 +53,7 @@ Maintainer of Japanese Translation: Jun Kuwamura (juk at PostgreSQL.jp) ¡© 3.4) ¤É¤Î¤è¤¦¤Ê¥Ç¥Ð¥°µ¡Ç½¤¬»È¤¨¤Þ¤¹¤«¡© 3.5) Àܳ¤·¤è¤¦¤È¤¹¤ë¤È¤¤Ë 'Sorry, too many clients' ¤¬½Ð¤ë¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡© -3.6) PostgreSQL¤Î¥á¥¸¥ã¡¼¥ê¥ê¡¼¥¹¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¤Î¤Ë¥À¥ó¥×¤È¥ê¥¹¥È¥¢¤ò¤·¤Ê¤¯ -¤Æ¤Ï¤Ê¤é¤Ê¤¤¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡© +3.6) PostgreSQL¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤Î¼ê½ç¤Ï¤É¤¦¤·¤Þ¤¹¤«¡© 3.7) ¥Ï¡¼¥É¥¦¥§¥¢¤Ë¤Ï¤É¤ó¤Ê¥³¥ó¥Ô¥å¡¼¥¿¤ò»È¤¨¤Ð¤è¤¤¤Ç¤¹¤«¡© Áàºî¾å¤Î¼ÁÌä @@ -199,7 +198,7 @@ SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. ¤¹¡£¥ê¥ê¡¼¥¹¤Î»þÅÀ¤Ç¼ÂºÝ¤Ë¥Æ¥¹¥È¤ò¹Ô¤Ê¤Ã¤¿¤³¤È¤ÎÊó¹ð¤¬¤Ê¤µ¤ì¤¿¥×¥é¥Ã¥È¥Û¡¼¥à¤Ë ¤Ä¤¤¤Æ¤Ï¥¤¥ó¥¹¥È¡¼¥ë¼ê°ú½ñ¤ËÎóµó¤·¤Æ¤¢¤ê¤Þ¤¹¡£ -PostgreSQL ¤Ï¡¢Win2000, WinXP, ¤½¤·¤Æ¡¢Win2003 ¤Î¤è¤¦¤Ê Microsoft Windows NT¥Ù +PostgreSQL ¤Ï¡¢Win2000 SP4, WinXP, ¤½¤·¤Æ¡¢Win2003 ¤Ê¤É Microsoft Windows NT¥Ù ¡¼¥¹¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ç¡¢¥Í¥¤¥Æ¥£¥Ö¤ËÁö¤ê¤Þ¤¹¡£¤¢¤é¤«¤¸¤á¥Ñ¥Ã¥±¡¼¥¸¤Ë ¤µ¤ì¤¿¥¤¥ó¥¹¥È¡¼¥é¤¬ http://pgfoundry.org/projects/pginstaller ¤Ë¤¢¤ê¡¢ÍøÍѤǤ ¤Þ¤¹¡£MSDOS¥Ù¡¼¥¹¤ÎWindows¤Î¥Ð¡¼¥¸¥ç¥ó(Win95, Win98, WinMe)¤Ç¤Ï¡¢Cygwin¤ò»È¤Ã¤Æ @@ -224,9 +223,9 @@ sh=1&button=Search&key=postgreSQL&stype=all&sort=type&dir=%2F¤Ë¤¢¤ê¤Þ¤¹¡£ Web¥Ö¥é¥¦¥¶·Ðͳ¤À¤È¡¢ http://www.postgresql.org/ftp/¡¢¤½¤ì¤«¤é¡¢ftp·Ðͳ¤À¤È¡¢ ftp://ftp.PostgreSQL.org/pub/ ¤ò»È¤¤¤Þ¤¹¡£ -1.6) ºÇ¿·ÈǤϤɤì¤Ç¤¹¤«¡© +1.6) ºÇ¿·¤Î¥ê¥ê¡¼¥¹¤Ï¤É¤ì¤Ç¤¹¤«¡© -PostgreSQL ¤ÎºÇ¿·ÈǤϥС¼¥¸¥ç¥ó 8.1.3 ¤Ç¤¹¡£ +PostgreSQL ¤ÎºÇ¿·ÈǤϥС¼¥¸¥ç¥ó 8.1.4 ¤Ç¤¹¡£ ²æ¡¹¤Ï¡¢1ǯËè¤Ë¥á¥¸¥ã¡¼¥ê¥ê¡¼¥¹¤ò¡¢¿ô¥õ·î¤´¤È¤Î¥Þ¥¤¥Ê¡¼¥ê¥ê¡¼¥¹¤ò¹Ô¤Ê¤¦¤³¤È¤ò·× ²è¤·¤Æ¤¤¤Þ¤¹¡£ @@ -264,8 +263,8 @@ postgresql-es)¤â¤¢¤ê¡¢¥Õ¥é¥ó¥¹¸ì¤Î¥Á¥ã¥ó¥Í¥ë (#postgresqlfr)¤â¤¢¤ê¤Þ¤¹¡£EFNet¤Ë ] -¾¦ÍÑ¥µ¥Ý¡¼¥È²ñ¼Ò¤Î¥ê¥¹¥È¤Ï http://techdocs.postgresql.org/companies.php¤Ë¤¢¤ê¤Þ -¤¹¡£ +¾¦ÍÑ¥µ¥Ý¡¼¥È²ñ¼Ò¤Î¥ê¥¹¥È¤Ï http://www.postgresql.org/support/ +professional_support¤Ë¤¢¤ê¤Þ¤¹¡£ 1.8) ¥Ð¥°¥ì¥Ý¡¼¥È¤Ï¤É¤Î¤è¤¦¤Ëȯ¿®¤·¤Þ¤¹¤«¡© @@ -359,9 +358,12 @@ The Practical SQL Handbook, Bowman Judith S. et al., Addison-Wesley ¤¬Â¿¤¯¤Î¥æ ¡¼¥¶¤Ë¹¥É¾¤Ç¤¹¡£¤Û¤«¤Ç¤Ï¡¢The Complete Reference SQL, Groff et al., McGraw-Hill ¤â¹¥É¾¤Ç¤¹¡£ -ÁÇÀ²¤é¤·¤¤¼ê°ú½ñ¤Ï¡¢http://www.intermedia.net/support/sql/sqltut.shtm, http:// -ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM, ¤½¤·¤Æ¡¢http:// -sqlcourse.com ¤Ë¤¢¤ê¤Þ¤¹¡£ +ÁÇÀ²¤é¤·¤¤¼ê°ú½ñ¤Ï¡¢ + +http://www.intermedia.net/support/sql/sqltut.shtm +http://sqlcourse.com +http://www.w3schools.com/sql/default.asp +http://mysite.verizon.net/Graeme_Birchall/id1.html ¤Ë¤¢¤ê¤Þ¤¹¡£ [ÌõÃí: ÆüËÜPostgreSQL¥æ¡¼¥¶²ñ¤ÎÆüËܸì¤Î»²¹Íʸ¸¥¤Î¾Ò²ð¥Ú¡¼¥¸ @@ -382,7 +384,7 @@ http://www.postgresql.jp/PostgreSQL/references.html ] -1.12) ³«È¯¥Á¡¼¥à¤Ë¤Ï¤É¤Î¤è¤¦¤Ë»²²Ã¤·¤Þ¤¹¤«¡© +1.12) ¥Ñ¥Ã¥Á¤òÄ󶡤·¤¿¤ê¡¢³«È¯¥Á¡¼¥à»²²Ã¤¹¤ë¤Ë¤Ï¤É¤¦¤¹¤ì¤Ð¤è¤¤¤Ç¤¹¤«¡© ¡Ê³«È¯¼Ô¸þ¤±¤Î¡ËDeveloper's FAQ¤ò¤´¤é¤ó¤¯¤À¤µ¤¤¡£ @@ -459,8 +461,8 @@ Web ¤Ø¤Î³ÈÄ¥¤Î¤¿¤á¤Ë¤Ï¡¢PHP(http://www.php.net/) ¤¬Âî±Û¤·¤¿¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤È¤Ê 2.3) PostgreSQL ¤Ë¥°¥é¥Õ¥£¥«¥ë¡¦¥æ¡¼¥¶¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¤¢¤ê¤Þ¤¹¤«¡© -¤â¤Á¤í¤ó¡¢¤¢¤ê¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢http://techdocs.postgresql.org/guides/GUITools ¤ò¤´ -¤é¤ó¤¯¤À¤µ¤¤¡£ +¾¦ÍѤȥª¡¼¥×¥ó¥½¡¼¥¹³«È¯¼Ô¤Ë¤è¤ë¤â¤ÎξÊý¤Ç¡¢PostgreSQL¤Ë¤Ï¿¤¯¤ÎGUI¥Ä¡¼¥ë¤¬ÍøÍÑ +²Äǽ¤Ç¡¢¾ÜºÙ¤Ê¥ê¥¹¥È¤Ï¡¢PostgreSQL¥³¥ß¥å¥Ë¥Æ¥£Ê¸½ñ¤Ç¤´¤é¤ó¤¯¤À¤µ¤¤¡£ ¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬ @@ -506,9 +508,9 @@ Web ¤Ø¤Î³ÈÄ¥¤Î¤¿¤á¤Ë¤Ï¡¢PHP(http://www.php.net/) ¤¬Âî±Û¤·¤¿¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤È¤Ê ¤ó¤¯¤À¤µ¤¤¡£ ¥Ï¡¼¥É¥¦¥§¥¢¤ÎÁªÄê - Àǽ¤Ë¤ª¤±¤ë¥Ï¡¼¥É¥¦¥§¥¢¤Î±Æ¶Á¤Ï http://candle.pha.pa.us/main/writings/ - pgsql/hw_performance/index.html (JPUG¥µ¥¤¥È¤ÎÆüËܸìÈÇ) ¤È http:// - www.powerpostgresql.com/PerfList/ ¤Ë½Ò¤Ù¤é¤ì¤Æ¤¤¤Þ¤¹¡£ + Àǽ¤Ë¤ª¤±¤ë¥Ï¡¼¥É¥¦¥§¥¢¤Î±Æ¶Á¤Ï http://www.powerpostgresql.com/PerfList/ + ¤È¡¢ http://momjian.us/main/writings/pgsql/hw_performance/index.html (JPUG + ¥µ¥¤¥È¤ÎÆüËܸìÈÇ) ¤Ë½Ò¤Ù¤é¤ì¤Æ¤¤¤Þ¤¹¡£ [ÌõÃí: @@ -530,16 +532,23 @@ postmaster¤¬Æ±»þÀܳ¤Ç¤¤ë¥Ð¥Ã¥¯¥¨¥ó¥É¥×¥í¥»¥¹¤ÎÀ©¸Â¿ô¤òÁý¤ä¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ postgresql.conf ¤ÎÃæ¤Î max_connections ¤ÎÃͤòÊѹ¹¤·¤Æ postmaster¤òºÆµ¯Æ°¤¹¤ë¤³ ¤È¤Ç²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£ -3.6) PostgreSQL¤Î¥á¥¸¥ã¡¼¥ê¥ê¡¼¥¹¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¤Î¤Ë¥À¥ó¥×¤È¥ê¥¹¥È¥¢¤ò¤·¤Ê¤¯ -¤Æ¤Ï¤Ê¤é¤Ê¤¤¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡© +3.6) PostgreSQL¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤Î¼ê½ç¤Ï¤É¤¦¤·¤Þ¤¹¤«¡© + +PostgreSQL¥Á¡¼¥à¤Ï¥Þ¥¤¥Ê¡¼¥ê¥ê¡¼¥¹¤Ç¤Ï¥Ð¥°¤Î½¤Àµ¤·¤«¹Ô¤Ê¤¤¤Þ¤»¤ó¤Î¤Ç¡¢¤¿¤È¤¨¤Ð +7.4.8 ¤«¤é 7.4.9 ¤Ø¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ë¥À¥ó¥×¤È¥ê¥¹¥È¥¢¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£¤·¤¿¤¬¤Ã +¤Æ¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¥µ¡¼¥Ð¤ò°ì»þŪ¤ËÄä»ß¤·¤Æ¡¢¥¢¥Ã¥×¥Ç¡¼¥È¤·¤¿¥Ð¥¤¥Ê¥ê¤ò¥¤¥ó¥¹¥È¡¼ +¥ë¤·¡¢¤½¤·¤Æ¡¢¥µ¡¼¥Ð¤ò¥ê¥¹¥¿¡¼¥È¤¹¤ë¤À¤±¤Ç¤¹¡£ + +Á´¥æ¡¼¥¶¤Ï¤Ç¤¤ë¤À¤±Á᤯ºÇ¿·¤Î¥Þ¥¤¥Ê¡¼¥ê¥ê¡¼¥¹¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ë¤Ù¤¤Ç¤¹¡£¤¹ +¤Ù¤Æ¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ë¥ê¥¹¥¯¤Ï¤Ä¤¤â¤Î¤Ç¤¹¤¬¡¢ PostgreSQL¤Î¥Þ¥¤¥Ê¡¼¥ê¥ê¡¼¥¹¤Ï¡¢ +¤Ê¤ë¤Ù¤¯¾®¤µ¤Ê¥ê¥¹¥¯¤Ç°ìÈÌŪ¤Ê¥Ð¥°¤Î½¤Àµ¤À¤±¤òÌÜÏÀ¤ó¤À¤â¤Î¤Ç¤¹¡£²æ¡¹¥³¥ß¥å¥Ë¥Æ +¥£¤ÎÃæ¤Ç¤Ï¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤Ê¤¤¤Û¤¦¤¬¤â¤Ã¤È¥ê¥¹¥¯¤¬¹â¤¤¤â¤Î¤È¹Í¤¨¤é¤ì¤Æ¤¤¤Þ¤¹¡£ -PostgreSQL¥Á¡¼¥à¤Ï¥Þ¥¤¥Ê¡¼¥ê¥ê¡¼¥¹¤Ç¤Ï¾®¤µ¤ÊÊѹ¹¤·¤«¹Ô¤Ê¤¤¤Þ¤»¤ó¤Î¤Ç¡¢7.4.0 ¤« -¤é 7.4.1 ¤Ø¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ë¤Ï¥À¥ó¥×¤È¥ê¥¹¥È¥¢¤ÎɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¤·¤«¤·¡¢¥á¥¸ -¥ã¡¼¥ê¥ê¡¼¥¹(¤¿¤È¤¨¤Ð¡¢7.2¤«¤é7.3¤Ø¤Î¤è¤¦¤Ê) ¤Ç¤Ï¡¢¥·¥¹¥Æ¥à¥Æ¡¼¥Ö¥ë¤ä¥Ç¡¼¥¿¥Õ¥¡ -¥¤¥ë¤ÎÆâÉô¥Õ¥©¡¼¥Þ¥Ã¥È¤ÎÊѹ¹¤ò¤·¤Ð¤·¤Ð¹Ô¤Ê¤¤¤Þ¤¹¡£¤³¤ì¤é¤ÎÊѹ¹¤Ï¤¿¤¤¤Æ¤¤Ê£»¨¤Ç -¡¢¤½¤Î¤¿¤á²æ¡¹¤Ï¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤Î¤¿¤á¤Î¸åÊý¸ß´¹À¤ò°Ý»ý¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤»¤ó¡£¥À -¥ó¥×¤ÏÈÆÍÑ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¥Ç¡¼¥¿¤ò½ÐÎϤ·¡¢¤½¤ì¤ò¿·¤·¤¤ÆâÉô¥Õ¥©¡¼¥Þ¥Ã¥È¤ËÆÉ¤ß¹þ¤à -¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ +¤·¤«¤·¡¢¥á¥¸¥ã¡¼¥ê¥ê¡¼¥¹¡Ê¤¿¤È¤¨¤Ð¡¢7.3 ¤«¤é 7.4 ¤Î¤è¤¦¤Ê¡Ë¤Ç¤Ï¡¢¥·¥¹¥Æ¥à¥Æ¡¼¥Ö +¥ë¤ä¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤ÎÆâÉô¥Õ¥©¡¼¥Þ¥Ã¥È¤ÎÊѹ¹¤ò¤·¤Ð¤·¤Ð¹Ô¤Ê¤¤¤Þ¤¹¡£¤³¤ì¤é¤ÎÊѹ¹¤Ï +¤¿¤¤¤Æ¤¤Ê£»¨¤Ç¡¢¤½¤Î¤¿¤á²æ¡¹¤Ï¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤Î¤¿¤á¤Î¸åÊý¸ß´¹À¤ò°Ý»ý¤¹¤ë¤³¤È¤¬ +¤Ç¤¤Þ¤»¤ó¡£¥á¥¸¥ã¡¼¥¢¥Ã¥×¥°¥ì¡¼¥É¤Î¤¿¤á¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥À¥ó¥×/¥ê¥í¡¼¥É¤¬É¬ +ÍפǤ¹¡£ 3.7) ¥Ï¡¼¥É¥¦¥§¥¢¤Ë¤Ï¤É¤ó¤Ê¥³¥ó¥Ô¥å¡¼¥¿¤ò»È¤¨¤Ð¤è¤¤¤Ç¤¹¤«¡© @@ -627,7 +636,8 @@ VACUUM FULL tab¤ò¤·¤¿¤Û¤¦¤¬Îɤ¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÎÀ©¸Â¤Ï½ÅÍפǤϤ¢¤ê¤Þ¤»¤ó¡£ ¥Ç¥Õ¥©¥ë¥È¤Î¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ò32k¤ËÁý²Ã¤¹¤ë¤³¤È¤Ç¡¢ºÇÂç¥Æ¡¼¥Ö¥ë¥µ¥¤¥º¤È¹Ô¥µ¥¤¥º¤È -ºÇÂ祫¥é¥à¿ô¤È¤ò4Çܤˤ¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ +ºÇÂ祫¥é¥à¿ô¤È¤ò4Çܤˤ¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤Þ¤¿¡¢ºÇÂç¥Æ¡¼¥Ö¥ë¥µ¥¤¥º¤Ï¥Æ¡¼¥Ö¥ë¥Ñ¡¼ +¥Æ¥£¥·¥ç¥ó¤ò»È¤Ã¤ÆÁý¤ä¤¹¤³¤È¤â¤Ç¤¤Þ¤¹¡£ ¤Ò¤È¤Ä¤ÎÀ©¸Â¤Ï¡¢Ìó2,000ʸ»ú°Ê¾å¤ÎŤµ¤Î¥«¥é¥à¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÉÕ¤±¤ë¤³¤È¤¬¤Ç¤¤Ê ¤¤¤³¤È¤Ç¤¹¡£¹¬¤¤¤Ë¤â¡¢¤½¤Î¤è¤¦¤Ê¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¼ÂºÝ¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£Ä¹¤¤¥«¥é¥à @@ -998,7 +1008,7 @@ client_encoding¤òÀßÄꤷ¤Æ¤ª¤«¤Ê¤¤¤È¡¢ÆüËܸì¤òɽ¼¨¤¹¤ëºÝ¤Ëʸ»ú²½¤±¤¬¤ª¤¤Þ¤¹¡£ [ÌõÃí¡§ ÆüËܸìÈǤÎÀ½ºî¤Ë¤Ä¤¤¤Æ¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£ - ºÇ½ª¹¹¿·Æü: 2006ǯ04·î03Æü + ºÇ½ª¹¹¿·Æü: 2006ǯ08·î19Æü ËÝÌõ¼Ô: ·¬Â¼ ½á (Jun Kuwamura <juk at PostgreSQL.jp>) ¤³¤ÎFAQ¤ÎÏÂÌõ¤ÎºîÀ®¤Ë¤¢¤¿¤ê¶¨ÎϤò¤·¤Æ¤¯¤À¤µ¤Ã¤¿Êý¡¹(·É¾Î¤Ïά¤µ¤»¤Æ¤¤¤¿¤À¤¤Þ¤¹): @@ -1007,7 +1017,7 @@ client_encoding¤òÀßÄꤷ¤Æ¤ª¤«¤Ê¤¤¤È¡¢ÆüËܸì¤òɽ¼¨¤¹¤ëºÝ¤Ëʸ»ú²½¤±¤¬¤ª¤¤Þ¤¹¡£ Àаæ ãÉ×(Tatsuo ISHII <t-ishii at sra.co.jp>) óîÆ£ ÃοÍ(Tomohito SAITOH <tomos at elelab.nsc.co.jp>) ÇϾì È¥(Hajime BABA <baba at kusastro.kyoto-u.ac.jp>) - ²¬ËÜ °ì¹¬(Kazuyuki OKAMOTO <kokamoto at itg.hitachi.co.jp>) + ²¬ËÜ °ì¹¬(Kazuyuki OKAMOTO <kaz-okamoto at hitachi-system.co.jp>) ¾®¿û ¾¼°ì(Shoichi Kosuge <s-kosuge at str.hitachi.co.jp>) »³²¼ µÁÇ·(Yoshiyuki YAMASHITA <dica at eurus.dti.ne.jp>) ¶ ¿¿ÂÀϺ(Sintaro SAKAI <s_sakai at mxn.mesh.ne.jp>) diff --git a/doc/FAQ_russian b/doc/FAQ_russian index 3e79d2495df..ba751725080 100644 --- a/doc/FAQ_russian +++ b/doc/FAQ_russian @@ -1,7 +1,7 @@ Otvety na chasto zadavaemye voprosy po PostgreSQL - Data poslednego obnovleniya: Pyatnica 24 fevralya 23:28:40 EDT 2006 + Data poslednego obnovleniya: Voskresen'e 18 iyunya 15:33:25 EDT 2006 Anglijskij variant soprovozhdaet: Bryus Mom'yan (Bruce Momjian) (pgman@candle.pha.pa.us) @@ -22,14 +22,15 @@ 1.3) Kakovy avtorskie prava na PostgreSQL? 1.4) Na kakih platformah rabotaet PostgreSQL? 1.5) Gde mozhno vzyat' PostgreSQL? - 1.6) Kakaya versiya poslednyaya? + 1.6) Kakaya versiya naibolee svezhaya? 1.7) Gde poluchit' podderzhku? 1.8) Kak mne soobschit' ob oshibke? 1.9) Kak najti informaciyu ob izvestnyh oshibkah ili otsutstvuyuschih vozmozhnostyah? 1.10) Kakaya dokumentaciya imeetsya v nalichii? 1.11) Kak nauchit'sya SQL? - 1.12) Kak prisoedinitsya k komande razrabotchikov? + 1.12) Kak mne otpravit' ispravlenie ili prisoedinitsya k komande + razrabotchikov? 1.13) Kak sravnit' PostgreSQL s drugimi SUBD? Voprosy pol'zovatelej po klientskoj chasti @@ -49,8 +50,7 @@ 3.4) Kakie vozmozhnosti dlya otladki est' v nalichii? 3.5) Pochemu ya poluchayu soobschenie "Sorry, too many clients" kogda pytayus' podklyuchit'sya k baze? - 3.6) Pochemu neobhodimo delat' dump i restore pri obnovlenii vypuskov - PostgreSQL? + 3.6) Kak vypolnit' obnovlenie PostgreSQL? 3.7) Kakoe komp'yuternoe "zhelezo" ya dolzhen ispol'zovat'? Voprosy `ekspluatacii @@ -189,9 +189,9 @@ CHerez brauzer, ispol'zuya http://www.postgresql.org/ftp/ i cherez ftp, ispol'zuya ftp://ftp.PostgreSQL.org/pub/. - 1.6) Kakaya poslednyaya versiya? + 1.6) Kakaya versiya naibolee svezhaya? - Poslednij vypusk PostgreSQL - `eto versiya 8.1.3 + Poslednij vypusk PostgreSQL - `eto versiya 8.1.4 My planiruem vypuskat' novye starshie versii kazhdyj god, a mladshie versii kazhdye neskol'ko mesyacev. @@ -304,12 +304,16 @@ iz nashih pol'zovatelej nravitsya kniga The Practical SQL Handbook, Bowman, Judith S., et al., Addison-Wesley. Drugim nravitsya The Complete Reference SQL, Groff et al., McGraw-Hill. - Est' prekrasnyj uchebnik na - http://www.intermedia.net/support/sql/sqltut.shtm, na - http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM, - i na http://sqlcourse.com. - 1.12) Kak prisoedinitsya k komande razrabotchikov? + Suschestvuet takzhe mnozhestvo prekrasnyh uchebnikov dostupnyh v + online: + * http://www.intermedia.net/support/sql/sqltut.shtm, + * http://sqlcourse.com. + * http://www.w3school.com/sql/default.asp + * http://mysite.verizon.net/Graeme_Birchall/id1.html + + 1.12) Kak mne prislat' ispravlenie ili prisoedinitsya k komande + razrabotchikov? Smotrite FAQ dlya razrabotchikov. @@ -394,8 +398,9 @@ 2.3) Est' li u PostgreSQL graficheskij interfejs pol'zovatelya? - Da, podrobnosti smotrite v - http://techdocs.postgresql.org/guides/GUITools. + Dlya PostgreSQL suschestvuet bol'shoe kolichestvo instrumentov s + graficheskim interfejsom kak kommercheskih, tak i otkrytyh. + Podrobnosti mozhno najti v Dokumentacii soobschestva PostgreSQL _________________________________________________________________ Voprosy administrirovaniya @@ -466,23 +471,26 @@ izmeniv znachenie max_connections v fajle postgresql.conf i perestartovat' postmaster. - 3.6) Pochemu neobhodimo delat' dump i restore pri obnovlenii vypuskov - PostgreSQL? + 3.6) Kak vypolnit' obnovlenie PostgreSQL? - Razrabotchiki PostgreSQL delayut tol'ko nebol'shie izmeneniya mezhdu - podvypuskami. Takim obrazom obnovlenie s versii 7.4.0 do 7.4.1 ne - trebuet vypolneniya dump i restore. Odnako pri vyhode ocherednogo - vypuska (t.e. pri obnovlenii naprimer, s 7.3 na 7.4) chasto menyaetsya - vnutrennij format sistemnyh tablic i fajlov dannyh. `Eti izmeneniya - chasto nosyat kompleksnyj harakter, tak chto net vozmozhnosti - obespechit' obratnuyu sovmestimost' fajlov dannyh. Vypolenie dump - pozvolyaet poluchit' dannye v obschem formate, kotoryj zatem mozhet - byt' zagruzhen pri ispol'zovanii novogo vnutrennego formata. + Mezhdu podvypuskami, razrabotchiki PostgreSQL delayut tol'ko + ispravleniya oshibok. Takim obrazom obnovlenie s versii 7.4.8 do 7.4.9 + ne trebuet vypolneniya dump i restore; dostatochno ostanovit' server, + ustanovit' obnovlionnye fajly SUBD i zapustit' server. + + Vse pol'zovateli dolzhny by obnovlyat'sya na naibolee svezhuyu + podversiyu kak tol'ko ona budet dostupna. V to vremya kak kazhdoe + obnovlenie podrazumevaet nekotoryj risk, podversii PostgreSQL + razrabytyvayutsya tol'ko dlya ispravleniya obschih oshibok s + minimal'nym riskom. Takim obrazom, vash risk svyazan tol'ko s samim + obnovleniem. - V teh vypuskah, gde format dannyh na diske ne menyaetsya, dlya - provedeniya obnovleniya mozhet byt' ispol'zovan scenarij pg_upgrade - bez ispol'zovaniya dump/restore. Kommentarii k vypusku govorit kogda - mozhno ispol'zovat' pg_upgrade dlya `etogo vypuska. + Pri vyhode ocherednogo vypuska (t.e. pri obnovlenii naprimer, s 7.3 na + 7.4) chasto menyaetsya vnutrennij format sistemnyh tablic i fajlov + dannyh. `Eti izmeneniya chasto nosyat slozhnyj harakter, tak chto my + ne obsluzhivaem obratnuyu sovmestimost' dlya fajlov dannyh. V `etih + sluchayah dlya obnovleniya bazy dannyh trebuetsya vypolnit' + dump/restore. 3.7) Kakoe komp'yuternoe "zhelezo" ya dolzhen ispol'zovat'? @@ -556,7 +564,7 @@ Maksimal'nyj razmer bazy? neogranichen (suschestvuyut bazy na 32 TB) Maksimal'nyj razmer tablicy? 32 TB - Maksimal'nyj razmer stroki? 1.6 TB + Maksimal'nyj razmer stroki? 400 Gb Maksimal'nyj razmer polya? 1 GB Maksimal'noe kolichestvo strok v tablice? neogranicheno Maksimal'noe kolichestvo kolonok v tablice? 250-1600 v zavisimosti ot diff --git a/doc/src/FAQ/FAQ.html b/doc/src/FAQ/FAQ.html index 6ba6dea2d8c..c22dc7ef668 100644 --- a/doc/src/FAQ/FAQ.html +++ b/doc/src/FAQ/FAQ.html @@ -10,10 +10,10 @@ alink="#0000ff"> <H1>Frequently Asked Questions (FAQ) for PostgreSQL</H1> - <P>Last updated: Thu May 18 23:52:32 EDT 2006</P> + <P>Last updated: Mon Oct 9 20:28:14 EDT 2006</P> <P>Current maintainer: Bruce Momjian (<A href= - "mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>) + "mailto:bruce@momjian.us">bruce@momjian.us</A>) </P> <P>The most recent version of this document can be viewed at <A href= @@ -31,7 +31,7 @@ <A href="#item1.3">1.3</A>) What is the copyright of PostgreSQL?<BR> <A href="#item1.4">1.4</A>) What platforms does PostgreSQL support?<BR> <A href="#item1.5">1.5</A>) Where can I get PostgreSQL?<BR> - <A href="#item1.6">1.6</A>) What is the latest release?<BR> + <A href="#item1.6">1.6</A>) What is the most recent release?<BR> <A href="#item1.7">1.7</A>) Where can I get support?<BR> <A href="#item1.8">1.8</A>) How do I submit a bug report?<BR> <A href="#item1.9">1.9</A>) How do I find out about known bugs or @@ -63,8 +63,7 @@ <A href="#item3.4">3.4</A>) What debugging features are available?<BR> <A href="#item3.5">3.5</A>) Why do I get <I>"Sorry, too many clients"</I> when trying to connect?<BR> - <A href="#item3.6">3.6</A>) Why do I need to do a dump and restore - to upgrade PostgreSQL releases?<BR> + <A href="#item3.6">3.6</A> What is the upgrade process for PostgreSQL?<BR> <A href="#item3.7">3.7</A>) What computer hardware should I use?<BR> @@ -200,7 +199,7 @@ instructions.</P> <P>PostgreSQL also runs natively on Microsoft Windows NT-based operating - systems like Win2000, WinXP, and Win2003. A prepackaged installer is + systems like Win2000 SP4, WinXP, and Win2003. A prepackaged installer is available at <a href= "http://pgfoundry.org/projects/pginstaller"> http://pgfoundry.org/projects/pginstaller</a>. MSDOS-based versions of Windows (Win95, Win98, WinMe) can run PostgreSQL using Cygwin.</P> @@ -218,7 +217,7 @@ <A href="ftp://ftp.PostgreSQL.org/pub/"> ftp://ftp.PostgreSQL.org/pub/</A>.</P> - <H3 id="item1.6">1.6) What is the latest release?</H3> + <H3 id="item1.6">1.6) What is the most recent release?</H3> <P>The latest release of PostgreSQL is version 8.1.5.</P> @@ -241,8 +240,8 @@ (<I>#postgresqlfr</I>). There is also a PostgreSQL channel on EFNet.</P> <P>A list of commercial support companies is available at <A href= - "http://techdocs.postgresql.org/companies.php"> - http://techdocs.postgresql.org/companies.php</A>.</P> + "http://www.postgresql.org/support/professional_support"> + http://www.postgresql.org/support/professional_support</A>.</P> <H3 id="item1.8">1.8) How do I submit a bug report?</H3> @@ -472,9 +471,10 @@ <H3 id="item2.3">2.3) Does PostgreSQL have a graphical user interface?</H3> - <P>Yes, see <a href="http://techdocs.postgresql.org/guides/GUITools"> - http://techdocs.postgresql.org/guides/GUITools</a> for a - detailed list.</P> + <P>There are a large number of GUI Tools that are available for PostgreSQL + from both commercial and open source developers. A detailed list can be + found in the <A href="http://www.postgresql.org/docs/techdocs.54"> + PostgreSQL Community Documentation</A></P> <HR> @@ -544,11 +544,11 @@ <DT><B>Hardware Selection</B></DT> - <DD>The effect of hardware on performance is detailed in <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> and + <DD>The effect of hardware on performance is detailed in <a href="http://www.powerpostgresql.com/PerfList/"> - http://www.powerpostgresql.com/PerfList/</a>. + http://www.powerpostgresql.com/PerfList/</a> and <a + href="http://momjian.us/main/writings/pgsql/hw_performance/index.html"> + http://momjian.us/main/writings/pgsql/hw_performance/index.html</a>. <BR> <BR> </DD> @@ -570,16 +570,23 @@ <I>max_connections</I> value in <I>postgresql.conf</I> and restarting the <I>postmaster</I>.</P> - <H3 id="item3.6">3.6) Why do I need to do a dump and restore - to upgrade between major PostgreSQL releases?</H3> + <H3 id="item3.6">3.6) What is the upgrade process for PostgreSQL?</H3> - <P>The PostgreSQL team makes only small changes between minor releases, - so upgrading from 7.4.0 to 7.4.1 does not require a dump and restore. - However, major releases (e.g. from 7.3 to 7.4) often change the internal + <P>The PostgreSQL team makes only bug fixes in minor releases, + so, for example, upgrading from 7.4.8 to 7.4.9 does not require + a dump and restore; merely stop the database server, install + the updated binaries, and restart the server.</P> + + <P>All users should upgrade to the most recent minor release as + soon as it is available. While every upgrade has some risk, + PostgreSQL minor releases are designed to fix only common bugs + with the least risk. The community considers <i>not</i> upgrading + more risky that upgrading.</P> + + <P>Major releases (e.g. from 7.3 to 7.4) often change the internal format of system tables and data files. These changes are often complex, - so we don't maintain backward compatibility for data files. A dump outputs - data in a generic format that can then be loaded in using the new internal - format.</P> + so we don't maintain backward compatibility for data files. A dump/reload + of the database is required for major upgrades.</P> <H3 id="item3.7">3.7) What computer hardware should I use?</H3> @@ -687,7 +694,7 @@ table?</TD><TD>unlimited</TD></TR> <P>One limitation is that indexes can not be created on columns longer than about 2,000 characters. Fortunately, such indexes are - rarely needed. Uniqueness is best guaranteed by a funtion index + rarely needed. Uniqueness is best guaranteed by a function index of an MD5 hash of the long column, and full text indexing allows for searching of words within the column.</P> @@ -805,8 +812,8 @@ table?</TD><TD>unlimited</TD></TR> FROM tab WHERE lower(col) = 'abc'; </PRE> - This will not use an standard index. However, if you create a - expresssion index, it will be used: + This will not use an standard index. However, if you create an + expression index, it will be used: <PRE> CREATE INDEX tabindex ON tab (lower(col)); </PRE> @@ -950,7 +957,7 @@ length</TD></TR> <P>Every row that is created in PostgreSQL gets a unique <SMALL>OID</SMALL> unless created <SMALL>WITHOUT OIDS</SMALL>. - O<SMALL>ID</SMALL>s are autotomatically assigned unique 4-byte + O<SMALL>ID</SMALL>s are automatically assigned unique 4-byte integers that are unique across the entire installation. However, they overflow at 4 billion, and then the O<SMALL>ID</SMALL>s start being duplicated. PostgreSQL uses <SMALL>OID</SMALL>s to link its diff --git a/doc/src/FAQ/FAQ_DEV.html b/doc/src/FAQ/FAQ_DEV.html index d6413a1c6ac..1558b35d90c 100644 --- a/doc/src/FAQ/FAQ_DEV.html +++ b/doc/src/FAQ/FAQ_DEV.html @@ -13,10 +13,10 @@ <H1>Developer's Frequently Asked Questions (FAQ) for PostgreSQL</H1> - <P>Last updated: Wed Mar 1 17:24:48 EST 2006</P> + <P>Last updated: Wed Sep 6 20:12:13 EDT 2006</P> <P>Current maintainer: Bruce Momjian (<A href= - "mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR> + "mailto:bruce@momjian.us">bruce@momjian.us</A>)<BR> </P> <P>The most recent version of this document can be viewed at <A @@ -177,7 +177,7 @@ <li>The patch should be generated in contextual diff format (<i>diff -c</i> and should be applicable from the root directory. If you are unfamiliar with this, you might find the script - <I>src/tools/makediff/difforig</I> useful. (Unified diffs are only + <I>src/tools/make_diff/difforig</I> useful. (Unified diffs are only preferable if the file changes are single-line changes and do not rely on surrounding lines.)</li> @@ -199,7 +199,7 @@ "#1.16">1.16</a>.</li> <li>If you are adding a new feature, confirm that it has been tested - thoughly. Try to test the feature in all conceivable + thoroughly. Try to test the feature in all conceivable scenarios.</li> <li>If it is a performance patch, please provide confirming test @@ -222,7 +222,9 @@ <P>Other than documentation in the source tree itself, you can find some papers/presentations discussing the code at <A href= "http://www.postgresql.org/developer"> - http://www.postgresql.org/developer</A>.</P> + http://www.postgresql.org/developer</A>. An excellent presentation + is at <a href= + "http://neilconway.org/talks/hacking/">http://neilconway.org/talks/hacking/</a></P> <H3 id="item1.7">1.7) How do I download/update the current source tree?</H3> @@ -355,9 +357,9 @@ can be applied to the distribution. This produces context diffs, which is our preferred format.</P> - <P>Our standard format is to indent each code level with one tab, - where each tab is four spaces. You will need to set your editor to - display tabs as four spaces:<BR> + <P>Our standard format <I>BSD</I> style, with each level of code indented + one tab, where each tab is four spaces. You will need to set your editor + or file viewer to display tabs as four spaces:<BR> </P> <PRE> vi in ~/.exrc: @@ -367,45 +369,16 @@ more -x4 less: less -x4 - emacs: - M-x set-variable tab-width - - or - - (c-add-style "pgsql" - '("bsd" - (indent-tabs-mode . t) - (c-basic-offset . 4) - (tab-width . 4) - (c-offsets-alist . - ((case-label . +))) - ) - nil ) ; t = set this style, nil = don't - - (defun pgsql-c-mode () - (c-mode) - (c-set-style "pgsql") - ) - - and add this to your autoload list (modify file path in macro): - - (setq auto-mode-alist - (cons '("\\`/home/andrew/pgsql/.*\\.[chyl]\\'" . pgsql-c-mode) - auto-mode-alist)) - or - /* - * Local variables: - * tab-width: 4 - * c-indent-level: 4 - * c-basic-offset: 4 - * End: - */ </PRE> - <BR> - <I>pgindent</I> will the format code by specifying flags to your + <P>The <I>tools/editors</I> directory of the latest sources contains sample + settings that can be used with the <I>emacs</I>, <I>xemacs</I> and + <I>vim</I> editors, that assist in keeping to PostgreSQL coding standards. + </P> + + <P><I>pgindent</I> will the format code by specifying flags to your operating system's utility <I>indent.</I> This <A href= "http://ezine.daemonnews.org/200112/single_coding_style.html">article</A> - describes the value of a consistent coding style. + describes the value of a consistent coding style.</P> <P><I>pgindent</I> is run on all source files just before each beta test period. It auto-formats all source files to make them @@ -704,7 +677,7 @@ http://www.cse.iitb.ac.in/dbms/Data/Papers-Other/SQL1999/ansi-iso-9075-2-1999.pdf</A></LI> <LI>SQL:2003 <A href= - "http://www.wiscorp.com/sql/sql_2003_standard.zip">http://www.wiscorp.com/sql/sql_2003_standard.zip</A></LI> + "http://www.wiscorp.com/sql_2003_standard.zip">http://www.wiscorp.com/sql_2003_standard.zip</A></LI> </UL> <P>Some SQL standards web pages are:</P> diff --git a/doc/src/FAQ/FAQ_chinese.html b/doc/src/FAQ/FAQ_chinese.html index 8a4662c2538..d089d69eab5 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>ÀïÓõ½µÄ²éѯָÁî²¢ÏÔʾËüÃÇ£¿<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>)ÈçºÎʹÓÃÉæ¼°¶à¸öÊý¾Ý¿âµÄ²éѯ£¿<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>
- ¼ÓÖÝ´óѧÃ÷È··ÅÆúÈκα£Ö¤£¬°üÀ¨µ«²»¾ÖÏÞÓÚÄ³Ò»ÌØ¶¨ÓÃ;µÄÉÌÒµºÍÀûÒæµÄÒþº¬±£Ö¤¡£
- ÕâÀïÌṩµÄÕâ·ÝÈí¼þÊÇ»ùÓÚ¡°µ±×÷ÊÇ¡±µÄ»ù´¡µÄ£¬Òò¶ø¼ÓÖÝ´óѧûÓÐÔðÈÎÌṩά»¤£¬Ö§³Ö£¬¸üУ¬ÔöÇ¿»òÕßÐ޸ĵķþÎñ¡£
-</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µÄ²Ù×÷ϵͳ£¬Èç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°üº¬´óÁ¿µÄÎĵµ£¬Ö÷ÒªÓÐһЩÊֲᣬÊÖ²áÒ³ºÍһЩµÄ²âÊÔÀý×Ó¡£²Î¼û /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 ±ØÐëÊǿɿ¿µÄ£¬·ñÔòËü¾ÍÒ»µãÓö¼Ã»ÓС£
- ÎÒÃÇŬÁ¦×öµ½·¢²¼¾¹ýÈÏÕæ²âÊԵģ¬Îȶ¨µÄ³ô³æ×îÉٵĴúÂ롣ÿ¸ö°æ±¾ÖÁÉÙÓÐÒ»¸öÔ嵀 beta
- ²âÊÔʱ¼ä£¬²¢ÇÒÎÒÃǵķ¢²¼ÀúÊ·ÏÔʾÎÒÃÇ¿ÉÒÔÌṩÎȶ¨µÄ£¬Àι̵ģ¬¿ÉÓÃÓÚÉú²úʹÓõİ汾¡£ÎÒÃÇÏàÐÅ
- ÔÚÕâ·½ÃæÎÒÃÇÓëÆäËûµÄÊý¾Ý¿âÈí¼þÊÇÏ൱µÄ¡£<br/>
- </dd>
-
- <dt><b>Ö§³Ö</b></dt>
- <dd>
- ÎÒÃǵÄÓʼþÁбíÌṩһ¸ö·Ç³£´óµÄ¿ª·¢ÈËÔ±ºÍÓû§µÄ×éÒÔ°ïÖú½â¾öËùÅöµ½µÄÈκÎÎÊÌâ¡£
- ÎÒÃDz»Äܱ£Ö¤¿Ï¶¨Äܽâ¾öÎÊÌ⣬Ïà±È֮ϣ¬ÉÌÓà DBMS Ò²²¢²»ÊÇ×ÜÄܹ»Ìṩ½â¾ö·½·¨¡£
- Ö±½ÓÓ뿪·¢ÈËÔ±£¬Óû§Èº£¬ÊÖ²áºÍÔ´³ÌÐò½Ó´¥Áî PostgreSQL µÄÖ§³Ö±ÈÆäËû DBMS
- »¹ÒªºÃ¡£»¹ÓÐһЩÉÌÒµÐÔµÄÔ¤°ü×°µÄÖ§³Ö£¬¿ÉÒÔ¸øÌṩ¸øÄÇЩÐèÒªµÄÈË¡££¨²ÎÔÄ FAQ Ìõ¿î 1.5 С½Ú£©<br/>
- </dd>
-
- <dt><b>¼Û¸ñ</b></dt>
- <dd>
- ÎÒÃǶÔÈκÎÓÃ;¶¼Ãâ·Ñ£¬°üÀ¨ÉÌÓúͷÇÉÌÓÃÄ¿µÄ¡£
- Äã¿ÉÒÔ²»¼ÓÏÞÖÆµØÏòÄãµÄ²úÆ·Àï¼ÓÈëÎÒÃǵĴúÂ룬³ýÁËÄÇЩÎÒÃÇÔÚÉÏÃæµÄ°æÈ¨ÉùÃ÷ÀïÉùÃ÷µÄ 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>ÀïÓõ½µÄ²éѯָÁî²¢ÏÔʾËüÃÇ£¿</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>Ö¸¶¨ÁË×î´ó³¤¶È£¬±ä³¤×Ö·û´®£¬²»×㶨Ò峤¶ÈµÄ²¿·Ö²»²¹Æë</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> »áµ¼ÖÂºÍÆäËûÓû§µÄ³åÍ»Çé¿ö£¨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>
- ÕâÁ½¸öµÈ¼ÛµÄ²éѯÔÚ 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)ÈçºÎʹÓÃÉæ¼°¶à¸öÊý¾Ý¿âµÄ²éѯ£¿</h4>
-<p>
- ûÓа취²éѯµ±Ç°Êý¾Ý¿âÖ®ÍâµÄÊý¾Ý¿â¡£
- ÒòΪ PostgreSQL Òª¼ÓÔØÓëÊý¾Ý¿âÏà¹ØµÄϵͳĿ¼£¨ÏµÍ³±í£©£¬Òò´Ë¿çÊý¾Ý¿âµÄ²éѯÈçºÎÖ´ÐÐÊ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>ÀïÓõ½µÄ²éѯָÁî²¢ÏÔʾËüÃÇ£¿<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>)ÈçºÎʹÓÃÉæ¼°¶à¸öÊý¾Ý¿âµÄ²éѯ£¿<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> + ¼ÓÖÝ´óѧÃ÷È··ÅÆúÈκα£Ö¤£¬°üÀ¨µ«²»¾ÖÏÞÓÚÄ³Ò»ÌØ¶¨ÓÃ;µÄÉÌÒµºÍÀûÒæµÄÒþº¬±£Ö¤¡£ + ÕâÀïÌṩµÄÕâ·ÝÈí¼þÊÇ»ùÓÚ¡°µ±×÷ÊÇ¡±µÄ»ù´¡µÄ£¬Òò¶ø¼ÓÖÝ´óѧûÓÐÔðÈÎÌṩά»¤£¬Ö§³Ö£¬¸üУ¬ÔöÇ¿»òÕßÐ޸ĵķþÎñ¡£ +</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µÄ²Ù×÷ϵͳ£¬Èç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°üº¬´óÁ¿µÄÎĵµ£¬Ö÷ÒªÓÐһЩÊֲᣬÊÖ²áÒ³ºÍһЩµÄ²âÊÔÀý×Ó¡£²Î¼û /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 ±ØÐëÊǿɿ¿µÄ£¬·ñÔòËü¾ÍÒ»µãÓö¼Ã»ÓС£ + ÎÒÃÇŬÁ¦×öµ½·¢²¼¾¹ýÈÏÕæ²âÊԵģ¬Îȶ¨µÄ³ô³æ×îÉٵĴúÂ롣ÿ¸ö°æ±¾ÖÁÉÙÓÐÒ»¸öÔ嵀 beta + ²âÊÔʱ¼ä£¬²¢ÇÒÎÒÃǵķ¢²¼ÀúÊ·ÏÔʾÎÒÃÇ¿ÉÒÔÌṩÎȶ¨µÄ£¬Àι̵ģ¬¿ÉÓÃÓÚÉú²úʹÓõİ汾¡£ÎÒÃÇÏàÐÅ + ÔÚÕâ·½ÃæÎÒÃÇÓëÆäËûµÄÊý¾Ý¿âÈí¼þÊÇÏ൱µÄ¡£<br/> + </dd> + + <dt><b>Ö§³Ö</b></dt> + <dd> + ÎÒÃǵÄÓʼþÁбíÌṩһ¸ö·Ç³£´óµÄ¿ª·¢ÈËÔ±ºÍÓû§µÄ×éÒÔ°ïÖú½â¾öËùÅöµ½µÄÈκÎÎÊÌâ¡£ + ÎÒÃDz»Äܱ£Ö¤¿Ï¶¨Äܽâ¾öÎÊÌ⣬Ïà±È֮ϣ¬ÉÌÓà DBMS Ò²²¢²»ÊÇ×ÜÄܹ»Ìṩ½â¾ö·½·¨¡£ + Ö±½ÓÓ뿪·¢ÈËÔ±£¬Óû§Èº£¬ÊÖ²áºÍÔ´³ÌÐò½Ó´¥Áî PostgreSQL µÄÖ§³Ö±ÈÆäËû DBMS + »¹ÒªºÃ¡£»¹ÓÐһЩÉÌÒµÐÔµÄÔ¤°ü×°µÄÖ§³Ö£¬¿ÉÒÔ¸øÌṩ¸øÄÇЩÐèÒªµÄÈË¡££¨²ÎÔÄ FAQ Ìõ¿î 1.5 С½Ú£©<br/> + </dd> + + <dt><b>¼Û¸ñ</b></dt> + <dd> + ÎÒÃǶÔÈκÎÓÃ;¶¼Ãâ·Ñ£¬°üÀ¨ÉÌÓúͷÇÉÌÓÃÄ¿µÄ¡£ + Äã¿ÉÒÔ²»¼ÓÏÞÖÆµØÏòÄãµÄ²úÆ·Àï¼ÓÈëÎÒÃǵĴúÂ룬³ýÁËÄÇЩÎÒÃÇÔÚÉÏÃæµÄ°æÈ¨ÉùÃ÷ÀïÉùÃ÷µÄ 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>ÀïÓõ½µÄ²éѯָÁî²¢ÏÔʾËüÃÇ£¿</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>Ö¸¶¨ÁË×î´ó³¤¶È£¬±ä³¤×Ö·û´®£¬²»×㶨Ò峤¶ÈµÄ²¿·Ö²»²¹Æë</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> »áµ¼ÖÂºÍÆäËûÓû§µÄ³åÍ»Çé¿ö£¨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> + ÕâÁ½¸öµÈ¼ÛµÄ²éѯÔÚ 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)ÈçºÎʹÓÃÉæ¼°¶à¸öÊý¾Ý¿âµÄ²éѯ£¿</h4> +<p> + ûÓа취²éѯµ±Ç°Êý¾Ý¿âÖ®ÍâµÄÊý¾Ý¿â¡£ + ÒòΪ PostgreSQL Òª¼ÓÔØÓëÊý¾Ý¿âÏà¹ØµÄϵͳĿ¼£¨ÏµÍ³±í£©£¬Òò´Ë¿çÊý¾Ý¿âµÄ²éѯÈçºÎÖ´ÐÐÊ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> + diff --git a/doc/src/FAQ/FAQ_japanese.html b/doc/src/FAQ/FAQ_japanese.html index 4f998da6e5a..86467bbdb78 100644 --- a/doc/src/FAQ/FAQ_japanese.html +++ b/doc/src/FAQ/FAQ_japanese.html @@ -9,9 +9,9 @@ <div id="pgContentWrap"> <h1>PostgreSQL(¥Ý¥¹¥È¥°¥ì¥¹¡¦¥¥å¡¼¡¦¥¨¥ë)¤Ë¤Ä¤¤¤Æ¤è¤¯¤¢¤ë¼ÁÌä¤È¤½¤Î²òÅú(FAQ)</h1> -<p>¸¶Ê¸ºÇ½ª¹¹¿·Æü: Sun Apr 2 23:40:12 EDT 2006</p> +<p>¸¶Ê¸ºÇ½ª¹¹¿·Æü: Fri Aug 18 12:27:33 EDT 2006</p> <p>¸½ºß¤Î°Ý»ý´ÉÍý¼Ô: Bruce Momjian (<A -href="mailto:pgman at candle.pha.pa.us">pgman at candle.pha.pa.us</a>)<br /> +href="mailto:bruce@momjian.us">bruce@momjian.us</a>)<br /> Maintainer of Japanese Translation: Jun Kuwamura (<A href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</a>)<br /></p> <p>¤³¤Îʸ½ñ¤ÎºÇ¿·ÈǤÏ<a href= @@ -45,13 +45,13 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</a>)<br /></p> <a href="#item1.3">1.3</a>) PostgreSQL¤ÎÃøºî¸¢¤Ï¤É¤¦¤Ê¤Ã¤Æ¤Þ¤¹¤«¡©<br /> <a href="#item1.4">1.4</a>) PostgreSQL¤ò¥µ¥Ý¡¼¥È¤¹¤ë¥×¥é¥Ã¥È¥Û¡¼¥à¤Ï¡©<br /> <a href="#item1.5">1.5</a>) PostgreSQL¤Ï¤É¤³¤«¤éÆþ¼ê¤Ç¤¤Þ¤¹¤«¡©<br /> -<a href="#item1.6">1.6</a>) ºÇ¿·ÈǤϤɤì¤Ç¤¹¤«¡©<br /> +<a href="#item1.6">1.6</a>) ºÇ¿·¤Î¥ê¥ê¡¼¥¹¤Ï¤É¤ì¤Ç¤¹¤«¡©<br /> <a href="#item1.7">1.7</a>) ¥µ¥Ý¡¼¥È¤Ï¤É¤³¤Ç¼õ¤±¤é¤ì¤Þ¤¹¤«¡©<br /> <a href="#item1.8">1.8</a>) ¥Ð¥°¥ì¥Ý¡¼¥È¤Ï¤É¤Î¤è¤¦¤Ëȯ¿®¤·¤Þ¤¹¤«¡©<br /> <a href="#item1.9">1.9</a>) ´ûÃΤΥХ°¤ä̤¤À̵¤¤µ¡Ç½¤Ï¤É¤¦¤ä¤Ã¤Æ¸«¤Ä¤±¤Þ¤¹¤«¡©<br /> <a href="#item1.10">1.10</a>) ¤É¤Î¤è¤¦¤Êʸ½ñ¤¬¤¢¤ê¤Þ¤¹¤«¡©<br /> <a href="#item1.11">1.11</a>) <small>SQL</small>¤Ï¤É¤¦¤¹¤ì¤Ð³Ø¤Ù¤Þ¤¹¤«¡©<br /> -<a href="#item1.12">1.12</a>) ³«È¯¥Á¡¼¥à¤Ë¤Ï¤É¤Î¤è¤¦¤Ë»²²Ã¤·¤Þ¤¹¤«¡©<br /> +<a href="#item1.12">1.12</a>) ¥Ñ¥Ã¥Á¤òÄ󶡤·¤¿¤ê¡¢³«È¯¥Á¡¼¥à»²²Ã¤¹¤ë¤Ë¤Ï¤É¤¦¤¹¤ì¤Ð¤è¤¤¤Ç¤¹¤«¡©<br /> <a href="#item1.13">1.13</a>) ¾¤Î<small>DBMS</small>¤ÈÈæ¤Ù¤ÆPostgreSQL¤Ï¤É¤¦¤Ê¤Î¤Ç¤¹¤«¡©<br /> @@ -69,7 +69,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</a>)<br /></p> <a href="#item3.3">3.3</a>) ¤è¤êÎɤ¤Àǽ¤òÆÀ¤ë¤¿¤á¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥¨¥ó¥¸¥ó¤ò¤É¤Î¤è¤¦¤ËÄ´À°¤·¤Þ¤¹¤«¡©<br /> <a href="#item3.4">3.4</a>) ¤É¤Î¤è¤¦¤Ê¥Ç¥Ð¥°µ¡Ç½¤¬»È¤¨¤Þ¤¹¤«¡©<br /> <a href="#item3.5">3.5</a>) Àܳ¤·¤è¤¦¤È¤¹¤ë¤È¤¤Ë <i>'Sorry, too many clients'</i> ¤¬½Ð¤ë¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡©<br /> -<a href="#item3.6">3.6</a>) PostgreSQL¤Î¥á¥¸¥ã¡¼¥ê¥ê¡¼¥¹¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¤Î¤Ë¥À¥ó¥×¤È¥ê¥¹¥È¥¢¤ò¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡©<br /> +<a href="#item3.6">3.6</a>) PostgreSQL¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤Î¼ê½ç¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©<br /> <a href="#item3.7">3.7</a>) ¥Ï¡¼¥É¥¦¥§¥¢¤Ë¤Ï¤É¤ó¤Ê¥³¥ó¥Ô¥å¡¼¥¿¤ò»È¤¨¤Ð¤è¤¤¤Ç¤¹¤«¡©<br /> @@ -221,7 +221,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</a>)<br /></p> ¤Ê¤µ¤ì¤¿¥×¥é¥Ã¥È¥Û¡¼¥à¤Ë¤Ä¤¤¤Æ¤Ï¥¤¥ó¥¹¥È¡¼¥ë¼ê°ú½ñ¤ËÎóµó¤·¤Æ¤¢¤ê¤Þ¤¹¡£ </p> - <p>PostgreSQL ¤Ï¡¢Win2000, WinXP, ¤½¤·¤Æ¡¢Win2003 ¤Î¤è¤¦¤Ê Microsoft + <p>PostgreSQL ¤Ï¡¢Win2000 SP4, WinXP, ¤½¤·¤Æ¡¢Win2003 ¤Ê¤É Microsoft Windows NT¥Ù¡¼¥¹¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ç¡¢¥Í¥¤¥Æ¥£¥Ö¤ËÁö¤ê¤Þ¤¹¡£ ¤¢¤é¤«¤¸¤á¥Ñ¥Ã¥±¡¼¥¸¤Ë¤µ¤ì¤¿¥¤¥ó¥¹¥È¡¼¥é¤¬<a href= "http://pgfoundry.org/projects/pginstaller"> @@ -255,9 +255,9 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</a>)<br /></p> ftp://ftp.PostgreSQL.org/pub/</a> ¤ò»È¤¤¤Þ¤¹¡£</p> -<h4 id="item1.6">1.6</a>) ºÇ¿·ÈǤϤɤì¤Ç¤¹¤«¡©</h4> +<h4 id="item1.6">1.6</a>) ºÇ¿·¤Î¥ê¥ê¡¼¥¹¤Ï¤É¤ì¤Ç¤¹¤«¡©</h4> - <p>PostgreSQL ¤ÎºÇ¿·ÈǤϥС¼¥¸¥ç¥ó 8.1.3 ¤Ç¤¹¡£</p> + <p>PostgreSQL ¤ÎºÇ¿·ÈǤϥС¼¥¸¥ç¥ó 8.1.4 ¤Ç¤¹¡£</p> <p>²æ¡¹¤Ï¡¢1ǯËè¤Ë¥á¥¸¥ã¡¼¥ê¥ê¡¼¥¹¤ò¡¢¿ô¥õ·î¤´¤È¤Î¥Þ¥¤¥Ê¡¼¥ê¥ê¡¼¥¹¤ò ¹Ô¤Ê¤¦¤³¤È¤ò·×²è¤·¤Æ¤¤¤Þ¤¹¡£</p> @@ -304,8 +304,8 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</a>)<br /></p> </pre></small></p> <p>¾¦ÍÑ¥µ¥Ý¡¼¥È²ñ¼Ò¤Î¥ê¥¹¥È¤Ï<a - href="http://techdocs.postgresql.org/companies.php"> - http://techdocs.postgresql.org/companies.php</a>¤Ë¤¢¤ê¤Þ¤¹¡£</p> + href="http://www.postgresql.org/support/professional_support"> + http://www.postgresql.org/support/professional_support</a>¤Ë¤¢¤ê¤Þ¤¹¡£</p> <h4 id="item1.8">1.8</a>) ¥Ð¥°¥ì¥Ý¡¼¥È¤Ï¤É¤Î¤è¤¦¤Ëȯ¿®¤·¤Þ¤¹¤«¡© @@ -442,11 +442,20 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp</a>)<br /></p> <p>ÁÇÀ²¤é¤·¤¤¼ê°ú½ñ¤Ï¡¢<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> - ¤½¤·¤Æ¡¢<a href="http://sqlcourse.com/">http://sqlcourse.com</a> + <ul> + <li> <a href="http://www.intermedia.net/support/sql/sqltut.shtm">http://www.intermedia.net/support/sql/sqltut.shtm</a> + </li> + <li> + <a href="http://sqlcourse.com/">http://sqlcourse.com</a> + </li> + + <li> + <a href="http://www.w3schools.com/sql/default.asp">http://www.w3schools.com/sql/default.asp</a> + </li> + <li><a href= + "http://mysite.verizon.net/Graeme_Birchall/id1.html">http://mysite.verizon.net/Graeme_Birchall/id1.html</a> + </li> + </ul> ¤Ë¤¢¤ê¤Þ¤¹¡£</p> @@ -470,7 +479,7 @@ http://www.postgresql.jp/PostgreSQL/references.html</a> ] </pre></small></p> -<h4 id="item1.12">1.12</a>) ³«È¯¥Á¡¼¥à¤Ë¤Ï¤É¤Î¤è¤¦¤Ë»²²Ã¤·¤Þ¤¹¤«¡©</h4> +<h4 id="item1.12">1.12</a>) ¥Ñ¥Ã¥Á¤òÄ󶡤·¤¿¤ê¡¢³«È¯¥Á¡¼¥à»²²Ã¤¹¤ë¤Ë¤Ï¤É¤¦¤¹¤ì¤Ð¤è¤¤¤Ç¤¹¤«¡©</h4> <p><a href="http://www.postgresql.org/docs/faqs.FAQ_DEV.html"> ¡Ê³«È¯¼Ô¸þ¤±¤Î¡ËDeveloper's FAQ</a>¤ò¤´¤é¤ó¤¯¤À¤µ¤¤¡£</p> @@ -580,10 +589,7 @@ http://www.postgresql.jp/PostgreSQL/references.html</a> <h4 id="item2.3">2.3</a>) PostgreSQL ¤Ë¥°¥é¥Õ¥£¥«¥ë¡¦¥æ¡¼¥¶¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¤¢¤ê¤Þ¤¹¤«¡©</h4> - <p>¤â¤Á¤í¤ó¡¢¤¢¤ê¤Þ¤¹¡£ - ¾ÜºÙ¤Ï¡¢<a href="http://techdocs.postgresql.org/guides/GUITools">http://techdocs.postgresql.org/guides/GUITools</a> - ¤ò¤´¤é¤ó¤¯¤À¤µ¤¤¡£</p> - + <p>¾¦ÍѤȥª¡¼¥×¥ó¥½¡¼¥¹³«È¯¼Ô¤Ë¤è¤ë¤â¤ÎξÊý¤Ç¡¢PostgreSQL¤Ë¤Ï¿¤¯¤ÎGUI¥Ä¡¼¥ë¤¬ÍøÍѲÄǽ¤Ç¡¢¾ÜºÙ¤Ê¥ê¥¹¥È¤Ï¡¢<a href="http://www.postgresql.org/docs/techdocs.54">PostgreSQL¥³¥ß¥å¥Ë¥Æ¥£Ê¸½ñ</a> ¤Ç¤´¤é¤ó¤¯¤À¤µ¤¤¡£</p> <hr /> @@ -646,12 +652,13 @@ http://www.postgresql.jp/PostgreSQL/references.html</a> <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> + <dd>Àǽ¤Ë¤ª¤±¤ë¥Ï¡¼¥É¥¦¥§¥¢¤Î±Æ¶Á¤Ï + <a href="http://www.powerpostgresql.com/PerfList/"> + http://www.powerpostgresql.com/PerfList/</a> ¤È¡¢ <a + href="http://momjian.us/main/writings/pgsql/hw_performance/index.html"> + http://momjian.us/main/writings/pgsql/hw_performance/index.html</a> (<a href="http://www.postgresql.jp/wg/psqltrans/hw_performance_j/index.html">JPUG¥µ¥¤¥È¤ÎÆüËܸìÈÇ</a>) - ¤È <a href="http://www.powerpostgresql.com/PerfList/"> - http://www.powerpostgresql.com/PerfList/</a> ¤Ë½Ò¤Ù¤é¤ì¤Æ¤¤¤Þ¤¹¡£ + ¤Ë½Ò¤Ù¤é¤ì¤Æ¤¤¤Þ¤¹¡£ <br/> <br/> </dd> @@ -680,16 +687,25 @@ http://www.postgresql.jp/PostgreSQL/references.html</a> <i>max_connections</i> ¤ÎÃͤòÊѹ¹¤·¤Æ <i>postmaster</i>¤òºÆµ¯Æ°¤¹¤ë ¤³¤È¤Ç²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£</p> -<h4 id="item3.6">3.6</a>) PostgreSQL¤Î¥á¥¸¥ã¡¼¥ê¥ê¡¼¥¹¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¤Î¤Ë¥À¥ó¥×¤È¥ê¥¹¥È¥¢¤ò¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡©</h4> +<h4 id="item3.6">3.6</a>) PostgreSQL¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤Î¼ê½ç¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©</h4> + + <p>PostgreSQL¥Á¡¼¥à¤Ï¥Þ¥¤¥Ê¡¼¥ê¥ê¡¼¥¹¤Ç¤Ï¥Ð¥°¤Î½¤Àµ¤·¤«¹Ô¤Ê¤¤¤Þ¤»¤ó + ¤Î¤Ç¡¢¤¿¤È¤¨¤Ð 7.4.8 ¤«¤é 7.4.9 ¤Ø¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ë¥À¥ó¥×¤È¥ê¥¹¥È + ¥¢¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¥µ¡¼¥Ð¤ò°ì»þŪ¤ËÄä»ß¤·¤Æ¡¢ + ¥¢¥Ã¥×¥Ç¡¼¥È¤·¤¿¥Ð¥¤¥Ê¥ê¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¡¢¤½¤·¤Æ¡¢¥µ¡¼¥Ð¤ò¥ê¥¹¥¿¡¼¥È + ¤¹¤ë¤À¤±¤Ç¤¹¡£</p> + + <p>Á´¥æ¡¼¥¶¤Ï¤Ç¤¤ë¤À¤±Á᤯ºÇ¿·¤Î¥Þ¥¤¥Ê¡¼¥ê¥ê¡¼¥¹¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹ + ¤ë¤Ù¤¤Ç¤¹¡£¤¹¤Ù¤Æ¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ë¥ê¥¹¥¯¤Ï¤Ä¤¤â¤Î¤Ç¤¹¤¬¡¢ + PostgreSQL¤Î¥Þ¥¤¥Ê¡¼¥ê¥ê¡¼¥¹¤Ï¡¢¤Ê¤ë¤Ù¤¯¾®¤µ¤Ê¥ê¥¹¥¯¤Ç°ìÈÌŪ¤Ê¥Ð¥°¤Î + ½¤Àµ¤À¤±¤òÌÜÏÀ¤ó¤À¤â¤Î¤Ç¤¹¡£²æ¡¹¥³¥ß¥å¥Ë¥Æ¥£¤ÎÃæ¤Ç¤Ï¥¢¥Ã¥×¥°¥ì¡¼¥É + <i>¤·¤Ê¤¤</i>¤Û¤¦¤¬¤â¤Ã¤È¥ê¥¹¥¯¤¬¹â¤¤¤â¤Î¤È¹Í¤¨¤é¤ì¤Æ¤¤¤Þ¤¹¡£</p> - <p>PostgreSQL¥Á¡¼¥à¤Ï¥Þ¥¤¥Ê¡¼¥ê¥ê¡¼¥¹¤Ç¤Ï¾®¤µ¤ÊÊѹ¹¤·¤«¹Ô¤Ê¤¤¤Þ¤»¤ó - ¤Î¤Ç¡¢7.4.0 ¤«¤é 7.4.1 ¤Ø¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ë¤Ï¥À¥ó¥×¤È¥ê¥¹¥È¥¢¤ÎɬÍ×¤Ï - ¤¢¤ê¤Þ¤»¤ó¡£¤·¤«¤·¡¢¥á¥¸¥ã¡¼¥ê¥ê¡¼¥¹(¤¿¤È¤¨¤Ð¡¢7.2¤«¤é7.3¤Ø¤Î¤è¤¦¤Ê) - ¤Ç¤Ï¡¢¥·¥¹¥Æ¥à¥Æ¡¼¥Ö¥ë¤ä¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤ÎÆâÉô¥Õ¥©¡¼¥Þ¥Ã¥È¤ÎÊѹ¹¤ò¤·¤Ð - ¤·¤Ð¹Ô¤Ê¤¤¤Þ¤¹¡£¤³¤ì¤é¤ÎÊѹ¹¤Ï¤¿¤¤¤Æ¤¤Ê£»¨¤Ç¡¢¤½¤Î¤¿¤á²æ¡¹¤Ï¥Ç¡¼¥¿¥Õ¥¡ - ¥¤¥ë¤Î¤¿¤á¤Î¸åÊý¸ß´¹À¤ò°Ý»ý¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤»¤ó¡£¥À¥ó¥×¤ÏÈÆÍÑ¥Õ¥©¡¼ - ¥Þ¥Ã¥È¤Ç¥Ç¡¼¥¿¤ò½ÐÎϤ·¡¢¤½¤ì¤ò¿·¤·¤¤ÆâÉô¥Õ¥©¡¼¥Þ¥Ã¥È¤ËÆÉ¤ß¹þ¤à¤³¤È¤¬ - ¤Ç¤¤Þ¤¹¡£</p> + <p>¤·¤«¤·¡¢¥á¥¸¥ã¡¼¥ê¥ê¡¼¥¹¡Ê¤¿¤È¤¨¤Ð¡¢7.3 ¤«¤é 7.4 ¤Î¤è¤¦¤Ê¡Ë¤Ç¤Ï¡¢ + ¥·¥¹¥Æ¥à¥Æ¡¼¥Ö¥ë¤ä¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤ÎÆâÉô¥Õ¥©¡¼¥Þ¥Ã¥È¤ÎÊѹ¹¤ò¤·¤Ð¤·¤Ð¹Ô + ¤Ê¤¤¤Þ¤¹¡£¤³¤ì¤é¤ÎÊѹ¹¤Ï¤¿¤¤¤Æ¤¤Ê£»¨¤Ç¡¢¤½¤Î¤¿¤á²æ¡¹¤Ï¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë + ¤Î¤¿¤á¤Î¸åÊý¸ß´¹À¤ò°Ý»ý¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤»¤ó¡£¥á¥¸¥ã¡¼¥¢¥Ã¥×¥°¥ì¡¼¥É + ¤Î¤¿¤á¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥À¥ó¥×/¥ê¥í¡¼¥É¤¬É¬ÍפǤ¹¡£</p> <h4 id="item3.7">3.7</a>) ¥Ï¡¼¥É¥¦¥§¥¢¤Ë¤Ï¤É¤ó¤Ê¥³¥ó¥Ô¥å¡¼¥¿¤ò»È¤¨¤Ð¤è¤¤¤Ç¤¹¤«¡©</h4> @@ -790,7 +806,8 @@ http://www.postgresql.jp/PostgreSQL/references.html</a> </p> <p> ¥Ç¥Õ¥©¥ë¥È¤Î¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ò32k¤ËÁý²Ã¤¹¤ë¤³¤È¤Ç¡¢ºÇÂç¥Æ¡¼¥Ö¥ë¥µ¥¤¥º - ¤È¹Ô¥µ¥¤¥º¤ÈºÇÂ祫¥é¥à¿ô¤È¤ò4Çܤˤ¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£</p> + ¤È¹Ô¥µ¥¤¥º¤ÈºÇÂ祫¥é¥à¿ô¤È¤ò4Çܤˤ¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤Þ¤¿¡¢ºÇÂç¥Æ¡¼¥Ö¥ë + ¥µ¥¤¥º¤Ï¥Æ¡¼¥Ö¥ë¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò»È¤Ã¤ÆÁý¤ä¤¹¤³¤È¤â¤Ç¤¤Þ¤¹¡£</p> <p>¤Ò¤È¤Ä¤ÎÀ©¸Â¤Ï¡¢Ìó2,000ʸ»ú°Ê¾å¤ÎŤµ¤Î¥«¥é¥à¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÉÕ ¤±¤ë¤³¤È¤¬¤Ç¤¤Ê¤¤¤³¤È¤Ç¤¹¡£ ¹¬¤¤¤Ë¤â¡¢¤½¤Î¤è¤¦¤Ê¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¼ÂºÝ @@ -1061,21 +1078,21 @@ http://www.postgresql.jp/PostgreSQL/references.html</a> <p>PostgreSQL¤Ç¤Ä¤¯¤é¤ì¤ë¤¹¤Ù¤Æ¤Î¥í¥¦¤Ï¡¢<small>WITHOUT OIDS</small> ¤Ç¤Ä¤¯¤é¤ì¤Ê¤¤¤«¤®¤ê°ì°Õ¤Î<small>OID</small>¤òÆÀ¤Þ¤¹¡£ - O<small>ID</small>¤Ï¼«Æ°Åª¤Ë4¥Ð¥¤¥È¤ÎÀ°¿ô¤ÇÍ¿¤¨¤é¤ì¡¢¤½¤ì¤Ï¡¢Á´¥¤¥ó + <small>OID</small>¤Ï¼«Æ°Åª¤Ë4¥Ð¥¤¥È¤ÎÀ°¿ô¤ÇÍ¿¤¨¤é¤ì¡¢¤½¤ì¤Ï¡¢Á´¥¤¥ó ¥¹¥È¥ì¡¼¥·¥ç¥ó¤òÄ̤·¤Æ°ì°Õ¤ÊÃͤȤʤê¤Þ¤¹¡£¤·¤«¤·¡¢Ìó40²¯¤Ç¥ª¡¼¥Ð¡¼¥Õ - ¥í¡¼¤·¡¢¤½¤·¤Æ¡¢O<small>ID</small>¤Ï½ÅÊ£¤ò¤·¤Ï¤¸¤á¤Þ¤¹¡£PostgreSQL¤Ï - ÆâÉô¥·¥¹¥Æ¥à¥Æ¡¼¥Ö¥ë¤ò°ì½ï¤Ë¥ê¥ó¥¯¤¹¤ë¤¿¤á¤ËO<small>ID</small> ¤ò»È + ¥í¡¼¤·¡¢¤½¤·¤Æ¡¢<small>OID</small>¤Ï½ÅÊ£¤ò¤·¤Ï¤¸¤á¤Þ¤¹¡£PostgreSQL¤Ï + ÆâÉô¥·¥¹¥Æ¥à¥Æ¡¼¥Ö¥ë¤ò°ì½ï¤Ë¥ê¥ó¥¯¤¹¤ë¤¿¤á¤Ë<small>OID</small> ¤ò»È ¤¤¤Þ¤¹¡£ <p>¥æ¡¼¥¶¤Î¥Æ¡¼¥Ö¥ë¤Î¥«¥é¥à¤Ë°ì°Õ¤ÎÈÖ¹æ¤òÉÕ¤±¤ë¤¿¤á¤Ë¤Ï¡¢ - O<small>ID</small> ¤Ç¤Ï¤Ê¤¯ <small>SERIAL</small> ¤ò»È¤¦¤Î¤¬ºÇ¤â¤è¤¤ + <small>OID</small> ¤Ç¤Ï¤Ê¤¯ <small>SERIAL</small> ¤ò»È¤¦¤Î¤¬ºÇ¤â¤è¤¤ ¤Ç¤·¤ç¤¦¡£<small>SERIAL</small>¤ÎÏ¢ÈÖ¤Ï1¤Ä¤Î¥Æ¡¼¥Ö¥ëÆâ¤Ç¤Î¤ß°ì°Õ¤Ë¤Ê ¤ë¤«¤é¤Ç¡¢¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤òµ¯¤³¤·¤Ë¤¯¤¤¤È¹Í¤¨¤é¤ì¤Þ¤¹¡£ 8¥Ð¥¤¥È¤Î¥·¡¼¥±¥ó¥¹ÃͤòÊݸ¤¹¤ë¤¿¤á¤Ë¡¢<small>SERIAL8</small>¤¬¤¢¤ê ¤Þ¤¹¡£</p> - <p>C<small>TID</small> ¤Ï¡¢ÆÃÄê¤ÎʪÍý¥í¥¦¤ò¥Ö¥í¥Ã¥¯¤È¥ª¥Õ¥»¥Ã¥È¤ÎÃÍ - ¤Ç¼±Ê̤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹¡£C<small>TID</small>¤Ï¡¢¥í¥¦¤¬½¤Àµ¤µ¤ì¤¿ + <p><small>CTID</small> ¤Ï¡¢ÆÃÄê¤ÎʪÍý¥í¥¦¤ò¥Ö¥í¥Ã¥¯¤È¥ª¥Õ¥»¥Ã¥È¤ÎÃÍ + ¤Ç¼±Ê̤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹¡£<small>CTID</small>¤Ï¡¢¥í¥¦¤¬½¤Àµ¤µ¤ì¤¿ ¤êºÆÆÉ¹þ¤ß¤µ¤ì¤¿¤È¤¤ËÊѤï¤ê¤Þ¤¹¡£¤Þ¤¿¡¢ÊªÍý¥í¥¦¤òº¹¤¹¤¿¤á¤Ë¥¤¥ó¥Ç¥Ã ¥¯¥¹¤ÎµºÜ¤Ë»È¤ï¤ì¤Þ¤¹¡£</p> @@ -1237,7 +1254,7 @@ http://www.postgresql.jp/PostgreSQL/references.html</a> [ÌõÃí¡§ ÆüËܸìÈǤÎÀ½ºî¤Ë¤Ä¤¤¤Æ¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£ - ºÇ½ª¹¹¿·Æü: 2006ǯ04·î03Æü + ºÇ½ª¹¹¿·Æü: 2006ǯ08·î19Æü ËÝÌõ¼Ô: ·¬Â¼ ½á (<a href="mailto:juk at PostgreSQL.jp">Jun Kuwamura <juk at PostgreSQL.jp></a>) ¤³¤ÎFAQ¤ÎÏÂÌõ¤ÎºîÀ®¤Ë¤¢¤¿¤ê¶¨ÎϤò¤·¤Æ¤¯¤À¤µ¤Ã¤¿Êý¡¹(·É¾Î¤Ïά¤µ¤»¤Æ¤¤¤¿¤À¤¤Þ¤¹): @@ -1246,7 +1263,7 @@ http://www.postgresql.jp/PostgreSQL/references.html</a> Àаæ ãÉ×(<a href="mailto:t-ishii at sra.co.jp">Tatsuo ISHII <t-ishii at sra.co.jp></a>) óîÆ£ ÃοÍ(<a href="mailto:tomos at elelab.nsc.co.jp">Tomohito SAITOH <tomos at elelab.nsc.co.jp></a>) ÇϾì È¥(<a href="mailto:baba at kusastro.kyoto-u.ac.jp">Hajime BABA <baba at kusastro.kyoto-u.ac.jp></a>) - ²¬ËÜ °ì¹¬(<a href="mailto:kaz-okamoto at hitachi-system.co.jp">Kazuyuki OKAMOTO <kokamoto at itg.hitachi.co.jp></a>) + ²¬ËÜ °ì¹¬(<a href="mailto:kaz-okamoto at hitachi-system.co.jp">Kazuyuki OKAMOTO <kaz-okamoto at hitachi-system.co.jp></a>) ¾®¿û ¾¼°ì(<a href="mailto:s-kosuge at str.hitachi.co.jp">Shoichi Kosuge <s-kosuge at str.hitachi.co.jp></a>) »³²¼ µÁÇ·(<a href="mailto:dica at eurus.dti.ne.jp">Yoshiyuki YAMASHITA <dica at eurus.dti.ne.jp></a>) ¶ ¿¿ÂÀϺ(<a href="mailto:s_sakai at mxn.mesh.ne.jp">Sintaro SAKAI <s_sakai at mxn.mesh.ne.jp></a>) diff --git a/doc/src/FAQ/FAQ_russian.html b/doc/src/FAQ/FAQ_russian.html index e926c29dc53..0666da595ed 100644 --- a/doc/src/FAQ/FAQ_russian.html +++ b/doc/src/FAQ/FAQ_russian.html @@ -12,7 +12,7 @@ <BODY bgcolor="#ffffff" text="#000000" link="#ff0000" vlink="#a00000" alink="#0000ff"> <H1>ïÔ×ÅÔÙ ÎÁ ÞÁÓÔÏ ÚÁÄÁ×ÁÅÍÙÅ ×ÏÐÒÏÓÙ ÐÏ PostgreSQL</H1> - <P>äÁÔÁ ÐÏÓÌÅÄÎÅÇÏ ÏÂÎÏ×ÌÅÎÉÑ: ðÑÔÎÉÃÁ 24 ÆÅ×ÒÁÌÑ 23:28:40 EDT 2006</P> + <P>äÁÔÁ ÐÏÓÌÅÄÎÅÇÏ ÏÂÎÏ×ÌÅÎÉÑ: ÷ÏÓËÒÅÓÅÎØÅ 18 ÉÀÎÑ 15:33:25 EDT 2006</P> <P>áÎÇÌÉÊÓËÉÊ ×ÁÒÉÁÎÔ ÓÏÐÒÏ×ÏÖÄÁÅÔ: âÒÀÓ íÏÍØÑÎ (Bruce Momjian) (<A href= "mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR> @@ -34,14 +34,14 @@ <A href="#item1.3">1.3</A>) ëÁËÏ×Ù Á×ÔÏÒÓËÉÅ ÐÒÁ×Á ÎÁ PostgreSQL?<BR> <A href="#item1.4">1.4</A>) îÁ ËÁËÉÈ ÐÌÁÔÆÏÒÍÁÈ ÒÁÂÏÔÁÅÔ PostgreSQL?<BR> <A href="#item1.5">1.5</A>) çÄÅ ÍÏÖÎÏ ×ÚÑÔØ PostgreSQL?<BR> - <A href="#item1.6">1.6</A>) ëÁËÁÑ ×ÅÒÓÉÑ ÐÏÓÌÅÄÎÑÑ?<BR> + <A href="#item1.6">1.6</A>) ëÁËÁÑ ×ÅÒÓÉÑ ÎÁÉÂÏÌÅÅ Ó×ÅÖÁÑ?<BR> <A href="#item1.7">1.7</A>) çÄÅ ÐÏÌÕÞÉÔØ ÐÏÄÄÅÒÖËÕ?<BR> <A href="#item1.8">1.8</A>) ëÁË ÍÎÅ ÓÏÏÂÝÉÔØ Ï ÏÛÉÂËÅ?<BR> <A href="#item1.9">1.9</A>) ëÁË ÎÁÊÔÉ ÉÎÆÏÒÍÁÃÉÀ Ï ÉÚ×ÅÓÔÎÙÈ ÏÛÉÂËÁÈ ÉÌÉ ÏÔÓÕÔÓÔ×ÕÀÝÉÈ ×ÏÚÍÏÖÎÏÓÔÑÈ?<BR> <A href="#item1.10">1.10</A>) ëÁËÁÑ ÄÏËÕÍÅÎÔÁÃÉÑ ÉÍÅÅÔÓÑ × ÎÁÌÉÞÉÉ?<BR> <A href="#item1.11">1.11</A>) ëÁË ÎÁÕÞÉÔØÓÑ <SMALL>SQL</SMALL>?<BR> - <A href="#item1.12">1.12</A>) ëÁË ÐÒÉÓÏÅÄÉÎÉÔÓÑ Ë ËÏÍÁÎÄÅ ÒÁÚÒÁÂÏÔÞÉËÏ×?<BR> + <A href="#item1.12">1.12</A>) ëÁË ÍÎÅ ÏÔÐÒÁ×ÉÔØ ÉÓÐÒÁ×ÌÅÎÉÅ ÉÌÉ ÐÒÉÓÏÅÄÉÎÉÔÓÑ Ë ËÏÍÁÎÄÅ ÒÁÚÒÁÂÏÔÞÉËÏ×?<BR> <A href="#item1.13">1.13</A>) ëÁË ÓÒÁ×ÎÉÔØ PostgreSQL Ó ÄÒÕÇÉÍÉ <SMALL>óõâä</SMALL>?<BR> @@ -64,8 +64,7 @@ <A href="#item3.4">3.4</A>) ëÁËÉÅ ×ÏÚÍÏÖÎÏÓÔÉ ÄÌÑ ÏÔÌÁÄËÉ ÅÓÔØ × ÎÁÌÉÞÉÉ?<BR> <A href="#item3.5">3.5</A>) ðÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ ÓÏÏÂÝÅÎÉÅ <I>"Sorry, too many clients"</I> ËÏÇÄÁ ÐÙÔÁÀÓØ ÐÏÄËÌÀÞÉÔØÓÑ Ë ÂÁÚÅ?<BR> - <A href="#item3.6">3.6</A>) ðÏÞÅÍÕ ÎÅÏÂÈÏÄÉÍÏ ÄÅÌÁÔØ dump É restore ÐÒÉ - ÏÂÎÏ×ÌÅÎÉÉ ×ÙÐÕÓËÏ× PostgreSQL?<BR> + <A href="#item3.6">3.6</A>) ëÁË ×ÙÐÏÌÎÉÔØ ÏÂÎÏ×ÌÅÎÉÅ PostgreSQL?<BR> <A href="#item3.7">3.7</A>) ëÁËÏÅ ËÏÍÐØÀÔÅÒÎÏÅ "ÖÅÌÅÚÏ" Ñ ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØ?<BR> @@ -222,9 +221,9 @@ <A href="ftp://ftp.PostgreSQL.org/pub/">ftp://ftp.PostgreSQL.org/pub/</A>.</P> - <H3><A name="item1.6">1.6</A>) ëÁËÁÑ ÐÏÓÌÅÄÎÑÑ ×ÅÒÓÉÑ?</H3> + <H3><A name="item1.6">1.6</A>) ëÁËÁÑ ×ÅÒÓÉÑ ÎÁÉÂÏÌÅÅ Ó×ÅÖÁÑ?</H3> - <P>ðÏÓÌÅÄÎÉÊ ×ÙÐÕÓË PostgreSQL - ÜÔÏ ×ÅÒÓÉÑ 8.1.3</P> + <P>ðÏÓÌÅÄÎÉÊ ×ÙÐÕÓË PostgreSQL - ÜÔÏ ×ÅÒÓÉÑ 8.1.4</P> <P>íÙ ÐÌÁÎÉÒÕÅÍ ×ÙÐÕÓËÁÔØ ÎÏ×ÙÅ ÓÔÁÒÛÉÅ ×ÅÒÓÉÉ ËÁÖÄÙÊ ÇÏÄ, Á ÍÌÁÄÛÉÅ ×ÅÒÓÉÉ ËÁÖÄÙÅ ÎÅÓËÏÌØËÏ ÍÅÓÑÃÅ×.</P> @@ -369,14 +368,20 @@ Bowman, Judith S., et al., Addison-Wesley. äÒÕÇÉÍ ÎÒÁ×ÉÔÓÑ <I>The Complete Reference SQL</I>, Groff et al., McGraw-Hill.</P> - åÓÔØ ÐÒÅËÒÁÓÎÙÊ ÕÞÅÂÎÉË ÎÁ <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> - É ÎÁ <A href="http://sqlcourse.com/">http://sqlcourse.com.</A></P> - + <P>óÕÝÅÓÔ×ÕÅÔ ÔÁËÖÅ ÍÎÏÖÅÓÔ×Ï ÐÒÅËÒÁÓÎÙÈ ÕÞÅÂÎÉËÏ× ÄÏÓÔÕÐÎÙÈ × online: + <UL> + <LI><A href="http://www.intermedia.net/support/sql/sqltut.shtm">http://www.intermedia.net/support/sql/sqltut.shtm,</A> + </LI> + <LI><A href="http://sqlcourse.com/">http://sqlcourse.com.</A> + </LI> + <LI><A href="http://www.w3schools.com/sql/default.asp">http://www.w3school.com/sql/default.asp</A> + </LI> + <LI><A href="http://mysite.verizon.net/Graeme_Birchall/id1.html">http://mysite.verizon.net/Graeme_Birchall/id1.html</A> + </LI> + </UL> + </P> - <H3><A name="item1.12">1.12</A>) ëÁË ÐÒÉÓÏÅÄÉÎÉÔÓÑ Ë ËÏÍÁÎÄÅ ÒÁÚÒÁÂÏÔÞÉËÏ×?</H3> + <H3><A name="item1.12">1.12</A>) ëÁË ÍÎÅ ÐÒÉÓÌÁÔØ ÉÓÐÒÁ×ÌÅÎÉÅ ÉÌÉ ÐÒÉÓÏÅÄÉÎÉÔÓÑ Ë ËÏÍÁÎÄÅ ÒÁÚÒÁÂÏÔÞÉËÏ×?</H3> <P>óÍÏÔÒÉÔÅ <a href="http://www.postgresql.org/docs/faqs.FAQ_DEV.html"> FAQ ÄÌÑ ÒÁÚÒÁÂÏÔÞÉËÏ×</A>.</P> @@ -483,8 +488,10 @@ <H3><A name="item2.3">2.3</A>) åÓÔØ ÌÉ Õ PostgreSQL ÇÒÁÆÉÞÅÓËÉÊ ÉÎÔÅÒÆÅÊÓ ÐÏÌØÚÏ×ÁÔÅÌÑ?</H3> - <P>äÁ, ÐÏÄÒÏÂÎÏÓÔÉ ÓÍÏÔÒÉÔÅ × <a href="http://techdocs.postgresql.org/guides/GUITools"> - http://techdocs.postgresql.org/guides/GUITools</A>.</P> + <P>äÌÑ PostgreSQL ÓÕÝÅÓÔ×ÕÅÔ ÂÏÌØÛÏÅ ËÏÌÉÞÅÓÔ×Ï ÉÎÓÔÒÕÍÅÎÔÏ× Ó + ÇÒÁÆÉÞÅÓËÉÍ ÉÎÔÅÒÆÅÊÓÏÍ ËÁË ËÏÍÍÅÒÞÅÓËÉÈ, ÔÁË É ÏÔËÒÙÔÙÈ. ðÏÄÒÏÂÎÏÓÔÉ + ÍÏÖÎÏ ÎÁÊÔÉ × <a href="http://www.postgresql.org/docs/techdocs.54"> + äÏËÕÍÅÎÔÁÃÉÉ ÓÏÏÂÝÅÓÔ×Á PostgreSQL</A></P> <HR> @@ -549,7 +556,7 @@ <DT><B>÷ÙÂÏÒ "ÖÅÌÅÚÁ" - ÁÐÐÁÒÁÔÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ</B></DT> <DD>÷ÌÉÑÎÉÅ "ÖÅÌÅÚÁ" ÎÁ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ ÐÏÄÒÏÂÎÏ ÏÐÉÓÁÎÏ × - <A href="http://candle.pha.pa.us/main/writings/pgsql/hw_performance/index.html"> + <A href="http://momjian.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>. @@ -576,24 +583,27 @@ É ÐÅÒÅÓÔÁÒÔÏ×ÁÔØ <I>postmaster</I>.</P> - <H3><A name="item3.6">3.6</A>) ðÏÞÅÍÕ ÎÅÏÂÈÏÄÉÍÏ ÄÅÌÁÔØ dump É restore ÐÒÉ - ÏÂÎÏ×ÌÅÎÉÉ ×ÙÐÕÓËÏ× PostgreSQL?</H3> + <H3><A name="item3.6">3.6</A>) ëÁË ×ÙÐÏÌÎÉÔØ ÏÂÎÏ×ÌÅÎÉÅ PostgreSQL?</H3> + + <P>íÅÖÄÕ ÐÏÄ×ÙÐÕÓËÁÍÉ, ÒÁÚÒÁÂÏÔÞÉËÉ PostgreSQL ÄÅÌÁÀÔ ÔÏÌØËÏ ÉÓÐÒÁ×ÌÅÎÉÑ + ÏÛÉÂÏË. ôÁËÉÍ ÏÂÒÁÚÏÍ ÏÂÎÏ×ÌÅÎÉÅ Ó ×ÅÒÓÉÉ 7.4.8 ÄÏ 7.4.9 ÎÅ ÔÒÅÂÕÅÔ + ×ÙÐÏÌÎÅÎÉÑ dump É restore; ÄÏÓÔÁÔÏÞÎÏ ÏÓÔÁÎÏ×ÉÔØ ÓÅÒ×ÅÒ, ÕÓÔÁÎÏ×ÉÔØ + ÏÂÎÏ×Ì£ÎÎÙÅ ÆÁÊÌÙ óõâä É ÚÁÐÕÓÔÉÔØ ÓÅÒ×ÅÒ.</P> - <P>òÁÚÒÁÂÏÔÞÉËÉ PostgreSQL ÄÅÌÁÀÔ ÔÏÌØËÏ ÎÅÂÏÌØÛÉÅ ÉÚÍÅÎÅÎÉÑ ÍÅÖÄÕ - ÐÏÄ×ÙÐÕÓËÁÍÉ. ôÁËÉÍ ÏÂÒÁÚÏÍ ÏÂÎÏ×ÌÅÎÉÅ Ó ×ÅÒÓÉÉ 7.4.0 ÄÏ 7.4.1 ÎÅ ÔÒÅÂÕÅÔ - ×ÙÐÏÌÎÅÎÉÑ dump É restore. ïÄÎÁËÏ ÐÒÉ ×ÙÈÏÄÅ ÏÞÅÒÅÄÎÏÇÏ ×ÙÐÕÓËÁ + <P>÷ÓÅ ÐÏÌØÚÏ×ÁÔÅÌÉ ÄÏÌÖÎÙ ÂÙ ÏÂÎÏ×ÌÑÔØÓÑ ÎÁ ÎÁÉÂÏÌÅÅ Ó×ÅÖÕÀ ÐÏÄ×ÅÒÓÉÀ + ËÁË ÔÏÌØËÏ ÏÎÁ ÂÕÄÅÔ ÄÏÓÔÕÐÎÁ. ÷ ÔÏ ×ÒÅÍÑ ËÁË ËÁÖÄÏÅ ÏÂÎÏ×ÌÅÎÉÅ + ÐÏÄÒÁÚÕÍÅ×ÁÅÔ ÎÅËÏÔÏÒÙÊ ÒÉÓË, ÐÏÄ×ÅÒÓÉÉ PostgreSQL ÒÁÚÒÁÂÙÔÙ×ÁÀÔÓÑ ÔÏÌØËÏ + ÄÌÑ ÉÓÐÒÁ×ÌÅÎÉÑ ÏÂÝÉÈ ÏÛÉÂÏË Ó ÍÉÎÉÍÁÌØÎÙÍ ÒÉÓËÏÍ. ôÁËÉÍ ÏÂÒÁÚÏÍ, ×ÁÛ + ÒÉÓË Ó×ÑÚÁÎ ÔÏÌØËÏ Ó ÓÁÍÉÍ ÏÂÎÏ×ÌÅÎÉÅÍ.</P> + + + <P>ðÒÉ ×ÙÈÏÄÅ ÏÞÅÒÅÄÎÏÇÏ ×ÙÐÕÓËÁ (Ô.Å. ÐÒÉ ÏÂÎÏ×ÌÅÎÉÉ ÎÁÐÒÉÍÅÒ, Ó 7.3 ÎÁ 7.4) ÞÁÓÔÏ ÍÅÎÑÅÔÓÑ ×ÎÕÔÒÅÎÎÉÊ ÆÏÒÍÁÔ ÓÉÓÔÅÍÎÙÈ ÔÁÂÌÉÃ É ÆÁÊÌÏ× ÄÁÎÎÙÈ. üÔÉ ÉÚÍÅÎÅÎÉÑ ÞÁÓÔÏ ÎÏÓÑÔ - ËÏÍÐÌÅËÓÎÙÊ ÈÁÒÁËÔÅÒ, ÔÁË ÞÔÏ ÎÅÔ ×ÏÚÍÏÖÎÏÓÔÉ ÏÂÅÓÐÅÞÉÔØ ÏÂÒÁÔÎÕÀ - ÓÏ×ÍÅÓÔÉÍÏÓÔØ ÆÁÊÌÏ× ÄÁÎÎÙÈ. ÷ÙÐÏÌÅÎÉÅ dump ÐÏÚ×ÏÌÑÅÔ ÐÏÌÕÞÉÔØ ÄÁÎÎÙÅ - × ÏÂÝÅÍ ÆÏÒÍÁÔÅ, ËÏÔÏÒÙÊ ÚÁÔÅÍ ÍÏÖÅÔ ÂÙÔØ ÚÁÇÒÕÖÅÎ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ - ÎÏ×ÏÇÏ ×ÎÕÔÒÅÎÎÅÇÏ ÆÏÒÍÁÔÁ.</P> + ÓÌÏÖÎÙÊ ÈÁÒÁËÔÅÒ, ÔÁË ÞÔÏ ÍÙ ÎÅ ÏÂÓÌÕÖÉ×ÁÅÍ ÏÂÒÁÔÎÕÀ + ÓÏ×ÍÅÓÔÉÍÏÓÔØ ÄÌÑ ÆÁÊÌÏ× ÄÁÎÎÙÈ. ÷ ÜÔÉÈ ÓÌÕÞÁÑÈ ÄÌÑ ÏÂÎÏ×ÌÅÎÉÑ ÂÁÚÙ + ÄÁÎÎÙÈ ÔÒÅÂÕÅÔÓÑ ×ÙÐÏÌÎÉÔØ dump/restore.</P> - <P>÷ ÔÅÈ ×ÙÐÕÓËÁÈ, ÇÄÅ ÆÏÒÍÁÔ ÄÁÎÎÙÈ ÎÁ ÄÉÓËÅ ÎÅ ÍÅÎÑÅÔÓÑ, ÄÌÑ ÐÒÏ×ÅÄÅÎÉÑ - ÏÂÎÏ×ÌÅÎÉÑ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎ ÓÃÅÎÁÒÉÊ <i>pg_upgrade</i> ÂÅÚ - ÉÓÐÏÌØÚÏ×ÁÎÉÑ dump/restore. ëÏÍÍÅÎÔÁÒÉÉ Ë ×ÙÐÕÓËÕ ÇÏ×ÏÒÉÔ ËÏÇÄÁ ÍÏÖÎÏ - ÉÓÐÏÌØÚÏ×ÁÔØ <i>pg_upgrade</i> ÄÌÑ ÜÔÏÇÏ ×ÙÐÕÓËÁ.</P> - <H3><A name="item3.7">3.7</A>) ëÁËÏÅ ËÏÍÐØÀÔÅÒÎÏÅ "ÖÅÌÅÚÏ" Ñ ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØ?</H3> @@ -684,7 +694,7 @@ </TR> <TR> <TD>íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÓÔÒÏËÉ?</TD> - <TD>1.6 TB</TD> + <TD>400 Gb</TD> </TR> <TR> <TD>íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÐÏÌÑ?</TD> |