From 61c91fd2d22c97fd942ca67f458af5dc364f5fab Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 10 Oct 2006 00:29:15 +0000 Subject: [PATCH] Backpatch FAQs to 8.1.X. --- doc/FAQ | 59 +- doc/FAQ_AIX | 111 ++- doc/FAQ_DEV | 54 +- doc/FAQ_HPUX | 18 +- doc/FAQ_Solaris | 164 ++- doc/FAQ_japanese | 74 +- doc/FAQ_russian | 68 +- doc/src/FAQ/FAQ.html | 63 +- doc/src/FAQ/FAQ_DEV.html | 63 +- doc/src/FAQ/FAQ_chinese.html | 1750 ++++++++++++++++----------------- doc/src/FAQ/FAQ_japanese.html | 103 +- doc/src/FAQ/FAQ_russian.html | 74 +- 12 files changed, 1390 insertions(+), 1211 deletions(-) diff --git a/doc/FAQ b/doc/FAQ index 7a955d794e1..ce3ddad918a 100644 --- a/doc/FAQ +++ b/doc/FAQ @@ -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 -$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: +. 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 +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 -If you like Solaris packages, you can find these tools here: -http://www.sunfreeware.com +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: + + 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., +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., -LD_LIBRARY_PATH=/usr/local/lib:/usr/local/ssl/lib -export LD_LIBRARY_PATH + LD_LIBRARY_PATH=/usr/sfw/lib:/opt/sfw/lib:/usr/local/lib + export LD_LIBRARY_PATH -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. +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) ] -¾¦ÍÑ¥µ¥Ý¡¼¥È²ñ¼Ò¤Î¥ê¥¹¥È¤Ï 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 2.3) PostgreSQL ¤Ë¥°¥é¥Õ¥£¥«¥ë¡¦¥æ¡¼¥¶¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¤¢¤ê¤Þ¤¹¤«¡© -¤â¤Á¤í¤ó¡¢¤¢¤ê¤Þ¤¹¡£¾ÜºÙ¤Ï¡¢http://techdocs.postgresql.org/guides/GUITools ¤ò¤´ -¤é¤ó¤¯¤À¤µ¤¤¡£ +¾¦ÍѤȥª¡¼¥×¥ó¥½¡¼¥¹³«È¯¼Ô¤Ë¤è¤ë¤â¤ÎξÊý¤Ç¡¢PostgreSQL¤Ë¤Ï¿¤¯¤ÎGUI¥Ä¡¼¥ë¤¬ÍøÍÑ +²Äǽ¤Ç¡¢¾ÜºÙ¤Ê¥ê¥¹¥È¤Ï¡¢PostgreSQL¥³¥ß¥å¥Ë¥Æ¥£Ê¸½ñ¤Ç¤´¤é¤ó¤¯¤À¤µ¤¤¡£ ¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬ @@ -506,9 +508,9 @@ Web ¤ó¤¯¤À¤µ¤¤¡£ ¥Ï¡¼¥É¥¦¥§¥¢¤ÎÁªÄê - À­Ç½¤Ë¤ª¤±¤ë¥Ï¡¼¥É¥¦¥§¥¢¤Î±Æ¶Á¤Ï 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.0 ¤« -¤é 7.4.1 ¤Ø¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ë¤Ï¥À¥ó¥×¤È¥ê¥¹¥È¥¢¤ÎɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¤·¤«¤·¡¢¥á¥¸ -¥ã¡¼¥ê¥ê¡¼¥¹(¤¿¤È¤¨¤Ð¡¢7.2¤«¤é7.3¤Ø¤Î¤è¤¦¤Ê) ¤Ç¤Ï¡¢¥·¥¹¥Æ¥à¥Æ¡¼¥Ö¥ë¤ä¥Ç¡¼¥¿¥Õ¥¡ -¥¤¥ë¤ÎÆâÉô¥Õ¥©¡¼¥Þ¥Ã¥È¤ÎÊѹ¹¤ò¤·¤Ð¤·¤Ð¹Ô¤Ê¤¤¤Þ¤¹¡£¤³¤ì¤é¤ÎÊѹ¹¤Ï¤¿¤¤¤Æ¤¤Ê£»¨¤Ç -¡¢¤½¤Î¤¿¤á²æ¡¹¤Ï¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤Î¤¿¤á¤Î¸åÊý¸ß´¹À­¤ò°Ý»ý¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£¥À -¥ó¥×¤ÏÈÆÍÑ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¥Ç¡¼¥¿¤ò½ÐÎϤ·¡¢¤½¤ì¤ò¿·¤·¤¤ÆâÉô¥Õ¥©¡¼¥Þ¥Ã¥È¤ËÆÉ¤ß¹þ¤à -¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +PostgreSQL¥Á¡¼¥à¤Ï¥Þ¥¤¥Ê¡¼¥ê¥ê¡¼¥¹¤Ç¤Ï¥Ð¥°¤Î½¤Àµ¤·¤«¹Ô¤Ê¤¤¤Þ¤»¤ó¤Î¤Ç¡¢¤¿¤È¤¨¤Ð +7.4.8 ¤«¤é 7.4.9 ¤Ø¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ë¥À¥ó¥×¤È¥ê¥¹¥È¥¢¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£¤·¤¿¤¬¤Ã +¤Æ¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¥µ¡¼¥Ð¤ò°ì»þŪ¤ËÄä»ß¤·¤Æ¡¢¥¢¥Ã¥×¥Ç¡¼¥È¤·¤¿¥Ð¥¤¥Ê¥ê¤ò¥¤¥ó¥¹¥È¡¼ +¥ë¤·¡¢¤½¤·¤Æ¡¢¥µ¡¼¥Ð¤ò¥ê¥¹¥¿¡¼¥È¤¹¤ë¤À¤±¤Ç¤¹¡£ + +Á´¥æ¡¼¥¶¤Ï¤Ç¤­¤ë¤À¤±Á᤯ºÇ¿·¤Î¥Þ¥¤¥Ê¡¼¥ê¥ê¡¼¥¹¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ë¤Ù¤­¤Ç¤¹¡£¤¹ +¤Ù¤Æ¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ë¥ê¥¹¥¯¤Ï¤Ä¤­¤â¤Î¤Ç¤¹¤¬¡¢ PostgreSQL¤Î¥Þ¥¤¥Ê¡¼¥ê¥ê¡¼¥¹¤Ï¡¢ +¤Ê¤ë¤Ù¤¯¾®¤µ¤Ê¥ê¥¹¥¯¤Ç°ìÈÌŪ¤Ê¥Ð¥°¤Î½¤Àµ¤À¤±¤òÌÜÏÀ¤ó¤À¤â¤Î¤Ç¤¹¡£²æ¡¹¥³¥ß¥å¥Ë¥Æ +¥£¤ÎÃæ¤Ç¤Ï¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤Ê¤¤¤Û¤¦¤¬¤â¤Ã¤È¥ê¥¹¥¯¤¬¹â¤¤¤â¤Î¤È¹Í¤¨¤é¤ì¤Æ¤¤¤Þ¤¹¡£ + +¤·¤«¤·¡¢¥á¥¸¥ã¡¼¥ê¥ê¡¼¥¹¡Ê¤¿¤È¤¨¤Ð¡¢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 ) ¤³¤ÎFAQ¤ÎÏÂÌõ¤ÎºîÀ®¤Ë¤¢¤¿¤ê¶¨ÎϤò¤·¤Æ¤¯¤À¤µ¤Ã¤¿Êý¡¹(·É¾Î¤Ïά¤µ¤»¤Æ¤¤¤¿¤À¤­¤Þ¤¹): @@ -1007,7 +1017,7 @@ client_encoding Àаæ ãÉ×(Tatsuo ISHII ) óîÆ£ ÃοÍ(Tomohito SAITOH ) ÇϾì È¥(Hajime BABA ) - ²¬ËÜ °ì¹¬(Kazuyuki OKAMOTO ) + ²¬ËÜ °ì¹¬(Kazuyuki OKAMOTO ) ¾®¿û ¾¼°ì(Shoichi Kosuge ) »³²¼ µÁÇ·(Yoshiyuki YAMASHITA ) ¶­ ¿¿ÂÀϺ(Sintaro SAKAI ) 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. - 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. + 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. + + 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">

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) + "mailto:bruce@momjian.us">bruce@momjian.us)

The most recent version of this document can be viewed at 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 @@ -63,8 +63,7 @@ 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?
@@ -200,7 +199,7 @@ instructions.

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 http://pgfoundry.org/projects/pginstaller. MSDOS-based versions of Windows (Win95, Win98, WinMe) can run PostgreSQL using Cygwin.

@@ -218,7 +217,7 @@ 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.

@@ -241,8 +240,8 @@ (#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"> + http://www.postgresql.org/support/professional_support.

1.8) How do I submit a bug report?

@@ -472,9 +471,10 @@

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


@@ -544,11 +544,11 @@
Hardware Selection
-
The effect of hardware on performance is detailed in - http://candle.pha.pa.us/main/writings/pgsql/hw_performance/index.html and +
The effect of hardware on performance is detailed in - http://www.powerpostgresql.com/PerfList/. + http://www.powerpostgresql.com/PerfList/ and + http://momjian.us/main/writings/pgsql/hw_performance/index.html.

@@ -570,16 +570,23 @@ 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 +

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 outputs - data in a generic format that can then be loaded in using the new internal - format.

+ 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?

@@ -687,7 +694,7 @@ table?unlimited

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.

@@ -805,8 +812,8 @@ table?unlimited 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));
 
@@ -950,7 +957,7 @@ length

Every row that is created in PostgreSQL gets a unique OID unless created WITHOUT OIDS. - OIDs are autotomatically assigned unique 4-byte + 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 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 @@

Developer's Frequently Asked Questions (FAQ) for PostgreSQL

-

Last updated: Wed Mar 1 17:24:48 EST 2006

+

Last updated: Wed Sep 6 20:12:13 EDT 2006

Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
+ "mailto:bruce@momjian.us">bruce@momjian.us)

The most recent version of this document can be viewed at 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.) @@ -199,7 +199,7 @@ "#1.16">1.16.

  • 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.
  • If it is a performance patch, please provide confirming test @@ -222,7 +222,9 @@

    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?

    @@ -355,9 +357,9 @@ can be 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:
    @@ -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:
    -             */
     
    -
    - pgindent will the format code by specifying flags to your +

    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. + describes the value of a consistent coding style.

    pgindent 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

  • SQL:2003 http://www.wiscorp.com/sql/sql_2003_standard.zip
  • + "http://www.wiscorp.com/sql_2003_standard.zip">http://www.wiscorp.com/sql_2003_standard.zip

    Some SQL standards web pages are:

    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 @@ - - - - - PostgreSQL: PostgreSQL ³£¼ûÎÊÌ⣨FAQ£© - - - - - - -

    PostgreSQL ³£¼ûÎÊÌ⣨FAQ£©

    -

    -×î½ü¸üУº2005 Äê 06 Ô 02 ÈÕ ÐÇÆÚÎå 22:27:35 CST -

    -

    - Ŀǰά»¤ÈËÔ±£ºBruce Momjian (pgman@candle.pha.pa.us)
    - ÖÐÎİæÎ¬»¤ÈËÔ±£ºdoudou586 £¨doudou586_2005@yahoo.com.cn£© -

    -

    - ±¾ÎĵµµÄ×îа汾¿ÉÒÔÔÚ - http://www.postgresql.org/files/documentation/faqs/FAQ.html²é¿´¡£ -

    -

    - Óë²Ù×÷ϵͳƽ̨Ïà¹ØµÄÎÊÌâÔÚhttp://www.postgresql.org/docs/faq/Àï»Ø´ð¡£
    -

    -
    - -

    ³£¼ûÎÊÌâ

    - -

    -1.1)PostgreSQL ÊÇʲô£¿¸ÃÔõô·¢Òô£¿
    -1.2)PostgreSQL µÄ°æÈ¨ÊÇʲô£¿
    -1.3)PostgreSQL ¿ÉÒÔÔËÐÐÔÚÄÄЩ²Ù×÷ϵͳƽ̨ÉÏ£¿
    -1.4)ÎÒ´ÓÄÄÀïÄܵõ½ PostgreSQL£¿
    -1.5)ÎÒ´ÓÄÄÀïÄܵõ½¶Ô PostgreSQL µÄÖ§³Ö£¿
    -1.6)ÎÒÈçºÎÌá½»Ò»¸öBUG±¨¸æ£¿
    -1.7)×îаæµÄPostgreSQL ÊÇʲô£¿
    -1.8)Äܹ»»ñÈ¡µÄ×îÐÂÎĵµÓÐÄÄЩ£¿
    -1.9)ÎÒÈçºÎÁ˽âÒÑÖªµÄ BUG »òÔÝȱµÄ¹¦ÄÜ£¿
    -1.10)ÎÒÓ¦¸ÃÔõÑùѧϰ SQL £¿
    -1.11)ÎÒÓ¦¸ÃÔõÑù¼ÓÈ뿪·¢¶ÓÎ飿
    -1.12)PostgreSQL ºÍÆäËûÊý¾Ý¿âϵͳ±ÈÆðÀ´ÈçºÎ£¿
    -1.13)Ë­¿ØÖƺ͹ÜÀíPostgreSQL £¿ -

    - -

    Óû§¿Í»§¶ËÎÊÌâ

    -

    -2.1)ÎÒÃÇ¿ÉÒÔÓÃʲôÓïÑÔºÍ PostgreSQL ´ò½»µÀ£¿
    -2.2)ÓÐʲô¹¤¾ß¿ÉÒÔ°Ñ PostgreSQL ÓÃÓÚ Web Ò³Ãæ£¿
    -2.3)PostgreSQL ÓµÓÐͼÐÎÓû§½çÃæÂð£¿
    -

    - -

    ϵͳ¹ÜÀíÎÊÌâ

    -

    -3.1)ÎÒÔõÑù²ÅÄÜ°Ñ PostgreSQL ×°ÔÚ /usr/local/pgsql ÒÔÍâµÄµØ·½£¿
    -3.2)ÎÒÈçºÎ¿ØÖÆÀ´×ÔÆäËûÖ÷»úµÄÁ¬½Ó£¿
    -3.3)ÎÒÔõÑùµ÷ÕûÊý¾Ý¿âÒýÇæÒÔ»ñµÃ¸üºÃµÄÐÔÄÜ£¿
    -3.4)PostgreSQL Àï¿ÉÒÔ»ñµÃʲôÑùµÄµ÷ÊÔÌØÐÔ£¿
    -3.5)ΪʲôÔÚÊÔͼÁ¬½ÓµÇ¼ʱÊÕµ½¡°Sorry, too many clients¡± ÏûÏ¢£¿
    -3.6)ΪʲôҪÔÚÉý¼¶ PostgreSQL Ö÷Òª·¢²¼°æ±¾Ê±×ö dump ºÍ restore £¿
    -3.7)(ʹÓÃPostgreSQL)ÎÒÐèҪʹÓÃʲô¼ÆËã»úÓ²¼þ £¿
    -

    - -

    ²Ù×÷ÎÊÌâ

    -

    -4.1)ÈçºÎֻѡÔñÒ»¸ö²éѯ½á¹ûµÄÍ·¼¸ÐУ¿»òÊÇËæ»úµÄÒ»ÐУ¿
    -4.2)ÈçºÎ²é¿´±í¡¢Ë÷Òý¡¢Êý¾Ý¿âÒÔ¼°Óû§µÄ¶¨Ò壿ÈçºÎ²é¿´psqlÀïÓõ½µÄ²éѯָÁî²¢ÏÔʾËüÃÇ£¿
    -4.3)ÈçºÎ¸ü¸ÄÒ»¸ö×ֶεÄÊý¾ÝÀàÐÍ£¿
    -4.4)Ò»ÐмǼ£¬Ò»¸ö±í£¬Ò»¸ö¿âµÄ×î´ó³ß´çÊǶàÉÙ£¿
    -4.5)´æ´¢Ò»¸öµäÐ͵ÄÎı¾ÎļþÀïµÄÊý¾ÝÐèÒª¶àÉÙ´ÅÅ̿ռ䣿
    -4.6)ΪʲôÎҵIJéѯºÜÂý£¿ÎªÊ²Ã´ÕâЩ²éѯûÓÐÀûÓÃË÷Òý£¿
    -4.7)ÎÒÈçºÎ²ÅÄÜ¿´µ½²éѯÓÅ»¯Æ÷ÊÇÔõÑùÆÀ¹À´¦ÀíÎҵIJéѯµÄ£¿
    -4.8)ÎÒÔõÑù×öÕýÔò±í´ïʽËÑË÷ºÍ´óСдÎ޹صÄÕýÔò±í´ïʽ²éÕÒ£¿ÔõÑùÀûÓÃË÷Òý½øÐдóСдÎ޹زéÕÒ£¿
    -4.9)ÔÚÒ»¸ö²éѯÀÎÒÔõÑù¼ì²âÒ»¸ö×Ö¶ÎÊÇ·ñΪ NULL£¿ÎÒÈçºÎ²ÅÄÜ׼ȷÅÅÐò¶ø²»ÂÛij×Ö¶ÎÊÇ·ñº¬NULLÖµ£¿
    -4.10)¸÷ÖÖ×Ö·ûÀàÐÍÖ®¼äÓÐʲô²»Í¬£¿
    -4.11.1)ÎÒÔõÑù´´½¨Ò»¸öÐòÁкÅ/×Ô¶¯µÝÔöµÄ×ֶΣ¿
    -4.11.2)ÎÒÈçºÎ»ñµÃÒ»¸ö²åÈëµÄÐòÁкŵÄÖµ£¿
    -4.11.3)ʹÓà currval() »áµ¼ÖÂºÍÆäËûÓû§µÄÎÉÂÒÇé¿ö£¨race condition£©Âð£¿
    -4.11.4)Ϊʲô²»ÔÚÊÂÎñÒì³£ÖÐÖ¹ºóÖØÓÃÐòÁкÅÄØ£¿ÎªÊ²Ã´ÔÚÐòÁкÅ×ֶεÄȡֵÖдæÔÚ¼ä¶ÏÄØ£¿
    -4.12)ʲôÊÇ OID£¿Ê²Ã´ÊÇ CTID £¿
    -4.13)ΪʲôÎÒÊÕµ½´íÎóÐÅÏ¢¡°ERROR: Memory exhausted in AllocSetAlloc()¡±£¿
    -4.14)ÎÒÈçºÎ²ÅÄÜÖªµÀËùÔËÐÐµÄ PostgreSQL µÄ°æ±¾£¿
    -4.15)ÎÒÈçºÎ´´½¨Ò»¸öȱʡֵÊǵ±Ç°Ê±¼äµÄ×ֶΣ¿
    -4.16)ÈçºÎ½øÐÐ outer join £¨ÍâÁ¬½Ó£©£¿
    -4.17)ÈçºÎʹÓÃÉæ¼°¶à¸öÊý¾Ý¿âµÄ²éѯ£¿
    -4.18)ÈçºÎÈú¯Êý·µ»Ø¶àÐлò¶àÁУ¿
    -4.19)ΪʲôÎÒÔÚʹÓÃPL/PgSQLº¯Êý´æÈ¡ÁÙʱ±íʱ»áÊÕµ½´íÎóÐÅÏ¢¡°relation with OID ##### does not exist¡±£¿
    -4.20)ĿǰÓÐÄÄЩÊý¾Ý¸´ÖÆ·½°¸¿ÉÓã¿
    -

    - -
    - -

    ³£¼ûÎÊÌâ

    - -

    1.1)PostgreSQL ÊÇʲô£¿¸ÃÔõô·¢Òô£¿

    -

    -PostgreSQL ¶Á×÷ Post-Gres-Q-L£¬ÓÐʱºòÒ²¼ò³ÆÎªPostgres ¡£ -

    -

    - PostgreSQL ÊÇÃæÏòÄ¿±êµÄ¹ØÏµÊý¾Ý¿âϵͳ£¬Ëü¾ßÓд«Í³ÉÌÒµÊý¾Ý¿âϵͳµÄËùÓй¦ÄÜ£¬Í¬Ê±ÓÖº¬Óн«ÔÚÏÂÒ»´ú DBMS ϵͳµÄʹÓõÄÔöÇ¿ÌØÐÔ¡£ - PostgreSQL ÊÇ×ÔÓÉÃâ·ÑµÄ£¬²¢ÇÒËùÓÐÔ´´úÂë¶¼¿ÉÒÔ»ñµÃ¡£ -

    - -

    - PostgreSQL µÄ¿ª·¢¶ÓÎéÖ÷ҪΪ־ԸÕߣ¬ËûÃDZ鲼ÊÀ½ç¸÷µØ²¢Í¨¹ý»¥ÁªÍø½øÐÐÁªÏµ£¬ÕâÊÇÒ»¸öÉçÇø¿ª·¢ÏîÄ¿£¬Ëü²»±»Èκι«Ë¾¿ØÖÆ¡£ - ÈçÏë¼ÓÈ뿪·¢¶ÓÎ飬Çë²Î¼û¿ª·¢ÈËÔ±³£¼ûÎÊÌ⣨FAQ£© - http://www.postgresql.org/files/documentation/faqs/FAQ_DEV.html -

    - - -

    1.2)PostgreSQL µÄ°æÈ¨ÊÇʲô?

    -

    -PostgreSQLµÄ·¢²¼×ñ´Ó¾­µäµÄBSD°æÈ¨¡£¹ØÓÚÔ´´úÂëµÄÈçºÎʹÓÃûÓÐÈκÎÏÞÖÆ£¬ÎÒÃǺÜϲ»¶ÕâÖÖ·½Ê½²¢ÇÒ»¹Ã»ÓдòËã¸Ä±äËü¡£ -

    -

    -ÏÂÃæ¾ÍÊÇÎÒÃÇʹÓõÄBSD°æÈ¨ÄÚÈÝ£º -

    - -

    - ²¿·Ö°æÈ¨£¨c£©1996-2005£¬PostgreSQL È«Çò¿ª·¢Ð¡×飬²¿·Ö°æÈ¨£¨c£©1994-1996 ¼ÓÖÝ´óѧ¶­Ê -

    - -

    - £¨Portions copyright (c) 1996-2005, PostgreSQL Global Development Group Portions Copyright (c) 1994-6 Regents of the University of California£© -

    - -

    - ÔÊÐíΪÈκÎÄ¿µÄʹÓ㬿½±´£¬Ð޸ĺͷַ¢Õâ¸öÈí¼þºÍËüµÄÎĵµ¶ø²»ÊÕÈ¡ÈκηÑÓ㬠- ²¢ÇÒÎÞÐëÇ©ÊðÒò´Ë¶ø²úÉúµÄÖ¤Ã÷£¬Ç°ÌáÊÇÉÏÃæµÄ°æÈ¨ÉùÃ÷ºÍ±¾¶ÎÒÔ¼°ÏÂÃæÁ½¶ÎÎÄ×Ö³öÏÖÔÚËùÓп½±´ÖС£ -

    - -

    - £¨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.£© -

    - -

    - ÔÚÈκÎÇé¿öÏ£¬¼ÓÖÝ´óѧ¶¼²»³Ðµ£ÒòʹÓôËÈí¼þ¼°ÆäÎĵµ¶øµ¼ÖµĶÔÈκε±ÊÂÈ˵ÄÖ±½ÓµÄ£¬ - ¼ä½ÓµÄ£¬ÌØÊâµÄ£¬¸½¼ÓµÄ»òÕßÏà°é¶øÉúµÄË𻵣¬°üÀ¨ÀûÒæËðʧµÄÔðÈΣ¬¼´Ê¹¼ÓÖÝ´óѧÒѾ­½¨ÒéÁËÕâЩËðʧµÄ¿ÉÄÜÐÔʱҲÊÇÈç´Ë¡£ -

    - -

    - £¨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.£© -

    - -

    - ¼ÓÖÝ´óѧÃ÷È··ÅÆúÈκα£Ö¤£¬°üÀ¨µ«²»¾ÖÏÞÓÚÄ³Ò»ÌØ¶¨ÓÃ;µÄÉÌÒµºÍÀûÒæµÄÒþº¬±£Ö¤¡£ - ÕâÀïÌṩµÄÕâ·ÝÈí¼þÊÇ»ùÓÚ¡°µ±×÷ÊÇ¡±µÄ»ù´¡µÄ£¬Òò¶ø¼ÓÖÝ´óѧûÓÐÔðÈÎÌṩά»¤£¬Ö§³Ö£¬¸üУ¬ÔöÇ¿»òÕßÐ޸ĵķþÎñ¡£ -

    - -

    - £¨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.£©
    - -

    - -

    1.3)PostgreSQL ¿ÉÒÔÔËÐÐÔÚÄÄЩ²Ù×÷ϵͳƽ̨ÉÏ£¿

    - -

    - Ò»°ã˵À´£¬Ò»¸öÏÖ´úµÄ UNIX ¼æÈÝµÄÆ½Ì¨¶¼ÄÜÔËÐÐ PostgreSQL ¡£ÔÚ°²×°Ö¸ÄÏÀïÁгöÁË·¢²¼Ê±¾­¹ýÃ÷È·²âÊÔµÄÆ½Ì¨¡£ -

    - -

    - PostgreSQlÒ²¿ÉÒÔÖ±½ÓÔËÐÐÔÚ»ùÓÚ΢ÈíWindows-NTµÄ²Ù×÷ϵͳ£¬ÈçWin2000£¬WinXP ºÍ Win2003£¬ÒÑÖÆ×÷Íê³ÉµÄ°²×°°ü¿É´Ó - http://pgfoundry.org/projects/pginstallerÏÂÔØ£¬»ùÓÚMSDOSµÄWindows²Ù×÷ϵͳ - £¨Win95£¬Win98£¬WinMe£©ÐèҪͨ¹ýCygwinÄ£Äâ»·¾³ÔËÐÐPostgreSQL¡£ -

    - -

    - ͬʱҲÓÐÒ»¸öΪNovell Netware 6¿ª·¢µÄ°æ±¾¿É´Ó http://forge.novell.com »ñÈ¡£¬ÎªOS/2¿ª·¢µÄ°æ±¾¿É´Ó - - http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=postgreSQL&stype=all&sort=type&dir=%2F -

    - -

    1.4)ÎÒ´ÓÄÄÀïÄܵõ½ PostgreSQL£¿

    - -

    - ͨ¹ýä¯ÀÀÆ÷¿É´Óhttp://www.postgresql.org/ftp/ÏÂÔØ£¬Ò²¿Éͨ¹ýFTP£¬´Ó - ftp://ftp.PostgreSQL.org/pub/Õ¾µãÏÂÔØ¡£ -

    - - -

    1.5)ÎÒ´ÓÄÄÀïÄܵõ½¶Ô PostgreSQL µÄÖ§³Ö£¿

    -

    - PostgreSQLÉçÇøÍ¨¹ýÓʼþÁбíΪÆä´ó¶àÊýÓû§Ìṩ°ïÖú£¬¼ÓÈëÓʼþÁбíµÄÖ÷Õ¾µãÊÇ http://www.postgresql.org/community/lists/£¬Ò»°ãÇé¿öÏ£¬ÏȼÓÈëGeneral »ò BugÓʼþÁбíÊÇÒ»¸ö½ÏºÃµÄ¿ªÊ¼¡£ -

    - -

    - Ö÷ÒªµÄIRCƵµÀÊÇÔÚFreeNode(irc.freenode.net)µÄ#postgresql£¬ÎªÁËÁ¬ÉÏ´ËÆµµÀ£¬¿ÉÒÔʹÓÃUNIX³ÌÐòirc£¬ÆäÖ¸Áî¸ñʽ£º - irc -c '#postgresql' "$USER" irc.freenode.net £¬»òÕßʹÓÃÆäËûIRC¿Í»§¶Ë³ÌÐò¡£ÔÚ´ËÍøÂçÖл¹´æÔÚÒ»¸öPostgreSQLµÄÎ÷°àÑÀƵµÀ(#postgersql-es)ºÍ·¨ÓïÆµµÀ - (#postgresql-fr)¡£Í¬ÑùµØ£¬ÔÚEFNETÉÏÒ²ÓÐÒ»¸öPostgreSQLµÄ½»Á÷ƵµÀ¡£ -

    - -

    - ÉÌÒµÖ§³Ö¹«Ë¾µÄÁбíÔÚ http://techdocs.postgresql.org/companies.php¡£ -

    - - - -

    1.6)ÎÒÈçºÎÌá½»Ò»¸öBUG±¨¸æ£¿

    -

    - ¿É·ÃÎÊ http://www.postgresql.org/support/submitbug£¬ÌîдBugÉϱ¨±í¸ñ¼´¿É¡£ -

    - -

    - ͬÑùÒ²¿É·ÃÎÊftpÕ¾µãftp://ftp.PostgreSQL.org/pub/ ¼ì²éÓÐÎÞ¸üеÄPostgreSQL°æ±¾»ò²¹¶¡¡£ -

    - - - -

    1.7)×îаæµÄPostgreSQL ÊÇʲô£¿

    -

    - PostgreSQL ×îеİ汾Êǰ汾 8.0.2 £¨Òë×¢£ºÏÖ×îа汾Ϊ8.0.3£©¡£ -

    - -

    - ÎÒÃǼƻ®Ã¿Äê·¢²¼Ò»¸öÖ÷Òª°æ±¾£¬Ã¿¼¸¸öÔ·¢²¼Ò»¸öС°æ±¾¡£ -

    - - -

    1.8)Äܹ»»ñÈ¡µÄ×îÐÂÎĵµÓÐÄÄЩ£¿

    - -

    - PostgreSQL°üº¬´óÁ¿µÄÎĵµ£¬Ö÷ÒªÓÐһЩÊֲᣬÊÖ²áÒ³ºÍһЩµÄ²âÊÔÀý×Ó¡£²Î¼û /doc Ŀ¼£¨Òë×¢£ºÓ¦Îª $PGHOME/doc£©¡£ - Ä㻹¿ÉÒÔÔÚÏßä¯ÀÀ PostgreSQL µÄÊֲᣬÆäµØÖ·ÊÇ£ºhttp://www.PostgreSQL.org/docs¡£ -

    -

    - ÓÐÁ½±¾¹ØÓÚ PostgreSQL µÄÊéÔÚÏßÌṩ£¬ÔÚ - http://www.PostgreSQL.org/docs/awbook.html - ºÍ http://www.commandprompt.com/ppbook/ ¡£ - Ò²ÓдóÁ¿µÄPostgreSQLÊé¼®¿É¹©¹ºÂò£¬ÆäÖÐ×îΪÁ÷ÐеÄÒ»±¾ÊÇÓÉKorry Douglas±àдµÄ¡£ÔÚ - http://techdocs.PostgreSQL.org/techdocs/bookreviews.phpÉÏ - ÉÏÓдóÁ¿ÓйØPostgreSQLÊé¼®µÄ¼ò½é¡£ - ÔÚ http://techdocs.PostgreSQL.org/ÉÏÊÕ¼¯ÁËÓÐ¹Ø PostgreSQL µÄ´óÁ¿¼¼ÊõÎÄÕ¡£ -

    - -

    - ¿Í»§¶ËµÄÃüÁîÐгÌÐòpsqlÓÐһЩÒÔ \d ¿ªÍ·µÄÃüÁ¿ÉÏÔʾ¹ØÓÚÀàÐÍ£¬²Ù×÷·û£¬º¯Êý£¬»ã×ܵȵÄÐÅÏ¢£¬Ê¹Óà \? ¿ÉÒÔÏÔʾËùÓпÉÓõÄÃüÁî¡£ -

    - -

    - ÎÒÃÇµÄ web Õ¾µã°üº¬¸ü¶àµÄÎĵµ¡£ -

    - -

    1.9)ÎÒÈçºÎÁ˽âÒÑÖªµÄ BUG »òÔÝȱµÄ¹¦ÄÜ£¿

    -

    - PostgreSQL Ö§³ÖÒ»¸öÀ©Õ¹Á赀 SQL-92 µÄ×Ó¼¯¡£²ÎÔÄÎÒÃǵÄTODO ÁÐ±í£¬»ñȡһ¸öÒÑÖªBug£¬ÔÝȱµÄ¹¦Äܺͽ«À´µÄ¼Æ»®¡£ -

    - - -

    1.10)ÎÒÓ¦¸ÃÔõÑùѧϰ SQL £¿

    -

    - Ê×ÏÈ¿¼ÂÇÉÏÊöÌáµ½µÄÓëPostgreSQLÏà¹ØµÄÊé¼®£¬ÁíÍâÒ»±¾ÊÇTeach Yourself SQL in 21 Days, Second Edition£¬ - ÎÒÃǵÄÐí¶àÓû§Ï²»¶The Practical SQL Handbook Bowman, Judith S., et al., Addison-Wesley£¬ÆäËûµÄÔòϲ»¶ - The Complete Reference SQL, Groff et al., McGraw-Hill¡£ -

    - - -

    1.11)ÎÒÓ¦¸ÃÔõÑù¼ÓÈ뿪·¢¶ÓÎ飿

    -

    - Ïê¼û Developer's FAQ ¡£ -

    - - -

    1.12)PostgreSQL ºÍÆäËûÊý¾Ý¿âϵͳ±ÈÆðÀ´ÈçºÎ£¿

    -

    -ÆÀ¼ÛÈí¼þÓкü¸ÖÖ·½·¨£ºÌØÐÔ£¬ÐÔÄÜ£¬¿É¿¿ÐÔ£¬Ö§³ÖºÍ¼Û¸ñ¡£ -

    -
    -
    ÌØÐÔ
    -
    - PostgreSQL ÓµÓдóÐÍÉÌÓà DBMS Àï´ó¶àÊýÌØÐÔ£¬ - ÀýÈ磺ÊÂÎñ£¬×Ó²éѯ£¬´¥·¢Æ÷£¬ÊÓͼ£¬Íâ¼ü²Î¿¼ÍêÕûÐԺ͸´ÔÓµÄËøµÈ¡£ - ÎÒÃÇ»¹ÓÐһЩËüÃÇûÓеÄÌØÐÔ£¬ÈçÓû§¶¨ÒåÀàÐÍ£¬¼Ì³Ð£¬¹æÔòºÍ¶à°æ±¾²¢ÐпØÖÆÒÔ¼õÉÙËøµÄÕùÓõȡ£
    -
    - -
    ÐÔÄÜ
    -
    - PostgreSQL ºÍÆäËûÉÌÓúͿªÔ´µÄÊý¾Ý¿â¾ßÓÐÀàËÆµÄÐÔÄÜ¡£ - ¶ÔijЩ´¦ÀíËü±È½Ï¿ì£¬¶ÔÆäËûһЩ´¦ÀíËü±È½ÏÂý¡£ - ÓëÆäËûÊý¾Ý¿âÏà±È£¬ÎÒÃǵÄÐÔÄÜͨ³£ÔÚ +/- 10%Ö®¼ä¡£
    -
    - -
    ¿É¿¿ÐÔ
    -
    - ÎÒÃÇÖªµÀ DBMS ±ØÐëÊǿɿ¿µÄ£¬·ñÔòËü¾ÍÒ»µãÓö¼Ã»ÓС£ - ÎÒÃÇŬÁ¦×öµ½·¢²¼¾­¹ýÈÏÕæ²âÊԵģ¬Îȶ¨µÄ³ô³æ×îÉٵĴúÂ롣ÿ¸ö°æ±¾ÖÁÉÙÓÐÒ»¸öÔ嵀 beta - ²âÊÔʱ¼ä£¬²¢ÇÒÎÒÃǵķ¢²¼ÀúÊ·ÏÔʾÎÒÃÇ¿ÉÒÔÌṩÎȶ¨µÄ£¬Àι̵ģ¬¿ÉÓÃÓÚÉú²úʹÓõİ汾¡£ÎÒÃÇÏàÐÅ - ÔÚÕâ·½ÃæÎÒÃÇÓëÆäËûµÄÊý¾Ý¿âÈí¼þÊÇÏ൱µÄ¡£
    -
    - -
    Ö§³Ö
    -
    - ÎÒÃǵÄÓʼþÁбíÌṩһ¸ö·Ç³£´óµÄ¿ª·¢ÈËÔ±ºÍÓû§µÄ×éÒÔ°ïÖú½â¾öËùÅöµ½µÄÈκÎÎÊÌâ¡£ - ÎÒÃDz»Äܱ£Ö¤¿Ï¶¨Äܽâ¾öÎÊÌ⣬Ïà±È֮ϣ¬ÉÌÓà DBMS Ò²²¢²»ÊÇ×ÜÄܹ»Ìṩ½â¾ö·½·¨¡£ - Ö±½ÓÓ뿪·¢ÈËÔ±£¬Óû§Èº£¬ÊÖ²áºÍÔ´³ÌÐò½Ó´¥Áî PostgreSQL µÄÖ§³Ö±ÈÆäËû DBMS - »¹ÒªºÃ¡£»¹ÓÐһЩÉÌÒµÐÔµÄÔ¤°ü×°µÄÖ§³Ö£¬¿ÉÒÔ¸øÌṩ¸øÄÇЩÐèÒªµÄÈË¡££¨²ÎÔÄ FAQ Ìõ¿î 1.5 С½Ú£©
    -
    - -
    ¼Û¸ñ
    -
    - ÎÒÃǶÔÈκÎÓÃ;¶¼Ãâ·Ñ£¬°üÀ¨ÉÌÓúͷÇÉÌÓÃÄ¿µÄ¡£ - Äã¿ÉÒÔ²»¼ÓÏÞÖÆµØÏòÄãµÄ²úÆ·Àï¼ÓÈëÎÒÃǵĴúÂ룬³ýÁËÄÇЩÎÒÃÇÔÚÉÏÃæµÄ°æÈ¨ÉùÃ÷ÀïÉùÃ÷µÄ BSD ·ç¸ñµÄ°æÈ¨Íâ¡£ -
    - -
    - - -

    1.13)Ë­¿ØÖÆPostgreSQL £¿

    -

    - Èç¹ûÄãÔÚѰÕÒPostgreSQLµÄÕÆÃÅÈË£¬»òÊÇʲôÖÐÑëίԱ»á£¬»òÊÇʲôËùÊô¹«Ë¾£¬ÄãÖ»ÄÜ·ÅÆúÁË---ÒòΪһ¸öÒ²²»´æÔÚ£¬µ«ÎÒÃǵÄÈ·ÓÐÒ»¸ö - ίԱ»áºÍCVS¹ÜÀí×飬µ«ÕâЩ¹¤×÷×éµÄÉèÁ¢Ö÷ÒªÊÇΪÁ˽øÐйÜÀí¹¤×÷¶ø²»ÊǶÔPostgreSQL½øÐпØÖÆ£¬PostgreSQLÏîÄ¿ÊÇÓÉÈκÎÈ˾ù - ¿É²Î¼ÓµÄ¿ª·¢ÈËÔ±ÉçÇøºÍËùÓÐÓû§¿ØÖƵģ¬ÄãËùÐèÒª×öµÄ¾ÍÊǼÓÈëÓʼþÁÐ±í£¬²ÎÓëÌÖÂÛ¼´¿É£¨Òª²ÎÓëPostgreSQLµÄ¿ª·¢Ïê¼û - Developer's FAQ »ñÈ¡ÐÅÏ¢£©¡£ -

    - -
    - - -

    Óû§¿Í»§¶ËÎÊÌâ

    - -

    2.1)ÎÒÃÇ¿ÉÒÔÓÃʲôÓïÑÔºÍ PostgreSQL ´ò½»µÀ£¿

    -

    - PostgreSQL(ȱʡÇé¿ö)Ö»°²×°ÓÐCºÍÄÚǶʽCµÄ½Ó¿Ú£¬ÆäËûµÄ½Ó¿Ú¶¼ÊǶÀÁ¢µÄÏîÄ¿£¬Äܹ»·Ö±ðÏÂÔØ£¬ÕâЩ½Ó¿ÚÏîÄ¿¶ÀÁ¢µÄºÃ´¦ - ÊÇËûÃÇ¿ÉÒÔÓи÷×Եķ¢²¼¼Æ»®ºÍ¸÷×Ô¶ÀÁ¢µÄ¿ª·¢×é¡£ -

    -

    - һЩ±à³ÌÓïÑÔÈçPHP¶¼ÓзÃÎÊ PostgreSQL µÄ½Ó¿Ú£¬Perl,TCL,PythonÒÔ¼°ºÜ¶àÆäËûÓïÑԵĽӿÚÔÚ - http://gborg.postgresql.org ÉϵÄDrivers/InterfacesС½Ú¿ÉÕÒµ½£¬ - ²¢ÇÒͨ¹ýInternetºÜÈÝÒ×ËÑË÷µ½¡£ -

    - - - -

    2.2)ÓÐʲô¹¤¾ß¿ÉÒÔ°Ñ PostgreSQL ÓÃÓÚ Web Ò³Ãæ£¿

    -

    - Ò»¸ö½éÉÜÒÔÊý¾Ý¿âΪºǫ́µÄͦ²»´íµÄÕ¾µãÊÇ£ºhttp://www.webreview.com¡£ -

    -

    - ¶ÔÓÚ Web ¼¯³É£¬PHP ÊÇÒ»¸ö¼«ºÃµÄ½Ó¿Ú¡£ËüÔÚ£ºhttp://www.php.net/¡£ -

    -

    - ¶ÔÓÚ¸´ÔÓµÄÈÎÎñ£¬ºÜ¶àÈ˲ÉÓà Perl ½Ó¿ÚºÍ CGI.pm »ò mod_perl ¡£ -

    - - -

    2.3)PostgreSQL ÓµÓÐͼÐÎÓû§½çÃæÂð£¿

    -

    - Êǵģ¬ÔÚ http://techdocs.postgresql.org/guides/GUIToolsÓÐÒ»¸öÏêϸµÄÁÐ±í¡£ -

    - - - -
    - -

    ϵͳ¹ÜÀíÎÊÌâ

    - -

    3.1)ÎÒÔõÑùÄÜ°Ñ PostgreSQL ×°ÔÚ /usr/local/pgsql ÒÔÍâµÄµØ·½£¿

    -

    - ÔÚÔËÐÐ configure ʱ¼ÓÉÏ --prefix Ñ¡Ïî¡£ -

    - - -

    3.2)ÎÒÈçºÎ¿ØÖÆÀ´×ÔÆäËûÖ÷»úµÄÁ¬½Ó£¿

    -

    - ȱʡʱ£¬PostgreSQL Ö»ÔÊÐíͨ¹ý unix ÓòÌ×½Ó×Ö»òTCP/IP·½Ê½ÇÒÀ´×Ô±¾»úµÄÁ¬½Ó¡£ - ÄãÖ»ÓÐÔÚÐÞ¸ÄÁËÅäÖÃÎļþpostgresql.confÖеÄlisten_addresses£¬ÇÒÒ²ÔÚÅäÖÃÎļþpg_hba.confÖдò¿ªÁË - Ö÷»úΪ»ù´¡£¨ host-based £©µÄÉí·ÝÈÏÖ¤£¬²¢ÖØÐÂÆô¶¯PostgreSQL£¬·ñÔòÆäËû»úÆ÷ÊDz»ÄÜÓëÄãµÄPostgreSQL·þÎñÆ÷Á¬½ÓµÄ¡£ -

    - - -

    3.3)ÎÒÔõÑùµ÷ÕûÊý¾Ý¿âÒýÇæÒÔ»ñµÃ¸üºÃµÄÐÔÄÜ£¿

    -

    - ÓÐÈý¸öÖ÷Òª·½Ãæ¿ÉÒÔÌáÉýPostgreSQLµÄDZÄÜ¡£ -

    - -
    -
    ²éѯ·½Ê½µÄ±ä»¯
    -
    - ÕâÖ÷񻃾¼°Ð޸IJéѯ·½Ê½ÒÔ»ñÈ¡¸üºÃµÄÐÔÄÜ: -
      -
    • ´´½¨Ë÷Òý£¬°üÀ¨±í´ïʽºÍ²¿·ÖË÷Òý£»
    • -
    • ʹÓÃCOPYÓï¾ä´úÌæ¶à¸öInsertÓï¾ä£»
    • -
    • ½«¶à¸öSQLÓï¾ä×é³ÉÒ»¸öÊÂÎñÒÔ¼õÉÙÌá½»ÊÂÎñµÄ¿ªÏú£»
    • -
    • ´ÓÒ»¸öË÷ÒýÖÐÌáÈ¡¶àÌõ¼Ç¼ʱʹÓÃCLUSTER£»
    • -
    • ´ÓÒ»¸ö²éѯ½á¹ûÖÐÈ¡³ö²¿·Ö¼Ç¼ʱʹÓÃLIMIT£»
    • -
    • ʹÓÃÔ¤±àÒëʽ²éѯ£¨Prepared Query)£»
    • -
    • ʹÓÃANALYZEÒÔ±£³Ö¾«È·µÄÓÅ»¯Í³¼Æ£»
    • -
    • ¶¨ÆÚʹÓà VACUUM »ò pg_autovacuum
    • -
    • ½øÐдóÁ¿Êý¾Ý¸ü¸ÄʱÏÈɾ³ýË÷Òý£¨È»ºóÖØ½¨Ë÷Òý£©
    • -
    -
    - -
    ·þÎñÆ÷µÄÅäÖÃ
    -
    - ÅäÖÃÎļþpostgres.confÖеĺܶàÉèÖö¼»áÓ°ÏìÐÔÄÜ£¬ËùÓвÎÊýµÄÁбí¿É¼û£º - Administration Guide/Server Run-time Environment/Run-time Configuration£¬ - ÓйزÎÊýµÄ½âÊͿɼû£º - http://www.varlena.com/varlena/GeneralBits/Tidbits/annotated_conf_e.html ºÍ - http://www.varlena.com/varlena/GeneralBits/Tidbits/perf.html¡£ -
    - -
    Ó²¼þµÄÑ¡Ôñ
    -
    - ¼ÆËã»úÓ²¼þ¶ÔÐÔÄܵÄÓ°Ïì¿Éä¯ÀÀ - http://candle.pha.pa.us/main/writings/pgsql/hw_performance/index.html ºÍ - http://www.powerpostgresql.com/PerfList/¡£ -
    - -
    - - -

    3.4)PostgreSQL Àï¿ÉÒÔ»ñµÃʲôÑùµÄµ÷ÊÔÌØÐÔ£¿

    -

    - PostgreSQL ÓкܶàÀàËÆ log_* µÄ·þÎñÆ÷ÅäÖñäÁ¿¿ÉÓÃÓÚ²éѯµÄ´òÓ¡ºÍ½ø³Ìͳ¼Æ£¬¶øÕâЩ¹¤×÷¶Ôµ÷ÊÔºÍÐÔÄܲâÊÔºÜÓаïÖú¡£ -

    - - - -

    3.5)ΪʲôÔÚÊÔͼÁ¬½ÓʱÊÕµ½¡°Sorry, too many clients¡±ÏûÏ¢£¿

    -

    - Õâ±íʾÄãÒѴﵽȱʡ100¸ö²¢·¢ºǫ́½ø³ÌÊýµÄÏÞÖÆ£¬ÄãÐèҪͨ¹ýÐÞ¸Äpostgresql.confÎļþÖеÄmax_connectionsÖµÀ´ - Ôö¼ÓpostmasterµÄºǫ́²¢·¢´¦ÀíÊý£¬Ð޸ĺóÐèÖØÐÂÆô¶¯postmaster¡£ -

    - - -

    3.6)ΪʲôҪÔÚÉý¼¶ PostgreSQL Ö÷Òª·¢²¼°æ±¾Ê±×ö dump ºÍ restore £¿

    -

    - PostgreSQL ¿ª·¢×é¶Ôÿ´ÎСµÄÉý¼¶½ö×öÁ˽ÏÉÙµÄÐ޸ģ¬Òò´Ë´Ó 7.4.0 Éý¼¶µ½ 7.4.1 ²»ÐèÒª dump ºÍ restore¡£ - µ«ÊÇÖ÷ÒªµÄÉý¼¶£¨ÀýÈç´Ó 7.3 µ½ 7.4£©Í¨³£»áÐÞ¸Äϵͳ±íºÍÊý¾Ý±íµÄÄÚ²¿¸ñʽ¡£ - ÕâЩ±ä»¯Ò»°ã±È½Ï¸´ÔÓ£¬Òò´ËÎÒÃDz»Î¬Êý¾ÝÎļþµÄÏòºó¼æÈÝ¡£ - dump ½«Êý¾Ý°´ÕÕͨÓõĸñʽÊä³ö£¬Ëæºó¿ÉÒÔ±»ÖØÐ¼ÓÔØ²¢Ê¹ÓÃеÄÄÚ²¿¸ñʽ¡£ -

    - -

    3.7)(ʹÓÃPostgreSQL)ÎÒÐèҪʹÓÃʲô¼ÆËã»úÓ²¼þ £¿

    -

    - ÓÉÓÚ¼ÆËã»úÓ²¼þ´ó¶àÊýÊǼæÈݵģ¬ÈËÃÇ×ÜÊÇÇãÏòÓÚÏàÐÅËùÓмÆËã»úÓ²¼þÖÊÁ¿Ò²ÊÇÏàͬµÄ¡£ÊÂʵÉϲ»ÊÇ£¬ - ECC RAM£¨´øÆæÅ¼Ð£ÑéµÄÄڴ棩£¬SCSI £¨Ó²ÅÌ£©ºÍÓÅÖʵÄÖ÷°å±ÈһЩ±ãÒË»õÒª¸ü¼Ó¿É¿¿ÇÒ¾ßÓиüºÃµÄÐÔÄÜ¡£PostgreSQL¼¸ºõ¿ÉÒÔÔËÐÐÔÚÈκÎÓ²¼þÉÏ£¬ - µ«Èç¹û¿É¿¿ÐÔºÍÐÔÄܶÔÄãµÄϵͳºÜÖØÒª£¬Äã¾ÍÐèÒªÈ«ÃæµÄÑо¿Ò»ÏÂÄãµÄÓ²¼þÅäÖÃÁË¡£ÔÚÎÒÃǵÄÓʼþÁбíÉÏÒ²ÓйØÓÚ - Ó²¼þÅäÖúÍÐԼ۱ȵÄÌÖÂÛ¡£ -

    - - -
    - -

    ²Ù×÷ÎÊÌâ

    - - -

    4.1)ÈçºÎֻѡÔñÒ»¸ö²éѯ½á¹ûµÄÍ·¼¸ÐУ¿»òÊÇËæ»úµÄÒ»ÐУ¿

    -

    - Èç¹ûÄãÖ»ÊÇÒªÌáÈ¡¼¸ÐÐÊý¾Ý£¬²¢ÇÒÄãÔÚÖ´ÐвéѯÖÐÖªµÀÈ·ÇеÄÐÐÊý£¬Äã¿ÉÒÔʹÓÃLIMIT¹¦ÄÜ¡£ - Èç¹ûÓÐÒ»¸öË÷ÒýÓë ORDER BYÖеÄÌõ¼þÆ¥Å䣬PostgreSQL ¿ÉÄܾÍÖ»´¦ÀíÒªÇóµÄÍ·¼¸Ìõ¼Ç¼£¬ - £¨·ñÔò½«¶ÔÕû¸ö²éѯ½øÐд¦ÀíÖ±µ½Éú³ÉÐèÒªµÄÐУ©¡£Èç¹ûÔÚÖ´Ðвéѯ¹¦ÄÜʱ²»ÖªµÀÈ·ÇеļǼÊý£¬ - ¿ÉʹÓÃÓαê(cursor)ºÍFETCH¹¦ÄÜ¡£ -

    -

    - ¿ÉʹÓÃÒÔÏ·½·¨ÌáȡһÐÐËæ»ú¼Ç¼µÄ£º -

    -
    -		SELECT  cols
    -		FROM tab
    -		ORDER BY random()
    -		LIMIT 1 ;
    -
    - - - -

    4.2)ÈçºÎ²é¿´±í¡¢Ë÷Òý¡¢Êý¾Ý¿âÒÔ¼°Óû§µÄ¶¨Ò壿ÈçºÎ²é¿´psqlÀïÓõ½µÄ²éѯָÁî²¢ÏÔʾËüÃÇ£¿

    -

    - ÔÚpsqlÖÐʹÓà \dt ÃüÁîÀ´ÏÔʾÊý¾Ý±íµÄ¶¨Ò壬ҪÁ˽âpsqlÖеÄÍêÕûÃüÁîÁбí¿ÉʹÓÃ\? £¬ÁíÍ⣬ÄãÒ²¿ÉÒÔÔĶÁ psql µÄÔ´´úÂë - Îļþpgsql/src/bin/psql/describe.c£¬Ëü°üÀ¨ÎªÉú³Épsql·´Ð±¸ÜÃüÁîµÄÊä³öµÄËùÓÐ SQL ÃüÁî¡£Ä㻹¿ÉÒÔ´ø -E Ñ¡ÏîÆô¶¯ psql£¬ - ÕâÑùËü½«´òÓ¡³öÖ´ÐÐÄãÔÚpsqlÖÐËù¸ø³öµÄÃüÁîµÄÄÚ²¿Êµ¼ÊʹÓõÄSQL²éѯ¡£PostgreSQLÒ²ÌṩÁËÒ»¸ö¼æÈÝSQLµÄINFORMATION SCHEMA½Ó¿Ú£¬ - Äã¿ÉÒÔ´ÓÕâÀï»ñÈ¡¹ØÓÚÊý¾Ý¿âµÄÐÅÏ¢¡£ -

    -

    - ÔÚϵͳÖÐÓÐһЩÒÔpg_ ´òÍ·µÄϵͳ±íÒ²ÃèÊöÁ˱íµÄ¶¨Òå¡£ -

    -

    - ʹÓà psql -l Ö¸Áî¿ÉÒÔÁгöËùÓеÄÊý¾Ý¿â¡£ -

    -

    - Ò²¿ÉÒÔä¯ÀÀһϠpgsql/src/tutorial/syscat.sourceÎļþ£¬ËüÁоÙÁ˺ܶà¿É´ÓÊý¾Ý¿âϵͳ±íÖлñÈ¡ÐÅÏ¢µÄSELECTÓï·¨¡£ -

    - - -

    4.3)ÈçºÎ¸ü¸ÄÒ»¸ö×ֶεÄÊý¾ÝÀàÐÍ£¿

    -

    - ÔÚ8.0°æ±¾Àï¸ü¸ÄÒ»¸ö×ֶεÄÊý¾ÝÀàÐͺÜÈÝÒ×£¬¿ÉʹÓà ALTER TABLE ALTER COLUMN TYPE ¡£ -

    -

    - ÔÚÒÔǰµÄ°æ±¾ÖУ¬¿ÉÒÔÕâÑù×ö£º -

    -
    -	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;
    -
    -

    - ÄãÈ»ºó¿ÉÒÔʹÓÃVACUUM FULL tab Ö¸ÁîÀ´Ê¹ÏµÍ³ÊÕ»ØÎÞЧÊý¾ÝËùÕ¼ÓõĿռ䡣 -

    - -

    4.4)Ò»ÐмǼ£¬Ò»¸ö±í£¬Ò»¸ö¿âµÄ×î´ó³ß´çÊǶàÉÙ£¿

    -

    - ÏÂÃæÊÇһЩÏÞÖÆ£º -

    -
    - - - - - - - - - - -
    Ò»¸öÊý¾Ý¿â×î´ó³ß´ç£¿ÎÞÏÞÖÆ£¨ÒÑ´æÔÚÓÐ 32TB µÄÊý¾Ý¿â£©
    Ò»¸ö±íµÄ×î´ó³ß´ç£¿32 TB
    Ò»ÐмǼµÄ×î´ó³ß´ç£¿1.6 TB
    Ò»¸ö×ֶεÄ×î´ó³ß´ç?1 GB
    Ò»¸ö±íÀï×î´óÐÐÊý£¿ÎÞÏÞÖÆ
    Ò»¸ö±íÀï×î´óÁÐÊý£¿250-1600 £¨ÓëÁÐÀàÐÍÓйأ©
    Ò»¸ö±íÀïµÄ×î´óË÷ÒýÊýÁ¿£¿ÎÞÏÞÖÆ
    -
    - -

    - µ±È»£¬Êµ¼ÊÉÏûÓÐÕæÕýµÄÎÞÏÞÖÆ£¬»¹ÊÇÒªÊÜ¿ÉÓôÅÅ̿ռ䡢¿ÉÓÃÄÚ´æ/½»»»ÇøµÄÖÆÔ¼¡£ - ÊÂʵÉÏ£¬µ±ÕâЩÊýÖµ±äµÃÒì³£µØ´óʱ£¬ÏµÍ³ÐÔÄÜÒ²»áÊܴܺóÓ°Ïì¡£ -

    - -

    - ±íµÄ×î´ó³ß´ç 32 TB ²»ÐèÒª²Ù×÷ϵͳ¶Ô´óÎļþµÄÖ§³Ö¡£´ó±íÓöà¸ö 1 GB µÄÎļþ´æ´¢£¬Òò´ËÎļþϵͳ³ß´çµÄÏÞÖÆÊDz»ÖØÒªµÄ¡£ -

    -

    - Èç¹ûȱʡµÄ¿é´óСÔö³¤µ½ 32K £¬×î´óµÄ±í³ß´çºÍ×î´óÁÐÊý»¹¿ÉÒÔÔö¼Óµ½Ëı¶¡£ -

    - - -

    4.5)´æ´¢Ò»¸öµäÐ͵ÄÎı¾ÎļþÀïµÄÊý¾ÝÐèÒª¶àÉÙ´ÅÅ̿ռ䣿

    -

    - Ò»¸ö Postgres Êý¾Ý¿â£¨´æ´¢Ò»¸öÎı¾Îļþ£©ËùÕ¼ÓõĿռä×î¶à¿ÉÄÜÐèÒªÏ൱ÓÚÕâ¸öÎı¾Îļþ×ÔÉí´óС5±¶µÄ´ÅÅ̿ռ䡣 -

    -

    - ÀýÈ磬¼ÙÉèÓÐÒ»¸ö 100,000 ÐеÄÎļþ£¬Ã¿ÐÐÓÐÒ»¸öÕûÊýºÍÒ»¸öÎı¾ÃèÊö¡£ - ¼ÙÉèÎı¾´®µÄƽ¾ù³¤¶ÈΪ20×Ö½Ú¡£Îı¾ÎļþÕ¼Óà 2.8 MB¡£´æ·ÅÕâЩÊý¾ÝµÄ PostgreSQL Êý¾Ý¿âÎļþ´óÔ¼ÊÇ 6.4 MB: -

    -
    -     32 ×Ö½Ú: ÿÐеÄÍ·£¨¹À¼ÆÖµ£©
    -     24 ×Ö½Ú: Ò»¸öÕûÊýÐÍ×ֶκÍÒ»¸öÎı¾ÐÍ×Ö¶Î
    -   +  4 ×Ö½Ú: Ò³ÃæÄÚÖ¸ÏòÔª×éµÄÖ¸Õë
    -   ----------------------------------------
    -     60 ×Ö½ÚÿÐÐ
    -
    -   PostgreSQL Êý¾ÝÒ³µÄ´óСÊÇ 8192 ×Ö½Ú (8 KB)£¬Ôò£º
    -
    -   8192 ×Ö½Úÿҳ
    -   -------------------   =  136 ÐÐ/Êý¾ÝÒ³£¨ÏòÏÂÈ¡Õû£©
    -     60 ×Ö½ÚÿÐÐ
    -
    -   100000 Êý¾ÝÐÐ
    -   --------------------  =  735 Êý¾ÝÒ³£¨ÏòÉÏÈ¡Õû£©
    -      128 ÐÐÿҳ
    -
    -   735 Êý¾ÝÒ³ * 8192 ×Ö½Ú/Ò³  =  6,021,120 ×Ö½Ú£¨6 MB£©
    -
    - -

    - Ë÷Òý²»ÐèÒªÕâô¶àµÄ¶îÍâÏûºÄ£¬µ«Ò²È·Êµ°üÀ¨±»Ë÷ÒýµÄÊý¾Ý£¬Òò´ËËüÃÇÒ²¿ÉÄÜºÜ´ó¡£ -

    -

    - ¿ÕÖµNULL´æ·ÅÔÚλͼÖУ¬Òò´ËÕ¼ÓúÜÉٵĿռ䡣 -

    - -

    4.6)ΪʲôÎҵIJéѯºÜÂý£¿ÎªÊ²Ã´ÕâЩ²éѯûÓÐÀûÓÃË÷Òý£¿

    -

    - ²¢·Çÿ¸ö²éѯ¶¼»á×Ô¶¯Ê¹ÓÃË÷Òý¡£Ö»ÓÐÔÚ±íµÄ´óС³¬¹ýÒ»¸ö×îСֵ£¬²¢ÇÒ²éѯֻ»áÑ¡ÖбíÖнÏС±ÈÀýµÄ¼Ç¼ʱ²Å»á²ÉÓÃË÷Òý¡£ - ÕâÊÇÒòΪË÷ÒýɨÃèÒýÆðµÄËæ¼´´ÅÅÌ´æÈ¡¿ÉÄܱÈÖ±½ÓµØ¶ÁÈ¡±í£¨Ë³ÐòɨÃ裩¸üÂý¡£ -

    -

    - ΪÁËÅжÏÊÇ·ñʹÓÃË÷Òý£¬PostgreSQL±ØÐë»ñµÃÓйرíµÄͳ¼ÆÖµ¡£ÕâЩͳ¼ÆÖµ¿ÉÒÔʹÓà VACUUM ANALYZE£¬»ò ANALYZE »ñµÃ¡£ - ʹÓÃͳ¼ÆÖµ£¬ÓÅ»¯Æ÷ÖªµÀ±íÖÐÓжàÉÙÐУ¬¾ÍÄܹ»¸üºÃµØÅжÏÊÇ·ñÀûÓÃË÷Òý¡£ - ͳ¼ÆÖµ¶ÔÈ·¶¨ÓÅ»¯µÄÁ¬½Ó˳ÐòºÍÁ¬½Ó·½·¨Ò²ºÜÓÐÓá£ÔÚ±íµÄÄÚÈÝ·¢Éú±ä»¯Ê±£¬Ó¦¶¨ÆÚ½øÐÐͳ¼ÆÖµµÄ¸üÐÂÊÕ¼¯¡£ -

    -

    - Ë÷Òýͨ³£²»ÓÃÓÚ ORDER BY »òÖ´ÐÐÁ¬½Ó¡£¶ÔÒ»¸ö´ó±íµÄÒ»´Î˳ÐòɨÃ裬ÔÙ×öÒ»¸öÏÔʽµÄÅÅÐòͨ³£±ÈË÷ÒýɨÃèÒª¿ì¡£ -

    - -

    - µ«ÊÇ£¬ÔÚ LIMIT ºÍ ORDER BY ½áºÏʹÓÃʱ¾­³£»áʹÓÃË÷Òý£¬ÒòΪÕâÖ»»á·µ»Ø±íµÄһС²¿·Ö¡£ - ʵ¼ÊÉÏ£¬ËäÈ» MAX() ºÍ MIN() ²¢²»Ê¹ÓÃË÷Òý£¬Í¨¹ý¶Ô - ORDER BY ºÍ LLIMIT ʹÓÃË÷ÒýÈ¡µÃ×î´óÖµºÍ×îСֵҲÊÇ¿ÉÒԵģº -

    -
    -	SELECT col
    -	FROM tab
    -	ORDER BY col [ DESC ]
    -	LIMIT 1;
    -
    -

    - Èç¹ûÄãÈ·ÐÅPostgreSQLµÄÓÅ»¯Æ÷ʹÓÃ˳ÐòɨÃèÊDz»ÕýÈ·µÄ£¬Äã¿ÉÒÔʹÓÃSET enable_seqscan TO 'off'Ö¸Á - È»ºóÔÙ´ÎÔËÐвéѯ£¬Äã¾Í¿ÉÒÔ¿´³öʹÓÃÒ»¸öË÷ÒýɨÃèÊÇ·ñȷʵҪ¿ìһЩ¡£ -

    - -

    - µ±Ê¹ÓÃͨÅä·û²Ù×÷£¬ÀýÈç LIKE »ò ~ ʱ£¬Ë÷ÒýÖ»ÄÜÔÚÌØ¶¨µÄÇé¿öÏÂʹÓ㺠-

    -
      -
    • ×Ö·û´®µÄ¿ªÊ¼²¿·Ö±ØÐëÊÇÆÕͨ×Ö·û´®£¬Ò²¾ÍÊÇ˵£º -
        -
      • LIKE ģʽ²»ÄÜÒÔ % ´òÍ·¡£
      • -
      • ~ £¨ÕýÔò±í´ïʽ£©Ä£Ê½±ØÐëÒÔ ^ ´òÍ·¡£
      • -
      -
    • -
    • ×Ö·û´®²»ÄÜÒÔÆ¥Åä¶à¸ö×Ö·ûµÄģʽÀà´òÍ·£¬ÀýÈç [a-e]¡£
    • -
    • ´óСдÎ޹صIJéÕÒ£¬Èç ILIKE ºÍ ~* µÈ²»Ê¹ÓÃË÷Òý£¬µ«¿ÉÒÔÓà 4.8 ½ÚÃèÊöµÄº¯ÊýË÷Òý¡£
    • -
    • ÔÚ×ö initdb ʱ±ØÐë²ÉÓÃȱʡµÄ±¾µØÉèÖà C locale£¬ÒòΪϵͳ²»¿ÉÄÜÖªµÀÔÚ·ÇC localeÇé¿öʱÏÂÒ»¸ö×î´ó×Ö·ûÊÇʲô¡£ - ÔÚÕâÖÖÇé¿öÏ£¬Äã¿ÉÒÔ´´½¨Ò»¸öÌØÊâµÄtext_pattern_opsË÷ÒýÀ´ÓÃÓÚLIKEµÄË÷Òý¡£ -
    • -
    -

    - ÔÚ8.0֮ǰµÄ°æ±¾ÖУ¬³ý·ÇÒª²éѯµÄÊý¾ÝÀàÐͺÍË÷ÒýµÄÊý¾ÝÀàÐÍÏàÆ¥Å䣬·ñÔòË÷Òý¾­³£ÊÇδ±»Óõ½£¬ÌرðÊǶÔint2,int8ºÍÊýÖµÐ͵ÄË÷Òý¡£ -

    - -

    4.7)ÎÒÈçºÎ²ÅÄÜ¿´µ½²éѯÓÅ»¯Æ÷ÊÇÔõÑùÆÀ¹À´¦ÀíÎҵIJéѯ£¿

    -

    - ²Î¿¼ EXPLAIN ÊÖ²áÒ³¡£ -

    - -

    4.8)ÎÒÔõÑù×öÕýÔò±í´ïʽËÑË÷ºÍ´óСдÎ޹صÄÕýÔò±í´ïʽ²éÕÒ£¿ÔõÑùÀûÓÃË÷Òý½øÐдóСдÎ޹زéÕÒ£¿

    -

    - ²Ù×÷·û ~ ´¦ÀíÕýÔò±í´ïʽƥÅ䣬¶ø ~* ´¦Àí´óСдÎ޹صÄÕýÔò±í´ïʽƥÅä¡£´óдЩÎÞ¹ØµÄ LIKE ±äÖÖ³ÉΪ ILIKE¡£ -

    -

    - ´óСдÎ޹صĵÈʽ±È½Ïͨ³£Ð´×ö£º -

    -
        SELECT *
    -    FROM tab
    -    WHERE lower(col) = 'abc';
    -
    -

    - ÕâÑù½«²»»áʹÓñê×¼µÄË÷Òý¡£µ«ÊÇ¿ÉÒÔ´´½¨Ò»¸ö¿É±»ÀûÓõĺ¯ÊýË÷Òý: -

    -
        CREATE INDEX tabindex ON tab (lower(col));
    -
    - -

    4.9)ÔÚÒ»¸ö²éѯÀÎÒÔõÑù¼ì²âÒ»¸ö×Ö¶ÎÊÇ·ñΪ NULL £¿ÎÒÈçºÎ²ÅÄÜ׼ȷÅÅÐò¶ø²»ÂÛij×Ö¶ÎÊÇ·ñº¬ NULL Öµ£¿

    -

    - Óà IS NULL ºÍ IS NOT NULL ²âÊÔÕâ¸ö×ֶΣ¬¾ßÌå·½·¨ÈçÏ£º -

    -
       SELECT *
    -   FROM tab
    -   WHERE col IS NULL;
    -
    - -

    ΪÁËÄܶԺ¬ NULL×Ö¶ÎÅÅÐò£¬¿ÉÔÚ ORDER BY Ìõ¼þÖÐʹÓà IS NULLºÍ - IS NOT NULL ÐÞÊηû£¬Ìõ¼þÎªÕæ true ½«±ÈÌõ¼þΪ¼Ùfalse ÅÅÔÚÇ°Ãæ£¬ÏÂÃæµÄÀý×ӾͻὫº¬ - NULL µÄ¼Ç¼ÅÅÔÚ½á¹ûµÄÉÏÃæ²¿·Ö£º -

    -
       SELECT *
    -   FROM tab
    -   ORDER BY (col IS NOT NULL)
    -
    - -

    4.10)¸÷ÖÖ×Ö·ûÀàÐÍÖ®¼äÓÐʲô²»Í¬£¿

    -
    - - - - - - - - - -
    ÀàÐÍÄÚ²¿Ãû³ÆËµÃ÷
    VARCHAR(n)varcharÖ¸¶¨ÁË×î´ó³¤¶È£¬±ä³¤×Ö·û´®£¬²»×㶨Ò峤¶ÈµÄ²¿·Ö²»²¹Æë
    CHAR(n)bpchar¶¨³¤×Ö·û´®£¬Êµ¼ÊÊý¾Ý²»×㶨Ò峤¶Èʱ£¬ÒÔ¿Õ¸ñ²¹Æë
    TEXTtextûÓÐÌØ±ðµÄÉÏÏÞÏÞÖÆ£¨½öÊÜÐеÄ×î´ó³¤¶ÈÏÞÖÆ£©
    BYTEAbytea±ä³¤×Ö½ÚÐòÁУ¨Ê¹ÓÃNULLÒ²ÊÇÔÊÐíµÄ£©
    "char"charÒ»¸ö×Ö·û
    -
    - -

    - ÔÚϵͳ±íºÍÔÚһЩ´íÎóÐÅÏ¢ÀïÄ㽫¿´µ½ÄÚ²¿Ãû³Æ¡£ -

    -

    - ÉÏÃæËùÁеÄǰËÄÖÖÀàÐÍÊÇ"varlena"£¨±ä³¤£©ÀàÐÍ£¨Ò²¾ÍÊÇ˵£¬¿ªÍ·µÄËĸö×Ö½ÚÊdz¤¶È£¬ºóÃæ²ÅÊÇÊý¾Ý£©¡£ - ÓÚÊÇʵ¼ÊÕ¼ÓõĿռä±ÈÉùÃ÷µÄ´óСҪ¶àһЩ¡£ - È»¶øÕâЩÀàÐͶ¼¿ÉÒÔ±»Ñ¹Ëõ´æ´¢£¬Ò²¿ÉÒÔÓà TOAST ÍÑ»ú´æ´¢£¬Òò´Ë´ÅÅ̿ռäÒ²¿ÉÄܱÈÔ¤ÏëµÄÒªÉÙ¡£ -

    -

    - VARCHAR(n) ÔÚ´æ´¢ÏÞÖÆÁË×î´ó³¤¶ÈµÄ±ä³¤×Ö·û´®ÊÇ×îºÃµÄ¡£ - TEXT ÊÊÓÃÓÚ´æ´¢×î´ó¿É´ï 1G×óÓÒµ«Î´¶¨ÒåÏÞÖÆ³¤¶ÈµÄ×Ö·û´®¡£ -

    -

    - CHAR(n) ×îÊʺÏÓÚ´æ´¢³¤¶ÈÏàͬµÄ×Ö·û´®¡£ CHAR(n)»á¸ù¾ÝËù¸ø¶¨µÄ×ֶ㤶ÈÒÔ¿Õ¸ñ²¹×㣨²»×ãµÄ×Ö¶ÎÄÚÈÝ£©£¬ - ¶ø VARCHAR(n) Ö»´æ´¢Ëù¸ø¶¨µÄÊý¾ÝÄÚÈÝ¡£ - BYTEA ÓÃÓÚ´æ´¢¶þ½øÖÆÊý¾Ý£¬ÓÈÆäÊǰüº¬ NULL ×Ö½ÚµÄÖµ¡£ÕâЩÀàÐ;ßÓÐÏàËÆµÄÐÔÄÜÌØÐÔ¡£ -

    - - - -

    4.11.1)ÎÒÔõÑù´´½¨Ò»¸öÐòÁкÅ/×Ô¶¯µÝÔöµÄ×ֶΣ¿

    -

    - PostgreSQL Ö§³Ö SERIAL Êý¾ÝÀàÐÍ¡£ËüÔÚ×Ö¶ÎÉÏ×Ô¶¯´´½¨Ò»¸öÐòÁкÍË÷Òý¡£ÀýÈ磺 -

    -
    -	CREATE TABLE person ( 
    -		id   SERIAL, 
    -		name TEXT 
    -	);
    -
    -

    - »á×Ô¶¯×ª»»Îª£º -

    -
    -	CREATE SEQUENCE person_id_seq;
    -	CREATE TABLE person ( 
    -		id   INT4 NOT NULL DEFAULT nextval('person_id_seq'),
    -		name TEXT
    -	);
    -
    -

    - ²Î¿¼ create_sequence ÊÖ²áÒ³»ñÈ¡¹ØÓÚÐòÁеĸü¶àÐÅÏ¢¡£ -

    - - -

    4.11.2)ÎÒÈçºÎ»ñµÃÒ»¸ö²åÈëµÄÐòÁкŵÄÖµ£¿

    -

    - Ò»ÖÖ·½·¨ÊÇÔÚ²åÈë֮ǰÏÈÓú¯Êý nextval() ´ÓÐòÁжÔÏóÀï¼ìË÷³öÏÂÒ»¸ö SERIAL Öµ£¬È»ºóÔÙÏÔʽ²åÈ롣ʹÓà - 4.11.1 ÀïµÄÀý±í£¬¿ÉÓÃαÂëÕâÑùÃèÊö£º -

    -
    -	new_id = execute("SELECT nextval('person_id_seq')");
    -	execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')");
    -
    -

    - ÕâÑù»¹ÄÜÔÚÆäËû²éѯÖÐʹÓôæ·ÅÔÚ new_id ÀïµÄÐÂÖµ£¨ÀýÈ磬×÷Ϊ person ±íµÄÍâ¼ü£©¡£ - ×¢Òâ×Ô¶¯´´½¨µÄ SEQUENCE ¶ÔÏóµÄÃû³Æ½«»áÊÇ <table>_<serialcolumn>_seq£¬ - ÕâÀï table ºÍ serialcolumn ·Ö±ðÊÇÄãµÄ±íµÄÃû³ÆºÍÄãµÄ SERIAL ×ֶεÄÃû³Æ¡£ -

    -

    - ÀàËÆµÄ£¬ÔÚ SERIAL ¶ÔÏóȱʡ²åÈëºóÄã¿ÉÒÔÓú¯Êý currval() ¼ìË÷¸Õ¸³ÖµµÄ SERIAL Öµ£¬ÀýÈ磺 -

    -
    -	execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");
    -	new_id = execute("SELECT currval('person_id_seq')");
    -
    - -

    4.11.3)ʹÓà currval() »áµ¼ÖÂºÍÆäËûÓû§µÄ³åÍ»Çé¿ö£¨race condition£©Âð£¿

    -

    - ²»»á¡£currval() ·µ»ØµÄÊÇÄã±¾´Î»á»°½ø³ÌËù¸³µÄÖµ¶ø²»ÊÇËùÓÐÓû§µÄµ±Ç°Öµ¡£
    -

    - -

    4.11.4)Ϊʲô²»ÔÚÊÂÎñÒì³£ÖÐÖ¹ºóÖØÓÃÐòÁкÅÄØ£¿ÎªÊ²Ã´ÔÚÐòÁкÅ×ֶεÄȡֵÖдæÔÚ¼ä¶ÏÄØ£¿

    -

    - ΪÁËÌá¸ß²¢·¢ÐÔ£¬ÐòÁкÅÔÚÐèÒªµÄʱºò¸³ÓèÕýÔÚÔËÐеÄÊÂÎñ£¬²¢ÇÒÔÚÊÂÎñ½áÊøÖ®Ç°²»½øÐÐËø¶¨£¬ - Õâ¾Í»áµ¼ÖÂÒì³£ÖÐÖ¹µÄÊÂÎñºó£¬ÐòÁкŻá³öÏÖ¼ä¸ô¡£ -

    - -


    4.12)ʲôÊÇ OID £¿Ê²Ã´ÊÇ CTID £¿

    -

    - PostgreSQL Àï´´½¨µÄÿһÐмǼ¶¼»á»ñµÃÒ»¸öΨһµÄOID£¬³ý·ÇÔÚ´´½¨±íʱʹÓÃWITHOUT OIDSÑ¡Ïî¡£ - OID´´½¨Ê±»á×Ô¶¯Éú³ÉÒ»¸ö4×Ö½ÚµÄÕûÊý£¬ËùÓÐ OID ÔÚÕû¸ö PostgreSQL ÖоùÊÇΨһµÄ¡£ È»¶ø£¬ËüÔÚ³¬¹ý40ÒÚʱ½«Òç³ö£¬ - OID´Ëºó»á³öÏÖÖØ¸´¡£PostgreSQL ÔÚËüµÄÄÚ²¿ÏµÍ³±íÀïʹÓà OID ÔÚ±íÖ®¼ä½¨Á¢ÁªÏµ¡£ -

    -

    - ÔÚÓû§µÄÊý¾Ý±íÖУ¬×îºÃÊÇʹÓÃSERIAlÀ´´úÌæOID - ÒòΪSERIALÖ»ÊDZ£Ö¤ÔÚµ¥¸ö±íÖÐÊý¾ÝÊÇΨһµÄ£¬ÕâÑùËüÒç³öµÄ¿ÉÄÜÐԾͷdz£Ð¡ÁË£¬ - SERIAL8¿ÉÓÃÀ´±£´æ8×Ö½ÚµÄÐòÁкÅ×ֶΡ£ -

    - -

    - CTID ÓÃÓÚ±êʶ´ø×ÅÊý¾Ý¿é£¨µØÖ·£©ºÍ£¨¿éÄÚ£©Æ«ÒƵÄÌØ¶¨µÄÎïÀíÐС£ - CTID ÔڼǼ±»¸ü¸Ä»òÖØÔØºó·¢Éú¸Ä±ä¡£Ë÷ÒýÈë¿ÚʹÓÃËüÃÇÖ¸ÏòÎïÀíÐС£ -

    - - -

    4.13)ΪʲôÎÒÊÕµ½´íÎóÐÅÏ¢¡°ERROR: Memory exhausted in AllocSetAlloc()¡±£¿

    -

    - ÕâºÜ¿ÉÄÜÊÇϵͳµÄÐéÄâÄÚ´æÓùâÁË£¬»òÕßÄں˶ÔijЩ×ÊÔ´Óнϵ͵ÄÏÞÖÆÖµ¡£ÔÚÆô¶¯ postmaster ֮ǰÊÔÊÔÏÂÃæµÄÃüÁ -

    -
    -	ulimit -d 262144
    -	limit datasize 256m
    -
    -

    - È¡¾öÓÚÄãÓÃµÄ shell£¬ÉÏÃæÃüÁîÖ»ÓÐÒ»ÌõÄܳɹ¦£¬µ«ÊÇËü½«°ÑÄãµÄ½ø³ÌÊý¾Ý¶ÎÏÞÖÆÉèµÃ±È½Ï¸ß£¬ - Òò¶øÒ²ÐíÄÜÈòéѯÍê³É¡£ÕâÌõÃüÁîÓ¦ÓÃÓÚµ±Ç°½ø³Ì£¬ÒÔ¼°ËùÓÐÔÚÕâÌõÃüÁîÔËÐк󴴽¨µÄ×Ó½ø³Ì¡£ - Èç¹ûÄãÊÇÔÚÔËÐÐSQL¿Í»§¶ËʱÒòΪºǫ́·µ»ØÁËÌ«¶àµÄÊý¾Ý¶ø³öÏÖÎÊÌ⣬ÇëÔÚÔËÐпͻ§¶Ë֮ǰִÐÐÉÏÊöÃüÁî¡£ -

    - -

    4.14)ÎÒÈçºÎ²ÅÄÜÖªµÀËùÔËÐÐµÄ PostgreSQL µÄ°æ±¾£¿

    -

    - ´Ó psql ÀÊäÈë SELECT version();Ö¸Áî¡£ -

    - -

    4.15)ÎÒÈçºÎ´´½¨Ò»¸öȱʡֵÊǵ±Ç°Ê±¼äµÄ×ֶΣ¿

    -

    - ʹÓà CURRENT_TIMESTAMP£º -

    -
    -	CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
    -
    - - -

    4.16)ÎÒÔõÑù½øÐÐ outer join £¨ÍâÁ¬½Ó£©£¿

    -

    - PostgreSQL ²ÉÓñê×¼µÄ SQL Óï·¨Ö§³ÖÍâÁ¬½Ó¡£ÕâÀïÊÇÁ½¸öÀý×Ó£º -

    -
    -	SELECT *
    -	FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);
    -
    -

    »òÊÇ

    -
    -	SELECT *
    -	FROM t1 LEFT OUTER JOIN t2 USING (col);
    -
    -

    - ÕâÁ½¸öµÈ¼ÛµÄ²éѯÔÚ t1.col ºÍ t2.col ÉÏ×öÁ¬½Ó£¬²¢ÇÒ·µ»Ø t1 ÖÐËùÓÐδÁ¬½ÓµÄÐУ¨ÄÇЩÔÚ t2 ÖÐûÓÐÆ¥ÅäµÄÐУ©¡£ - ÓÒ[Íâ]Á¬½Ó(RIGHT OUTER JOIN)½«·µ»Ø t2 ÖÐδÁ¬½ÓµÄÐС£ - ÍêÈ«ÍâÁ¬½Ó£¨FULL OUTER JOIN£©½«·µ»Ø t1 ºÍ t2 ÖÐδÁ¬½ÓµÄÐС£ - ¹Ø¼ü×Ö OUTER ÔÚ×ó[Íâ]Á¬½Ó¡¢ÓÒ[Íâ]Á¬½ÓºÍÍêÈ«[Íâ]Á¬½ÓÖÐÊÇ¿ÉÑ¡µÄ£¬ÆÕͨÁ¬½Ó±»³ÆÎªÄÚÁ¬½Ó£¨INNER JOIN£©¡£ -

    - - -

    4.17)ÈçºÎʹÓÃÉæ¼°¶à¸öÊý¾Ý¿âµÄ²éѯ£¿

    -

    - ûÓа취²éѯµ±Ç°Êý¾Ý¿âÖ®ÍâµÄÊý¾Ý¿â¡£ - ÒòΪ PostgreSQL Òª¼ÓÔØÓëÊý¾Ý¿âÏà¹ØµÄϵͳĿ¼£¨ÏµÍ³±í£©£¬Òò´Ë¿çÊý¾Ý¿âµÄ²éѯÈçºÎÖ´ÐÐÊDz»¶¨µÄ¡£ -

    -

    - ¸½¼ÓÔöֵģ¿écontrib/dblinkÔÊÐí²ÉÓú¯Êýµ÷ÓÃʵÏÖ¿ç¿â²éѯ¡£µ±È»Óû§Ò²¿ÉÒÔͬʱÁ¬½Óµ½²»Í¬µÄÊý¾Ý¿âÖ´ÐвéѯȻºóÔÚ¿Í»§¶ËºÏ²¢½á¹û¡£ -

    - -

    4.18)ÈçºÎÈú¯Êý·µ»Ø¶àÐлò¶àÁУ¿

    -

    - ÔÚº¯ÊýÖзµ»ØÊý¾Ý¼Ç¼¼¯µÄ¹¦ÄÜÊǺÜÈÝÒ×ʹÓõģ¬ÏêÇé²Î¼û£º - http://techdocs.postgresql.org/guides/SetReturningFunctions -

    - -

    4.19)ΪʲôÎÒÔÚʹÓÃPL/PgSQLº¯Êý´æÈ¡ÁÙʱ±íʱ»áÊÕµ½´íÎóÐÅÏ¢¡°relation with OID ##### does not exist¡±£¿

    -

    - PL/PgSQL»á»º´æº¯ÊýµÄÄÚÈÝ£¬ÓÉ´Ë´øÀ´µÄÒ»¸ö²»ºÃµÄ¸±×÷ÓÃÊÇÈôÒ»¸ö PL/PgSQL - º¯Êý·ÃÎÊÁËÒ»¸öÁÙʱ±í£¬È»ºó¸Ã±í±»É¾³ý²¢Öؽ¨ÁË£¬ÔòÔٴε÷Óøú¯Êý½«Ê§°Ü£¬ - ÒòΪ»º´æµÄº¯ÊýÄÚÈÝÈÔȻָÏò¾ÉµÄÁÙʱ±í¡£½â¾öµÄ·½·¨ÊÇÔÚ PL/PgSQL ÖÐÓÃEXECUTE - ¶ÔÁÙʱ±í½øÐзÃÎÊ¡£ÕâÑù»á±£Ö¤²éѯÔÚÖ´ÐÐǰ×Ü»á±»ÖØÐ½âÎö¡£ -

    - -

    4.27)ĿǰÓÐÄÄЩÊý¾Ý¸´ÖÆ·½°¸¿ÉÓã¿

    -

    - ¡°¸´ÖÆ¡±Ö»ÊÇÒ»¸öÊõÓÓкü¸ÖÖ¸´ÖƼ¼Êõ¿ÉʹÓã¬Ã¿ÖÖ¶¼ÓÐÓŵãºÍȱµã£º -

    -

    - Ö÷/´Ó¸´ÖÆ·½Ê½ÊÇÔÊÐíÒ»¸öÖ÷·þÎñÆ÷½ÓÊܶÁ/дµÄÉêÇ룬¶ø¶à¸ö´Ó·þÎñÆ÷Ö»ÄܽÓÊܶÁ/SELECT²éѯµÄÉêÇ룬 - Ŀǰ×îÁ÷ÐÐÇÒÊÇÃâ·ÑµÄÖ÷/´Ó PostgreSQL¸´ÖÆ·½°¸ÊÇ - Slony-I ¡£ -

    -

    - ¶à¸öÖ÷·þÎñÆ÷µÄ¸´ÖÆ·½Ê½ÔÊÐí½«¶Á/дµÄÉêÇë·¢Ë͸ø¶ą̀µÄ¼ÆËã»ú£¬ÕâÖÖ·½Ê½ÓÉÓÚÐèÒªÔÚ¶ą̀·þÎñÆ÷Ö®¼äͬ²½Êý¾Ý±ä¶¯ - ¿ÉÄÜ»á´øÀ´½ÏÑÏÖØµÄÐÔÄÜËðʧ£¬PgclusterÊÇĿǰÕâÖÖ·½°¸ - ÖÐ×îºÃµÄ£¬¶øÇÒ»¹¿ÉÒÔÃâ·ÑÏÂÔØ¡£ -

    -

    - Ò²ÓÐһЩÉÌÒµÐ踶·ÑºÍ»ùÓÚÓ²¼þµÄÊý¾Ý¸´ÖÆ·½°¸£¬Ö§³ÖÉÏÊö¸÷ÖÖ¸´ÖÆÄ£ÐÍ¡£ -

    - - - - - - + + + + + PostgreSQL: PostgreSQL ³£¼ûÎÊÌ⣨FAQ£© + + + + + + +

    PostgreSQL ³£¼ûÎÊÌ⣨FAQ£©

    +

    +×î½ü¸üУº2005 Äê 06 Ô 02 ÈÕ ÐÇÆÚÎå 22:27:35 CST +

    +

    + Ŀǰά»¤ÈËÔ±£ºBruce Momjian (pgman@candle.pha.pa.us)
    + ÖÐÎİæÎ¬»¤ÈËÔ±£ºdoudou586 £¨doudou586_2005@yahoo.com.cn£© +

    +

    + ±¾ÎĵµµÄ×îа汾¿ÉÒÔÔÚ + http://www.postgresql.org/files/documentation/faqs/FAQ.html²é¿´¡£ +

    +

    + Óë²Ù×÷ϵͳƽ̨Ïà¹ØµÄÎÊÌâÔÚhttp://www.postgresql.org/docs/faq/Àï»Ø´ð¡£
    +

    +
    + +

    ³£¼ûÎÊÌâ

    + +

    +1.1)PostgreSQL ÊÇʲô£¿¸ÃÔõô·¢Òô£¿
    +1.2)PostgreSQL µÄ°æÈ¨ÊÇʲô£¿
    +1.3)PostgreSQL ¿ÉÒÔÔËÐÐÔÚÄÄЩ²Ù×÷ϵͳƽ̨ÉÏ£¿
    +1.4)ÎÒ´ÓÄÄÀïÄܵõ½ PostgreSQL£¿
    +1.5)ÎÒ´ÓÄÄÀïÄܵõ½¶Ô PostgreSQL µÄÖ§³Ö£¿
    +1.6)ÎÒÈçºÎÌá½»Ò»¸öBUG±¨¸æ£¿
    +1.7)×îаæµÄPostgreSQL ÊÇʲô£¿
    +1.8)Äܹ»»ñÈ¡µÄ×îÐÂÎĵµÓÐÄÄЩ£¿
    +1.9)ÎÒÈçºÎÁ˽âÒÑÖªµÄ BUG »òÔÝȱµÄ¹¦ÄÜ£¿
    +1.10)ÎÒÓ¦¸ÃÔõÑùѧϰ SQL £¿
    +1.11)ÎÒÓ¦¸ÃÔõÑù¼ÓÈ뿪·¢¶ÓÎ飿
    +1.12)PostgreSQL ºÍÆäËûÊý¾Ý¿âϵͳ±ÈÆðÀ´ÈçºÎ£¿
    +1.13)Ë­¿ØÖƺ͹ÜÀíPostgreSQL £¿ +

    + +

    Óû§¿Í»§¶ËÎÊÌâ

    +

    +2.1)ÎÒÃÇ¿ÉÒÔÓÃʲôÓïÑÔºÍ PostgreSQL ´ò½»µÀ£¿
    +2.2)ÓÐʲô¹¤¾ß¿ÉÒÔ°Ñ PostgreSQL ÓÃÓÚ Web Ò³Ãæ£¿
    +2.3)PostgreSQL ÓµÓÐͼÐÎÓû§½çÃæÂð£¿
    +

    + +

    ϵͳ¹ÜÀíÎÊÌâ

    +

    +3.1)ÎÒÔõÑù²ÅÄÜ°Ñ PostgreSQL ×°ÔÚ /usr/local/pgsql ÒÔÍâµÄµØ·½£¿
    +3.2)ÎÒÈçºÎ¿ØÖÆÀ´×ÔÆäËûÖ÷»úµÄÁ¬½Ó£¿
    +3.3)ÎÒÔõÑùµ÷ÕûÊý¾Ý¿âÒýÇæÒÔ»ñµÃ¸üºÃµÄÐÔÄÜ£¿
    +3.4)PostgreSQL Àï¿ÉÒÔ»ñµÃʲôÑùµÄµ÷ÊÔÌØÐÔ£¿
    +3.5)ΪʲôÔÚÊÔͼÁ¬½ÓµÇ¼ʱÊÕµ½¡°Sorry, too many clients¡± ÏûÏ¢£¿
    +3.6)ΪʲôҪÔÚÉý¼¶ PostgreSQL Ö÷Òª·¢²¼°æ±¾Ê±×ö dump ºÍ restore £¿
    +3.7)(ʹÓÃPostgreSQL)ÎÒÐèҪʹÓÃʲô¼ÆËã»úÓ²¼þ £¿
    +

    + +

    ²Ù×÷ÎÊÌâ

    +

    +4.1)ÈçºÎֻѡÔñÒ»¸ö²éѯ½á¹ûµÄÍ·¼¸ÐУ¿»òÊÇËæ»úµÄÒ»ÐУ¿
    +4.2)ÈçºÎ²é¿´±í¡¢Ë÷Òý¡¢Êý¾Ý¿âÒÔ¼°Óû§µÄ¶¨Ò壿ÈçºÎ²é¿´psqlÀïÓõ½µÄ²éѯָÁî²¢ÏÔʾËüÃÇ£¿
    +4.3)ÈçºÎ¸ü¸ÄÒ»¸ö×ֶεÄÊý¾ÝÀàÐÍ£¿
    +4.4)Ò»ÐмǼ£¬Ò»¸ö±í£¬Ò»¸ö¿âµÄ×î´ó³ß´çÊǶàÉÙ£¿
    +4.5)´æ´¢Ò»¸öµäÐ͵ÄÎı¾ÎļþÀïµÄÊý¾ÝÐèÒª¶àÉÙ´ÅÅ̿ռ䣿
    +4.6)ΪʲôÎҵIJéѯºÜÂý£¿ÎªÊ²Ã´ÕâЩ²éѯûÓÐÀûÓÃË÷Òý£¿
    +4.7)ÎÒÈçºÎ²ÅÄÜ¿´µ½²éѯÓÅ»¯Æ÷ÊÇÔõÑùÆÀ¹À´¦ÀíÎҵIJéѯµÄ£¿
    +4.8)ÎÒÔõÑù×öÕýÔò±í´ïʽËÑË÷ºÍ´óСдÎ޹صÄÕýÔò±í´ïʽ²éÕÒ£¿ÔõÑùÀûÓÃË÷Òý½øÐдóСдÎ޹زéÕÒ£¿
    +4.9)ÔÚÒ»¸ö²éѯÀÎÒÔõÑù¼ì²âÒ»¸ö×Ö¶ÎÊÇ·ñΪ NULL£¿ÎÒÈçºÎ²ÅÄÜ׼ȷÅÅÐò¶ø²»ÂÛij×Ö¶ÎÊÇ·ñº¬NULLÖµ£¿
    +4.10)¸÷ÖÖ×Ö·ûÀàÐÍÖ®¼äÓÐʲô²»Í¬£¿
    +4.11.1)ÎÒÔõÑù´´½¨Ò»¸öÐòÁкÅ/×Ô¶¯µÝÔöµÄ×ֶΣ¿
    +4.11.2)ÎÒÈçºÎ»ñµÃÒ»¸ö²åÈëµÄÐòÁкŵÄÖµ£¿
    +4.11.3)ʹÓà currval() »áµ¼ÖÂºÍÆäËûÓû§µÄÎÉÂÒÇé¿ö£¨race condition£©Âð£¿
    +4.11.4)Ϊʲô²»ÔÚÊÂÎñÒì³£ÖÐÖ¹ºóÖØÓÃÐòÁкÅÄØ£¿ÎªÊ²Ã´ÔÚÐòÁкÅ×ֶεÄȡֵÖдæÔÚ¼ä¶ÏÄØ£¿
    +4.12)ʲôÊÇ OID£¿Ê²Ã´ÊÇ CTID £¿
    +4.13)ΪʲôÎÒÊÕµ½´íÎóÐÅÏ¢¡°ERROR: Memory exhausted in AllocSetAlloc()¡±£¿
    +4.14)ÎÒÈçºÎ²ÅÄÜÖªµÀËùÔËÐÐµÄ PostgreSQL µÄ°æ±¾£¿
    +4.15)ÎÒÈçºÎ´´½¨Ò»¸öȱʡֵÊǵ±Ç°Ê±¼äµÄ×ֶΣ¿
    +4.16)ÈçºÎ½øÐÐ outer join £¨ÍâÁ¬½Ó£©£¿
    +4.17)ÈçºÎʹÓÃÉæ¼°¶à¸öÊý¾Ý¿âµÄ²éѯ£¿
    +4.18)ÈçºÎÈú¯Êý·µ»Ø¶àÐлò¶àÁУ¿
    +4.19)ΪʲôÎÒÔÚʹÓÃPL/PgSQLº¯Êý´æÈ¡ÁÙʱ±íʱ»áÊÕµ½´íÎóÐÅÏ¢¡°relation with OID ##### does not exist¡±£¿
    +4.20)ĿǰÓÐÄÄЩÊý¾Ý¸´ÖÆ·½°¸¿ÉÓã¿
    +

    + +
    + +

    ³£¼ûÎÊÌâ

    + +

    1.1)PostgreSQL ÊÇʲô£¿¸ÃÔõô·¢Òô£¿

    +

    +PostgreSQL ¶Á×÷ Post-Gres-Q-L£¬ÓÐʱºòÒ²¼ò³ÆÎªPostgres ¡£ +

    +

    + PostgreSQL ÊÇÃæÏòÄ¿±êµÄ¹ØÏµÊý¾Ý¿âϵͳ£¬Ëü¾ßÓд«Í³ÉÌÒµÊý¾Ý¿âϵͳµÄËùÓй¦ÄÜ£¬Í¬Ê±ÓÖº¬Óн«ÔÚÏÂÒ»´ú DBMS ϵͳµÄʹÓõÄÔöÇ¿ÌØÐÔ¡£ + PostgreSQL ÊÇ×ÔÓÉÃâ·ÑµÄ£¬²¢ÇÒËùÓÐÔ´´úÂë¶¼¿ÉÒÔ»ñµÃ¡£ +

    + +

    + PostgreSQL µÄ¿ª·¢¶ÓÎéÖ÷ҪΪ־ԸÕߣ¬ËûÃDZ鲼ÊÀ½ç¸÷µØ²¢Í¨¹ý»¥ÁªÍø½øÐÐÁªÏµ£¬ÕâÊÇÒ»¸öÉçÇø¿ª·¢ÏîÄ¿£¬Ëü²»±»Èκι«Ë¾¿ØÖÆ¡£ + ÈçÏë¼ÓÈ뿪·¢¶ÓÎ飬Çë²Î¼û¿ª·¢ÈËÔ±³£¼ûÎÊÌ⣨FAQ£© + http://www.postgresql.org/files/documentation/faqs/FAQ_DEV.html +

    + + +

    1.2)PostgreSQL µÄ°æÈ¨ÊÇʲô?

    +

    +PostgreSQLµÄ·¢²¼×ñ´Ó¾­µäµÄBSD°æÈ¨¡£¹ØÓÚÔ´´úÂëµÄÈçºÎʹÓÃûÓÐÈκÎÏÞÖÆ£¬ÎÒÃǺÜϲ»¶ÕâÖÖ·½Ê½²¢ÇÒ»¹Ã»ÓдòËã¸Ä±äËü¡£ +

    +

    +ÏÂÃæ¾ÍÊÇÎÒÃÇʹÓõÄBSD°æÈ¨ÄÚÈÝ£º +

    + +

    + ²¿·Ö°æÈ¨£¨c£©1996-2005£¬PostgreSQL È«Çò¿ª·¢Ð¡×飬²¿·Ö°æÈ¨£¨c£©1994-1996 ¼ÓÖÝ´óѧ¶­Ê +

    + +

    + £¨Portions copyright (c) 1996-2005, PostgreSQL Global Development Group Portions Copyright (c) 1994-6 Regents of the University of California£© +

    + +

    + ÔÊÐíΪÈκÎÄ¿µÄʹÓ㬿½±´£¬Ð޸ĺͷַ¢Õâ¸öÈí¼þºÍËüµÄÎĵµ¶ø²»ÊÕÈ¡ÈκηÑÓ㬠+ ²¢ÇÒÎÞÐëÇ©ÊðÒò´Ë¶ø²úÉúµÄÖ¤Ã÷£¬Ç°ÌáÊÇÉÏÃæµÄ°æÈ¨ÉùÃ÷ºÍ±¾¶ÎÒÔ¼°ÏÂÃæÁ½¶ÎÎÄ×Ö³öÏÖÔÚËùÓп½±´ÖС£ +

    + +

    + £¨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.£© +

    + +

    + ÔÚÈκÎÇé¿öÏ£¬¼ÓÖÝ´óѧ¶¼²»³Ðµ£ÒòʹÓôËÈí¼þ¼°ÆäÎĵµ¶øµ¼ÖµĶÔÈκε±ÊÂÈ˵ÄÖ±½ÓµÄ£¬ + ¼ä½ÓµÄ£¬ÌØÊâµÄ£¬¸½¼ÓµÄ»òÕßÏà°é¶øÉúµÄË𻵣¬°üÀ¨ÀûÒæËðʧµÄÔðÈΣ¬¼´Ê¹¼ÓÖÝ´óѧÒѾ­½¨ÒéÁËÕâЩËðʧµÄ¿ÉÄÜÐÔʱҲÊÇÈç´Ë¡£ +

    + +

    + £¨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.£© +

    + +

    + ¼ÓÖÝ´óѧÃ÷È··ÅÆúÈκα£Ö¤£¬°üÀ¨µ«²»¾ÖÏÞÓÚÄ³Ò»ÌØ¶¨ÓÃ;µÄÉÌÒµºÍÀûÒæµÄÒþº¬±£Ö¤¡£ + ÕâÀïÌṩµÄÕâ·ÝÈí¼þÊÇ»ùÓÚ¡°µ±×÷ÊÇ¡±µÄ»ù´¡µÄ£¬Òò¶ø¼ÓÖÝ´óѧûÓÐÔðÈÎÌṩά»¤£¬Ö§³Ö£¬¸üУ¬ÔöÇ¿»òÕßÐ޸ĵķþÎñ¡£ +

    + +

    + £¨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.£©
    + +

    + +

    1.3)PostgreSQL ¿ÉÒÔÔËÐÐÔÚÄÄЩ²Ù×÷ϵͳƽ̨ÉÏ£¿

    + +

    + Ò»°ã˵À´£¬Ò»¸öÏÖ´úµÄ UNIX ¼æÈÝµÄÆ½Ì¨¶¼ÄÜÔËÐÐ PostgreSQL ¡£ÔÚ°²×°Ö¸ÄÏÀïÁгöÁË·¢²¼Ê±¾­¹ýÃ÷È·²âÊÔµÄÆ½Ì¨¡£ +

    + +

    + PostgreSQlÒ²¿ÉÒÔÖ±½ÓÔËÐÐÔÚ»ùÓÚ΢ÈíWindows-NTµÄ²Ù×÷ϵͳ£¬ÈçWin2000£¬WinXP ºÍ Win2003£¬ÒÑÖÆ×÷Íê³ÉµÄ°²×°°ü¿É´Ó + http://pgfoundry.org/projects/pginstallerÏÂÔØ£¬»ùÓÚMSDOSµÄWindows²Ù×÷ϵͳ + £¨Win95£¬Win98£¬WinMe£©ÐèҪͨ¹ýCygwinÄ£Äâ»·¾³ÔËÐÐPostgreSQL¡£ +

    + +

    + ͬʱҲÓÐÒ»¸öΪNovell Netware 6¿ª·¢µÄ°æ±¾¿É´Ó http://forge.novell.com »ñÈ¡£¬ÎªOS/2¿ª·¢µÄ°æ±¾¿É´Ó + + http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=postgreSQL&stype=all&sort=type&dir=%2F +

    + +

    1.4)ÎÒ´ÓÄÄÀïÄܵõ½ PostgreSQL£¿

    + +

    + ͨ¹ýä¯ÀÀÆ÷¿É´Óhttp://www.postgresql.org/ftp/ÏÂÔØ£¬Ò²¿Éͨ¹ýFTP£¬´Ó + ftp://ftp.PostgreSQL.org/pub/Õ¾µãÏÂÔØ¡£ +

    + + +

    1.5)ÎÒ´ÓÄÄÀïÄܵõ½¶Ô PostgreSQL µÄÖ§³Ö£¿

    +

    + PostgreSQLÉçÇøÍ¨¹ýÓʼþÁбíΪÆä´ó¶àÊýÓû§Ìṩ°ïÖú£¬¼ÓÈëÓʼþÁбíµÄÖ÷Õ¾µãÊÇ http://www.postgresql.org/community/lists/£¬Ò»°ãÇé¿öÏ£¬ÏȼÓÈëGeneral »ò BugÓʼþÁбíÊÇÒ»¸ö½ÏºÃµÄ¿ªÊ¼¡£ +

    + +

    + Ö÷ÒªµÄIRCƵµÀÊÇÔÚFreeNode(irc.freenode.net)µÄ#postgresql£¬ÎªÁËÁ¬ÉÏ´ËÆµµÀ£¬¿ÉÒÔʹÓÃUNIX³ÌÐòirc£¬ÆäÖ¸Áî¸ñʽ£º + irc -c '#postgresql' "$USER" irc.freenode.net £¬»òÕßʹÓÃÆäËûIRC¿Í»§¶Ë³ÌÐò¡£ÔÚ´ËÍøÂçÖл¹´æÔÚÒ»¸öPostgreSQLµÄÎ÷°àÑÀƵµÀ(#postgersql-es)ºÍ·¨ÓïÆµµÀ + (#postgresql-fr)¡£Í¬ÑùµØ£¬ÔÚEFNETÉÏÒ²ÓÐÒ»¸öPostgreSQLµÄ½»Á÷ƵµÀ¡£ +

    + +

    + ÉÌÒµÖ§³Ö¹«Ë¾µÄÁбíÔÚ http://techdocs.postgresql.org/companies.php¡£ +

    + + + +

    1.6)ÎÒÈçºÎÌá½»Ò»¸öBUG±¨¸æ£¿

    +

    + ¿É·ÃÎÊ http://www.postgresql.org/support/submitbug£¬ÌîдBugÉϱ¨±í¸ñ¼´¿É¡£ +

    + +

    + ͬÑùÒ²¿É·ÃÎÊftpÕ¾µãftp://ftp.PostgreSQL.org/pub/ ¼ì²éÓÐÎÞ¸üеÄPostgreSQL°æ±¾»ò²¹¶¡¡£ +

    + + + +

    1.7)×îаæµÄPostgreSQL ÊÇʲô£¿

    +

    + PostgreSQL ×îеİ汾Êǰ汾 8.0.2 £¨Òë×¢£ºÏÖ×îа汾Ϊ8.0.3£©¡£ +

    + +

    + ÎÒÃǼƻ®Ã¿Äê·¢²¼Ò»¸öÖ÷Òª°æ±¾£¬Ã¿¼¸¸öÔ·¢²¼Ò»¸öС°æ±¾¡£ +

    + + +

    1.8)Äܹ»»ñÈ¡µÄ×îÐÂÎĵµÓÐÄÄЩ£¿

    + +

    + PostgreSQL°üº¬´óÁ¿µÄÎĵµ£¬Ö÷ÒªÓÐһЩÊֲᣬÊÖ²áÒ³ºÍһЩµÄ²âÊÔÀý×Ó¡£²Î¼û /doc Ŀ¼£¨Òë×¢£ºÓ¦Îª $PGHOME/doc£©¡£ + Ä㻹¿ÉÒÔÔÚÏßä¯ÀÀ PostgreSQL µÄÊֲᣬÆäµØÖ·ÊÇ£ºhttp://www.PostgreSQL.org/docs¡£ +

    +

    + ÓÐÁ½±¾¹ØÓÚ PostgreSQL µÄÊéÔÚÏßÌṩ£¬ÔÚ + http://www.PostgreSQL.org/docs/awbook.html + ºÍ http://www.commandprompt.com/ppbook/ ¡£ + Ò²ÓдóÁ¿µÄPostgreSQLÊé¼®¿É¹©¹ºÂò£¬ÆäÖÐ×îΪÁ÷ÐеÄÒ»±¾ÊÇÓÉKorry Douglas±àдµÄ¡£ÔÚ + http://techdocs.PostgreSQL.org/techdocs/bookreviews.phpÉÏ + ÉÏÓдóÁ¿ÓйØPostgreSQLÊé¼®µÄ¼ò½é¡£ + ÔÚ http://techdocs.PostgreSQL.org/ÉÏÊÕ¼¯ÁËÓÐ¹Ø PostgreSQL µÄ´óÁ¿¼¼ÊõÎÄÕ¡£ +

    + +

    + ¿Í»§¶ËµÄÃüÁîÐгÌÐòpsqlÓÐһЩÒÔ \d ¿ªÍ·µÄÃüÁ¿ÉÏÔʾ¹ØÓÚÀàÐÍ£¬²Ù×÷·û£¬º¯Êý£¬»ã×ܵȵÄÐÅÏ¢£¬Ê¹Óà \? ¿ÉÒÔÏÔʾËùÓпÉÓõÄÃüÁî¡£ +

    + +

    + ÎÒÃÇµÄ web Õ¾µã°üº¬¸ü¶àµÄÎĵµ¡£ +

    + +

    1.9)ÎÒÈçºÎÁ˽âÒÑÖªµÄ BUG »òÔÝȱµÄ¹¦ÄÜ£¿

    +

    + PostgreSQL Ö§³ÖÒ»¸öÀ©Õ¹Á赀 SQL-92 µÄ×Ó¼¯¡£²ÎÔÄÎÒÃǵÄTODO ÁÐ±í£¬»ñȡһ¸öÒÑÖªBug£¬ÔÝȱµÄ¹¦Äܺͽ«À´µÄ¼Æ»®¡£ +

    + + +

    1.10)ÎÒÓ¦¸ÃÔõÑùѧϰ SQL £¿

    +

    + Ê×ÏÈ¿¼ÂÇÉÏÊöÌáµ½µÄÓëPostgreSQLÏà¹ØµÄÊé¼®£¬ÁíÍâÒ»±¾ÊÇTeach Yourself SQL in 21 Days, Second Edition£¬ + ÎÒÃǵÄÐí¶àÓû§Ï²»¶The Practical SQL Handbook Bowman, Judith S., et al., Addison-Wesley£¬ÆäËûµÄÔòϲ»¶ + The Complete Reference SQL, Groff et al., McGraw-Hill¡£ +

    + + +

    1.11)ÎÒÓ¦¸ÃÔõÑù¼ÓÈ뿪·¢¶ÓÎ飿

    +

    + Ïê¼û Developer's FAQ ¡£ +

    + + +

    1.12)PostgreSQL ºÍÆäËûÊý¾Ý¿âϵͳ±ÈÆðÀ´ÈçºÎ£¿

    +

    +ÆÀ¼ÛÈí¼þÓкü¸ÖÖ·½·¨£ºÌØÐÔ£¬ÐÔÄÜ£¬¿É¿¿ÐÔ£¬Ö§³ÖºÍ¼Û¸ñ¡£ +

    +
    +
    ÌØÐÔ
    +
    + PostgreSQL ÓµÓдóÐÍÉÌÓà DBMS Àï´ó¶àÊýÌØÐÔ£¬ + ÀýÈ磺ÊÂÎñ£¬×Ó²éѯ£¬´¥·¢Æ÷£¬ÊÓͼ£¬Íâ¼ü²Î¿¼ÍêÕûÐԺ͸´ÔÓµÄËøµÈ¡£ + ÎÒÃÇ»¹ÓÐһЩËüÃÇûÓеÄÌØÐÔ£¬ÈçÓû§¶¨ÒåÀàÐÍ£¬¼Ì³Ð£¬¹æÔòºÍ¶à°æ±¾²¢ÐпØÖÆÒÔ¼õÉÙËøµÄÕùÓõȡ£
    +
    + +
    ÐÔÄÜ
    +
    + PostgreSQL ºÍÆäËûÉÌÓúͿªÔ´µÄÊý¾Ý¿â¾ßÓÐÀàËÆµÄÐÔÄÜ¡£ + ¶ÔijЩ´¦ÀíËü±È½Ï¿ì£¬¶ÔÆäËûһЩ´¦ÀíËü±È½ÏÂý¡£ + ÓëÆäËûÊý¾Ý¿âÏà±È£¬ÎÒÃǵÄÐÔÄÜͨ³£ÔÚ +/- 10%Ö®¼ä¡£
    +
    + +
    ¿É¿¿ÐÔ
    +
    + ÎÒÃÇÖªµÀ DBMS ±ØÐëÊǿɿ¿µÄ£¬·ñÔòËü¾ÍÒ»µãÓö¼Ã»ÓС£ + ÎÒÃÇŬÁ¦×öµ½·¢²¼¾­¹ýÈÏÕæ²âÊԵģ¬Îȶ¨µÄ³ô³æ×îÉٵĴúÂ롣ÿ¸ö°æ±¾ÖÁÉÙÓÐÒ»¸öÔ嵀 beta + ²âÊÔʱ¼ä£¬²¢ÇÒÎÒÃǵķ¢²¼ÀúÊ·ÏÔʾÎÒÃÇ¿ÉÒÔÌṩÎȶ¨µÄ£¬Àι̵ģ¬¿ÉÓÃÓÚÉú²úʹÓõİ汾¡£ÎÒÃÇÏàÐÅ + ÔÚÕâ·½ÃæÎÒÃÇÓëÆäËûµÄÊý¾Ý¿âÈí¼þÊÇÏ൱µÄ¡£
    +
    + +
    Ö§³Ö
    +
    + ÎÒÃǵÄÓʼþÁбíÌṩһ¸ö·Ç³£´óµÄ¿ª·¢ÈËÔ±ºÍÓû§µÄ×éÒÔ°ïÖú½â¾öËùÅöµ½µÄÈκÎÎÊÌâ¡£ + ÎÒÃDz»Äܱ£Ö¤¿Ï¶¨Äܽâ¾öÎÊÌ⣬Ïà±È֮ϣ¬ÉÌÓà DBMS Ò²²¢²»ÊÇ×ÜÄܹ»Ìṩ½â¾ö·½·¨¡£ + Ö±½ÓÓ뿪·¢ÈËÔ±£¬Óû§Èº£¬ÊÖ²áºÍÔ´³ÌÐò½Ó´¥Áî PostgreSQL µÄÖ§³Ö±ÈÆäËû DBMS + »¹ÒªºÃ¡£»¹ÓÐһЩÉÌÒµÐÔµÄÔ¤°ü×°µÄÖ§³Ö£¬¿ÉÒÔ¸øÌṩ¸øÄÇЩÐèÒªµÄÈË¡££¨²ÎÔÄ FAQ Ìõ¿î 1.5 С½Ú£©
    +
    + +
    ¼Û¸ñ
    +
    + ÎÒÃǶÔÈκÎÓÃ;¶¼Ãâ·Ñ£¬°üÀ¨ÉÌÓúͷÇÉÌÓÃÄ¿µÄ¡£ + Äã¿ÉÒÔ²»¼ÓÏÞÖÆµØÏòÄãµÄ²úÆ·Àï¼ÓÈëÎÒÃǵĴúÂ룬³ýÁËÄÇЩÎÒÃÇÔÚÉÏÃæµÄ°æÈ¨ÉùÃ÷ÀïÉùÃ÷µÄ BSD ·ç¸ñµÄ°æÈ¨Íâ¡£ +
    + +
    + + +

    1.13)Ë­¿ØÖÆPostgreSQL £¿

    +

    + Èç¹ûÄãÔÚѰÕÒPostgreSQLµÄÕÆÃÅÈË£¬»òÊÇʲôÖÐÑëίԱ»á£¬»òÊÇʲôËùÊô¹«Ë¾£¬ÄãÖ»ÄÜ·ÅÆúÁË---ÒòΪһ¸öÒ²²»´æÔÚ£¬µ«ÎÒÃǵÄÈ·ÓÐÒ»¸ö + ίԱ»áºÍCVS¹ÜÀí×飬µ«ÕâЩ¹¤×÷×éµÄÉèÁ¢Ö÷ÒªÊÇΪÁ˽øÐйÜÀí¹¤×÷¶ø²»ÊǶÔPostgreSQL½øÐпØÖÆ£¬PostgreSQLÏîÄ¿ÊÇÓÉÈκÎÈ˾ù + ¿É²Î¼ÓµÄ¿ª·¢ÈËÔ±ÉçÇøºÍËùÓÐÓû§¿ØÖƵģ¬ÄãËùÐèÒª×öµÄ¾ÍÊǼÓÈëÓʼþÁÐ±í£¬²ÎÓëÌÖÂÛ¼´¿É£¨Òª²ÎÓëPostgreSQLµÄ¿ª·¢Ïê¼û + Developer's FAQ »ñÈ¡ÐÅÏ¢£©¡£ +

    + +
    + + +

    Óû§¿Í»§¶ËÎÊÌâ

    + +

    2.1)ÎÒÃÇ¿ÉÒÔÓÃʲôÓïÑÔºÍ PostgreSQL ´ò½»µÀ£¿

    +

    + PostgreSQL(ȱʡÇé¿ö)Ö»°²×°ÓÐCºÍÄÚǶʽCµÄ½Ó¿Ú£¬ÆäËûµÄ½Ó¿Ú¶¼ÊǶÀÁ¢µÄÏîÄ¿£¬Äܹ»·Ö±ðÏÂÔØ£¬ÕâЩ½Ó¿ÚÏîÄ¿¶ÀÁ¢µÄºÃ´¦ + ÊÇËûÃÇ¿ÉÒÔÓи÷×Եķ¢²¼¼Æ»®ºÍ¸÷×Ô¶ÀÁ¢µÄ¿ª·¢×é¡£ +

    +

    + һЩ±à³ÌÓïÑÔÈçPHP¶¼ÓзÃÎÊ PostgreSQL µÄ½Ó¿Ú£¬Perl,TCL,PythonÒÔ¼°ºÜ¶àÆäËûÓïÑԵĽӿÚÔÚ + http://gborg.postgresql.org ÉϵÄDrivers/InterfacesС½Ú¿ÉÕÒµ½£¬ + ²¢ÇÒͨ¹ýInternetºÜÈÝÒ×ËÑË÷µ½¡£ +

    + + + +

    2.2)ÓÐʲô¹¤¾ß¿ÉÒÔ°Ñ PostgreSQL ÓÃÓÚ Web Ò³Ãæ£¿

    +

    + Ò»¸ö½éÉÜÒÔÊý¾Ý¿âΪºǫ́µÄͦ²»´íµÄÕ¾µãÊÇ£ºhttp://www.webreview.com¡£ +

    +

    + ¶ÔÓÚ Web ¼¯³É£¬PHP ÊÇÒ»¸ö¼«ºÃµÄ½Ó¿Ú¡£ËüÔÚ£ºhttp://www.php.net/¡£ +

    +

    + ¶ÔÓÚ¸´ÔÓµÄÈÎÎñ£¬ºÜ¶àÈ˲ÉÓà Perl ½Ó¿ÚºÍ CGI.pm »ò mod_perl ¡£ +

    + + +

    2.3)PostgreSQL ÓµÓÐͼÐÎÓû§½çÃæÂð£¿

    +

    + Êǵģ¬ÔÚ http://techdocs.postgresql.org/guides/GUIToolsÓÐÒ»¸öÏêϸµÄÁÐ±í¡£ +

    + + + +
    + +

    ϵͳ¹ÜÀíÎÊÌâ

    + +

    3.1)ÎÒÔõÑùÄÜ°Ñ PostgreSQL ×°ÔÚ /usr/local/pgsql ÒÔÍâµÄµØ·½£¿

    +

    + ÔÚÔËÐÐ configure ʱ¼ÓÉÏ --prefix Ñ¡Ïî¡£ +

    + + +

    3.2)ÎÒÈçºÎ¿ØÖÆÀ´×ÔÆäËûÖ÷»úµÄÁ¬½Ó£¿

    +

    + ȱʡʱ£¬PostgreSQL Ö»ÔÊÐíͨ¹ý unix ÓòÌ×½Ó×Ö»òTCP/IP·½Ê½ÇÒÀ´×Ô±¾»úµÄÁ¬½Ó¡£ + ÄãÖ»ÓÐÔÚÐÞ¸ÄÁËÅäÖÃÎļþpostgresql.confÖеÄlisten_addresses£¬ÇÒÒ²ÔÚÅäÖÃÎļþpg_hba.confÖдò¿ªÁË + Ö÷»úΪ»ù´¡£¨ host-based £©µÄÉí·ÝÈÏÖ¤£¬²¢ÖØÐÂÆô¶¯PostgreSQL£¬·ñÔòÆäËû»úÆ÷ÊDz»ÄÜÓëÄãµÄPostgreSQL·þÎñÆ÷Á¬½ÓµÄ¡£ +

    + + +

    3.3)ÎÒÔõÑùµ÷ÕûÊý¾Ý¿âÒýÇæÒÔ»ñµÃ¸üºÃµÄÐÔÄÜ£¿

    +

    + ÓÐÈý¸öÖ÷Òª·½Ãæ¿ÉÒÔÌáÉýPostgreSQLµÄDZÄÜ¡£ +

    + +
    +
    ²éѯ·½Ê½µÄ±ä»¯
    +
    + ÕâÖ÷񻃾¼°Ð޸IJéѯ·½Ê½ÒÔ»ñÈ¡¸üºÃµÄÐÔÄÜ: +
      +
    • ´´½¨Ë÷Òý£¬°üÀ¨±í´ïʽºÍ²¿·ÖË÷Òý£»
    • +
    • ʹÓÃCOPYÓï¾ä´úÌæ¶à¸öInsertÓï¾ä£»
    • +
    • ½«¶à¸öSQLÓï¾ä×é³ÉÒ»¸öÊÂÎñÒÔ¼õÉÙÌá½»ÊÂÎñµÄ¿ªÏú£»
    • +
    • ´ÓÒ»¸öË÷ÒýÖÐÌáÈ¡¶àÌõ¼Ç¼ʱʹÓÃCLUSTER£»
    • +
    • ´ÓÒ»¸ö²éѯ½á¹ûÖÐÈ¡³ö²¿·Ö¼Ç¼ʱʹÓÃLIMIT£»
    • +
    • ʹÓÃÔ¤±àÒëʽ²éѯ£¨Prepared Query)£»
    • +
    • ʹÓÃANALYZEÒÔ±£³Ö¾«È·µÄÓÅ»¯Í³¼Æ£»
    • +
    • ¶¨ÆÚʹÓà VACUUM »ò pg_autovacuum
    • +
    • ½øÐдóÁ¿Êý¾Ý¸ü¸ÄʱÏÈɾ³ýË÷Òý£¨È»ºóÖØ½¨Ë÷Òý£©
    • +
    +
    + +
    ·þÎñÆ÷µÄÅäÖÃ
    +
    + ÅäÖÃÎļþpostgres.confÖеĺܶàÉèÖö¼»áÓ°ÏìÐÔÄÜ£¬ËùÓвÎÊýµÄÁбí¿É¼û£º + Administration Guide/Server Run-time Environment/Run-time Configuration£¬ + ÓйزÎÊýµÄ½âÊͿɼû£º + http://www.varlena.com/varlena/GeneralBits/Tidbits/annotated_conf_e.html ºÍ + http://www.varlena.com/varlena/GeneralBits/Tidbits/perf.html¡£ +
    + +
    Ó²¼þµÄÑ¡Ôñ
    +
    + ¼ÆËã»úÓ²¼þ¶ÔÐÔÄܵÄÓ°Ïì¿Éä¯ÀÀ + http://candle.pha.pa.us/main/writings/pgsql/hw_performance/index.html ºÍ + http://www.powerpostgresql.com/PerfList/¡£ +
    + +
    + + +

    3.4)PostgreSQL Àï¿ÉÒÔ»ñµÃʲôÑùµÄµ÷ÊÔÌØÐÔ£¿

    +

    + PostgreSQL ÓкܶàÀàËÆ log_* µÄ·þÎñÆ÷ÅäÖñäÁ¿¿ÉÓÃÓÚ²éѯµÄ´òÓ¡ºÍ½ø³Ìͳ¼Æ£¬¶øÕâЩ¹¤×÷¶Ôµ÷ÊÔºÍÐÔÄܲâÊÔºÜÓаïÖú¡£ +

    + + + +

    3.5)ΪʲôÔÚÊÔͼÁ¬½ÓʱÊÕµ½¡°Sorry, too many clients¡±ÏûÏ¢£¿

    +

    + Õâ±íʾÄãÒѴﵽȱʡ100¸ö²¢·¢ºǫ́½ø³ÌÊýµÄÏÞÖÆ£¬ÄãÐèҪͨ¹ýÐÞ¸Äpostgresql.confÎļþÖеÄmax_connectionsÖµÀ´ + Ôö¼ÓpostmasterµÄºǫ́²¢·¢´¦ÀíÊý£¬Ð޸ĺóÐèÖØÐÂÆô¶¯postmaster¡£ +

    + + +

    3.6)ΪʲôҪÔÚÉý¼¶ PostgreSQL Ö÷Òª·¢²¼°æ±¾Ê±×ö dump ºÍ restore £¿

    +

    + PostgreSQL ¿ª·¢×é¶Ôÿ´ÎСµÄÉý¼¶½ö×öÁ˽ÏÉÙµÄÐ޸ģ¬Òò´Ë´Ó 7.4.0 Éý¼¶µ½ 7.4.1 ²»ÐèÒª dump ºÍ restore¡£ + µ«ÊÇÖ÷ÒªµÄÉý¼¶£¨ÀýÈç´Ó 7.3 µ½ 7.4£©Í¨³£»áÐÞ¸Äϵͳ±íºÍÊý¾Ý±íµÄÄÚ²¿¸ñʽ¡£ + ÕâЩ±ä»¯Ò»°ã±È½Ï¸´ÔÓ£¬Òò´ËÎÒÃDz»Î¬Êý¾ÝÎļþµÄÏòºó¼æÈÝ¡£ + dump ½«Êý¾Ý°´ÕÕͨÓõĸñʽÊä³ö£¬Ëæºó¿ÉÒÔ±»ÖØÐ¼ÓÔØ²¢Ê¹ÓÃеÄÄÚ²¿¸ñʽ¡£ +

    + +

    3.7)(ʹÓÃPostgreSQL)ÎÒÐèҪʹÓÃʲô¼ÆËã»úÓ²¼þ £¿

    +

    + ÓÉÓÚ¼ÆËã»úÓ²¼þ´ó¶àÊýÊǼæÈݵģ¬ÈËÃÇ×ÜÊÇÇãÏòÓÚÏàÐÅËùÓмÆËã»úÓ²¼þÖÊÁ¿Ò²ÊÇÏàͬµÄ¡£ÊÂʵÉϲ»ÊÇ£¬ + ECC RAM£¨´øÆæÅ¼Ð£ÑéµÄÄڴ棩£¬SCSI £¨Ó²ÅÌ£©ºÍÓÅÖʵÄÖ÷°å±ÈһЩ±ãÒË»õÒª¸ü¼Ó¿É¿¿ÇÒ¾ßÓиüºÃµÄÐÔÄÜ¡£PostgreSQL¼¸ºõ¿ÉÒÔÔËÐÐÔÚÈκÎÓ²¼þÉÏ£¬ + µ«Èç¹û¿É¿¿ÐÔºÍÐÔÄܶÔÄãµÄϵͳºÜÖØÒª£¬Äã¾ÍÐèÒªÈ«ÃæµÄÑо¿Ò»ÏÂÄãµÄÓ²¼þÅäÖÃÁË¡£ÔÚÎÒÃǵÄÓʼþÁбíÉÏÒ²ÓйØÓÚ + Ó²¼þÅäÖúÍÐԼ۱ȵÄÌÖÂÛ¡£ +

    + + +
    + +

    ²Ù×÷ÎÊÌâ

    + + +

    4.1)ÈçºÎֻѡÔñÒ»¸ö²éѯ½á¹ûµÄÍ·¼¸ÐУ¿»òÊÇËæ»úµÄÒ»ÐУ¿

    +

    + Èç¹ûÄãÖ»ÊÇÒªÌáÈ¡¼¸ÐÐÊý¾Ý£¬²¢ÇÒÄãÔÚÖ´ÐвéѯÖÐÖªµÀÈ·ÇеÄÐÐÊý£¬Äã¿ÉÒÔʹÓÃLIMIT¹¦ÄÜ¡£ + Èç¹ûÓÐÒ»¸öË÷ÒýÓë ORDER BYÖеÄÌõ¼þÆ¥Å䣬PostgreSQL ¿ÉÄܾÍÖ»´¦ÀíÒªÇóµÄÍ·¼¸Ìõ¼Ç¼£¬ + £¨·ñÔò½«¶ÔÕû¸ö²éѯ½øÐд¦ÀíÖ±µ½Éú³ÉÐèÒªµÄÐУ©¡£Èç¹ûÔÚÖ´Ðвéѯ¹¦ÄÜʱ²»ÖªµÀÈ·ÇеļǼÊý£¬ + ¿ÉʹÓÃÓαê(cursor)ºÍFETCH¹¦ÄÜ¡£ +

    +

    + ¿ÉʹÓÃÒÔÏ·½·¨ÌáȡһÐÐËæ»ú¼Ç¼µÄ£º +

    +
    +		SELECT  cols
    +		FROM tab
    +		ORDER BY random()
    +		LIMIT 1 ;
    +
    + + + +

    4.2)ÈçºÎ²é¿´±í¡¢Ë÷Òý¡¢Êý¾Ý¿âÒÔ¼°Óû§µÄ¶¨Ò壿ÈçºÎ²é¿´psqlÀïÓõ½µÄ²éѯָÁî²¢ÏÔʾËüÃÇ£¿

    +

    + ÔÚpsqlÖÐʹÓà \dt ÃüÁîÀ´ÏÔʾÊý¾Ý±íµÄ¶¨Ò壬ҪÁ˽âpsqlÖеÄÍêÕûÃüÁîÁбí¿ÉʹÓÃ\? £¬ÁíÍ⣬ÄãÒ²¿ÉÒÔÔĶÁ psql µÄÔ´´úÂë + Îļþpgsql/src/bin/psql/describe.c£¬Ëü°üÀ¨ÎªÉú³Épsql·´Ð±¸ÜÃüÁîµÄÊä³öµÄËùÓÐ SQL ÃüÁî¡£Ä㻹¿ÉÒÔ´ø -E Ñ¡ÏîÆô¶¯ psql£¬ + ÕâÑùËü½«´òÓ¡³öÖ´ÐÐÄãÔÚpsqlÖÐËù¸ø³öµÄÃüÁîµÄÄÚ²¿Êµ¼ÊʹÓõÄSQL²éѯ¡£PostgreSQLÒ²ÌṩÁËÒ»¸ö¼æÈÝSQLµÄINFORMATION SCHEMA½Ó¿Ú£¬ + Äã¿ÉÒÔ´ÓÕâÀï»ñÈ¡¹ØÓÚÊý¾Ý¿âµÄÐÅÏ¢¡£ +

    +

    + ÔÚϵͳÖÐÓÐһЩÒÔpg_ ´òÍ·µÄϵͳ±íÒ²ÃèÊöÁ˱íµÄ¶¨Òå¡£ +

    +

    + ʹÓà psql -l Ö¸Áî¿ÉÒÔÁгöËùÓеÄÊý¾Ý¿â¡£ +

    +

    + Ò²¿ÉÒÔä¯ÀÀһϠpgsql/src/tutorial/syscat.sourceÎļþ£¬ËüÁоÙÁ˺ܶà¿É´ÓÊý¾Ý¿âϵͳ±íÖлñÈ¡ÐÅÏ¢µÄSELECTÓï·¨¡£ +

    + + +

    4.3)ÈçºÎ¸ü¸ÄÒ»¸ö×ֶεÄÊý¾ÝÀàÐÍ£¿

    +

    + ÔÚ8.0°æ±¾Àï¸ü¸ÄÒ»¸ö×ֶεÄÊý¾ÝÀàÐͺÜÈÝÒ×£¬¿ÉʹÓà ALTER TABLE ALTER COLUMN TYPE ¡£ +

    +

    + ÔÚÒÔǰµÄ°æ±¾ÖУ¬¿ÉÒÔÕâÑù×ö£º +

    +
    +	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;
    +
    +

    + ÄãÈ»ºó¿ÉÒÔʹÓÃVACUUM FULL tab Ö¸ÁîÀ´Ê¹ÏµÍ³ÊÕ»ØÎÞЧÊý¾ÝËùÕ¼ÓõĿռ䡣 +

    + +

    4.4)Ò»ÐмǼ£¬Ò»¸ö±í£¬Ò»¸ö¿âµÄ×î´ó³ß´çÊǶàÉÙ£¿

    +

    + ÏÂÃæÊÇһЩÏÞÖÆ£º +

    +
    + + + + + + + + + + +
    Ò»¸öÊý¾Ý¿â×î´ó³ß´ç£¿ÎÞÏÞÖÆ£¨ÒÑ´æÔÚÓÐ 32TB µÄÊý¾Ý¿â£©
    Ò»¸ö±íµÄ×î´ó³ß´ç£¿32 TB
    Ò»ÐмǼµÄ×î´ó³ß´ç£¿1.6 TB
    Ò»¸ö×ֶεÄ×î´ó³ß´ç?1 GB
    Ò»¸ö±íÀï×î´óÐÐÊý£¿ÎÞÏÞÖÆ
    Ò»¸ö±íÀï×î´óÁÐÊý£¿250-1600 £¨ÓëÁÐÀàÐÍÓйأ©
    Ò»¸ö±íÀïµÄ×î´óË÷ÒýÊýÁ¿£¿ÎÞÏÞÖÆ
    +
    + +

    + µ±È»£¬Êµ¼ÊÉÏûÓÐÕæÕýµÄÎÞÏÞÖÆ£¬»¹ÊÇÒªÊÜ¿ÉÓôÅÅ̿ռ䡢¿ÉÓÃÄÚ´æ/½»»»ÇøµÄÖÆÔ¼¡£ + ÊÂʵÉÏ£¬µ±ÕâЩÊýÖµ±äµÃÒì³£µØ´óʱ£¬ÏµÍ³ÐÔÄÜÒ²»áÊܴܺóÓ°Ïì¡£ +

    + +

    + ±íµÄ×î´ó³ß´ç 32 TB ²»ÐèÒª²Ù×÷ϵͳ¶Ô´óÎļþµÄÖ§³Ö¡£´ó±íÓöà¸ö 1 GB µÄÎļþ´æ´¢£¬Òò´ËÎļþϵͳ³ß´çµÄÏÞÖÆÊDz»ÖØÒªµÄ¡£ +

    +

    + Èç¹ûȱʡµÄ¿é´óСÔö³¤µ½ 32K £¬×î´óµÄ±í³ß´çºÍ×î´óÁÐÊý»¹¿ÉÒÔÔö¼Óµ½Ëı¶¡£ +

    + + +

    4.5)´æ´¢Ò»¸öµäÐ͵ÄÎı¾ÎļþÀïµÄÊý¾ÝÐèÒª¶àÉÙ´ÅÅ̿ռ䣿

    +

    + Ò»¸ö Postgres Êý¾Ý¿â£¨´æ´¢Ò»¸öÎı¾Îļþ£©ËùÕ¼ÓõĿռä×î¶à¿ÉÄÜÐèÒªÏ൱ÓÚÕâ¸öÎı¾Îļþ×ÔÉí´óС5±¶µÄ´ÅÅ̿ռ䡣 +

    +

    + ÀýÈ磬¼ÙÉèÓÐÒ»¸ö 100,000 ÐеÄÎļþ£¬Ã¿ÐÐÓÐÒ»¸öÕûÊýºÍÒ»¸öÎı¾ÃèÊö¡£ + ¼ÙÉèÎı¾´®µÄƽ¾ù³¤¶ÈΪ20×Ö½Ú¡£Îı¾ÎļþÕ¼Óà 2.8 MB¡£´æ·ÅÕâЩÊý¾ÝµÄ PostgreSQL Êý¾Ý¿âÎļþ´óÔ¼ÊÇ 6.4 MB: +

    +
    +     32 ×Ö½Ú: ÿÐеÄÍ·£¨¹À¼ÆÖµ£©
    +     24 ×Ö½Ú: Ò»¸öÕûÊýÐÍ×ֶκÍÒ»¸öÎı¾ÐÍ×Ö¶Î
    +   +  4 ×Ö½Ú: Ò³ÃæÄÚÖ¸ÏòÔª×éµÄÖ¸Õë
    +   ----------------------------------------
    +     60 ×Ö½ÚÿÐÐ
    +
    +   PostgreSQL Êý¾ÝÒ³µÄ´óСÊÇ 8192 ×Ö½Ú (8 KB)£¬Ôò£º
    +
    +   8192 ×Ö½Úÿҳ
    +   -------------------   =  136 ÐÐ/Êý¾ÝÒ³£¨ÏòÏÂÈ¡Õû£©
    +     60 ×Ö½ÚÿÐÐ
    +
    +   100000 Êý¾ÝÐÐ
    +   --------------------  =  735 Êý¾ÝÒ³£¨ÏòÉÏÈ¡Õû£©
    +      128 ÐÐÿҳ
    +
    +   735 Êý¾ÝÒ³ * 8192 ×Ö½Ú/Ò³  =  6,021,120 ×Ö½Ú£¨6 MB£©
    +
    + +

    + Ë÷Òý²»ÐèÒªÕâô¶àµÄ¶îÍâÏûºÄ£¬µ«Ò²È·Êµ°üÀ¨±»Ë÷ÒýµÄÊý¾Ý£¬Òò´ËËüÃÇÒ²¿ÉÄÜºÜ´ó¡£ +

    +

    + ¿ÕÖµNULL´æ·ÅÔÚλͼÖУ¬Òò´ËÕ¼ÓúÜÉٵĿռ䡣 +

    + +

    4.6)ΪʲôÎҵIJéѯºÜÂý£¿ÎªÊ²Ã´ÕâЩ²éѯûÓÐÀûÓÃË÷Òý£¿

    +

    + ²¢·Çÿ¸ö²éѯ¶¼»á×Ô¶¯Ê¹ÓÃË÷Òý¡£Ö»ÓÐÔÚ±íµÄ´óС³¬¹ýÒ»¸ö×îСֵ£¬²¢ÇÒ²éѯֻ»áÑ¡ÖбíÖнÏС±ÈÀýµÄ¼Ç¼ʱ²Å»á²ÉÓÃË÷Òý¡£ + ÕâÊÇÒòΪË÷ÒýɨÃèÒýÆðµÄËæ¼´´ÅÅÌ´æÈ¡¿ÉÄܱÈÖ±½ÓµØ¶ÁÈ¡±í£¨Ë³ÐòɨÃ裩¸üÂý¡£ +

    +

    + ΪÁËÅжÏÊÇ·ñʹÓÃË÷Òý£¬PostgreSQL±ØÐë»ñµÃÓйرíµÄͳ¼ÆÖµ¡£ÕâЩͳ¼ÆÖµ¿ÉÒÔʹÓà VACUUM ANALYZE£¬»ò ANALYZE »ñµÃ¡£ + ʹÓÃͳ¼ÆÖµ£¬ÓÅ»¯Æ÷ÖªµÀ±íÖÐÓжàÉÙÐУ¬¾ÍÄܹ»¸üºÃµØÅжÏÊÇ·ñÀûÓÃË÷Òý¡£ + ͳ¼ÆÖµ¶ÔÈ·¶¨ÓÅ»¯µÄÁ¬½Ó˳ÐòºÍÁ¬½Ó·½·¨Ò²ºÜÓÐÓá£ÔÚ±íµÄÄÚÈÝ·¢Éú±ä»¯Ê±£¬Ó¦¶¨ÆÚ½øÐÐͳ¼ÆÖµµÄ¸üÐÂÊÕ¼¯¡£ +

    +

    + Ë÷Òýͨ³£²»ÓÃÓÚ ORDER BY »òÖ´ÐÐÁ¬½Ó¡£¶ÔÒ»¸ö´ó±íµÄÒ»´Î˳ÐòɨÃ裬ÔÙ×öÒ»¸öÏÔʽµÄÅÅÐòͨ³£±ÈË÷ÒýɨÃèÒª¿ì¡£ +

    + +

    + µ«ÊÇ£¬ÔÚ LIMIT ºÍ ORDER BY ½áºÏʹÓÃʱ¾­³£»áʹÓÃË÷Òý£¬ÒòΪÕâÖ»»á·µ»Ø±íµÄһС²¿·Ö¡£ + ʵ¼ÊÉÏ£¬ËäÈ» MAX() ºÍ MIN() ²¢²»Ê¹ÓÃË÷Òý£¬Í¨¹ý¶Ô + ORDER BY ºÍ LLIMIT ʹÓÃË÷ÒýÈ¡µÃ×î´óÖµºÍ×îСֵҲÊÇ¿ÉÒԵģº +

    +
    +	SELECT col
    +	FROM tab
    +	ORDER BY col [ DESC ]
    +	LIMIT 1;
    +
    +

    + Èç¹ûÄãÈ·ÐÅPostgreSQLµÄÓÅ»¯Æ÷ʹÓÃ˳ÐòɨÃèÊDz»ÕýÈ·µÄ£¬Äã¿ÉÒÔʹÓÃSET enable_seqscan TO 'off'Ö¸Á + È»ºóÔÙ´ÎÔËÐвéѯ£¬Äã¾Í¿ÉÒÔ¿´³öʹÓÃÒ»¸öË÷ÒýɨÃèÊÇ·ñȷʵҪ¿ìһЩ¡£ +

    + +

    + µ±Ê¹ÓÃͨÅä·û²Ù×÷£¬ÀýÈç LIKE »ò ~ ʱ£¬Ë÷ÒýÖ»ÄÜÔÚÌØ¶¨µÄÇé¿öÏÂʹÓ㺠+

    +
      +
    • ×Ö·û´®µÄ¿ªÊ¼²¿·Ö±ØÐëÊÇÆÕͨ×Ö·û´®£¬Ò²¾ÍÊÇ˵£º +
        +
      • LIKE ģʽ²»ÄÜÒÔ % ´òÍ·¡£
      • +
      • ~ £¨ÕýÔò±í´ïʽ£©Ä£Ê½±ØÐëÒÔ ^ ´òÍ·¡£
      • +
      +
    • +
    • ×Ö·û´®²»ÄÜÒÔÆ¥Åä¶à¸ö×Ö·ûµÄģʽÀà´òÍ·£¬ÀýÈç [a-e]¡£
    • +
    • ´óСдÎ޹صIJéÕÒ£¬Èç ILIKE ºÍ ~* µÈ²»Ê¹ÓÃË÷Òý£¬µ«¿ÉÒÔÓà 4.8 ½ÚÃèÊöµÄº¯ÊýË÷Òý¡£
    • +
    • ÔÚ×ö initdb ʱ±ØÐë²ÉÓÃȱʡµÄ±¾µØÉèÖà C locale£¬ÒòΪϵͳ²»¿ÉÄÜÖªµÀÔÚ·ÇC localeÇé¿öʱÏÂÒ»¸ö×î´ó×Ö·ûÊÇʲô¡£ + ÔÚÕâÖÖÇé¿öÏ£¬Äã¿ÉÒÔ´´½¨Ò»¸öÌØÊâµÄtext_pattern_opsË÷ÒýÀ´ÓÃÓÚLIKEµÄË÷Òý¡£ +
    • +
    +

    + ÔÚ8.0֮ǰµÄ°æ±¾ÖУ¬³ý·ÇÒª²éѯµÄÊý¾ÝÀàÐͺÍË÷ÒýµÄÊý¾ÝÀàÐÍÏàÆ¥Å䣬·ñÔòË÷Òý¾­³£ÊÇδ±»Óõ½£¬ÌرðÊǶÔint2,int8ºÍÊýÖµÐ͵ÄË÷Òý¡£ +

    + +

    4.7)ÎÒÈçºÎ²ÅÄÜ¿´µ½²éѯÓÅ»¯Æ÷ÊÇÔõÑùÆÀ¹À´¦ÀíÎҵIJéѯ£¿

    +

    + ²Î¿¼ EXPLAIN ÊÖ²áÒ³¡£ +

    + +

    4.8)ÎÒÔõÑù×öÕýÔò±í´ïʽËÑË÷ºÍ´óСдÎ޹صÄÕýÔò±í´ïʽ²éÕÒ£¿ÔõÑùÀûÓÃË÷Òý½øÐдóСдÎ޹زéÕÒ£¿

    +

    + ²Ù×÷·û ~ ´¦ÀíÕýÔò±í´ïʽƥÅ䣬¶ø ~* ´¦Àí´óСдÎ޹صÄÕýÔò±í´ïʽƥÅä¡£´óдЩÎÞ¹ØµÄ LIKE ±äÖÖ³ÉΪ ILIKE¡£ +

    +

    + ´óСдÎ޹صĵÈʽ±È½Ïͨ³£Ð´×ö£º +

    +
        SELECT *
    +    FROM tab
    +    WHERE lower(col) = 'abc';
    +
    +

    + ÕâÑù½«²»»áʹÓñê×¼µÄË÷Òý¡£µ«ÊÇ¿ÉÒÔ´´½¨Ò»¸ö¿É±»ÀûÓõĺ¯ÊýË÷Òý: +

    +
        CREATE INDEX tabindex ON tab (lower(col));
    +
    + +

    4.9)ÔÚÒ»¸ö²éѯÀÎÒÔõÑù¼ì²âÒ»¸ö×Ö¶ÎÊÇ·ñΪ NULL £¿ÎÒÈçºÎ²ÅÄÜ׼ȷÅÅÐò¶ø²»ÂÛij×Ö¶ÎÊÇ·ñº¬ NULL Öµ£¿

    +

    + Óà IS NULL ºÍ IS NOT NULL ²âÊÔÕâ¸ö×ֶΣ¬¾ßÌå·½·¨ÈçÏ£º +

    +
       SELECT *
    +   FROM tab
    +   WHERE col IS NULL;
    +
    + +

    ΪÁËÄܶԺ¬ NULL×Ö¶ÎÅÅÐò£¬¿ÉÔÚ ORDER BY Ìõ¼þÖÐʹÓà IS NULLºÍ + IS NOT NULL ÐÞÊηû£¬Ìõ¼þÎªÕæ true ½«±ÈÌõ¼þΪ¼Ùfalse ÅÅÔÚÇ°Ãæ£¬ÏÂÃæµÄÀý×ӾͻὫº¬ + NULL µÄ¼Ç¼ÅÅÔÚ½á¹ûµÄÉÏÃæ²¿·Ö£º +

    +
       SELECT *
    +   FROM tab
    +   ORDER BY (col IS NOT NULL)
    +
    + +

    4.10)¸÷ÖÖ×Ö·ûÀàÐÍÖ®¼äÓÐʲô²»Í¬£¿

    +
    + + + + + + + + + +
    ÀàÐÍÄÚ²¿Ãû³ÆËµÃ÷
    VARCHAR(n)varcharÖ¸¶¨ÁË×î´ó³¤¶È£¬±ä³¤×Ö·û´®£¬²»×㶨Ò峤¶ÈµÄ²¿·Ö²»²¹Æë
    CHAR(n)bpchar¶¨³¤×Ö·û´®£¬Êµ¼ÊÊý¾Ý²»×㶨Ò峤¶Èʱ£¬ÒÔ¿Õ¸ñ²¹Æë
    TEXTtextûÓÐÌØ±ðµÄÉÏÏÞÏÞÖÆ£¨½öÊÜÐеÄ×î´ó³¤¶ÈÏÞÖÆ£©
    BYTEAbytea±ä³¤×Ö½ÚÐòÁУ¨Ê¹ÓÃNULLÒ²ÊÇÔÊÐíµÄ£©
    "char"charÒ»¸ö×Ö·û
    +
    + +

    + ÔÚϵͳ±íºÍÔÚһЩ´íÎóÐÅÏ¢ÀïÄ㽫¿´µ½ÄÚ²¿Ãû³Æ¡£ +

    +

    + ÉÏÃæËùÁеÄǰËÄÖÖÀàÐÍÊÇ"varlena"£¨±ä³¤£©ÀàÐÍ£¨Ò²¾ÍÊÇ˵£¬¿ªÍ·µÄËĸö×Ö½ÚÊdz¤¶È£¬ºóÃæ²ÅÊÇÊý¾Ý£©¡£ + ÓÚÊÇʵ¼ÊÕ¼ÓõĿռä±ÈÉùÃ÷µÄ´óСҪ¶àһЩ¡£ + È»¶øÕâЩÀàÐͶ¼¿ÉÒÔ±»Ñ¹Ëõ´æ´¢£¬Ò²¿ÉÒÔÓà TOAST ÍÑ»ú´æ´¢£¬Òò´Ë´ÅÅ̿ռäÒ²¿ÉÄܱÈÔ¤ÏëµÄÒªÉÙ¡£ +

    +

    + VARCHAR(n) ÔÚ´æ´¢ÏÞÖÆÁË×î´ó³¤¶ÈµÄ±ä³¤×Ö·û´®ÊÇ×îºÃµÄ¡£ + TEXT ÊÊÓÃÓÚ´æ´¢×î´ó¿É´ï 1G×óÓÒµ«Î´¶¨ÒåÏÞÖÆ³¤¶ÈµÄ×Ö·û´®¡£ +

    +

    + CHAR(n) ×îÊʺÏÓÚ´æ´¢³¤¶ÈÏàͬµÄ×Ö·û´®¡£ CHAR(n)»á¸ù¾ÝËù¸ø¶¨µÄ×ֶ㤶ÈÒÔ¿Õ¸ñ²¹×㣨²»×ãµÄ×Ö¶ÎÄÚÈÝ£©£¬ + ¶ø VARCHAR(n) Ö»´æ´¢Ëù¸ø¶¨µÄÊý¾ÝÄÚÈÝ¡£ + BYTEA ÓÃÓÚ´æ´¢¶þ½øÖÆÊý¾Ý£¬ÓÈÆäÊǰüº¬ NULL ×Ö½ÚµÄÖµ¡£ÕâЩÀàÐ;ßÓÐÏàËÆµÄÐÔÄÜÌØÐÔ¡£ +

    + + + +

    4.11.1)ÎÒÔõÑù´´½¨Ò»¸öÐòÁкÅ/×Ô¶¯µÝÔöµÄ×ֶΣ¿

    +

    + PostgreSQL Ö§³Ö SERIAL Êý¾ÝÀàÐÍ¡£ËüÔÚ×Ö¶ÎÉÏ×Ô¶¯´´½¨Ò»¸öÐòÁкÍË÷Òý¡£ÀýÈ磺 +

    +
    +	CREATE TABLE person ( 
    +		id   SERIAL, 
    +		name TEXT 
    +	);
    +
    +

    + »á×Ô¶¯×ª»»Îª£º +

    +
    +	CREATE SEQUENCE person_id_seq;
    +	CREATE TABLE person ( 
    +		id   INT4 NOT NULL DEFAULT nextval('person_id_seq'),
    +		name TEXT
    +	);
    +
    +

    + ²Î¿¼ create_sequence ÊÖ²áÒ³»ñÈ¡¹ØÓÚÐòÁеĸü¶àÐÅÏ¢¡£ +

    + + +

    4.11.2)ÎÒÈçºÎ»ñµÃÒ»¸ö²åÈëµÄÐòÁкŵÄÖµ£¿

    +

    + Ò»ÖÖ·½·¨ÊÇÔÚ²åÈë֮ǰÏÈÓú¯Êý nextval() ´ÓÐòÁжÔÏóÀï¼ìË÷³öÏÂÒ»¸ö SERIAL Öµ£¬È»ºóÔÙÏÔʽ²åÈ롣ʹÓà + 4.11.1 ÀïµÄÀý±í£¬¿ÉÓÃαÂëÕâÑùÃèÊö£º +

    +
    +	new_id = execute("SELECT nextval('person_id_seq')");
    +	execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')");
    +
    +

    + ÕâÑù»¹ÄÜÔÚÆäËû²éѯÖÐʹÓôæ·ÅÔÚ new_id ÀïµÄÐÂÖµ£¨ÀýÈ磬×÷Ϊ person ±íµÄÍâ¼ü£©¡£ + ×¢Òâ×Ô¶¯´´½¨µÄ SEQUENCE ¶ÔÏóµÄÃû³Æ½«»áÊÇ <table>_<serialcolumn>_seq£¬ + ÕâÀï table ºÍ serialcolumn ·Ö±ðÊÇÄãµÄ±íµÄÃû³ÆºÍÄãµÄ SERIAL ×ֶεÄÃû³Æ¡£ +

    +

    + ÀàËÆµÄ£¬ÔÚ SERIAL ¶ÔÏóȱʡ²åÈëºóÄã¿ÉÒÔÓú¯Êý currval() ¼ìË÷¸Õ¸³ÖµµÄ SERIAL Öµ£¬ÀýÈ磺 +

    +
    +	execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");
    +	new_id = execute("SELECT currval('person_id_seq')");
    +
    + +

    4.11.3)ʹÓà currval() »áµ¼ÖÂºÍÆäËûÓû§µÄ³åÍ»Çé¿ö£¨race condition£©Âð£¿

    +

    + ²»»á¡£currval() ·µ»ØµÄÊÇÄã±¾´Î»á»°½ø³ÌËù¸³µÄÖµ¶ø²»ÊÇËùÓÐÓû§µÄµ±Ç°Öµ¡£
    +

    + +

    4.11.4)Ϊʲô²»ÔÚÊÂÎñÒì³£ÖÐÖ¹ºóÖØÓÃÐòÁкÅÄØ£¿ÎªÊ²Ã´ÔÚÐòÁкÅ×ֶεÄȡֵÖдæÔÚ¼ä¶ÏÄØ£¿

    +

    + ΪÁËÌá¸ß²¢·¢ÐÔ£¬ÐòÁкÅÔÚÐèÒªµÄʱºò¸³ÓèÕýÔÚÔËÐеÄÊÂÎñ£¬²¢ÇÒÔÚÊÂÎñ½áÊøÖ®Ç°²»½øÐÐËø¶¨£¬ + Õâ¾Í»áµ¼ÖÂÒì³£ÖÐÖ¹µÄÊÂÎñºó£¬ÐòÁкŻá³öÏÖ¼ä¸ô¡£ +

    + +


    4.12)ʲôÊÇ OID £¿Ê²Ã´ÊÇ CTID £¿

    +

    + PostgreSQL Àï´´½¨µÄÿһÐмǼ¶¼»á»ñµÃÒ»¸öΨһµÄOID£¬³ý·ÇÔÚ´´½¨±íʱʹÓÃWITHOUT OIDSÑ¡Ïî¡£ + OID´´½¨Ê±»á×Ô¶¯Éú³ÉÒ»¸ö4×Ö½ÚµÄÕûÊý£¬ËùÓÐ OID ÔÚÕû¸ö PostgreSQL ÖоùÊÇΨһµÄ¡£ È»¶ø£¬ËüÔÚ³¬¹ý40ÒÚʱ½«Òç³ö£¬ + OID´Ëºó»á³öÏÖÖØ¸´¡£PostgreSQL ÔÚËüµÄÄÚ²¿ÏµÍ³±íÀïʹÓà OID ÔÚ±íÖ®¼ä½¨Á¢ÁªÏµ¡£ +

    +

    + ÔÚÓû§µÄÊý¾Ý±íÖУ¬×îºÃÊÇʹÓÃSERIAlÀ´´úÌæOID + ÒòΪSERIALÖ»ÊDZ£Ö¤ÔÚµ¥¸ö±íÖÐÊý¾ÝÊÇΨһµÄ£¬ÕâÑùËüÒç³öµÄ¿ÉÄÜÐԾͷdz£Ð¡ÁË£¬ + SERIAL8¿ÉÓÃÀ´±£´æ8×Ö½ÚµÄÐòÁкÅ×ֶΡ£ +

    + +

    + CTID ÓÃÓÚ±êʶ´ø×ÅÊý¾Ý¿é£¨µØÖ·£©ºÍ£¨¿éÄÚ£©Æ«ÒƵÄÌØ¶¨µÄÎïÀíÐС£ + CTID ÔڼǼ±»¸ü¸Ä»òÖØÔØºó·¢Éú¸Ä±ä¡£Ë÷ÒýÈë¿ÚʹÓÃËüÃÇÖ¸ÏòÎïÀíÐС£ +

    + + +

    4.13)ΪʲôÎÒÊÕµ½´íÎóÐÅÏ¢¡°ERROR: Memory exhausted in AllocSetAlloc()¡±£¿

    +

    + ÕâºÜ¿ÉÄÜÊÇϵͳµÄÐéÄâÄÚ´æÓùâÁË£¬»òÕßÄں˶ÔijЩ×ÊÔ´Óнϵ͵ÄÏÞÖÆÖµ¡£ÔÚÆô¶¯ postmaster ֮ǰÊÔÊÔÏÂÃæµÄÃüÁ +

    +
    +	ulimit -d 262144
    +	limit datasize 256m
    +
    +

    + È¡¾öÓÚÄãÓÃµÄ shell£¬ÉÏÃæÃüÁîÖ»ÓÐÒ»ÌõÄܳɹ¦£¬µ«ÊÇËü½«°ÑÄãµÄ½ø³ÌÊý¾Ý¶ÎÏÞÖÆÉèµÃ±È½Ï¸ß£¬ + Òò¶øÒ²ÐíÄÜÈòéѯÍê³É¡£ÕâÌõÃüÁîÓ¦ÓÃÓÚµ±Ç°½ø³Ì£¬ÒÔ¼°ËùÓÐÔÚÕâÌõÃüÁîÔËÐк󴴽¨µÄ×Ó½ø³Ì¡£ + Èç¹ûÄãÊÇÔÚÔËÐÐSQL¿Í»§¶ËʱÒòΪºǫ́·µ»ØÁËÌ«¶àµÄÊý¾Ý¶ø³öÏÖÎÊÌ⣬ÇëÔÚÔËÐпͻ§¶Ë֮ǰִÐÐÉÏÊöÃüÁî¡£ +

    + +

    4.14)ÎÒÈçºÎ²ÅÄÜÖªµÀËùÔËÐÐµÄ PostgreSQL µÄ°æ±¾£¿

    +

    + ´Ó psql ÀÊäÈë SELECT version();Ö¸Áî¡£ +

    + +

    4.15)ÎÒÈçºÎ´´½¨Ò»¸öȱʡֵÊǵ±Ç°Ê±¼äµÄ×ֶΣ¿

    +

    + ʹÓà CURRENT_TIMESTAMP£º +

    +
    +	CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
    +
    + + +

    4.16)ÎÒÔõÑù½øÐÐ outer join £¨ÍâÁ¬½Ó£©£¿

    +

    + PostgreSQL ²ÉÓñê×¼µÄ SQL Óï·¨Ö§³ÖÍâÁ¬½Ó¡£ÕâÀïÊÇÁ½¸öÀý×Ó£º +

    +
    +	SELECT *
    +	FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);
    +
    +

    »òÊÇ

    +
    +	SELECT *
    +	FROM t1 LEFT OUTER JOIN t2 USING (col);
    +
    +

    + ÕâÁ½¸öµÈ¼ÛµÄ²éѯÔÚ t1.col ºÍ t2.col ÉÏ×öÁ¬½Ó£¬²¢ÇÒ·µ»Ø t1 ÖÐËùÓÐδÁ¬½ÓµÄÐУ¨ÄÇЩÔÚ t2 ÖÐûÓÐÆ¥ÅäµÄÐУ©¡£ + ÓÒ[Íâ]Á¬½Ó(RIGHT OUTER JOIN)½«·µ»Ø t2 ÖÐδÁ¬½ÓµÄÐС£ + ÍêÈ«ÍâÁ¬½Ó£¨FULL OUTER JOIN£©½«·µ»Ø t1 ºÍ t2 ÖÐδÁ¬½ÓµÄÐС£ + ¹Ø¼ü×Ö OUTER ÔÚ×ó[Íâ]Á¬½Ó¡¢ÓÒ[Íâ]Á¬½ÓºÍÍêÈ«[Íâ]Á¬½ÓÖÐÊÇ¿ÉÑ¡µÄ£¬ÆÕͨÁ¬½Ó±»³ÆÎªÄÚÁ¬½Ó£¨INNER JOIN£©¡£ +

    + + +

    4.17)ÈçºÎʹÓÃÉæ¼°¶à¸öÊý¾Ý¿âµÄ²éѯ£¿

    +

    + ûÓа취²éѯµ±Ç°Êý¾Ý¿âÖ®ÍâµÄÊý¾Ý¿â¡£ + ÒòΪ PostgreSQL Òª¼ÓÔØÓëÊý¾Ý¿âÏà¹ØµÄϵͳĿ¼£¨ÏµÍ³±í£©£¬Òò´Ë¿çÊý¾Ý¿âµÄ²éѯÈçºÎÖ´ÐÐÊDz»¶¨µÄ¡£ +

    +

    + ¸½¼ÓÔöֵģ¿écontrib/dblinkÔÊÐí²ÉÓú¯Êýµ÷ÓÃʵÏÖ¿ç¿â²éѯ¡£µ±È»Óû§Ò²¿ÉÒÔͬʱÁ¬½Óµ½²»Í¬µÄÊý¾Ý¿âÖ´ÐвéѯȻºóÔÚ¿Í»§¶ËºÏ²¢½á¹û¡£ +

    + +

    4.18)ÈçºÎÈú¯Êý·µ»Ø¶àÐлò¶àÁУ¿

    +

    + ÔÚº¯ÊýÖзµ»ØÊý¾Ý¼Ç¼¼¯µÄ¹¦ÄÜÊǺÜÈÝÒ×ʹÓõģ¬ÏêÇé²Î¼û£º + http://techdocs.postgresql.org/guides/SetReturningFunctions +

    + +

    4.19)ΪʲôÎÒÔÚʹÓÃPL/PgSQLº¯Êý´æÈ¡ÁÙʱ±íʱ»áÊÕµ½´íÎóÐÅÏ¢¡°relation with OID ##### does not exist¡±£¿

    +

    + PL/PgSQL»á»º´æº¯ÊýµÄÄÚÈÝ£¬ÓÉ´Ë´øÀ´µÄÒ»¸ö²»ºÃµÄ¸±×÷ÓÃÊÇÈôÒ»¸ö PL/PgSQL + º¯Êý·ÃÎÊÁËÒ»¸öÁÙʱ±í£¬È»ºó¸Ã±í±»É¾³ý²¢Öؽ¨ÁË£¬ÔòÔٴε÷Óøú¯Êý½«Ê§°Ü£¬ + ÒòΪ»º´æµÄº¯ÊýÄÚÈÝÈÔȻָÏò¾ÉµÄÁÙʱ±í¡£½â¾öµÄ·½·¨ÊÇÔÚ PL/PgSQL ÖÐÓÃEXECUTE + ¶ÔÁÙʱ±í½øÐзÃÎÊ¡£ÕâÑù»á±£Ö¤²éѯÔÚÖ´ÐÐǰ×Ü»á±»ÖØÐ½âÎö¡£ +

    + +

    4.27)ĿǰÓÐÄÄЩÊý¾Ý¸´ÖÆ·½°¸¿ÉÓã¿

    +

    + ¡°¸´ÖÆ¡±Ö»ÊÇÒ»¸öÊõÓÓкü¸ÖÖ¸´ÖƼ¼Êõ¿ÉʹÓã¬Ã¿ÖÖ¶¼ÓÐÓŵãºÍȱµã£º +

    +

    + Ö÷/´Ó¸´ÖÆ·½Ê½ÊÇÔÊÐíÒ»¸öÖ÷·þÎñÆ÷½ÓÊܶÁ/дµÄÉêÇ룬¶ø¶à¸ö´Ó·þÎñÆ÷Ö»ÄܽÓÊܶÁ/SELECT²éѯµÄÉêÇ룬 + Ŀǰ×îÁ÷ÐÐÇÒÊÇÃâ·ÑµÄÖ÷/´Ó PostgreSQL¸´ÖÆ·½°¸ÊÇ + Slony-I ¡£ +

    +

    + ¶à¸öÖ÷·þÎñÆ÷µÄ¸´ÖÆ·½Ê½ÔÊÐí½«¶Á/дµÄÉêÇë·¢Ë͸ø¶ą̀µÄ¼ÆËã»ú£¬ÕâÖÖ·½Ê½ÓÉÓÚÐèÒªÔÚ¶ą̀·þÎñÆ÷Ö®¼äͬ²½Êý¾Ý±ä¶¯ + ¿ÉÄÜ»á´øÀ´½ÏÑÏÖØµÄÐÔÄÜËðʧ£¬PgclusterÊÇĿǰÕâÖÖ·½°¸ + ÖÐ×îºÃµÄ£¬¶øÇÒ»¹¿ÉÒÔÃâ·ÑÏÂÔØ¡£ +

    +

    + Ò²ÓÐһЩÉÌÒµÐ踶·ÑºÍ»ùÓÚÓ²¼þµÄÊý¾Ý¸´ÖÆ·½°¸£¬Ö§³ÖÉÏÊö¸÷ÖÖ¸´ÖÆÄ£ÐÍ¡£ +

    + + + + + + 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 @@

    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)
    +href="mailto:bruce@momjian.us">bruce@momjian.us)
    Maintainer of Japanese Translation: Jun Kuwamura (juk at PostgreSQL.jp)

    ¤³¤Îʸ½ñ¤ÎºÇ¿·ÈǤÏ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¤Ï¤É¤¦¤Ê¤Î¤Ç¤¹¤«¡©
    @@ -69,7 +69,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

    3.3) ¤è¤êÎɤ¤À­Ç½¤òÆÀ¤ë¤¿¤á¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥¨¥ó¥¸¥ó¤ò¤É¤Î¤è¤¦¤ËÄ´À°¤·¤Þ¤¹¤«¡©
    3.4) ¤É¤Î¤è¤¦¤Ê¥Ç¥Ð¥°µ¡Ç½¤¬»È¤¨¤Þ¤¹¤«¡©
    3.5) Àܳ¤·¤è¤¦¤È¤¹¤ë¤È¤­¤Ë 'Sorry, too many clients' ¤¬½Ð¤ë¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡©
    -3.6) PostgreSQL¤Î¥á¥¸¥ã¡¼¥ê¥ê¡¼¥¹¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¤Î¤Ë¥À¥ó¥×¤È¥ê¥¹¥È¥¢¤ò¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡©
    +3.6) PostgreSQL¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤Î¼ê½ç¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©
    3.7) ¥Ï¡¼¥É¥¦¥§¥¢¤Ë¤Ï¤É¤ó¤Ê¥³¥ó¥Ô¥å¡¼¥¿¤ò»È¤¨¤Ð¤è¤¤¤Ç¤¹¤«¡©
    @@ -221,7 +221,7 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

    ¤Ê¤µ¤ì¤¿¥×¥é¥Ã¥È¥Û¡¼¥à¤Ë¤Ä¤¤¤Æ¤Ï¥¤¥ó¥¹¥È¡¼¥ë¼ê°ú½ñ¤ËÎóµó¤·¤Æ¤¢¤ê¤Þ¤¹¡£

    -

    PostgreSQL ¤Ï¡¢Win2000, WinXP, ¤½¤·¤Æ¡¢Win2003 ¤Î¤è¤¦¤Ê Microsoft +

    PostgreSQL ¤Ï¡¢Win2000 SP4, WinXP, ¤½¤·¤Æ¡¢Win2003 ¤Ê¤É Microsoft Windows NT¥Ù¡¼¥¹¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ç¡¢¥Í¥¤¥Æ¥£¥Ö¤ËÁö¤ê¤Þ¤¹¡£ ¤¢¤é¤«¤¸¤á¥Ñ¥Ã¥±¡¼¥¸¤Ë¤µ¤ì¤¿¥¤¥ó¥¹¥È¡¼¥é¤¬ @@ -255,9 +255,9 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

    ftp://ftp.PostgreSQL.org/pub/ ¤ò»È¤¤¤Þ¤¹¡£

    -

    1.6) ºÇ¿·ÈǤϤɤì¤Ç¤¹¤«¡©

    +

    1.6) ºÇ¿·¤Î¥ê¥ê¡¼¥¹¤Ï¤É¤ì¤Ç¤¹¤«¡©

    -

    PostgreSQL ¤ÎºÇ¿·ÈǤϥС¼¥¸¥ç¥ó 8.1.3 ¤Ç¤¹¡£

    +

    PostgreSQL ¤ÎºÇ¿·ÈǤϥС¼¥¸¥ç¥ó 8.1.4 ¤Ç¤¹¡£

    ²æ¡¹¤Ï¡¢1ǯËè¤Ë¥á¥¸¥ã¡¼¥ê¥ê¡¼¥¹¤ò¡¢¿ô¥õ·î¤´¤È¤Î¥Þ¥¤¥Ê¡¼¥ê¥ê¡¼¥¹¤ò ¹Ô¤Ê¤¦¤³¤È¤ò·×²è¤·¤Æ¤¤¤Þ¤¹¡£

    @@ -304,8 +304,8 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

    ¾¦ÍÑ¥µ¥Ý¡¼¥È²ñ¼Ò¤Î¥ê¥¹¥È¤Ï - http://techdocs.postgresql.org/companies.php¤Ë¤¢¤ê¤Þ¤¹¡£

    + href="http://www.postgresql.org/support/professional_support"> + http://www.postgresql.org/support/professional_support¤Ë¤¢¤ê¤Þ¤¹¡£

    1.8) ¥Ð¥°¥ì¥Ý¡¼¥È¤Ï¤É¤Î¤è¤¦¤Ëȯ¿®¤·¤Þ¤¹¤«¡© @@ -442,11 +442,20 @@ href="mailto:juk at PostgreSQL.jp">juk at PostgreSQL.jp)

    ÁÇÀ²¤é¤·¤¤¼ê°ú½ñ¤Ï¡¢http://www.intermedia.net/support/sql/sqltut.shtm, - - http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM, - ¤½¤·¤Æ¡¢http://sqlcourse.com +

    ¤Ë¤¢¤ê¤Þ¤¹¡£

    @@ -470,7 +479,7 @@ http://www.postgresql.jp/PostgreSQL/references.html ]

    -

    1.12) ³«È¯¥Á¡¼¥à¤Ë¤Ï¤É¤Î¤è¤¦¤Ë»²²Ã¤·¤Þ¤¹¤«¡©

    +

    1.12) ¥Ñ¥Ã¥Á¤òÄ󶡤·¤¿¤ê¡¢³«È¯¥Á¡¼¥à»²²Ã¤¹¤ë¤Ë¤Ï¤É¤¦¤¹¤ì¤Ð¤è¤¤¤Ç¤¹¤«¡©

    ¡Ê³«È¯¼Ô¸þ¤±¤Î¡ËDeveloper's FAQ¤ò¤´¤é¤ó¤¯¤À¤µ¤¤¡£

    @@ -580,10 +589,7 @@ http://www.postgresql.jp/PostgreSQL/references.html

    2.3) PostgreSQL ¤Ë¥°¥é¥Õ¥£¥«¥ë¡¦¥æ¡¼¥¶¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¤¢¤ê¤Þ¤¹¤«¡©

    -

    ¤â¤Á¤í¤ó¡¢¤¢¤ê¤Þ¤¹¡£ - ¾ÜºÙ¤Ï¡¢http://techdocs.postgresql.org/guides/GUITools - ¤ò¤´¤é¤ó¤¯¤À¤µ¤¤¡£

    - +

    ¾¦ÍѤȥª¡¼¥×¥ó¥½¡¼¥¹³«È¯¼Ô¤Ë¤è¤ë¤â¤ÎξÊý¤Ç¡¢PostgreSQL¤Ë¤Ï¿¤¯¤ÎGUI¥Ä¡¼¥ë¤¬ÍøÍѲÄǽ¤Ç¡¢¾ÜºÙ¤Ê¥ê¥¹¥È¤Ï¡¢PostgreSQL¥³¥ß¥å¥Ë¥Æ¥£Ê¸½ñ ¤Ç¤´¤é¤ó¤¯¤À¤µ¤¤¡£


    @@ -646,12 +652,13 @@ http://www.postgresql.jp/PostgreSQL/references.html
    ¥Ï¡¼¥É¥¦¥§¥¢¤ÎÁªÄê
    -
    À­Ç½¤Ë¤ª¤±¤ë¥Ï¡¼¥É¥¦¥§¥¢¤Î±Æ¶Á¤Ï - http://candle.pha.pa.us/main/writings/pgsql/hw_performance/index.html +
    À­Ç½¤Ë¤ª¤±¤ë¥Ï¡¼¥É¥¦¥§¥¢¤Î±Æ¶Á¤Ï + + http://www.powerpostgresql.com/PerfList/ ¤È¡¢ + http://momjian.us/main/writings/pgsql/hw_performance/index.html (JPUG¥µ¥¤¥È¤ÎÆüËܸìÈÇ) - ¤È - http://www.powerpostgresql.com/PerfList/ ¤Ë½Ò¤Ù¤é¤ì¤Æ¤¤¤Þ¤¹¡£ + ¤Ë½Ò¤Ù¤é¤ì¤Æ¤¤¤Þ¤¹¡£

    @@ -680,16 +687,25 @@ http://www.postgresql.jp/PostgreSQL/references.html max_connections ¤ÎÃͤòÊѹ¹¤·¤Æ postmaster¤òºÆµ¯Æ°¤¹¤ë ¤³¤È¤Ç²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£

    -

    3.6) PostgreSQL¤Î¥á¥¸¥ã¡¼¥ê¥ê¡¼¥¹¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¤Î¤Ë¥À¥ó¥×¤È¥ê¥¹¥È¥¢¤ò¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¤Î¤Ï¤Ê¤¼¤Ç¤¹¤«¡©

    +

    3.6) PostgreSQL¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤Î¼ê½ç¤Ï¤É¤¦¤·¤Þ¤¹¤«¡©

    -

    PostgreSQL¥Á¡¼¥à¤Ï¥Þ¥¤¥Ê¡¼¥ê¥ê¡¼¥¹¤Ç¤Ï¾®¤µ¤ÊÊѹ¹¤·¤«¹Ô¤Ê¤¤¤Þ¤»¤ó - ¤Î¤Ç¡¢7.4.0 ¤«¤é 7.4.1 ¤Ø¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ë¤Ï¥À¥ó¥×¤È¥ê¥¹¥È¥¢¤ÎɬÍ×¤Ï - ¤¢¤ê¤Þ¤»¤ó¡£¤·¤«¤·¡¢¥á¥¸¥ã¡¼¥ê¥ê¡¼¥¹(¤¿¤È¤¨¤Ð¡¢7.2¤«¤é7.3¤Ø¤Î¤è¤¦¤Ê) - ¤Ç¤Ï¡¢¥·¥¹¥Æ¥à¥Æ¡¼¥Ö¥ë¤ä¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤ÎÆâÉô¥Õ¥©¡¼¥Þ¥Ã¥È¤ÎÊѹ¹¤ò¤·¤Ð - ¤·¤Ð¹Ô¤Ê¤¤¤Þ¤¹¡£¤³¤ì¤é¤ÎÊѹ¹¤Ï¤¿¤¤¤Æ¤¤Ê£»¨¤Ç¡¢¤½¤Î¤¿¤á²æ¡¹¤Ï¥Ç¡¼¥¿¥Õ¥¡ - ¥¤¥ë¤Î¤¿¤á¤Î¸åÊý¸ß´¹À­¤ò°Ý»ý¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£¥À¥ó¥×¤ÏÈÆÍÑ¥Õ¥©¡¼ - ¥Þ¥Ã¥È¤Ç¥Ç¡¼¥¿¤ò½ÐÎϤ·¡¢¤½¤ì¤ò¿·¤·¤¤ÆâÉô¥Õ¥©¡¼¥Þ¥Ã¥È¤ËÆÉ¤ß¹þ¤à¤³¤È¤¬ - ¤Ç¤­¤Þ¤¹¡£

    +

    PostgreSQL¥Á¡¼¥à¤Ï¥Þ¥¤¥Ê¡¼¥ê¥ê¡¼¥¹¤Ç¤Ï¥Ð¥°¤Î½¤Àµ¤·¤«¹Ô¤Ê¤¤¤Þ¤»¤ó + ¤Î¤Ç¡¢¤¿¤È¤¨¤Ð 7.4.8 ¤«¤é 7.4.9 ¤Ø¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ë¥À¥ó¥×¤È¥ê¥¹¥È + ¥¢¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¥µ¡¼¥Ð¤ò°ì»þŪ¤ËÄä»ß¤·¤Æ¡¢ + ¥¢¥Ã¥×¥Ç¡¼¥È¤·¤¿¥Ð¥¤¥Ê¥ê¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¡¢¤½¤·¤Æ¡¢¥µ¡¼¥Ð¤ò¥ê¥¹¥¿¡¼¥È + ¤¹¤ë¤À¤±¤Ç¤¹¡£

    + +

    Á´¥æ¡¼¥¶¤Ï¤Ç¤­¤ë¤À¤±Á᤯ºÇ¿·¤Î¥Þ¥¤¥Ê¡¼¥ê¥ê¡¼¥¹¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹ + ¤ë¤Ù¤­¤Ç¤¹¡£¤¹¤Ù¤Æ¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ë¥ê¥¹¥¯¤Ï¤Ä¤­¤â¤Î¤Ç¤¹¤¬¡¢ + PostgreSQL¤Î¥Þ¥¤¥Ê¡¼¥ê¥ê¡¼¥¹¤Ï¡¢¤Ê¤ë¤Ù¤¯¾®¤µ¤Ê¥ê¥¹¥¯¤Ç°ìÈÌŪ¤Ê¥Ð¥°¤Î + ½¤Àµ¤À¤±¤òÌÜÏÀ¤ó¤À¤â¤Î¤Ç¤¹¡£²æ¡¹¥³¥ß¥å¥Ë¥Æ¥£¤ÎÃæ¤Ç¤Ï¥¢¥Ã¥×¥°¥ì¡¼¥É + ¤·¤Ê¤¤¤Û¤¦¤¬¤â¤Ã¤È¥ê¥¹¥¯¤¬¹â¤¤¤â¤Î¤È¹Í¤¨¤é¤ì¤Æ¤¤¤Þ¤¹¡£

    + +

    ¤·¤«¤·¡¢¥á¥¸¥ã¡¼¥ê¥ê¡¼¥¹¡Ê¤¿¤È¤¨¤Ð¡¢7.3 ¤«¤é 7.4 ¤Î¤è¤¦¤Ê¡Ë¤Ç¤Ï¡¢ + ¥·¥¹¥Æ¥à¥Æ¡¼¥Ö¥ë¤ä¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤ÎÆâÉô¥Õ¥©¡¼¥Þ¥Ã¥È¤ÎÊѹ¹¤ò¤·¤Ð¤·¤Ð¹Ô + ¤Ê¤¤¤Þ¤¹¡£¤³¤ì¤é¤ÎÊѹ¹¤Ï¤¿¤¤¤Æ¤¤Ê£»¨¤Ç¡¢¤½¤Î¤¿¤á²æ¡¹¤Ï¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë + ¤Î¤¿¤á¤Î¸åÊý¸ß´¹À­¤ò°Ý»ý¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£¥á¥¸¥ã¡¼¥¢¥Ã¥×¥°¥ì¡¼¥É + ¤Î¤¿¤á¤Ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥À¥ó¥×/¥ê¥í¡¼¥É¤¬É¬ÍפǤ¹¡£

    3.7) ¥Ï¡¼¥É¥¦¥§¥¢¤Ë¤Ï¤É¤ó¤Ê¥³¥ó¥Ô¥å¡¼¥¿¤ò»È¤¨¤Ð¤è¤¤¤Ç¤¹¤«¡©

    @@ -790,7 +806,8 @@ http://www.postgresql.jp/PostgreSQL/references.html

    ¥Ç¥Õ¥©¥ë¥È¤Î¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ò32k¤ËÁý²Ã¤¹¤ë¤³¤È¤Ç¡¢ºÇÂç¥Æ¡¼¥Ö¥ë¥µ¥¤¥º - ¤È¹Ô¥µ¥¤¥º¤ÈºÇÂ祫¥é¥à¿ô¤È¤ò4Çܤˤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

    + ¤È¹Ô¥µ¥¤¥º¤ÈºÇÂ祫¥é¥à¿ô¤È¤ò4Çܤˤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢ºÇÂç¥Æ¡¼¥Ö¥ë + ¥µ¥¤¥º¤Ï¥Æ¡¼¥Ö¥ë¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò»È¤Ã¤ÆÁý¤ä¤¹¤³¤È¤â¤Ç¤­¤Þ¤¹¡£

    ¤Ò¤È¤Ä¤ÎÀ©¸Â¤Ï¡¢Ìó2,000ʸ»ú°Ê¾å¤ÎŤµ¤Î¥«¥é¥à¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÉÕ ¤±¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¤³¤È¤Ç¤¹¡£ ¹¬¤¤¤Ë¤â¡¢¤½¤Î¤è¤¦¤Ê¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¼ÂºÝ @@ -1061,21 +1078,21 @@ http://www.postgresql.jp/PostgreSQL/references.html

    PostgreSQL¤Ç¤Ä¤¯¤é¤ì¤ë¤¹¤Ù¤Æ¤Î¥í¥¦¤Ï¡¢WITHOUT OIDS ¤Ç¤Ä¤¯¤é¤ì¤Ê¤¤¤«¤®¤ê°ì°Õ¤ÎOID¤òÆÀ¤Þ¤¹¡£ - OID¤Ï¼«Æ°Åª¤Ë4¥Ð¥¤¥È¤ÎÀ°¿ô¤ÇÍ¿¤¨¤é¤ì¡¢¤½¤ì¤Ï¡¢Á´¥¤¥ó + OID¤Ï¼«Æ°Åª¤Ë4¥Ð¥¤¥È¤ÎÀ°¿ô¤ÇÍ¿¤¨¤é¤ì¡¢¤½¤ì¤Ï¡¢Á´¥¤¥ó ¥¹¥È¥ì¡¼¥·¥ç¥ó¤òÄ̤·¤Æ°ì°Õ¤ÊÃͤȤʤê¤Þ¤¹¡£¤·¤«¤·¡¢Ìó40²¯¤Ç¥ª¡¼¥Ð¡¼¥Õ - ¥í¡¼¤·¡¢¤½¤·¤Æ¡¢OID¤Ï½ÅÊ£¤ò¤·¤Ï¤¸¤á¤Þ¤¹¡£PostgreSQL¤Ï - ÆâÉô¥·¥¹¥Æ¥à¥Æ¡¼¥Ö¥ë¤ò°ì½ï¤Ë¥ê¥ó¥¯¤¹¤ë¤¿¤á¤ËOID ¤ò»È + ¥í¡¼¤·¡¢¤½¤·¤Æ¡¢OID¤Ï½ÅÊ£¤ò¤·¤Ï¤¸¤á¤Þ¤¹¡£PostgreSQL¤Ï + ÆâÉô¥·¥¹¥Æ¥à¥Æ¡¼¥Ö¥ë¤ò°ì½ï¤Ë¥ê¥ó¥¯¤¹¤ë¤¿¤á¤ËOID ¤ò»È ¤¤¤Þ¤¹¡£

    ¥æ¡¼¥¶¤Î¥Æ¡¼¥Ö¥ë¤Î¥«¥é¥à¤Ë°ì°Õ¤ÎÈÖ¹æ¤òÉÕ¤±¤ë¤¿¤á¤Ë¤Ï¡¢ - OID ¤Ç¤Ï¤Ê¤¯ SERIAL ¤ò»È¤¦¤Î¤¬ºÇ¤â¤è¤¤ + OID ¤Ç¤Ï¤Ê¤¯ SERIAL ¤ò»È¤¦¤Î¤¬ºÇ¤â¤è¤¤ ¤Ç¤·¤ç¤¦¡£SERIAL¤ÎÏ¢ÈÖ¤Ï1¤Ä¤Î¥Æ¡¼¥Ö¥ëÆâ¤Ç¤Î¤ß°ì°Õ¤Ë¤Ê ¤ë¤«¤é¤Ç¡¢¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤òµ¯¤³¤·¤Ë¤¯¤¤¤È¹Í¤¨¤é¤ì¤Þ¤¹¡£ 8¥Ð¥¤¥È¤Î¥·¡¼¥±¥ó¥¹ÃͤòÊݸ¤¹¤ë¤¿¤á¤Ë¡¢SERIAL8¤¬¤¢¤ê ¤Þ¤¹¡£

    -

    CTID ¤Ï¡¢ÆÃÄê¤ÎʪÍý¥í¥¦¤ò¥Ö¥í¥Ã¥¯¤È¥ª¥Õ¥»¥Ã¥È¤ÎÃÍ - ¤Ç¼±Ê̤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹¡£CTID¤Ï¡¢¥í¥¦¤¬½¤Àµ¤µ¤ì¤¿ +

    CTID ¤Ï¡¢ÆÃÄê¤ÎʪÍý¥í¥¦¤ò¥Ö¥í¥Ã¥¯¤È¥ª¥Õ¥»¥Ã¥È¤ÎÃÍ + ¤Ç¼±Ê̤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹¡£CTID¤Ï¡¢¥í¥¦¤¬½¤Àµ¤µ¤ì¤¿ ¤êºÆÆÉ¹þ¤ß¤µ¤ì¤¿¤È¤­¤ËÊѤï¤ê¤Þ¤¹¡£¤Þ¤¿¡¢ÊªÍý¥í¥¦¤òº¹¤¹¤¿¤á¤Ë¥¤¥ó¥Ç¥Ã ¥¯¥¹¤Îµ­ºÜ¤Ë»È¤ï¤ì¤Þ¤¹¡£

    @@ -1237,7 +1254,7 @@ http://www.postgresql.jp/PostgreSQL/references.html [ÌõÃí¡§ ÆüËܸìÈǤÎÀ½ºî¤Ë¤Ä¤¤¤Æ¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£ - ºÇ½ª¹¹¿·Æü: 2006ǯ04·î03Æü + ºÇ½ª¹¹¿·Æü: 2006ǯ08·î19Æü ËÝÌõ¼Ô: ·¬Â¼ ½á (Jun Kuwamura <juk at PostgreSQL.jp>) ¤³¤ÎFAQ¤ÎÏÂÌõ¤ÎºîÀ®¤Ë¤¢¤¿¤ê¶¨ÎϤò¤·¤Æ¤¯¤À¤µ¤Ã¤¿Êý¡¹(·É¾Î¤Ïά¤µ¤»¤Æ¤¤¤¿¤À¤­¤Þ¤¹): @@ -1246,7 +1263,7 @@ http://www.postgresql.jp/PostgreSQL/references.html Àаæ ãÉ×(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/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 @@

    ïÔ×ÅÔÙ ÎÁ ÞÁÓÔÏ ÚÁÄÁ×ÁÅÍÙÅ ×ÏÐÒÏÓÙ ÐÏ PostgreSQL

    -

    äÁÔÁ ÐÏÓÌÅÄÎÅÇÏ ÏÂÎÏ×ÌÅÎÉÑ: ðÑÔÎÉÃÁ 24 ÆÅ×ÒÁÌÑ 23:28:40 EDT 2006

    +

    äÁÔÁ ÐÏÓÌÅÄÎÅÇÏ ÏÂÎÏ×ÌÅÎÉÑ: ÷ÏÓËÒÅÓÅÎØÅ 18 ÉÀÎÑ 15:33:25 EDT 2006

    áÎÇÌÉÊÓËÉÊ ×ÁÒÉÁÎÔ ÓÏÐÒÏ×ÏÖÄÁÅÔ: âÒÀÓ íÏÍØÑÎ (Bruce Momjian) (pgman@candle.pha.pa.us)
    @@ -34,14 +34,14 @@ 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) ëÁË ÓÒÁ×ÎÉÔØ PostgreSQL Ó ÄÒÕÇÉÍÉ óõâä?
    @@ -64,8 +64,7 @@ 3.4) ëÁËÉÅ ×ÏÚÍÏÖÎÏÓÔÉ ÄÌÑ ÏÔÌÁÄËÉ ÅÓÔØ × ÎÁÌÉÞÉÉ?
    3.5) ðÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ ÓÏÏÂÝÅÎÉÅ "Sorry, too many clients" ËÏÇÄÁ ÐÙÔÁÀÓØ ÐÏÄËÌÀÞÉÔØÓÑ Ë ÂÁÚÅ?
    - 3.6) ðÏÞÅÍÕ ÎÅÏÂÈÏÄÉÍÏ ÄÅÌÁÔØ dump É restore ÐÒÉ - ÏÂÎÏ×ÌÅÎÉÉ ×ÙÐÕÓËÏ× PostgreSQL?
    + 3.6) ëÁË ×ÙÐÏÌÎÉÔØ ÏÂÎÏ×ÌÅÎÉÅ PostgreSQL?
    3.7) ëÁËÏÅ ËÏÍÐØÀÔÅÒÎÏÅ "ÖÅÌÅÚÏ" Ñ ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØ?
    @@ -222,9 +221,9 @@ ftp://ftp.PostgreSQL.org/pub/.

    -

    1.6) ëÁËÁÑ ÐÏÓÌÅÄÎÑÑ ×ÅÒÓÉÑ?

    +

    1.6) ëÁËÁÑ ×ÅÒÓÉÑ ÎÁÉÂÏÌÅÅ Ó×ÅÖÁÑ?

    -

    ðÏÓÌÅÄÎÉÊ ×ÙÐÕÓË PostgreSQL - ÜÔÏ ×ÅÒÓÉÑ 8.1.3

    +

    ðÏÓÌÅÄÎÉÊ ×ÙÐÕÓË PostgreSQL - ÜÔÏ ×ÅÒÓÉÑ 8.1.4

    íÙ ÐÌÁÎÉÒÕÅÍ ×ÙÐÕÓËÁÔØ ÎÏ×ÙÅ ÓÔÁÒÛÉÅ ×ÅÒÓÉÉ ËÁÖÄÙÊ ÇÏÄ, Á ÍÌÁÄÛÉÅ ×ÅÒÓÉÉ ËÁÖÄÙÅ ÎÅÓËÏÌØËÏ ÍÅÓÑÃÅ×.

    @@ -369,14 +368,20 @@ 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.

    +

    óÕÝÅÓÔ×ÕÅÔ ÔÁËÖÅ ÍÎÏÖÅÓÔ×Ï ÐÒÅËÒÁÓÎÙÈ ÕÞÅÂÎÉËÏ× ÄÏÓÔÕÐÎÙÈ × online: +

    +

    - -

    1.12) ëÁË ÐÒÉÓÏÅÄÉÎÉÔÓÑ Ë ËÏÍÁÎÄÅ ÒÁÚÒÁÂÏÔÞÉËÏ×?

    +

    1.12) ëÁË ÍÎÅ ÐÒÉÓÌÁÔØ ÉÓÐÒÁ×ÌÅÎÉÅ ÉÌÉ ÐÒÉÓÏÅÄÉÎÉÔÓÑ Ë ËÏÍÁÎÄÅ ÒÁÚÒÁÂÏÔÞÉËÏ×?

    óÍÏÔÒÉÔÅ FAQ ÄÌÑ ÒÁÚÒÁÂÏÔÞÉËÏ×.

    @@ -483,8 +488,10 @@

    2.3) åÓÔØ ÌÉ Õ PostgreSQL ÇÒÁÆÉÞÅÓËÉÊ ÉÎÔÅÒÆÅÊÓ ÐÏÌØÚÏ×ÁÔÅÌÑ?

    -

    äÁ, ÐÏÄÒÏÂÎÏÓÔÉ ÓÍÏÔÒÉÔÅ × - http://techdocs.postgresql.org/guides/GUITools.

    +

    äÌÑ PostgreSQL ÓÕÝÅÓÔ×ÕÅÔ ÂÏÌØÛÏÅ ËÏÌÉÞÅÓÔ×Ï ÉÎÓÔÒÕÍÅÎÔÏ× Ó + ÇÒÁÆÉÞÅÓËÉÍ ÉÎÔÅÒÆÅÊÓÏÍ ËÁË ËÏÍÍÅÒÞÅÓËÉÈ, ÔÁË É ÏÔËÒÙÔÙÈ. ðÏÄÒÏÂÎÏÓÔÉ + ÍÏÖÎÏ ÎÁÊÔÉ × + äÏËÕÍÅÎÔÁÃÉÉ ÓÏÏÂÝÅÓÔ×Á PostgreSQL


    @@ -549,7 +556,7 @@
    ÷ÙÂÏÒ "ÖÅÌÅÚÁ" - ÁÐÐÁÒÁÔÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ
    ÷ÌÉÑÎÉÅ "ÖÅÌÅÚÁ" ÎÁ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ ÐÏÄÒÏÂÎÏ ÏÐÉÓÁÎÏ × - + http://candle.pha.pa.us/main/writings/pgsql/hw_performance/index.html É http://www.powerpostgresql.com/PerfList/. @@ -576,24 +583,27 @@ É ÐÅÒÅÓÔÁÒÔÏ×ÁÔØ postmaster.

    -

    3.6) ðÏÞÅÍÕ ÎÅÏÂÈÏÄÉÍÏ ÄÅÌÁÔØ dump É restore ÐÒÉ - ÏÂÎÏ×ÌÅÎÉÉ ×ÙÐÕÓËÏ× PostgreSQL?

    +

    3.6) ëÁË ×ÙÐÏÌÎÉÔØ ÏÂÎÏ×ÌÅÎÉÅ PostgreSQL?

    -

    òÁÚÒÁÂÏÔÞÉËÉ PostgreSQL ÄÅÌÁÀÔ ÔÏÌØËÏ ÎÅÂÏÌØÛÉÅ ÉÚÍÅÎÅÎÉÑ ÍÅÖÄÕ - ÐÏÄ×ÙÐÕÓËÁÍÉ. ôÁËÉÍ ÏÂÒÁÚÏÍ ÏÂÎÏ×ÌÅÎÉÅ Ó ×ÅÒÓÉÉ 7.4.0 ÄÏ 7.4.1 ÎÅ ÔÒÅÂÕÅÔ - ×ÙÐÏÌÎÅÎÉÑ dump É restore. ïÄÎÁËÏ ÐÒÉ ×ÙÈÏÄÅ ÏÞÅÒÅÄÎÏÇÏ ×ÙÐÕÓËÁ +

    íÅÖÄÕ ÐÏÄ×ÙÐÕÓËÁÍÉ, ÒÁÚÒÁÂÏÔÞÉËÉ PostgreSQL ÄÅÌÁÀÔ ÔÏÌØËÏ ÉÓÐÒÁ×ÌÅÎÉÑ + ÏÛÉÂÏË. ôÁËÉÍ ÏÂÒÁÚÏÍ ÏÂÎÏ×ÌÅÎÉÅ Ó ×ÅÒÓÉÉ 7.4.8 ÄÏ 7.4.9 ÎÅ ÔÒÅÂÕÅÔ + ×ÙÐÏÌÎÅÎÉÑ dump É restore; ÄÏÓÔÁÔÏÞÎÏ ÏÓÔÁÎÏ×ÉÔØ ÓÅÒ×ÅÒ, ÕÓÔÁÎÏ×ÉÔØ + ÏÂÎÏ×Ì£ÎÎÙÅ ÆÁÊÌÙ óõâä É ÚÁÐÕÓÔÉÔØ ÓÅÒ×ÅÒ.

    + +

    ÷ÓÅ ÐÏÌØÚÏ×ÁÔÅÌÉ ÄÏÌÖÎÙ ÂÙ ÏÂÎÏ×ÌÑÔØÓÑ ÎÁ ÎÁÉÂÏÌÅÅ Ó×ÅÖÕÀ ÐÏÄ×ÅÒÓÉÀ + ËÁË ÔÏÌØËÏ ÏÎÁ ÂÕÄÅÔ ÄÏÓÔÕÐÎÁ. ÷ ÔÏ ×ÒÅÍÑ ËÁË ËÁÖÄÏÅ ÏÂÎÏ×ÌÅÎÉÅ + ÐÏÄÒÁÚÕÍÅ×ÁÅÔ ÎÅËÏÔÏÒÙÊ ÒÉÓË, ÐÏÄ×ÅÒÓÉÉ PostgreSQL ÒÁÚÒÁÂÙÔÙ×ÁÀÔÓÑ ÔÏÌØËÏ + ÄÌÑ ÉÓÐÒÁ×ÌÅÎÉÑ ÏÂÝÉÈ ÏÛÉÂÏË Ó ÍÉÎÉÍÁÌØÎÙÍ ÒÉÓËÏÍ. ôÁËÉÍ ÏÂÒÁÚÏÍ, ×ÁÛ + ÒÉÓË Ó×ÑÚÁÎ ÔÏÌØËÏ Ó ÓÁÍÉÍ ÏÂÎÏ×ÌÅÎÉÅÍ.

    + + +

    ðÒÉ ×ÙÈÏÄÅ ÏÞÅÒÅÄÎÏÇÏ ×ÙÐÕÓËÁ (Ô.Å. ÐÒÉ ÏÂÎÏ×ÌÅÎÉÉ ÎÁÐÒÉÍÅÒ, Ó 7.3 ÎÁ 7.4) ÞÁÓÔÏ ÍÅÎÑÅÔÓÑ ×ÎÕÔÒÅÎÎÉÊ ÆÏÒÍÁÔ ÓÉÓÔÅÍÎÙÈ ÔÁÂÌÉÃ É ÆÁÊÌÏ× ÄÁÎÎÙÈ. üÔÉ ÉÚÍÅÎÅÎÉÑ ÞÁÓÔÏ ÎÏÓÑÔ - ËÏÍÐÌÅËÓÎÙÊ ÈÁÒÁËÔÅÒ, ÔÁË ÞÔÏ ÎÅÔ ×ÏÚÍÏÖÎÏÓÔÉ ÏÂÅÓÐÅÞÉÔØ ÏÂÒÁÔÎÕÀ - ÓÏ×ÍÅÓÔÉÍÏÓÔØ ÆÁÊÌÏ× ÄÁÎÎÙÈ. ÷ÙÐÏÌÅÎÉÅ dump ÐÏÚ×ÏÌÑÅÔ ÐÏÌÕÞÉÔØ ÄÁÎÎÙÅ - × ÏÂÝÅÍ ÆÏÒÍÁÔÅ, ËÏÔÏÒÙÊ ÚÁÔÅÍ ÍÏÖÅÔ ÂÙÔØ ÚÁÇÒÕÖÅÎ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ - ÎÏ×ÏÇÏ ×ÎÕÔÒÅÎÎÅÇÏ ÆÏÒÍÁÔÁ.

    + ÓÌÏÖÎÙÊ ÈÁÒÁËÔÅÒ, ÔÁË ÞÔÏ ÍÙ ÎÅ ÏÂÓÌÕÖÉ×ÁÅÍ ÏÂÒÁÔÎÕÀ + ÓÏ×ÍÅÓÔÉÍÏÓÔØ ÄÌÑ ÆÁÊÌÏ× ÄÁÎÎÙÈ. ÷ ÜÔÉÈ ÓÌÕÞÁÑÈ ÄÌÑ ÏÂÎÏ×ÌÅÎÉÑ ÂÁÚÙ + ÄÁÎÎÙÈ ÔÒÅÂÕÅÔÓÑ ×ÙÐÏÌÎÉÔØ dump/restore.

    -

    ÷ ÔÅÈ ×ÙÐÕÓËÁÈ, ÇÄÅ ÆÏÒÍÁÔ ÄÁÎÎÙÈ ÎÁ ÄÉÓËÅ ÎÅ ÍÅÎÑÅÔÓÑ, ÄÌÑ ÐÒÏ×ÅÄÅÎÉÑ - ÏÂÎÏ×ÌÅÎÉÑ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎ ÓÃÅÎÁÒÉÊ pg_upgrade ÂÅÚ - ÉÓÐÏÌØÚÏ×ÁÎÉÑ dump/restore. ëÏÍÍÅÎÔÁÒÉÉ Ë ×ÙÐÕÓËÕ ÇÏ×ÏÒÉÔ ËÏÇÄÁ ÍÏÖÎÏ - ÉÓÐÏÌØÚÏ×ÁÔØ pg_upgrade ÄÌÑ ÜÔÏÇÏ ×ÙÐÕÓËÁ.

    -

    3.7) ëÁËÏÅ ËÏÍÐØÀÔÅÒÎÏÅ "ÖÅÌÅÚÏ" Ñ ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØ?

    @@ -684,7 +694,7 @@ íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÓÔÒÏËÉ? - 1.6 TB + 400 Gb íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÐÏÌÑ?