From: Bruce Momjian Date: Fri, 22 Feb 2002 12:48:55 +0000 (+0000) Subject: Add Russian FAQ from Viktor Vislobokov. X-Git-Tag: REL7_3~2067 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=68d835c550ddef7cdb3b2af7058b2b5242645f23;p=postgresql Add Russian FAQ from Viktor Vislobokov. --- diff --git a/doc/FAQ_russian b/doc/FAQ_russian new file mode 100644 index 0000000000..9639d5f3fa --- /dev/null +++ b/doc/FAQ_russian @@ -0,0 +1,1146 @@ + + ïÔ×ÅÔÙ ÎÁ ÞÁÓÔÏ ÚÁÄÁ×ÁÅÍÙÅ ×ÏÐÒÏÓÙ ÐÏ PostgreSQL + + äÁÔÁ ÐÏÓÌÅÄÎÅÇÏ ÏÂÎÏ×ÌÅÎÉÑ: þÅÔ×ÅÒÇ 18 æÅ×ÒÁÌÑ 17:56:04 EST 2002 + + áÎÇÌÉÊÓËÉÊ ×ÁÒÉÁÎÔ ÓÏÐÒÏ×ÏÖÄÁÅÔ: âÒÀÓ íÏÍØÑÎ (Bruce Momjian) + (pgman@candle.pha.pa.us) + + ðÅÒÅ×ÅÌ ÎÁ ÒÕÓÓËÉÊ: ÷ÉËÔÏÒ ÷ÉÓÌÏÂÏËÏ× (victor_v@permonline.ru) + + óÁÍÕÀ Ó×ÅÖÕÀ ÁÎÇÌÉÊÓËÕÀ ×ÅÒÓÉÀ ÄÏËÕÍÅÎÔÁ ÍÏÖÎÏ ÎÁÊÔÉ ÎÁ + http://www.PostgreSQL.org/docs/faq-english.html. + + ïÔ×ÅÔÙ ÎÁ ×ÏÐÒÏÓÙ ÓÐÅÃÉÆÉÞÎÙÅ ÄÌÑ ËÏÎËÒÅÔÎÙÈ ÐÌÁÔÆÏÒÍ ÍÏÖÎÏ ÎÁÊÔÉ ÎÁ + http://www.PostgreSQL.org/users-lounge/docs/faq.html. + _________________________________________________________________ + + ïÂÝÉÅ ×ÏÐÒÏÓÙ + + 1.1) þÔÏ ÔÁËÏÅ PostgreSQL? ëÁË ÐÒÏÉÚÎÏÓÉÔÓÑ ÜÔÏ ÎÁÚ×ÁÎÉÅ? + 1.2) ëÁËÏ×Ù Á×ÔÏÒÓËÉÅ ÐÒÁ×Á ÎÁ PostgreSQL? + 1.3) îÁ ËÁËÉÈ Unix ÐÌÁÔÆÏÒÍÁÈ ÒÁÂÏÔÁÅÔ PostgreSQL? + 1.4) óÕÝÅÓÔ×ÕÀÔ ÌÉ ×ÅÒÓÉÉ ÐÏÒÔÉÒÏ×ÁÎÎÙÅ ÎÅ ÎÁ Unix ÓÉÓÔÅÍÙ? + 1.5) çÄÅ ÍÏÖÎÏ ×ÚÑÔØ PostgreSQL? + 1.6) çÄÅ ÐÏÌÕÞÉÔØ ÐÏÄÄÅÒÖËÕ? + 1.7) ëÁËÁÑ ÐÏÓÌÅÄÎÑÑ ×ÅÒÓÉÑ? + 1.8) ëÁËÁÑ ÄÏËÕÍÅÎÔÁÃÉÑ ÉÍÅÅÔÓÑ × ÎÁÌÉÞÉÉ? + 1.9) ëÁË ÎÁÊÔÉ ÉÎÆÏÒÍÁÃÉÀ Ï ÉÚ×ÅÓÔÎÙÈ ÏÛÉÂËÁÈ ÉÌÉ ÏÔÓÕÔÓÔ×ÕÀÝÉÈ + ×ÏÚÍÏÖÎÏÓÔÑÈ? + 1.10) ëÁË ÎÁÕÞÉÔØÓÑ SQL? + 1.11) òÅÛÅÎÁ ÌÉ × PostgreSQL ÐÒÏÂÌÅÍÁ 2000-ÇÏ ÇÏÄÁ (Y2K)? + 1.12) ëÁË ÐÒÉÓÏÅÄÉÎÉÔÓÑ Ë ËÏÍÁÎÄÅ ÒÁÚÒÁÂÏÔÞÉËÏ×? + 1.13) ëÁË ÏÔÒÁ×ÉÔØ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ? + 1.14) ëÁË ÓÒÁ×ÎÉ×ÁÔØ PostgreSQL Ó ÄÒÕÇÉÍÉ óõâä? + 1.15) ëÁË ÏËÁÚÁÔØ ÆÉÎÁÎÓÏ×ÕÀ ÐÏÍÏÝØ PostgreSQL? + + ÷ÏÐÒÏÓÙ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÐÏ ËÌÉÅÎÔÓËÏÊ ÞÁÓÔÉ + + 2.1) óÕÝÅÓÔ×ÕÀÔ ÌÉ ODBC ÄÒÁÊ×ÅÒÁ ÄÌÑ PostgreSQL? + 2.2) ëÁËÉÅ ÉÎÓÔÒÕÍÅÎÔÙ ÓÕÝÅÓÔ×ÕÀÔ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ PostgreSQL ÞÅÒÅÚ + Web? + 2.3) åÓÔØ ÌÉ Õ PostgreSQL ÇÒÁÆÉÞÅÓËÉÊ ÉÎÔÅÒÆÅÊÓ ÐÏÌØÚÏ×ÁÔÅÌÑ? + çÅÎÅÒÁÔÏÒ ÏÔÞÅÔÏ×? ÷ÓÔÒÏÅÎÎÙÊ ÉÎÔÅÒÆÅÊÓ ÄÌÑ ÑÚÙËÁ ÚÁÐÒÏÓÏ×? + 2.4) ëÁËÉÅ ÑÚÙËÉ ÍÏÇÕÔ ×ÚÁÉÍÏÄÅÊÓÔ×Ï×ÁÔØ Ó PostgreSQL? + + ÷ÏÐÒÏÓÙ ÁÄÍÉÎÉÓÔÒÉÒÏ×ÁÎÉÑ + + 3.1) ëÁË ÍÎÅ ÕÓÔÁÎÏ×ÉÔØ PostgreSQL × ÍÅÓÔÏ ÏÔÌÉÞÎÏÅ ÏÔ + /usr/local/pgsql? + 3.2) ëÏÇÄÁ Ñ ÚÁÐÕÓËÁÀ postmaster, Ñ ÐÏÌÕÞÁÀ ÓÏÏÂÝÅÎÉÅ Bad System Call + ÉÌÉ ÓÏÏÂÝÅÎÉÅ core dumped. ðÏÞÅÍÕ? + 3.3) ëÏÇÄÁ Ñ ÐÙÔÁÀÓØ ÚÁÐÕÓÔÉÔØ postmaster, Ñ ÐÏÌÕÞÁÀ ÏÛÉÂËÉ + IpcMemoryCreate. ðÏÞÅÍÕ? + 3.4) ëÏÇÄÁ Ñ ÐÙÔÁÀÓØ ÚÁÐÕÓÔÉÔØ postmaster, Ñ ÐÏÌÕÞÁÀ ÏÛÉÂËÉ + IpcSemaphoreCreate. ðÏÞÅÍÕ? + 3.5) ëÁË ÍÎÅ ÕÐÒÁ×ÌÑÔØ ÓÏÅÄÉÎÅÎÉÑÍÉ Ó ÄÒÕÇÉÈ ËÏÍÐØÀÔÅÒÏ×? + 3.6) ëÁËÉÅ ÎÁÓÔÒÏÊËÉ ÍÎÅ ÎÕÖÎÏ ÓÄÅÌÁÔØ ÄÌÑ ÕÌÕÞÛÅÎÉÑ + ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ? + 3.7) ëÁËÉÅ ×ÏÚÍÏÖÎÏÓÔÉ ÄÌÑ ÏÔÌÁÄËÉ ÅÓÔØ × ÎÁÌÉÞÉÉ? + 3.8) ðÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ ÓÏÏÂÝÅÎÉÅ "Sorry, too many clients" ËÏÇÄÁ + ÐÙÔÁÀÓØ ÐÏÄËÌÀÞÉÔØÓÑ Ë ÂÁÚÅ? + 3.9) þÔÏ ÜÔÏ ÚÁ ÆÁÊÌÙ pg_sorttempNNN.NN × ÍÏÅÍ ËÁÔÁÌÏÇÅ Ó ÂÁÚÏÊ + ÄÁÎÎÙÈ? + + ÷ÏÐÒÏÓÙ ÜËÓÐÌÕÁÔÁÃÉÉ + + 4.1) ÷ ÞÅÍ ÏÔÌÉÞÉÅ ÍÅÖÄÕ ÂÉÎÁÒÎÙÍ É ÎÏÒÍÁÌØÎÙÍ ËÕÒÓÏÒÏÍ? + 4.2) ëÁË ×ÙÐÏÌÎÉÔØ SELECT ÔÏÌØËÏ ÄÌÑ ÎÅÓËÏÌØËÉÈ ÐÅÒ×ÙÈ ÓÔÒÏÞÅË + ÚÁÐÒÏÓÁ? + 4.3) ëÁË ÐÏÌÕÞÉÔØ ÓÐÉÓÏË ÔÁÂÌÉà ÉÌÉ ÄÒÕÇÉÈ ËÏÍÐÏÎÅÎÔÏ× × psql? + 4.4) ëÁË ÕÄÁÌÉÔØ ËÏÌÏÎËÕ ÉÚ ÔÁÂÌÉÃÙ? + 4.5) ëÁËÏ×Ù ÍÁËÓÉÍÁÌØÎÙÅ ÒÁÚÍÅÒÙ ÄÌÑ ÚÁÐÉÓÅÊ, ÔÁÂÌÉÃ É ÂÁÚÙ ÄÁÎÎÙÈ? + 4.6) ëÁË ÍÎÏÇÏ ÄÉÓËÏ×ÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á × ÂÁÚÅ ÄÁÎÎÙÈ ÎÕÖÎÏ ÄÌÑ + ÓÏÈÒÁÎÅÎÉÑ ÄÁÎÎÙÈ ÉÚ ÏÂÙÞÎÏÇÏ ÔÅËÓÔÏ×ÏÇÏ ÆÁÊÌÁ? + 4.7) ëÁË ÍÎÅ ÕÂÅÄÉÔØÓÑ, ÞÔÏ ÎÕÖÎÙÅ ÍÎÅ ÔÁÂÌÉÃÙ ÉÌÉ ÉÎÄÅËÓÙ ÏÐÒÅÄÅÌÅÎÙ + × ÂÁÚÅ ÄÁÎÎÙÈ? + 4.8) õ ÍÅÎÑ ÍÅÄÌÅÎÎÏ ÒÁÂÏÔÁÀÔ ÚÁÐÒÏÓÙ ÉÌÉ ÎÅ ÐÒÏÉÓÈÏÄÉÔ ÉÓÐÏÌØÚÏ×ÁÎÉÑ + ÉÎÄÅËÓÏ×. ðÏÞÅÍÕ? + 4.9) ëÁË ÐÏÓÍÏÔÒÅÔØ ÎÁ ÔÏ, ËÁË ÏÐÔÉÍÉÚÁÔÏÒ ×ÙÐÏÌÎÑÅÔ ÍÏÊ ÚÁÐÒÏÓ? + 4.10) þÔÏ ÔÁËÏÅ R-tree ÉÎÄÅËÓ? + 4.11) þÔÏ ÔÁËÏÅ Genetic Query Optimizer? + 4.12) ëÁË ÍÎÅ ×ÙÐÏÌÎÉÔØ ÐÏÉÓË ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ É ÐÏÉÓË + ÎÅÚÁ×ÉÓÉÍÙÊ ÏÔ ÒÅÇÉÓÔÒÁ ÂÕË× ÐÏÉÓË ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ? ëÁË ÍÎÅ + ÉÓÐÏÌØÚÏ×ÁÔØ ÉÎÄÅËÓ ÄÌÑ ÐÏÉÓËÁ ÎÅÚÁ×ÉÓÉÍÏÇÏ ÏÔ ÒÅÇÉÓÔÒÁ ÂÕË×? + 4.13) ëÁË Ñ ÍÏÇÕ ÏÐÒÅÄÅÌÉÔØ, ÞÔÏ ÚÎÁÞÅÎÉÅ ÐÏÌÑ ÒÁ×ÎÏ NULL × ËÁËÏÍ-ÌÉÂÏ + ÚÁÐÒÏÓÅ? + 4.14) ëÁËÏ×Ù ÏÔÌÉÞÉÑ ÍÅÖÄÕ ÒÁÚÎÙÍÉ ÓÉÍ×ÏÌØÎÙÍÉ ÔÉÐÁÍÉ? + 4.15.1) ëÁË ÍÎÅ ÓÏÚÄÁÔØ ÐÏÌÅ serial/Ó-Á×ÔÏ-Õ×ÅÌÉÞÅÎÉÅÍ? + 4.15.2) ëÁË ÍÎÅ ÐÏÌÕÞÉÔØ ÚÎÁÞÅÎÉÅ ÐÒÉ ×ÓÔÁ×ËÅ SERIAL? + 4.15.3) îÅ ÍÏÖÅÔ ÌÉ ÐÏÌÕÞÉÔØÓÑ ÔÁË, ÞÔÏ ÉÓÐÏÌØÚÏ×ÁÎÉÅ currval() É + nextval() ÐÒÉ×ÅÄÅÔ Ë ÚÁÃÉËÌÉÒÏ×ÁÎÉÀ Ó ÄÒÕÇÉÍÉ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ? + 4.15.4) ðÏÞÅÍÕ ÞÉÓÌÁ ÉÚ ÍÏÅÊ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ ÎÅ ÉÓÐÏÌØÚÕÀÔÓÑ ÓÎÏ×Á + ÐÒÉ ÏÔÍÅÎÅ ÔÒÁÎÚÁËÃÉÉ? ðÏÞÅÍÕ ÓÏÚÄÁÀÔÓÑ ÒÁÚÒÙ×Ù ÐÒÉ ÎÕÍÅÒÁÃÉÉ × + ËÏÌÏÎËÅ, ÇÄÅ Ñ ÉÓÐÏÌØÚÕÀ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ/SERIAL? + 4.16) þÔÏ ÔÁËÏÅ OID? þÔÏ ÔÁËÏÅ TID? + 4.17) þÔÏ ÏÚÎÁÞÁÀÔ ÎÅËÏÔÏÒÙÅ ÔÅÒÍÉÎÙ ÉÓÐÏÌØÚÕÅÍÙÅ × PostgreSQL? + 4.18) ðÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ ÏÛÉÂËÕ "ERROR: Memory exhausted in + AllocSetAlloc()"? + 4.19) ëÁË ÍÎÅ ÕÚÎÁÔØ, ËÁËÁÑ ×ÅÒÓÉÑ PostgreSQL ÚÁÐÕÝÅÎÁ? + 4.20) ðÏÞÅÍÕ ÐÒÉ ÒÁÂÏÔÅ Ó ÍÏÉÍ ÂÏÌØÛÉÍ ÏÂßÅËÔÏÍ Ñ ÐÏÌÕÞÁÀ ÏÛÉÂËÕ + "invalid large obj descriptor"? + 4.21) ëÁË ÍÎÅ ÓÏÚÄÁÔØ ËÏÌÏÎËÕ ËÏÔÏÒÁÑ ÐÏ ÕÍÏÌÞÁÎÉÀ ÂÕÄÅÔ ÓÏÄÅÒÖÁÔØ + ÔÅËÕÝÅÅ ×ÒÅÍÑ? + 4.22) ðÏÞÅÍÕ ÍÏÉ ÐÏÄÚÁÐÒÏÓÙ, ÉÓÐÏÌØÚÕÀÝÉÅ IN ÔÁË ÍÅÄÌÅÎÎÏ ÒÁÂÏÔÁÅÀÔ? + 4.23) ëÁË ×ÙÐÏÌÎÉÔØ ×ÎÅÛÎÅÅ Ó×ÑÚÙ×ÁÎÉÅ? + 4.24) ëÁË ×ÙÐÏÌÎÑÔØ ÚÁÐÒÏÓÙ, ÉÓÐÏÌØÚÕÀÝÉÅ ÎÅÓËÏÌØËÏ ÂÁÚ ÄÁÎÎÙÈ? + + òÁÓÛÉÒÅÎÉÑ PostgreSQL + + 5.1) ñ ÎÁÐÉÓÁÌ ÆÕÎËÃÉÀ ÏÐÒÅÄÅÌÑÅÍÕÀ ÐÏÌØÚÏ×ÁÔÅÌÅÍ. ëÏÇÄÁ Ñ ÚÁÐÕÓËÁÀ ÅÅ + × psql, ÐÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ dump core? + 5.2) ëÁË Ñ ÍÏÇÕ ×ÎÅÓÔÉ ÎÅËÏÔÏÒÙÅ ËÌÁÓÓÎÙÅ ÎÏ×ÙÅ ÔÉÐÙ É ÆÕÎËÃÉÉ × + PostgreSQL? + 5.3) ëÁË ÍÎÅ ÎÁÐÉÓÁÔØ C ÆÕÎËÃÉÀ, ×ÏÚ×ÒÁÝÁÀÝÕÀ ÚÁÐÉÓØ? + 5.4) ñ ÉÚÍÅÎÉÌ ÉÓÈÏÄÎÙÊ ÆÁÊÌ. ðÏÞÅÍÕ ÐÏÓÌÅ ÐÅÒÅËÏÍÐÉÌÑÃÉÉ Ñ ÎÅ ×ÉÖÕ + ÉÚÍÅÎÅÎÉÊ? + _________________________________________________________________ + + ïÂÝÉÅ ×ÏÐÒÏÓÙ + + 1.1) þÔÏ ÔÁËÏÅ PostgreSQL? + + PostgreSQL ÐÒÏÉÚÎÏÓÉÔÓÑ Post-Gres-Q-L (ðÏÓÔ-çÒÅÓ-ëØÀ-üÌ). + + PostgreSQL - ÜÔÏ ÒÁÓÛÉÒÅÎÉÅ óõâä POSTGRES, ÉÓÓÌÅÄÏ×ÁÔÅÌØÓËÉÊ ÐÒÏÔÏÔÉÐ + ÎÏ×ÏÇÏ ÐÏËÏÌÅÎÉÑ óõâä. PostgreSQL ÏÄÎÏ×ÒÅÍÅÎÎÏ ÓÏÈÒÁÎÑÅÔ ÍÏÝÎÕÀ ÍÏÄÅÌØ + ÄÁÎÎÙÈ É ÏÂÝÉÒÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÔÉÐÏ× POSTGRES, É ÚÁÍÅÝÁÅÔ ÑÚÙË ÚÁÐÒÏÓÏ× + PostQuel ÎÁ ÒÁÓÛÉÒÅÎÎÏÅ ÐÏÄÍÎÏÖÅÓÔ×Ï SQL. PostgreSQL - ÜÔÏ Ó×ÏÂÏÄÎÏÅ É + ÐÏÌÎÏÓÔØÀ ÏÔËÒÙÔÏÅ ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ. + + òÁÚÒÁÂÏÔËÕ PostgreSQL ×ÙÐÏÌÎÑÅÔ ËÏÍÁÎÄÁ, Ó×ÑÚÁÎÎÁÑ ÞÅÒÅÚ Internet, ×ÓÅ + ÕÞÁÓÔÎÉËÉ ËÏÔÏÒÏÊ ÐÏÄÐÉÓÁÎÙ ÎÁ ÓÐÉÓÏË ÒÁÓÓÙÌËÉ ÒÁÚÒÁÂÏÔÞÉËÏ×. ÷ + ÎÁÓÔÏÑÝÅÅ ×ÒÅÍÑ, ÉÈ ËÏÏÒÄÉÎÁÔÏÒÏÍ Ñ×ÌÑÅÔÓÑ íÁÒË æÏÒÎÁÊ (Marc G. + Fournier) (scrappy@PostgreSQL.org). (óÍ. ÎÉÖÅ Ï ÔÏÍ, ËÁË ÐÏÄËÌÀÞÉÔØÓÑ + Ë ÒÁÚÒÁÂÏÔËÅ). üÔÁ ËÏÍÁÎÄÁ ÔÅÐÅÒØ ÏÔ×ÅÞÁÅÔ ÚÁ ×ÓÀ ÒÁÚÒÁÂÏÔËÕ + PostgreSQL. + + á×ÔÏÒÁÍÉ PostgreSQL 1.01 Ñ×ÌÑÀÔÓÑ üÎÄÒÀ à (Andrew Yu) É äÖÏÌÉ þÅÎ + (Jolly Chen). íÎÏÇÉÅ ÄÒÕÇÉÅ ×ÎÅÓÌÉ Ó×ÏÊ ×ËÌÁÄ × ÐÅÒÅÎÏÓ ÎÁ ÄÒÕÇÉÅ + ÐÌÁÔÆÏÒÍÙ, ÔÅÓÔÉÒÏ×ÁÎÉÅ, ÏÔÌÁÄËÕ É ÒÁÓÛÉÒÅÎÉÅ ÜÔÏÇÏ ËÏÄÁ. + ðÅÒ×ÏÎÁÞÁÌØÎÙÊ ËÏÄ Postgres, ÉÚ ËÏÔÏÒÏÇÏ ÐÏÑ×ÉÌÓÑ PostgreSQL, ÂÙÌ + ÉÔÏÇÏÍ ÕÓÉÌÉÊ ÍÎÏÇÉÈ ÁËÁÄÅÍÉÞÅÓËÉÈ ÓÔÕÄÅÎÔÏ×, ÎÅÁËÁÄÅÍÉÞÅÓËÉÈ + ÓÔÕÄÅÎÔÏ× É ÍÎÏÖÅÓÔ×Á ÒÁÚÎÙÈ ÐÒÏÇÒÁÍÍÉÓÔÏ×, ÒÁÂÏÔÁ×ÛÉÈ ÐÏÄ + ÒÕËÏ×ÏÄÓÔ×ÏÍ ÐÒÏÆÅÓÓÏÒÁ íÁÊËÌÁ óÔÏÕÎÂÒÅÊËÅÒÁ (Michael Stonebraker) × + ëÁÌÉÆÏÒÎÉÊÓËÏÍ ÕÎÉ×ÅÒÓÉÔÅÔÅ, âÅÒËÌÉ. + + ðÅÒ×ÏÎÁÞÁÌØÎÏÅ ÉÍÑ, ÄÁÎÎÏÅ × âÅÒËÌÉ, ÂÙÌÏ Postgres. ëÏÇÄÁ × 1995 ÇÏÄÕ + ÂÙÌÁ ÄÏÂÁ×ÌÅÎÁ ÆÕÎËÃÉÏÎÁÌØÎÏÓÔØ SQL, ÜÔÏ ÉÍÑ ÂÙÌÏ ÉÚÍÅÎÅÎÏ ÎÁ + Postgres95. îÏ É ÜÔÏ ÉÍÑ ÂÙÌÏ ÉÚÍÅÎÅÎÏ × ËÏÎÃÅ 1996 ÎÁ PostgreSQL. + + 1.2) ëÁËÏ×Ù Á×ÔÏÒÓËÉÅ ÐÒÁ×Á ÎÁ PostgreSQL? + + PostgreSQL ÐÏÐÁÄÁÅÔ ÐÏÄ ÄÅÊÓÔ×ÉÅ ÓÌÅÄÕÀÝÅÇÏ COPYRIGHT: + + óÉÓÔÅÍÁ õÐÒÁ×ÌÅÎÉÑ âÁÚÁÍÉ äÁÎÎÙÈ PostgreSQL + + Portion copyright (c) 1996-2002, PostgreSQL Global Development Group + Portions Copyright (c) 1994-6 Regents of the University of California + + ðÒÅÄÏÓÔÁ×ÌÑÀÔÓÑ ÐÒÁ×Á ÎÁ ÉÓÐÏÌØÚÏ×ÁÎÉÅ, ËÏÐÉÒÏ×ÁÎÉÅ, ÉÚÍÅÎÅÎÉÅ É + ÒÁÓÐÒÏÓÔÒÁÎÅÎÉÅ ÄÁÎÎÏÇÏ ÐÒÏÇÒÁÍÍÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ É ÅÇÏ ÄÏËÕÍÅÎÔÁÃÉÉ + ÄÌÑ ÌÀÂÙÈ ÃÅÌÅÊ, ÂÅÓÐÌÁÔÎÏ É ÂÅÚ ÐÏÄÐÉÓÁÎÉÑ ËÁËÏÇÏ-ÌÉÂÏ ÓÏÇÌÁÛÅÎÉÑ, + ÐÒÉ ÕÓÌÏ×ÉÉ ÞÔÏ ÄÌÑ ËÁÖÄÏÊ ËÏÐÉÉ ÂÕÄÕÔ ÐÒÅÄÏÓÔÁ×ÌÅÎÙ ÄÁÎÎÏÅ ×ÙÛÅ + ÚÁÍÅÞÁÎÉÅ Ï Á×ÔÏÒÓËÉÈ ÐÒÁ×ÁÈ, ÔÅËÕÝÉÊ ÐÁÒÁÇÒÁÆ É Ä×Á ÓÌÅÄÕÀÝÉÈ + ÐÁÒÁÇÒÁÆÁ. + + ëáìéæïòîéêóëéê õîé÷åòóéôåô îå îåóåô îéëáëïê ïô÷åôóô÷åîîïóôé úá ìàâùå + ðï÷òåöäåîéñ, ÷ëìàþáñ ðïôåòà äïèïäá, îáîåóåîîùå ðòñíùí éìé îåðòñíùí, + óðåãéáìøîùí éìé óìõþáêîùí éóðïìøúï÷áîéåí äáîîïçï ðòïçòáííîïçï + ïâåóðåþåîéñ éìé åçï äïëõíåîôáãéé, äáöå åóìé ëáìéæïòîéêóëéê õîé÷åòóéôåô + âùì éú÷åýåî ï ÷ïúíïöîïóôé ôáëéè ðï÷òåöäåîéê. + + ëáìéæïòîéêóëéê õîé÷åòóéôåô óðåãéáìøîï ïôëáúù÷áúù÷áåôóñ ðòåäïóôá÷ìñôø + ìàâùå çáòáîôéé, ÷ëìàþáñ, îï îå ïçòáîéþé÷áñóø ôïìøëï üôéíé çáòáîôéñíé: + îåñ÷îùå çáòáîôéé ðòéçïäîïóôé ôï÷áòá éìé ðòéçïäîïóôé äìñ ïôäåìøîïê + ãåìé. äáîîïå ðòïçòáííîïå ïâåóðåþåîéå ðòåäïóôá÷ìñåôóñ îá ïóîï÷å ðòéãéðá + "ëáë åóôø" é ëáìéæïòîéêóëéê õîé÷åòóéôåô îå ïâñúáî ðòåäïóôá÷ìñôø + óïðòï÷ïöäåîéå, ðïääåòöëõ, ïâîï÷ìåîéñ, òáóûéòåîéñ éìé éúíåîåîéñ. + + ÷ÙÛÅÉÚÌÏÖÅÎÎÏÅ Ñ×ÌÑÅÔÓÑ BSD ÌÉÃÅÎÚÉÅÊ, ËÌÁÓÓÉÞÅÓËÏÊ ÌÉÃÅÎÚÉÅÊ + ÐÒÏÇÒÁÍÍÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ Ó ÏÔËÒÙÔÙÍ ËÏÄÏÍ. üÔÁ ÌÉÃÅÎÚÉÑ ÎÅ ÎÁËÌÁÄÙ×ÁÅÔ + ÏÇÒÁÎÉÞÅÎÉÊ ÎÁ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÉÓÈÏÄÎÏÇÏ ËÏÄÁ. îÁÍ ÎÒÁ×ÉÔÓÑ ÜÔÁ ÌÉÃÅÎÚÉÑ + É ÍÙ ÎÅ ÓÏÂÉÒÁÅÍÓÑ Å£ ÍÅÎÑÔØ. + + 1.3) îÁ ËÁËÉÈ Unix ÐÌÁÔÆÏÒÍÁÈ ÒÁÂÏÔÁÅÔ PostgreSQL? + + ïÂÙÞÎÏ, PostgreSQL ÍÏÖÅÔ ÒÁÂÏÔÁÔØ ÎÁ ÌÀÂÏÊ ÓÏ×ÒÅÍÅÎÎÏÊ ÐÌÁÔÆÏÒÍÅ + ÓÏ×ÍÅÓÔÉÍÏÊ Ó Unix. ÷ ÉÎÓÔÒÕËÃÉÉ ÐÏ ÕÓÔÁÎÏ×ËÅ, ×Ù ÎÁÊÄÅÔÅ ÓÐÉÓÏË ÔÅÈ + ÐÌÁÔÆÏÒÍ, ÎÁ ËÏÔÏÒÙÈ ÂÙÌÉ ÐÒÏ×ÅÄÅÎÙ ÔÅÓÔÏ×ÙÅ ÚÁÐÕÓËÉ PostgreSQL Ë + ÍÏÍÅÎÔÕ ×ÙÈÏÄÁ ÄÁÎÎÏÊ ×ÅÒÓÉÉ. + + 1.4) óÕÝÅÓÔ×ÕÀÔ ÌÉ ×ÅÒÓÉÉ ÐÅÒÅÎÅÓÅÎÎÙÅ ÎÅ ÎÁ Unix ÓÉÓÔÅÍÙ? + + ëÌÉÅÎÔ + + äÌÑ ÚÁÐÕÓËÁ ÎÁ ÐÌÁÔÆÏÒÍÁÈ MS Windows ×ÏÚÍÏÖÎÁ ËÏÍÐÉÌÑÃÉÑ C ÂÉÂÌÉÏÔÅËÉ + libpq, psql É ÄÒÕÇÉÈ ÉÎÔÅÒÆÅÓÏ× É ÂÉÎÁÒÎÙÈ ÆÁÊÌÏ×. ÷ ÜÔÏÍ ÓÌÕÞÁÅ, + ËÌÉÅÎÔ ÚÁÐÕÓËÁÅÔÓÑ ÎÁ MS Windows É Ó×ÑÚÙ×ÁÅÔÓÑ ÐÏ TCP/IP Ó ÓÅÒ×ÅÒÏÍ, + ÚÁÐÕÝÅÎÎÙÍ ÎÁ ÏÄÎÏÊ ÉÚ ÐÏÄÄÅÒÖÉ×ÁÅÍÙÈ Unix ÐÌÁÔÆÏÒÍ. ÷ ÄÉÓÔÒÉÂÕÔÉ× + ×ËÌÀÞÁÅÔÓÑ ÆÁÊÌ win31.mak ÄÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÍÏÖÎÏ ÂÙÌÏ ÐÒÏ×ÅÓÔÉ ÓÂÏÒËÕ + ÂÉÂÌÉÏÔÅËÉ libpq É psql ÄÌÑ Win32. PostgreSQL ÔÁËÖÅ ÒÁÂÏÔÁÅÔ ÞÅÒÅÚ + ODBC. + + óÅÒ×ÅÒ + + óÅÒ×ÅÒ âä ÍÏÖÅÔ ÂÙÔØ ÚÁÐÕÝÅÎ ÎÁ Windows NT É Win2k, ÉÓÐÏÌØÚÕÑ + ÂÉÂÌÉÏÔÅËÕ Cygwin, ÒÁÚÒÁÂÏÔÁÎÎÕÀ ÄÌÑ ÐÅÒÅÎÏÓÁ ÐÒÏÇÒÁÍÍÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ + Unix × NT. óÍÏÔÒÉÔÅ pgsql/doc/FAQ_MSWIN × ÄÉÓÔÒÉÂÕÔÉ×Å ÉÌÉ MS Windows + FAQ ÎÁ ÎÁÛÅÍ ÓÁÊÔÅ. íÙ ÎÅ ÐÌÁÎÉÒÕÅÍ ÓÐÅÃÉÁÌØÎÏ ÐÅÒÅÎÏÓÉÔØ PostgreSQL + ÎÁ ËÁËÕÀ-ÌÉÂÏ ÐÌÁÔÆÏÒÍÕ Microsoft. + + 1.5) çÄÅ ÍÏÖÎÏ ×ÚÑÔØ PostgreSQL? + + îÁÐÒÉÍÅÒ, ×ÏÓÐÏÌØÚÏ×Á×ÛÉÓØ ÁÎÏÎÉÍÎÙÍ ÄÏÓÔÕÐÏÍ ÎÁ ftp ÓÁÊÔ PostgreSQL + ftp://ftp.PostgreSQL.org/pub. óÐÉÓÏË ÚÅÒËÁÌ ×Ù ÎÁÊÄÅÔÅ ÎÁ ÎÁÛÅÍ + ÏÓÎÏ×ÎÏÍ ÓÁÊÔÅ. + + 1.6) çÄÅ ÐÏÌÕÞÉÔØ ÐÏÄÄÅÒÖËÕ? + + ïÓÎÏ×ÎÏÊ ÓÐÉÓÏË ÒÁÓÓÙÌËÉ: pgsql-general@PostgreSQL.org. ÷ ÎÅÍ ÍÏÖÎÏ + ÏÂÓÕÖÄÁÔØ ÌÀÂÙÅ ÔÅÍÙ, ËÁÓÁÀÝÉÅÓÑ PostgreSQL. þÔÏÂÙ ÐÏÄÐÉÓÁÔØÓÑ, + ÏÔÐÒÁ×ØÔÅ ÐÉÓØÍÏ ÐÏ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÅ, × ËÏÔÏÒÏÍ × ÔÅÌÅ ÐÉÓØÍÁ (ÎÅ × + ÔÅÍÅ) ÎÁÐÉÛÉÔÅ ÓÌÅÄÕÀÝÉÅ ÓÔÒÏËÉ: + subscribe + end + + ÎÁ ÁÄÒÅÓ pgsql-general-request@PostgreSQL.org. + + óÕÝÅÓÔ×ÕÅÔ ÄÁÊÖÅÓÔ ÓÐÉÓÏË. þÔÏÂÙ ÐÏÄÐÉÓÁÔØÓÑ ÎÁ ÎÅÇÏ, ÏÔÐÒÁ×ØÔÅ ÐÉÓØÍÏ + ÐÏ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÅ ÎÁ ÁÄÒÅÓ: + pgsql-general-digest-request@PostgreSQL.org É × ÔÅÌÅ ÐÉÓØÍÁ ÎÁÐÉÛÉÔÅ + ÓÔÒÏÞËÉ ÓÔÒÏÞËÉ: + subscribe + end + + äÁÊÖÅÓÔÙ ÏÔÐÒÁ×ÌÑÀÔÓÑ ÐÏÄÐÉÓÞÉËÁÍ, ËÏÇÄÁ × ÏÓÎÏ×ÎÏÍ ÓÐÉÓËÅ ÒÁÓÓÙÌËÉ + ÎÁËÏÐÉÔÓÑ ÏËÏÌÏ 30 ËÉÌÏÂÁÊÔ ÓÏÏÂÝÅÎÉÊ. + + äÏÓÔÕÐÅÎ É ÓÐÉÓÏË ÒÁÓÓÙÌËÉ ÓÏÏÂÝÅÎÉÊ Ï ÏÛÉÂËÁÈ. þÔÏÂÙ ÐÏÄÐÉÓÁÔØÓÑ ÎÁ + ÜÔÏÔ ÓÐÉÓÏË, ÏÔÐÒÁ×ØÔÅ ÐÏ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÅ ÐÉÓØÍÏ ÎÁ ÁÄÒÅÓ + pgsql-bugs-request@PostgreSQL.org É × ÔÅÌÅ ÐÉÓØÍÁ ÎÁÐÉÛÉÔÅ ÓÔÒÏÞËÉ + ÓÔÒÏÞËÉ: + subscribe + end + + ôÁËÖÅ ÉÍÅÅÔÓÑ ÓÐÉÓÏË ÒÁÓÓÙÌËÉ Ó ÄÉÓËÕÓÓÉÑÍÉ ÒÁÚÒÁÂÏÔÞÉËÏ×. þÔÏÂÙ + ÐÏÄÐÉÓÁÔØÓÑ ÎÁ ÜÔÏÔ ÓÐÉÓÏË, ÏÔÐÒÁ×ØÔÅ ÐÏ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÅ ÐÉÓØÍÏ ÎÁ + ÁÄÒÅÓ pgsql-hackers-request@PostgreSQL.org É × ÔÅÌÅ ÐÉÓØÍÁ ÎÁÐÉÛÉÔÅ + ÓÔÒÏÞËÉ ÓÔÒÏÞËÉ: + subscribe + end + + äÏÐÏÌÎÉÔÅÌØÎÙÅ ÓÐÉÓËÉ ÒÁÓÓÙÌËÉ É ÉÎÆÏÍÁÃÉÀ Ï PostgreSQL ÍÏÖÎÏ ÎÁÊÔÉ ÎÁ + ÄÏÍÁÛÎÅÊ ÓÔÒÁÎÉÞËÅ PostgreSQL ÐÏ ÁÄÒÅÓÕ: + + http://www.PostgreSQL.org + + åÝÅ ÓÕÝÅÓÔ×ÕÅÔ IRC ËÁÎÁÌ ÎÁ EFNet, Ó ÎÁÚ×ÁÎÉÅÍ #PostgreSQL. ñ + ÉÓÐÏÌØÚÕÀ ÄÌÑ ÐÏÄËÌÀÞÅÎÉÑ Ë ÜÔÏÍÕ ËÁÎÁÌÕ ËÏÍÁÎÄÕ Unix irc -c + '#PostgreSQL' "$USER" irc.phoenix.net. + + óÐÉÓÏË ËÏÍÍÅÒÞÅÓËÏÊ ÐÏÄÄÅÒÖËÉ ËÏÍÐÁÎÉÊ ÄÏÓÔÕÐÅÎ ÎÁ + http://www.postgresql.org/users-lounge/commercial-support.html. + + 1.7) ëÁËÁÑ ÐÏÓÌÅÄÎÑÑ ×ÅÒÓÉÑ? + + ðÏÓÌÅÄÎÉÊ ×ÙÐÕÓË PostgreSQL - ÜÔÏ ×ÅÒÓÉÑ 7.2. + + íÙ ÐÌÁÎÉÒÕÅÍ ×ÙÐÕÓËÁÔØ ÎÏ×ÙÅ ×ÅÒÓÉÉ ËÁÖÄÙÅ ÞÅÔÙÒÅ ÍÅÓÑÃÁ. + + 1.8) ëÁËÁÑ ÄÏËÕÍÅÎÔÁÃÉÑ ÉÍÅÅÔÓÑ × ÎÁÌÉÞÉÉ? + + ÷ ÄÉÓÔÒÉÂÕÔÉ× ×ËÌÀÞÁÀÔÓÑ ÒÁÚÌÉÞÎÙÅ ÒÕËÏ×ÏÄÓÔ×Á, ÓÔÒÁÎÉÃÙ ÜÌÅËÔÒÏÎÎÏÇÏ + ÒÕËÏ×ÏÄÓÔ×Á man É ÎÅËÏÔÏÒÙÅ ÍÁÌÅÎØËÉÅ ÔÅÓÔÏ×ÙÅ ÐÒÉÍÅÒÙ. óÍÏÔÒÉÔÅ × + ËÁÔÁÌÏÇ /doc. ÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÐÒÏÓÍÁÔÒÉ×ÁÔØ ÄÏËÕÍÅÎÔÁÃÉÀ × éÎÔÅÒÎÅÔ ÐÏ + ÁÄÒÅÓÕ http://www.PostgreSQL.org/users-lounge/docs/. + + óÕÝÅÓÔ×ÕÅÔ Ä×Å ËÎÉÇÉ ÐÏ PostgreSQL ÄÏÓÔÕÐÎÙÅ ÐÏ ÁÄÒÅÓÁÍ + http://www.PostgreSQL.org/docs/awbook.html É + http://www.commandprompt.com/ppbook/. óÐÉÓÏË ËÎÉÇ ÐÏ PostgreSQL, + ËÏÔÏÒÙÅ ÍÏÖÎÏ ËÕÐÉÔØ ÄÏÓÔÕÐÅÎ ÐÏ ÁÄÒÅÓÕ + http://www.postgresql.org/books/. ëÒÏÍÅ ÔÏÇÏ, ÐÏ ÁÄÒÅÓÕ + http://techdocs.postgresql.org/ ×Ù ÍÏÖÅÔÅ ÎÁÊÔÉ ËÏÌÌÅËÃÉÀ ÔÅÈÎÉÞÅÓËÉÈ + ÓÔÁÔÅÊ ÐÏÓ×ÑÝÅÎÎÙÈ PostgreSQL. + + psql ÉÍÅÅÔ ÎÅÓËÏÌØËÏ ÐÒÅËÒÁÓÎÙÈ ËÏÍÁÎÄ \d ÄÌÑ ÏÔÏÂÒÁÖÅÎÉÑ ÉÎÆÏÒÍÁÃÉÉ + ÐÏ ÔÉÐÁÍ, ÏÐÅÒÁÔÏÒÁÍ, ÆÕÎËÃÉÑÍ, ÁÇÒÅÇÁÔÁÍ É Ô.Ä. + + îÁÛ ÓÁÊÔ ÓÏÄÅÒÖÉÔ ÅÝÅ ÂÏÌØÛÅ ÉÎÆÏÒÍÁÃÉÉ. + + 1.9) ëÁË ÎÁÊÔÉ ÉÎÆÏÒÍÁÃÉÀ Ï ÉÚ×ÅÓÔÎÙÈ ÏÛÉÂËÁÈ ÉÌÉ ÏÔÓÕÔÓÔ×ÕÀÝÉÈ + ×ÏÚÍÏÖÎÏÓÔÑÈ? + + PostgreSQL ÐÏÄÄÅÒÖÉ×ÁÅÔ ÒÁÓÛÉÒÅÎÎÙÊ ÐÏÄËÌÁÓÓ SQL-92. óÍÏÔÒÉÔÅ ÎÁÛ + ÓÐÉÓÏË TODO ÎÁ ÐÒÅÄÍÅÔ ÉÚ×ÅÓÔÎÙÈ ÏÛÉÂÏË, ÏÔÓÕÔÓÔ×ÕÀÝÉÈ ÏÓÏÂÅÎÎÏÓÔÑÈ É + ÂÕÄÕÝÉÈ ÐÌÁÎÏ×. + + 1.10) ëÁË ÍÎÅ ÎÁÕÞÉÔØÓÑ SQL? + + ëÎÉÇÁ ÐÏ PostgreSQL ÎÁ http://www.PostgreSQL.org/docs/awbook.html + ÎÁÕÞÉÔ SQL. óÕÝÅÓÔ×ÕÅÔ ÄÒÕÇÁÑ ËÎÉÇÁ ÐÏ PostgreSQL ÎÁ + http://www.commandprompt.com/ppbook. åÓÔØ ÐÒÅËÒÁÓÎÙÊ ÕÞÅÂÎÉË ÎÁ + http://www.intermedia.net/support/sql/sqltut.shtm, ÎÁ + http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM, + É ÎÁ http://sqlcourse.com. + + åÝÅ ÏÄÉÎ ÕÞÅÂÎÉË - ÜÔÏ ËÎÉÇÁ "Teach Yourself SQL in 21 Days, Second + Edition" (ïÓ×ÏÊ ÓÁÍÏÓÔÏÑÔÅÌØÎÏ SQL ÚÁ 21 ÄÅÎØ, ÷ÔÏÒÁÑ ÒÅÄÁËÃÉÑ) ÎÁ + http://members.tripod.com/er4ebus/sql/index.htm + + íÎÏÇÉÍ ÉÚ ÎÁÛÉÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÎÒÁ×ÉÔÓÑ ËÎÉÇÁ The Practical SQL + Handbook, Bowman, Judith S., et al., Addison-Wesley. äÒÕÇÉÍ ÎÒÁ×ÉÔÓÑ + The Complete Reference SQL, Groff et al., McGraw-Hill. + + 1.11) òÅÛÅÎÁ ÌÉ × PostgreSQL ÐÒÏÂÌÅÍÁ 2000-ÇÏ ÇÏÄÁ (Y2K)? + + äÁ, ÍÙ ÌÅÇËÏ ÍÁÎÉÐÕÌÉÒÕÅÍ ÄÁÔÁÍÉ ÐÏÓÌÅ 2000 ÇÏÄÁ É ÐÅÒÅÄ 2000 ÇÏÄÏÍ. + + 1.12) ëÁË ÐÒÉÓÏÅÄÉÎÉÔÓÑ Ë ËÏÍÁÎÄÅ ÒÁÚÒÁÂÏÔÞÉËÏ×? + + äÌÑ ÎÁÞÁÌÁ, ÓËÁÞÁÊÔÅ ÐÏÓÌÅÄÎÀÀ ×ÅÒÓÉÀ ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ× É ÐÒÏÞÔÉÔÅ + ÄÏËÕÍÅÎÔÁÃÉÀ ÒÁÚÒÁÂÏÔÞÉËÏ× PostgreSQL ÎÁ ÎÁÛÅÍ ÓÁÊÔÅ ÉÌÉ × + ÄÉÓÔÒÉÂÕÔÉ×Å. úÁÔÅÍ, ÐÏÄÐÉÛÉÔÅÓØ ÎÁ ÓÐÉÓËÉ ÒÁÓÓÙÌËÉ pgsql-hackers É + pgsql-patches. äÁÌÅÅ, ÏÔÐÒÁ×ÌÑÊÔÅ ÉÓÐÒÁ×ÌÅÎÉÑ (patches) ×ÙÓÏËÏÇÏ + ËÁÞÅÓÔ×Á × ÓÐÉÓÏË pgsql-patches. + + óÕÝÅÓÔ×ÕÅÔ ÏÇÒÁÎÉÞÅÎÎÙÊ ÓÐÉÓÏË ÌÀÄÅÊ, ËÏÔÏÒÙÊ ÉÍÅÀÔ ÐÒÉ×ÅÌÅÇÉÀ ×ÎÏÓÉÔØ + ÉÚÍÅÎÅÎÉÑ × CVS ÁÒÈÉ× PostgreSQL. ëÁÖÄÙÊ ÉÚ ÜÔÉÈ ÌÀÄÅÊ × Ó×ÏÅ ×ÒÅÍÑ + ÏÔÐÒÁ×ÉÌ ÔÁË ÍÎÏÇÏ ×ÙÓÏËÏËÁÞÅÓÔ×ÅÎÎÙÈ ÉÓÐÒÁ×ÌÅÎÉÊ, ÞÔÏ ÉÈ ÂÙÌÏ + ÎÅ×ÏÚÍÏÖÎÏ ÏÓÔÁ×ÉÔØ ÂÅÚ ×ÎÉÍÁÎÉÑ É ÏÎÉ ÂÙÌÉ ÕÄÏÓÔÏÅÎÙ ÐÒÅ×ÉÌÅÇÉÉ + ×ÎÏÓÉÔØ ÉÚÍÅÎÅÎÉÑ, É ÍÙ Õ×ÅÒÅÎÙ, ÞÔÏ ÔÅ ÉÓÐÒÁ×ÌÅÎÉÑ, ËÏÔÏÒÙÅ ÏÎÉ + ×ÎÅÓÕÔ ÂÕÄÕÔ ×ÙÓÏËÏÇÏ ËÁÞÅÓÔ×Á. + + 1.13) ëÁË ÏÔÒÁ×ÉÔØ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ?? + + ðÏÖÁÌÕÊÓÔÁ ÐÏÓÅÔÉÔÅ ÓÔÒÁÎÉÞËÕ PostgreSQL BugTool, ÎÁ ËÏÔÏÒÏÊ + ÐÒÅÄÏÓÔÁ×ÌÅÎÙ ÄÅÔÁÌØÎÙÅ ÉÎÓÔÒÕËÃÉÉ Ï ÔÏÍ ËÁË ÏÔÐÒÁ×ÉÔØ ÓÏÏÂÝÅÎÉÅ Ï + ÏÛÉÂËÅ. + + ôÁËÖÅ ÎÅ ÚÁÂÕÄØÔÅ ÐÏÓÍÏÔÒÅÔØ ÎÁ ftp://ftp.PostgreSQL.org/pub ÎÁ + ÐÒÅÄÍÅÔ ÂÏÌÅÅ Ó×ÅÖÉÈ ×ÅÒÓÉÊ PostgreSQL ÉÌÉ ÚÁÐÌÁÔ. + + 1.14) ëÁË ÓÒÁ×ÎÉ×ÁÔØ PostgreSQL Ó ÄÒÕÇÉÍÉ óõâä? + + óÕÝÅÓÔ×ÕÅÔ ÎÅÓËÏÌØËÏ ÍÅÔÏÄÏ× ÓÒÁ×ÎÅÎÉÑ ÐÒÏÇÒÁÍÍÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ: + ×ÏÚÍÏÖÎÏÓÔÉ, ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ, ÎÁÄÅÖÎÏÓÔØ, ÐÏÄÄÅÒÖËÁ É ÃÅÎÁ. + + ÷ÏÚÍÏÖÎÏÓÔÉ + PostgreSQL ÉÍÅÅÔ ÂÏÌØÛÉÎÓÔ×Ï ×ÏÚÍÏÖÎÏÓÔÅÊ ÐÒÅÄÓÔÁ×ÌÅÎÎÙÈ × + ÂÏÌØÛÉÈ ËÏÍÍÅÒÞÅÓËÉÈ óõâä, ÔÁËÉÅ ËÁË: ÔÒÁÎÚÁËÃÉÉ, ÐÏÄÚÁÐÒÏÓÙ, + ÔÒÉÇÇÅÒÙ, ÏÂÚÏÒÙ (views), ×ÎÅÛÎÉÊ ËÌÀÞ ÓÓÙÌÏÞÎÏÊ ÃÅÌÏÓÔÎÏÓÔÉ É + ÒÁÚÎÙÅ ÂÌÏËÉÒÏ×ËÉ. õ ÎÁÓ ÅÓÔØ ÎÅËÏÔÏÒÙÅ ×ÏÚÍÏÖÎÏÓÔÉ, ËÏÔÏÒÙÈ + ÎÅÔ Õ ÎÉÈ: ÔÉÐÙ, ÏÐÒÅÄÅÌÑÅÍÙÅ ÐÏÌØÚÏ×ÁÔÅÌÅÍ, ÍÅÈÁÎÉÚÍ + ÎÁÓÌÅÄÏ×ÁÎÉÑ, ÐÒÁ×ÉÌÁ É ËÏÎËÕÒÅÔÎÏÅ ÍÎÏÇÏ×ÅÒÓÉÏÎÎÏÅ ÕÐÒÁ×ÌÅÎÉÅ + ÄÌÑ ÒÁÂÏÔÙ Ó ÓÏÄÅÒÖÉÍÙÍ ÂÌÏËÉÒÏ×ÏË. + + ðÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ + PostgreSQL ÍÏÖÅÔ ÒÁÂÏÔÁÔØ × Ä×ÕÈ ÒÅÖÉÍÁ. ÷ ÎÏÒÍÁÌØÎÏÍ fsync + ÒÅÖÉÍÅ, ËÁÖÄÁÑ ÚÁ×ÅÒÛÅÎÎÁÑ ÔÒÁÎÚÁËÃÉÑ ÓÂÒÁÓÙ×ÁÅÔÓÑ ÎÁ ÄÉÓË, + ÇÁÒÁÎÔÉÒÕÑ, ÞÔÏ ÅÓÌÉ ÏÐÅÒÁÃÉÏÎÎÁÑ ÓÉÓÔÅÍÁ ÉÌÉ ÐÉÔÁÎÉÅ ÒÕÈÎÅÔ × + ÓÌÅÄÕÀÝÉÅ ÎÅÓËÏÌØËÏ ÓÅËÕÎÄ, ×ÓÅ ×ÁÛÉ ÄÁÎÎÙÅ ÂÅÚÏÐÁÓÎÏ + ÓÏÈÒÁÎÑÔÓÑ ÎÁ ÄÉÓËÅ. ÷ ÜÔÏÍ ÒÅÖÉÍÅ, ÍÙ ÒÁÂÏÔÁÅÍ ÍÅÄÌÅÎÅÅ, ÞÅÍ + ÂÏÌØÛÉÎÓÔ×Ï ËÏÍÍÅÒÞÅÓËÉÈ óõâä, ÏÔÞÁÓÔÉ ÐÏÔÏÍÕ, ÞÔÏ ÎÅËÏÔÏÒÙÅ ÉÚ + ÎÉÈ ÄÅÌÁÀÔ Õ ÓÅÂÑ ÐÏ ÕÍÏÌÞÁÎÉÀ ÔÁËÏÊ ËÏÎÓÅÒ×ÁÔÉ×ÎÙÊ ÓÂÒÏÓ ÎÁ + ÄÉÓË. ÷ ÒÅÖÉÍÅ no-fsync, ÍÙ ÏÂÙÞÎÏ ÂÙÓÔÒÅÅ ÞÅÍ ËÏÍÍÅÒÞÅÓËÉÅ + óõâä, ÎÏ × ÜÔÏÍ ÒÅÖÉÍÅ, ÐÁÄÅÎÉÅ ÏÐÅÒÁÃÉÏÏÎÏÊ ÓÉÓÔÅÍÙ ÍÏÖÅÔ + ÐÒÉ×ÅÓÔÉ Ë ÐÏÔÅÒÅ ÄÁÎÎÙÈ. íÙ ÒÁÂÏÔÁÅÍ ÎÁÄ ÔÅÍ ÞÔÏÂÙ + ÐÒÅÄÏÓÔÁ×ÉÔØ ÐÒÏÍÅÖÕÔÏÞÎÙÊ ÒÅÖÉÍ, ËÏÔÏÒÙÊ ÏÂÅÓÐÅÞÉ×ÁÌ ÂÏÌÅÅ + ×ÙÓÏËÕÀ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ, ÞÅÍ fsync ÒÅÖÉÍ É ÐÏÚ×ÏÌÑÌ + ÓÏÈÒÁÎÉÔØ ÃÅÌÏÓÔÎÏÓÔØ ÄÁÎÎÙÈ ÚÁÐÉÓÁÎÎÙÈ × ÔÅÞÅÎÉÉ 30 ÓÅËÕÎÄ ÄÏ + ÐÁÄÅÎÉÑ ÏÐÅÒÁÃÉÏÎÎÏÊ ÓÉÓÔÅÍÙ. + ÷ ÓÒÁ×ÎÅÎÉÉ Ó MySQL ÉÌÉ ÌÉÎÅÊÎÙÍÉ óõâä, ÍÙ ÍÅÄÌÅÎÅÅ ÐÒÉ + ÏÐÅÒÁÃÉÑÈ ×ÓÔÁ×ËÉ/ÏÂÎÏ×ÌÅÎÉÑ, ÐÏÔÏÍÕ ÞÔÏ ÍÙ ÕÐÒÁ×ÌÑÅÍ + ÔÒÁÎÚÁËÃÉÑÍÉ. é ÒÁÚÕÍÅÅÔÓÑ, MySQL ÎÅ ÉÍÅÅÔ ËÁËÉÈ-ÌÉÂÏ + ×ÏÚÍÏÖÎÏÓÔÅÊ ÉÚ ÐÅÒÅÞÉÓÌÅÎÙÈ × ÓÅËÃÉÉ ÷ÏÚÍÏÖÎÏÓÔÉ. íÙ ÄÅÌÁÅÍ + ÕÐÏÒ ÎÁ ÕÄÏÂÓÔ×Å É ×ÏÚÍÏÖÎÏÓÔÑÈ, ÎÏ ÍÙ ÔÁËÖÅ ÐÒÏÄÏÌÖÁÅÍ + Õ×ÅÌÉÞÉ×ÁÔØ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ ÐÕÔÅÍ ÐÒÏÆÉÌÉÒÏ×ÁÎÉÑ É ÁÎÁÌÉÚÁ + ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ×. óÕÝÅÓÔ×ÕÅÔ ÉÎÔÅÒÅÓÎÁÑ ÓÔÒÁÎÉÞËÁ × éÎÔÅÒÎÅÔ, + ÓÒÁ×ÎÉ×ÁÀÝÁÑ PostgreSQL É MySQL ÎÁ + http://openacs.org/why-not-mysql.html + íÙ ÕÐÒÁ×ÌÑÅÍ ËÁÖÄÙÍ ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÍ ÓÏÅÄÉÎÅÎÉÅÍ, ÓÏÚÄÁ×ÁÑ Unix + backend ÐÒÏÃÅÓÓ. Backend ÐÒÏÃÅÓÓÙ ÒÁÚÄÅÌÑÀÔ ÂÕÆÅÒÙ ÄÁÎÎÙÈ É + ÉÎÆÏÒÍÁÃÉÀ Ï ÂÌÏËÉÒÏ×ËÁÈ. ðÒÉ ÎÁÌÉÞÉÉ ÎÅÓËÏÌØËÉÈ ÐÒÏÃÅÓÓÏÒÏ×, + ÎÅÓËÏÌØËÏ backend ÐÒÏÃÅÓÓÏ× ÌÅÇËÏ ÍÏÇÕÔ ÂÙÔØ ÚÁÐÕÝÅÎÙ ÎÁ ÒÁÚÎÙÈ + ÐÒÏÃÅÓÓÏÒÁÈ. + + îÁÄÅÖÎÏÓÔØ + íÙ ÐÏÎÉÍÁÌÉ, ÞÔÏ ÎÁÛÁ óõâä ÄÏÌÖÎÁ ÂÙÔØ ÎÁÄÅÖÎÏÊ ÉÌÉ ÏÎÁ ÎÉÞÅÇÏ + ÎÅ ÂÕÄÅÔ ÓÔÏÉÔØ. íÙ ÓÔÁÒÁÅÍÓÑ ×ÙÐÕÓËÁÔØ ÈÏÒÏÛÏ ÐÒÏ×ÅÒÅÎÎÙÊ, + ÓÔÁÂÉÌØÎÙÊ ËÏÄ, ËÏÔÏÒÙÊ ÓÏÄÅÒÖÉÔ ÍÉÎÉÍÕÍ ÏÛÉÂÏË. ëÁÖÄÙÊ ×ÙÐÕÓË + ÐÒÏÈÏÄÉÔ ÓÔÁÄÉÀ ÂÅÔÁ-ÔÅÓÔÉÒÏ×ÁÎÉÑ ÐÏ ËÒÁÊÎÅÊ ÍÅÒÅ × ÔÅÞÅÎÉÉ + ÏÄÎÏÇÏ ÍÅÓÑÃÁ É ÎÁÛÁ ÉÓÔÏÒÉÑ ×ÙÐÕÓËÏ× ÐÏËÁÚÙ×ÁÅÔ ÞÔÏ ÍÙ ÍÏÖÅÍ + ÐÒÅÄÏÓÔÁ×ÌÑÔØ ÓÔÁÂÉÌØÎÙÅ, ÍÏÎÏÌÉÔÎÙÅ ×ÙÐÕÓËÉ, ËÏÔÏÒÙÅ ÇÏÔÏ×Ù Ë + ÐÒÏÄÕËÔÉ×ÎÏÍÕ ÉÓÐÏÌØÚÏ×ÁÎÉÀ. íÙ ×ÅÒÉÍ, ÞÔÏ ÍÙ ÐÒÏÉÚ×ÏÄÉÍ + ÐÒÏ×ÅÒËÕ ÎÅ ÈÕÖÅ, ÞÅÍ Õ ÄÒÕÇÉÈ óõâä. + + ðÏÄÄÅÒÖËÁ + îÁÛ ÓÐÉÓÏË ÒÁÓÓÙÌËÉ ÐÒÅÄÓÔÁ×ÌÅÎ ÂÏÌØÛÏÊ ÇÒÕÐÐÏÊ ÒÁÚÒÁÂÏÔÞÉËÏ× É + ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÐÏÍÏÞØ ÒÅÛÉÔØ ÌÀÂÙÅ ×ÏÚÎÉËÛÉÅ + ÐÒÏÂÌÅÍÙ. ÷ ÔÏ ÖÅ ×ÒÅÍÑ, ÍÙ ÎÅ ÇÁÒÁÎÔÉÒÕÅÍ ËÁËÉÅ-ÌÉÂÏ + ÉÓÐÒÁ×ÌÅÎÉÑ, ÎÏ É ÒÁÚÒÁÂÏÔÞÉËÉ ËÏÍÍÅÒÞÅÓËÉÈ óõâä ÎÅ ×ÓÅÇÄÁ + ÄÅÌÁÀÔ ÉÓÐÒÁ×ÌÅÎÉÑ. ðÒÑÍÏÊ ÄÏÓÔÕÐ Ë ÒÁÚÒÁÂÏÔÞÉËÁÍ, ÓÏÏÂÝÅÓÔ×Õ + ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ÒÕËÏ×ÏÄÓÔ×ÁÍ É ÉÓÈÏÄÎÙÍ ÔÅËÓÔÁÍ ÞÁÓÔÏ ÄÅÌÁÀÔ + ÐÏÄÄÅÒÖËÕ PostgreSQL ÐÒÅ×ÏÓÈÏÄÑÝÅÊ ÄÒÕÇÉÅ óõâä. óÕÝÅÓÔ×ÕÅÔ + ËÏÍÍÅÒÞÅÓËÁÑ ÐÏÄÄÅÒÖËÁ ÐÏ ÒÅÚÕÌØÔÁÍ ×ÏÚÎÉËÛÉÈ ÉÎÃÉÄÅÎÔÏ×, + ËÏÔÏÒÁÑ ÄÏÓÔÕÐÎÁ ÄÌÑ ÔÅÈ ËÏÍÕ ÏÎÁ ÎÕÖÎÁ. (óÍÏÔÒÉÔÅ ëÁË ÐÏÌÕÞÉÔØ + ÐÏÄÄÅÒÖËÕ?.) + + ãÅÎÁ + îÁÛ ÐÒÏÄÕËÔ ÂÅÓÐÌÁÔÅÎ ËÁË ÄÌÑ ËÏÍÍÅÒÞÅÓËÏÇÏ ÔÁË, É ÎÅ ÄÌÑ + ËÏÍÍÅÒÞÅÓËÏÇÏ ÉÓÐÏÌØÚÏ×ÁÎÉÑ. ÷Ù ÍÏÖÅÔÅ ÄÏÂÁ×ÌÑÔØ Ó×ÏÊ ËÏÄ × ÎÁÛ + ÐÒÏÄÕËÔ ÂÅÚ ÏÇÒÁÎÉÞÅÎÉÊ, ÚÁ ÉÓËÌÀÞÅÎÉÅÍ ÔÅÈ, ÞÔÏ ÏÐÉÓÙ×ÁÀÔÓÑ × + ÎÁÛÅÊ ÌÉÃÅÎÚÉÉ ÓÔÉÌÑ BSD, ËÏÔÏÒÁÑ ÐÒÉ×ÅÄÅÎÁ ×ÙÛÅ. + + 1.15) ëÁË ÏËÁÚÁÔØ ÆÉÎÁÎÓÏ×ÕÀ ÐÏÍÏÝØ PostgreSQL? + + PostgreSQL ÉÍÅÅÔ ÏÄÎÏÒÁÎÇÏ×ÕÀ ÉÎÆÒÁÓÔÒÕËÔÕÒÕ Ó ÔÏÇÏ ÓÁÍÏÇÏ ×ÒÅÍÅÎÉ ËÁË + ÍÙ ÎÁÞÁÌÉ ÒÁÚÒÁÂÏÔËÕ 6 ÌÅÔ ÎÁÚÁÄ. íÙ ÄÏÌÖÎÙ ÂÌÁÇÏÄÁÒÉÔØ ÚÁ ÜÔÏ íÁÒËÁ + æÏÎÁÑ (Marc Fournier), ËÏÔÏÒÙÊ ÓÏÚÄÁÌ ÜÔÕ ÉÎÆÒÁÓÔÒÕËÔÕÒÕ É ÕÐÒÁ×ÌÑÅÔ + ÅÊ ÎÁ ÐÒÏÔÑÖÅÎÉÉ ÜÔÉÈ ÌÅÔ. + + ëÁÞÅÓÔ×ÅÎÎÁÑ ÉÎÆÒÁÓÔÒÕËÔÕÒÁ ÏÞÅÎØ ×ÁÖÎÁ ÄÌÑ ÐÒÏÅËÔÏ× Ó ÏÔËÒÙÔÙÍ + ÉÓÈÏÄÎÙÍ ËÏÄÏÍ. ïÎÁ ÐÒÅÄÏÔ×ÒÁÝÁÅÔ ÒÁÓËÏÌÙ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÓÉÌØÎÏ + ÚÁÄÅÒÖÁÔØ ÐÏÓÔÕÐÁÔÅÌØÎÏÅ Ä×ÉÖÅÎÉÅ ÐÒÏÅËÔÁ. + + òÁÚÕÍÅÅÔÓÑ, ÜÔÁ ÉÎÆÒÁÓÔÒÕËÔÕÒÁ ÎÅ Ñ×ÌÑÅÔÓÑ ÄÅÛÅ×ÏÊ. óÕÝÅÓÔ×ÕÅÔ + ÎÅËÏÔÏÒÏÅ ËÏÌÉÞÅÓÔ×Ï ÅÖÅÍÅÓÑÞÎÙÈ É ÏÄÎÏÒÁÚÏ×ÙÈ ÒÁÓÈÏÄÏ×, ËÏÔÏÒÙÅ + ÔÒÅÂÕÀÔ ÄÅÎÅÇ. åÓÌÉ ×Ù ÉÌÉ ×ÁÛÁ ËÏÍÐÁÎÉÑ ÉÍÅÅÔ ÄÅÎØÇÉ, ËÏÔÏÒÙÅ ÍÏÖÎÏ + ÐÅÒÅÄÁÔØ × ÐÏÍÏÝØ ÎÁÛÉÍ ÕÓÉÌÉÑÍ, ÐÏÖÁÌÕÊÓÔÁ ÐÏÓÅÔÉÔÅ ÓÔÒÁÎÉÞËÕ + http://www.pgsql.com/pg_goodies É ÓÄÅÌÁÊÔÅ Ó×ÏÊ ×ËÌÁÄ. + + èÏÔÑ ÎÁ ÓÔÒÁÎÉÞËÅ ÇÏ×ÏÒÉÔÓÑ Ï PostgreSQL, Inc, ÐÕÎËÔ "contributions" + ÐÒÅÄÎÁÚÎÁÞÅÎ ÉÓËÌÀÞÉÔÅÌØÎÏ ÄÌÑ ÐÏÄÄÅÒÖËÉ ÐÒÏÅËÔÁ PostgreSQL É ÎÅ + ÐÅÒÅÄÁÅÔÓÑ ËÁËÏÊ-ÌÉÂÏ ËÏÎËÒÅÔÎÏÊ ËÏÍÐÁÎÉÉ. åÓÌÉ ÈÏÔÉÔÅ, ÔÏ ÍÏÖÅÔÅ ÜÔÏ + ÐÒÏ×ÅÒÉÔØ, ÎÁÐÉÓÁ× ÐÉÓØÍÏ ÎÁ ËÏÎÔÁËÔÎÙÊ ÁÄÒÅÓ. + _________________________________________________________________ + + ÷ÏÐÒÏÓÙ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÐÏ ËÌÉÅÎÔÓËÏÊ ÞÁÓÔÉ + + 2.1) óÕÝÅÓÔ×ÕÀÔ ÌÉ ODBC ÄÒÁÊ×ÅÒÁ ÄÌÑ PostgreSQL? + + óÕÝÅÓÔ×ÕÅÔ Ä×Á ODBC ÄÒÁÊ×ÅÒÁ, PsqlODBC É OpenLink ODBC. + + PsqlODBC ×ËÌÀÞÁÅÔÓÑ × ÄÉÓÔÒÉÂÕÔÉ×. âÏÌØÛÅ ÉÎÆÏÒÍÁÃÉÉ Ï ÜÔÏÍ ÄÒÁÊ×ÅÒÅ + ÍÏÖÎÏ ÎÁÊÔÉ ÎÁ ftp://ftp.PostgreSQL.org/pub/odbc/. + + OpenLink ODBC ÍÏÖÎÏ ×ÚÑÔØ ÎÁ http://www.openlinksw.com. üÔÏÔ ÄÒÁÊ×ÅÒ + ÒÁÂÏÔÁÅÔ Ó ÉÈ ÓÔÁÎÄÁÒÔÎÙÍ ËÌÉÅÎÔÓËÉÍ ÐÒÏÇÒÁÍÍÎÙÍ ÏÂÅÓÐÅÞÅÎÉÅÍ, + ÉÓÐÏÌØÚÕÀÝÉÍ ODBC, É ÔÁËÉÍ ÏÂÒÁÚÏÍ, ODBC ÄÒÁÊ×ÅÒÙ ÄÌÑ PostgreSQL + ÄÏÓÔÕÐÎÙ ÄÌÑ ËÁÖÄÏÊ ÉÚ ÐÏÄÄÅÒÖÉ×ÁÅÍÙÈ ÉÍÉ ÐÌÁÔÆÏÒÍ (Win, Mac, Unix, + VMS). + + ÷ÏÚÍÏÖÎÏ ÏÎÉ ÂÕÄÕÔ ÐÒÏÄÁ×ÁÔØ Ó×ÏÊ ÐÒÏÄÕËÔ ÔÅÍ ËÏÍÕ ÎÕÖÎÁ ËÏÍÍÅÒÞÅÓËÁÑ + ÐÏÄÄÅÒÖËÁ, ÎÏ ÂÅÓÐÌÁÔÎÁÑ ×ÅÒÓÉÑ ×ÓÅÇÄÁ ÂÕÄÅÔ ÄÏÓÔÕÐÎÁ. ðÏÖÁÌÕÊÓÔÁ, + ÎÁÐÒÁ×ÌÑÊÔÅ ×ÏÐÒÏÓÙ ÎÁ ÁÄÒÅÓ postgres95@openlink.co.uk. + + ôÁËÖÅ ÐÏÓÍÏÔÒÉÔÅ ODBC ÒÁÚÄÅÌ × ÒÕËÏ×ÏÄÓÔ×Å ÐÒÏÇÒÁÍÍÉÓÔÁ. + + 2.2) ëÁËÉÅ ÉÎÓÔÒÕÍÅÎÔÙ ÓÕÝÅÓÔ×ÕÀÔ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ PostgreSQL ÞÅÒÅÚ Web? + + ðÒÅËÒÁÓÎÏÅ ××ÅÄÅÎÉÅ ×Ï ×ÚÁÉÍÏÄÅÊÓÔ×ÉÅ ÂÁÚ ÄÁÎÎÙÈ É Web ÍÏÖÎÏ ÎÁÊÔÉ ÎÁ: + http://www.webreview.com + + ôÁËÖÅ ÚÁÇÌÑÎÉÔÅ ÎÁ http://www.phone.net/home/mwm/hotlist/. + + äÌÑ ÉÎÔÅÇÒÁÃÉÉ Ó Web, ÏÄÎÉÍ ÉÚ ÐÒÅ×ÏÓÈÏÄÎÙÈ ÉÎÓÔÒÕÍÅÎÔÏ× Ñ×ÌÑÅÔÓÑ PHP. + äÏÍÁÛÎÑÑ ÓÔÁÎÉÞËÁ http://www.php.net. + + äÌÑ ËÏÍÐÌÅËÓÎÙÈ ÒÅÛÅÎÉÊ, ÍÎÏÇÉÅ ÐÏÌØÚÕÀÔÓÑ Perl ÉÎÔÅÒÆÅÊÓÏÍ É CGI.pm. + + 2.3) åÓÔØ ÌÉ Õ PostgreSQL ÇÒÁÆÉÞÅÓËÉÊ ÉÎÔÅÒÆÅÊÓ ÐÏÌØÚÏ×ÁÔÅÌÑ? çÅÎÅÒÁÔÏÒ + ÏÔÞÅÔÏ×? ÷ÓÔÒÏÅÎÎÙÊ ÉÎÔÅÒÆÅÊÓ ÄÌÑ ÑÚÙËÁ ÚÁÐÒÏÓÏ×? + + õ ÎÁÓ ÅÓÔØ ÐÒÅËÒÁÓÎÙÊ ÇÏÒÁÆÉÞÅÓËÉÊ ÉÎÔÅÒÆÅÊÓ, ÎÁÚÙ×ÁÅÍÙÊ pgaccess, + ËÏÔÏÒÙÊ Ñ×ÌÑÅÔÓÑ ÞÁÓÔØÀ ÄÉÓÔÒÉÂÕÔÉ×Á. pgaccess ÔÁËÖÅ ÅÍÅÅÔ ÇÅÎÅÒÁÔÏÒ + ÏÔÞÅÔÏ×. åÇÏ ÓÔÒÁÎÉÞËÁ http://www.flex.ro/pgaccess + + íÙ ÔÁËÖÅ ×ËÌÀÞÁÅÍ ecpg, ËÏÔÏÒÙÊ ÐÒÅÄÏÓÔÁ×ÌÑÅÔ ×ÓÔÒÏÅÎÎÙÊ ÉÎÔÅÒÆÅÊÓ Ë + ÑÚÙËÕ ÚÁÐÒÏÓÏ× SQL ÉÚ C. + + 2.4) ëÁËÉÅ ÑÚÙËÉ ÍÏÇÕÔ ×ÚÁÉÍÏÄÅÊÓÔ×Ï×ÁÔØ Ó PostgreSQL? + + ÷ÏÔ ÜÔÉ: + * C (libpq) + * C++ (libpq++) + * Embedded C (ecpg) + * Java (jdbc) + * Perl (perl5) + * ODBC (odbc) + * Python (PyGreSQL) + * TCL (libpgtcl) + * C Easy API (libpgeasy) + * Embedded HTML (PHP from http://www.php.net) + _________________________________________________________________ + + ÷ÏÐÒÏÓÙ ÁÄÍÉÎÉÓÔÒÉÒÏ×ÁÎÉÑ + + 3.1) ëÁË ÍÎÅ ÕÓÔÁÎÏ×ÉÔØ PostgreSQL × ÍÅÓÔÏ ÏÔÌÉÞÎÏÅ ÏÔ /usr/local/pgsql? + + úÁÄÁÊÔÅ ÏÐÃÉÀ --prefix ËÏÇÄÁ ÚÁÐÕÓËÁÅÔÅ configure. + + 3.2) ëÏÇÄÁ Ñ ÚÁÐÕÓËÁÀ postmaster, Ñ ÐÏÌÕÞÁÀ ÓÏÏÂÝÅÎÉÅ Bad System Call ÉÌÉ + ÓÏÏÂÝÅÎÉÅ core dumped. ðÏÞÅÍÕ? + + üÔÏ ÍÏÖÅÔ ÂÙÔØ ×ÙÚ×ÁÎÏ ÒÁÚÎÙÍÉ ÐÒÏÂÌÅÍÁÍÉ, ÎÏ ÐÅÒ×ÏÅ, ÞÔÏ ÎÕÖÎÏ + ÓÄÅÌÁÔØ - ÜÔÏ ÕÂÅÄÉÔØÓÑ × ÔÏÍ, ÞÔÏ × ×ÁÛÅÍ ÑÄÒÅ ÕÓÔÁÎÏ×ÌÅÎÏ ÒÁÓÛÉÒÅÎÉÅ + System V. PostgreSQL ÔÒÅÂÕÅÔ, ÞÔÏÂÙ ÑÄÒÏ ÐÏÄÄÅÒÖÉ×ÁÌÏ ÒÁÚÄÅÌÑÅÍÕÀ + ÐÁÍÑÔØ É ÓÅÍÁÆÏÒÙ. + + 3.3) ëÏÇÄÁ Ñ ÐÙÔÁÀÓØ ÚÁÐÕÓÔÉÔØ postmaster, Ñ ÐÏÌÕÞÁÀ ÏÛÉÂËÉ + IpcMemoryCreate. ðÏÞÅÍÕ? + + ìÉÂÏ Õ ×ÁÓ × ÑÄÒÅ ÎÅÐÒÁ×ÉÌØÎÙÅ ÎÁÓÔÒÏÊËÉ ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ, ÌÉÂÏ + ×ÁÛÅÍÕ ÑÄÒÕ ÎÕÖÎÏ ÂÏÌØÛÅÅ ËÏÌÉÞÅÓÔ×Ï ÄÏÓÔÕÐÎÏÊ ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ. ôÅ + ËÏÎËÒÅÔÎÙÅ ÄÅÊÓÔ×ÉÑ, ËÏÔÏÒÙÅ ×ÁÍ ÎÕÖÎÏ ÐÒÏÉÚ×ÅÓÔÉ ÚÁ×ÉÓÑÔ ÏÔ + ÁÒÈÉÔÅËÔÕÒÙ ×ÁÛÅÊ ÍÁÛÉÎÙ É ÏÔ ÔÏÇÏ ËÁË ÍÎÏÇÏ ÂÕÆÅÒÏ× É backend + ÐÒÏÃÅÓÓÏ× ×Ù ÎÁÓÔÒÏÉÌÉ ÄÌÑ postmaster. äÌÑ ÂÏÌØÛÉÎÓÔ×Á ÓÉÓÔÅÍ, Ó + ËÏÌÉÞÅÓÔ×ÏÍ ÂÕÆÅÒÏ× É ÐÒÏÃÅÓÓÏ× ÐÏ ÕÍÏÌÞÁÎÉÀ, ÎÅÏÂÈÏÄÉÍÙÊ ÍÉÎÉÍÕÍ - + ÜÔÏ ÏËÏÌÏ 1 ÍÅÇÁÂÁÊÔÁ. ðÏÄÒÏÂÎÏÓÔÉ Ï ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ É ÓÅÍÁÆÏÒÁÈ + ÓÍÏÔÒÉÔÅ × òÕËÏ×ÏÄÓÔ×Å ÁÄÍÉÎÉÓÔÒÁÔÏÒÁ PostgreSQL. + + 3.4) ëÏÇÄÁ Ñ ÐÙÔÁÀÓØ ÚÁÐÕÓÔÉÔØ postmaster, Ñ ÐÏÌÕÞÁÀ ÏÛÉÂËÉ + IpcSemaphoreCreate. ðÏÞÅÍÕ? + + åÓÌÉ ÜÔÏ ÓÏÏÂÝÅÎÉÅ IpcSemaphoreCreate: semget failed (No space left on + device) ÔÏ ÎÁÓÔÒÏÊËÉ ×ÁÛÅÇÏ ÑÄÒÁ ÔÁËÏ×Ù, ÞÔÏ ÅÍÕ ÎÅ È×ÁÔÁÅÔ ÓÅÍÁÆÏÒÏ×. + Postgres ÔÒÅÂÕÅÔ ÏÄÉÎ ÓÅÍÁÆÏÒ ÎÁ ÐÏÔÅÎÃÉÁÌØÎÙÊ backend ÐÒÏÃÅÓÓ. + ÷ÒÅÍÅÎÎÙÍ ÒÅÛÅÎÉÅÍ Ñ×ÌÑÅÔÓÑ ÚÁÐÕÓË postmaster Ó ÎÁÓÔÒÏÊËÁÍÉ ÎÁ ÍÅÛØÛÅÅ + ËÏÌÉÞÅÓÔ×Ï backend ÐÒÏÃÅÓÓÏ×. éÓÐÏÌØÚÕÊÔÅ -N Ó ÚÎÁÞÅÎÉÅÍ ÍÅÎØÛÉÍ ÞÅÍ + 32, ËÏÔÏÒÏÅ ÐÒÉÎÑÔÏ ÐÏ ÕÍÏÌÞÁÎÉÀ. âÏÌÅÅ ÐÒÁ×ÉÌØÎÏÅ ÒÅÛÅÎÉÅ - ÜÔÏ + Õ×ÅÌÉÞÉÔØ ÚÎÁÞÅÎÉÑ SEMMNS É SEMMNI × ÎÁÓÔÒÊËÁÈ ÑÄÒÁ. + + îÅÉÓÐÒÁ×ÎÙÅ ÓÅÍÁÆÏÒÙ ÔÁËÖÅ ÍÏÇÕÔ ÐÒÉ×ÅÓÔÉ Ë ÐÁÄÅÎÉÀ óõâä ×Ï ×ÒÅÍÑ + ÄÏÓÔÕÐÁ Ë ÂÁÚÅ ÄÁÎÎÙÈ. + + åÓÌÉ ×Ù ÐÏÌÕÞÉÌÉ ËÁËÏÅ-ÌÉÂÏ ÄÒÕÇÏÅ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ, ÔÏ ×ÐÏÌÎÅ + ×ÏÚÍÏÖÎÏ, ÞÔÏ × ×ÁÛÅÍ ÑÄÒÅ ×ÏÏÂÝÅ ÎÅ ÎÁÓÔÒÏÅÎÁ ÐÏÄÄÅÒÖËÁ ÓÅÍÁÆÏÒÏ×. + óÍÏÔÒÉÔÅ ÐÏÄÒÏÂÎÏÓÔÉ Ï ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ É ÓÅÍÁÆÏÒÁÈ × òÕËÏ×ÏÄÓÔ×Å + áÄÍÉÎÉÓÔÒÁÔÏÒÁ PostgreSQL. + + 3.5) ëÁË ÍÎÅ ÕÐÒÁ×ÌÑÔØ ÓÏÅÄÉÎÅÎÉÑÍÉ Ó ÄÒÕÇÉÈ ËÏÍÐØÀÔÅÒÏ×? + + ðÏ ÕÍÏÌÞÁÎÉÀ, PostgreSQL ÒÁÚÒÅÛÁÅÔ ÔÏÌØËÏ ÓÏÅÄÉÎÅÎÉÑ ÎÁ ÌÏËÁÌØÎÏÊ + ÍÁÛÉÎÅ ÞÅÒÅÚ ÓÏËÅÔÙ ÄÏÍÅÎÁ Unix. äÒÕÇÉÅ ÍÁÛÉÎÙ ÎÅ ÓÍÏÇÕÔ ÐÏÄËÌÀÞÉÔØÓÑ + Ë ÂÁÚÅ ÐÏËÁ ÄÌÑ postmaster ÎÅ ÂÕÄÅÔ ÚÁÄÁÎ ÆÌÁÇ -i É ÐÏËÁ ÎÅ ÂÕÄÅÔ + ÒÁÚÒÅÛÅÎÁ host-Á×ÔÏÒÉÚÁÃÉÑ × ÆÁÊÌÅ $PGDATA/pg_hba.conf. üÔÉ ÄÅÊÓÔ×ÉÑ + ÄÅÌÁÀÔ ×ÏÚÍÏÖÎÙÍÉ TCP/IP ÓÏÅÄÉÎÅÎÉÑ. + + 3.6) ëÁËÉÅ ÎÁÓÔÒÏÊËÉ ÍÎÅ ÎÕÖÎÏ ÓÄÅÌÁÔØ ÄÌÑ ÕÌÕÞÛÅÎÉÑ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ? + + îÅÓÏÍÎÅÎÎÏ, ÉÎÄÅËÓÙ ÍÏÇÕÔ Õ×ÅÌÉÞÉÔØ ÓËÏÒÏÓÔØ ×ÙÐÏÌÎÅÎÉÑ ÚÁÐÒÏÓÏ×. + ëÏÍÁÎÄÁ EXPLAIN ÐÏÚ×ÏÌÑÅÔ ×ÁÍ ÐÏÓÍÏÔÒÅÔØ ËÁË PostgreSQL ÉÎÔÅÒÐÒÅÔÉÒÕÅÔ + ×ÁÛ ÚÁÐÒÏÓ É ËÁËÉÅ ÉÎÄÅËÓÙ ÉÓÐÏÌØÚÕÀÔÓÑ. + + åÓÌÉ ×Ù ×ÙÐÏÌÎÑÅÔÅ ÍÎÏÇÏ ÏÐÅÒÁÔÏÒÏ× INSERT, ÒÁÓÓÍÏÔÒÉÔÅ ×ÏÚÍÏÖÎÏÓÔØ + ×ÙÐÏÌÎÑÔØ ÉÈ × ÂÏÌØÛÏÊ ÐÁÞËÅ, ÉÓÐÏÌØÚÕÑ ËÏÍÁÎÄÕ COPY. üÔÏ ÚÎÁÞÉÔÅÌØÎÏ + ÂÙÓÔÒÅÅ, ÞÅÍ ÏÔÄÅÌØÎÙÅ INSERT. ÷Ï-×ÔÏÒÙÈ, ÏÐÅÒÁÔÏÒÙ ×ÎÅ ÂÌÏËÁ + ÔÒÁÎÚÁËÃÉÉ BEGIN WORK/COMMIT ÓÁÍÉ ×ÙÐÏÌÎÑÀÔ ÔÒÁÎÚÁËÃÉÀ. ðÏÄÕÍÁÊÔÅ ÎÁÄ + ×ÙÐÏÌÎÅÎÉÅÍ ÎÅÓËÏÌØËÉÈ ÏÐÅÒÁÔÏÒÏ× × ÏÄÎÏÍ ÂÌÏËÅ ÔÒÁÎÚÁËÃÉÉ. üÔÏ + ÕÍÅÎØÛÉÔ ËÏÌÉÞÅÓÔ×Ï ÔÒÁÎÚÁËÃÉÊ. ôÁËÖÅ, ÚÁÄÕÍÁÊÔÅÓØ ÎÁÄ ÕÄÁÌÅÎÉÅÍ É + ÐÅÒÅÓÏÚÄÁÎÉÅÍ ÉÎÄÅËÓÏ×, ËÏÇÄÁ ×Ù ×ÙÐÏÌÎÑÅÔÅ ÂÏÌØÛÉÅ ÉÚÍÅÎÅÎÉÑ ÄÁÎÎÙÈ. + + óÕÝÅÓÔ×ÕÅÔ ÎÅÓËÏÌØËÏ ÏÐÃÉÊ ÎÁÓÔÒÏÊËÉ. ÷Ù ÍÏÖÅÔÅ ÚÁÐÒÅÔÉÔØ fsync() ÐÒÉ + ÓÔÁÒÔÅ postmaster Ó ÏÐÃÉÅÊ -o -F. üÔÏ ÐÒÅÄÏÔ×ÒÁÔÉÔ ×ÙÚÏ×Ù fsync(), + ËÏÔÏÒÙÅ ÐÒÉ×ÏÄÑÔ Ë ÓÂÒÏÓÕ ÄÁÎÎÙÈ ÎÁ ÄÉÓË ÐÏÓÌÅ ËÁÖÄÏÊ ÔÒÁÎÚÁËÃÉÉ. + + ÷Ù ÍÏÖÅÔÅ ÔÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÄÌÑ postmaster ÏÐÃÉÀ -B ÄÌÑ Õ×ÅÌÉÞÅÎÉÑ + ËÏÌÉÞÅÓÔ×Á ÂÕÆÅÒÏ× ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ, ËÏÔÏÒÁÑ ÉÓÐÏÌØÚÕÅÔÓÑ backend + ÐÒÏÃÅÓÓÁÍÉ. åÓÌÉ ×Ù ÓÄÅÌÁÅÔÅ ÚÎÁÞÅÎÉÅ ÜÔÏÇÏ ÐÁÒÁÍÅÔÒÁ ÓÌÉÛËÏÍ ÂÏÌØÛÉÍ, + ÔÏ postmaster ÍÏÖÅÔ ÎÅ ÚÁÐÕÓÔÉÔÓÑ ÐÏÔÏÍÕ ÞÔÏ ×Ù ÉÓÞÅÒÐÁÅÔÅ ÏÇÒÁÎÉÞÅÎÉÅ + ÑÄÒÁ ÎÁ ÏÂßÅÍ ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ. ëÁÖÄÙÊ ÂÕÆÅÒ ÉÍÅÅÔ ÒÁÚÍÅÒ × 8 + ËÉÌÏÂÁÊÔ É ÐÏ ÕÍÏÌÞÁÎÉÀ ×ÙÄÅÌÑÅÔÓÑ 64 ÂÕÆÅÒÁ. + + ÷Ù ÍÏÖÅÔÅ ÔÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÔØ backend ÏÐÃÉÀ -S ÄÌÑ Õ×ÅÌÉÞÅÎÉÑ + ÍÁËÓÉÍÁÌØÎÏÇÏ ËÏÌÉÞÅÓÔ×Á ÐÁÍÑÔÉ, ËÏÔÏÒÏÅ ÉÓÐÏÌØÚÕÅÔÓÑ backend + ÐÒÏÃÅÓÓÏÍ ÄÌÑ ×ÒÅÍÅÎÎÙÈ ÓÏÒÔÉÒÏ×ÏË. úÎÁÞÅÎÉÅ ÄÌÑ ÏÐÃÉÉ -S ÚÁÄÁÅÔÓÑ × + ËÉÌÏÂÁÊÔÁÈ É ÐÏ ÕÍÏÌÞÁÎÉÀ ÒÁ×ÎÏ 512 (Ô.Å. 512K). + + ÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ËÏÍÁÎÄÕ CLUSTER ÄÌÑ ÇÒÕÐÐÉÒÏ×ËÉ ÄÁÎÎÙÈ × + ÔÁÂÌÉÃÁÈ ÎÁ ÓÏ×ÐÁÄÁÀÝÉÊ ÉÎÄÅËÓ. ðÏÄÒÏÂÎÏÓÔÉ ÓÍÏÔÒÉÔÅ ÎÁ ÓÔÒÁÎÉÃÅ + ÒÕËÏ×ÏÄÓÔ×Á ÐÏ ËÏÍÁÎÄÅ CLUSTER. + + 3.7) ëÁËÉÅ ×ÏÚÍÏÖÎÏÓÔÉ ÄÌÑ ÏÔÌÁÄËÉ ÅÓÔØ × ÎÁÌÉÞÉÉ? + + PostgreSQL ÉÍÅÅÔ ÎÅÓËÏÌØËÏ ×ÏÚÍÏÖÎÏÓÔÅÊ, ÐÏÚ×ÏÌÑÀÝÉÅ ÐÏÌÕÞÉÔØ + ÉÎÆÏÒÍÁÃÉÀ Ï ÓÏÓÔÏÑÎÉÉ, ËÏÔÏÒÁÑ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÁ × ÏÔÌÁÄÏÞÎÙÈ + ÃÅÌÑÈ. + + ÷Ï-ÐÅÒ×ÙÈ, ÐÒÉ ÚÁÐÕÓËÅ configure Ó ÏÐÃÉÅÊ --enable-cassert, ÍÎÏÇÉÅ + ×ÙÚÏ×Ù assert() ÐÏÚ×ÏÌÑÀÔ ÏÔÓÌÅÖÉ×ÁÔØ ÒÁÂÏÔÕ backend ÐÒÏÃÅÓÓÁ É + ÏÓÔÁÎÏ×ËÕ ÐÒÏÇÒÁÍÍÙ ÐÒÉ ×ÏÚÎÉËÎÏ×ÅÎÉÉ ËÁËÉÈ-ÌÉÂÏ ÎÅÏÖÉÄÁÎÎÏÓÔÅÊ. + + é postmaster, É postgres ÉÍÅÀÔ ÎÅÓËÏÌØËÏ ÏÔÌÁÄÏÞÎÙÈ ÏÐÃÉÊ. ÷Ï-ÐÅÒ×ÙÈ, + ÐÒÉ ÚÁÐÕÓËÅ postmaster, ÕÂÅÄÉÔÅÓØ, ÞÔÏ ÓÔÁÎÄÁÒÔÎÙÊ ×Ù×ÏÄ É ×Ù×ÏÄ + ÏÛÉÂÏË ÏÓÕÝÅÓÔ×ÌÑÀÔÓÑ × ÆÁÊÌ ÖÕÒÎÁÌÁ: + cd /usr/local/pgsql + ./bin/postmaster >server.log 2>&1 & + + üÔÏ ÐÒÉ×ÅÄÅÔ Ë ÐÏÑ×ÌÅÎÉÀ ÆÁÊÌÁ server.log × ÇÌÁ×ÎÏÍ ËÁÔÁÌÏÇÅ + PostgreSQL. üÔÏÔ ÆÁÊÌ ÓÏÄÅÒÖÉÔ ÐÏÌÅÚÎÕÀ ÉÎÆÏÒÍÁÃÉÀ Ï ÐÒÏÂÌÅÍÁÈ ÉÌÉ + ÏÛÉÂËÁÈ, ×ÏÚÎÉËÛÉÈ ÎÁ ÓÅÒ×ÅÒÅ. Postmaster ÉÍÅÅÔ ÏÐÃÉÀ -d, ËÏÔÏÒÁÑ + ÐÏÚ×ÏÌÑÅÔ ÐÏÌÕÞÁÔØ ÐÒÉ ÐÒÏÔÏËÏÌÉÒÏ×ÁÎÉÉ ÂÏÌÅÅ ÄÅÔÁÌØÎÕÀ ÉÎÆÒÍÁÃÉÀ. äÌÑ + ÏÐÃÉÉ -d ÕËÁÚÙ×ÁÅÔÓÑ ÞÉÓÌÏ, ËÏÔÏÒÏÅ ÚÁÄÁÅÔ ÕÒÏ×ÅÎØ ÏÔÌÁÄËÉ. âÕÄØÔÅ + ÏÓÔÏÒÏÖÎÙ, ÔÁË ËÁË ×ÙÓÏËÉÊ ÕÒÏ×ÅÎØ ÏÔÌÁÄËÉ ÐÒÉ×ÏÄÉÔ Ë ÇÅÎÅÒÁÃÉÉ ÆÁÊÌÏ× + ÖÕÒÎÁÌÁ ÂÏÌØÛÏÇÏ ÒÁÚÍÅÒÁ. + + åÓÌÉ postmaster ÎÅ ÚÁÐÕÝÅÎ, ×Ù ÍÏÖÅÔÅ ÚÁÐÕÓÔÉÔØ postgres backend ÉÚ + ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ É ××ÅÓÔÉ ×ÁÛ ÏÐÅÒÁÔÏÒ SQL ÎÁÐÒÑÍÕÀ. üÔÏ ÒÅËÏÍÅÎÄÕÅÔÓÑ + ÔÏÌØËÏ ÄÌÑ ÃÅÌÅÊ ÏÔÌÁÄËÉ. úÁÍÅÔÉÍ, ÞÔÏ × ÜÔÏÍ ÒÅÖÉÍÅ, ÚÁÐÒÏÓ + ÚÁ×ÅÒÛÁÅÔÓÑ ÓÉÍ×ÏÌÏÍ ÎÏ×ÏÊ ÓÔÒÏËÉ, Á ÎÅ ÔÏÞËÏÊ Ó ÚÁÐÑÔÏÊ. åÓÌÉ ×Ù + ÐÒÏÉÚ×ÏÄÉÌÉ ËÏÍÐÉÌÑÃÉÀ Ó ÏÔÌÁÄÏÞÎÙÍÉ ÓÉÍ×ÏÌÏÁÍÉ, ×Ù ÍÏÖÅÔÅ + ÉÓÐÏÌØÚÏ×ÁÔØ ÌÀÂÏÊ ÏÔÌÁÄÞÉË, ÞÔÏÂÙ ÐÏÓÍÏÔÒÅÔØ, ÞÔÏ ÓÌÕÞÉÌÏÓØ. + ðÏÓËÏÌØËÕ backend ÚÁÐÕÓËÁÅÔÓÑ ÎÅ ÉÚ postmaster, ÏÎ ÎÅ ÚÁÐÕÓËÁÅÔÓÑ × + ÉÄÅÎÔÉÞÎÏÍ ÏËÒÕÖÅÎÉÉ É ÚÎÁÞÉÔ ÐÒÏÂÌÅÍÙ ÉÔÅÒÁÃÉÊ ÂÌÏËÉÒÏ×ÏË/backend ÎÅ + ÍÏÇÕÔ ÂÙÔØ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÙ. + + åÓÌÉ postmaster ÚÁÐÕÝÅÎ, ÚÁÐÕÓÔÉÔÅ psql × ÏÄÎÏÍ ÏËÎÅ, ÚÁÔÅÍ ÎÁÊÄÉÔÅ + PID ÐÒÏÃÅÓÓÁ postgres, ÉÓÐÏÌØÚÕÅÍÙÊ psql. éÓÐÏÌØÚÕÊÔÅ ÏÔÄÁÄÞÉË ÄÌÑ + ÐÏÄËÌÀÞÅÎÉÑ Ë postgres PID. ÷Ù ÍÏÖÅÔÅ ÕÓÔÁÎÏ×ÉÔØ ÔÏÞËÉ ÐÒÅÒÙ×ÁÎÉÑ × + ÏÔÌÁÄÞÉËÅ É ÚÁÐÕÓÔÉÔØ ÚÁÐÒÏÓ ÉÚ psql. åÓÌÉ ×Ù ÐÒÏÉÚ×ÏÄÉÔÅ ÏÔÌÁÄËÕ + ÚÁÐÕÓËÁ postgres, ×Ù ÍÏÖÅÔÅ ÕÓÔÁÎÏ×ÉÔØ PGOPTIONS="-W n", É ÚÁÔÅÍ + ÚÁÐÕÓÔÉÔØ psql. üÔÁ ÏÐÃÉÑ ÐÒÉ×ÏÄÉÔ Ë ÚÁÄÅÒÖËÅ ÐÒÏÃÅÓÓÁ ÚÁÐÕÓËÁ ÎÁ n + ÓÅËÕÎÄ, × ÔÅÞÅÎÉÅ ËÏÔÏÒÙÈ ×Ù ÍÏÖÅÔÅ ÐÏÄËÌÀÞÉÔØ Ë ÐÒÏÃÅÓÓÕ ÏÔÌÁÄÞÉË, + ÕÓÔÁÎÏ×ÉÔØ ÌÀÂÙÅ ÔÏÞËÉ ÐÒÅÒÙ×ÁÎÉÑ É ÐÒÏÄÏÌÖÉÔØ ÚÁÐÕÓË. + + ðÒÏÇÒÁÍÍÁ postgres ÉÍÅÅÔ ÏÐÃÉÉ -s, -A, É -t ËÏÔÏÒÙÅ ÍÏÇÕÔ ÂÙÔØ ÏÞÅÎØ + ÐÏÌÅÚÎÙÍÉ ÄÌÑ ÏÔÌÁÄËÉ É ÉÚÍÅÒÅÎÉÑ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ. + + ÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÓËÏÍÐÉÌÉÒÏ×ÁÔØ PostgreSQL Ó ÐÒÏÆÉÌÉÒÏ×ÁÎÉÅÍ ÄÌÑ ÔÏÇÏ, + ÞÔÏÂÙ Õ×ÉÄÅÔØ ËÁËÉÅ ÆÕÎËÃÉÉ ÓËÏÌØËÏ ×ÒÅÍÅÎÉ ×ÙÐÏÌÎÑÀÔÓÑ. æÁÊÌÙ + ÐÒÏÆÉÌÉÒÏ×ÁÎÉÑ backend'Á ÎÁÈÏÄÑÔÓÑ × ËÁÔÁÌÏÇÅ pgsql/data/base/dbname. + æÁÊÌ ÐÒÏÆÉÌÉÒÏ×ÁÎÉÑ ËÌÉÅÎÔÁ ÂÕÄÅÔ ÐÏÍÅÝÅÎ × ÔÅËÕÝÉÊ ËÁÔÁÌÏÇ ËÌÉÅÎÔÁ. + + 3.8) ðÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ ÓÏÏÂÝÅÎÉÅ "Sorry, too many clients" ËÏÇÄÁ ÐÙÔÁÀÓØ + ÐÏÄËÌÀÞÉÔØÓÑ Ë ÂÁÚÅ? + + ÷ÁÍ ÎÕÖÎÏ Õ×ÅÌÉÞÉÔØ ÏÇÒÁÎÉÞÅÎÉÅ ÎÁ ËÏÌÉÞÅÓÔ×Ï ËÏÎËÕÒÅÔÎÙÈ backend + ÐÒÏÃÅÓÓÏ× ÐÒÉ ÚÁÐÕÓËÅ postmaster. + + ðÏ ÕÍÏÌÞÁÎÉÀ ÕÓÔÁÎÏ×ÌÅÎ ÌÉÍÉÔ ÎÁ 32 ÐÒÏÃÅÓÓÁ. ÷Ù ÍÏÖÅÔÅ Õ×ÅÌÉÞÉÔØ ÜÔÏÔ + ÌÉÍÉÔ ÐÅÒÅÚÁÐÕÓÔÉ× postmaster Ó ÎÕÖÎÙÍ ÚÎÁÞÅÎÉÅÍ ÐÒÏÃÅÓÓÏ×, ËÏÔÏÒÏÅ + ÕËÁÚÙ×ÁÅÔÓÑ × ÏÐÃÉÉ -N ÉÌÉ ÉÚÍÅÎÉ× ÆÁÊÌ postgresql.conf. + + úÁÍÅÔÉÍ, ÞÔÏ ÅÓÌÉ ×Ù ÚÁÄÁÄÉÔÅ × ÏÐÃÉÉ -N ÚÎÁÞÅÎÉÅ ÂÏÌØÛÅ 32, ÔÏ ×Ù + ÔÁËÖÅ ÄÏÌÖÎÙ Õ×ÅÌÉÞÉÔØ ÚÎÁÞÅÎÉÅ × ÏÐÃÉÉ -B ËÏÔÏÒÏÅ ÐÏ ÕÍÏÌÞÁÎÉÀ + ÕÓÔÁÎÏ×ÌÅÎÏ × 64; úÎÁÞÅÎÉÅ ÏÐÃÉÉ -B ÄÏÌÖÎÏ ÂÙÔØ ÐÏ ËÒÁÊÎÅÊ ÍÅÒÅ ×Ä×ÏÅ + ÂÏÌØÛÅ ÚÎÁÞÅÎÉÑ ÏÐÃÉÉ -N, É ×ÏÚÍÏÖÎÏ ÅÝ£ ÂÏÌØÛÅ ÄÌÑ ÌÕÞÛÅÊ + ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ. äÌÑ ÂÏÌØÛÅÇÏ ËÏÌÉÞÅÓÔ×Á backend ÐÒÏÃÅÓÓÏ×, ×ÁÍ + ÔÁËÖÅ ÎÅÐÌÏÈÏ ÂÙÌÏ ÂÙ Õ×ÅÌÉÞÉÔØ ÎÅËÏÔÏÒÙÅ ÐÁÒÁÍÅÔÒÙ ÑÄÒÁ Unix. üÔÏ + ÔÁËÉÅ ÐÁÒÁÍÅÔÒÙ, ËÁË ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÂÌÏËÏ× ÒÁÚÄÅÌÑÅÍÏÊ + ÐÁÍÑÔÉ, SHMMAX; ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÓÅÍÁÆÏÒÏ×, SEMMNS É SEMMNI; + ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÐÒÏÃÅÓÓÏ×, NPROC; ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï + ÐÒÏÃÅÓÓÏ× ÎÁ ÐÏÌØÚÏ×ÁÔÅÌÑ, MAXUPRC; É ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÏÔËÒÙÔÙÈ + ÆÁÊÌÏ×, NFILE É NINODE. ðÒÉÞÉÎÁ ÓÏÚÄÁÎÉÑ ÏÇÒÁÎÉÞÅÎÉÑ ÎÁ ËÏÌÉÞÅÓÔ×Ï + backend ÐÒÏÃÅÓÓÏ× ËÁË ÒÁÚ É ÓÏÓÔÏÉÔ × ÔÏÍ, ÞÔÏÂÙ ×ÁÛÅÊ ÓÉÓÔÅÍÅ È×ÁÔÉÌÏ + ÒÅÓÕÒÓÏ×. + + ÷ PostgreSQL ÄÏ ×ÅÒÓÉÉ 6.5, ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï backend ÐÒÏÃÅÓÓÏ× + ÂÙÌÏ 64, É ÉÚÍÅÎÅÎÉÅ ÜÔÏÇÏ ËÏÌÉÞÅÓÔ×Á ÔÒÅÂÏ×ÁÌÏ ÐÅÒÅËÏÍÐÉÌÑÃÉÉ ÐÏÓÌÅ + ÕÓÔÁÎÏ×ËÉ ËÏÎÓÔÁÎÔÙ MaxBackendId × include/storage/sinvaladt.h. + + 3.9) þÔÏ ÜÔÏ ÚÁ ÆÁÊÌÙ pg_sorttempNNN.NN × ÍÏÅÍ ËÁÔÁÌÏÇÅ Ó ÂÁÚÏÊ ÄÁÎÎÙÈ? + + üÔÏ ×ÒÅÍÅÎÎÙÅ ÆÁÊÌÙ, ÇÅÎÅÒÉÒÕÅÍÙÅ ×Ï ×ÒÅÍÑ ×ÙÐÏÌÎÅÎÉÑ ÚÁÐÒÏÓÁ. + îÁÐÒÉÍÅÒ, ÅÓÌÉ ÄÌÑ ÏÐÅÒÁÔÏÒÁ ORDER BY ÄÏÌÖÎÁ ÂÙÔØ ×ÙÐÏÌÎÅÎÁ + ÓÏÒÔÉÒÏ×ËÁ, ËÏÔÏÒÁÑ ÔÒÅÂÕÅÔ ÂÏÌØÛÅ ÍÅÓÔÁ ÞÅÍ ×ÙÄÅÌÅÎÎÏ ÄÌÑ backend + ÐÒÏÃÅÓÓÁ × ÏÐÃÉÉ -S, ÔÏ ÓÏÚÄÁÅÔÓÑ ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ ÄÌÑ ÈÒÁÎÅÎÉÑ + ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÄÁÎÎÙÈ. + + ÷ÒÅÍÅÎÎÙÅ ÆÁÊÌÙ ÄÏÌÖÎÙ ÕÄÁÌÑÔØÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ, ÎÏ ÜÔÏÇÏ ÍÏÖÅÔ ÎÅ + ÐÒÏÉÓÈÏÄÉÔØ, ÅÓÌÉ backend ÐÒÏÃÅÓÓ ÐÁÄÁÅÔ ×Ï ×ÒÅÍÑ ÓÏÒÔÉÒÏ×ËÉ. åÓÌÉ Õ + ×ÁÓ ÎÅ ÚÁÐÕÝÅÎÏ ÎÉ ÏÄÎÏÇÏ backend ÐÒÏÃÅÓÓÁ, ÔÏ ×Ù ÍÏÖÅÔÅ ÓÐÏËÏÊÎÏ + ÕÄÁÌÉÔØ ÆÁÊÌÙ pg_tempNNN.NN. + _________________________________________________________________ + + ÷ÏÐÒÏÓÙ ÜËÓÐÌÕÁÔÁÃÉÉ + + 4.1) ÷ ÞÅÍ ÏÔÌÉÞÉÅ ÍÅÖÄÕ ÂÉÎÁÒÎÙÍ É ÎÏÒÍÁÌØÎÙÍ ËÕÒÓÏÒÏÍ? + + óÍÏÔÒÉÔÅ ÏÐÉÓÁÎÉÅ ÎÁ ÓÔÒÁÎÉÃÁÈ ÒÕËÏ×ÏÄÓÔ×Á ÐÏÓ×ÑÝÅÎÎÙÍ DECLARE. + + 4.2) ëÁË ×ÙÐÏÌÎÉÔØ SELECT ÔÏÌØËÏ ÄÌÑ ÎÅÓËÏÌØËÉÈ ÐÅÒ×ÙÈ ÓÔÒÏÞÅË ÚÁÐÒÏÓÁ? + + óÍÏÔÒÉÔÅ ÓÔÁÎÉÃÕ ÒÕËÏ×ÏÄÓÔ×Á ÐÏÓ×ÑÝÅÎÎÕÀ FETCH ÉÌÉ ÉÓÐÏÌØÚÕÊÔÅ SELECT + ... LIMIT.... + + äÁÖÅ ÅÓÌÉ ×Ù ÈÏÔÉÔÅ ÐÏÌÕÞÉÔØ ÔÏÌØËÏ ÐÅÒ×ÙÅ ÎÅÓËÏÌØËÏ ÚÁÐÉÓÅÊ, ÂÕÄÅÔ + ×ÙÐÏÌÎÅÎ ×ÅÓØ ÚÁÐÒÏÓ. òÁÓÓÍÏÔÒÉÍ ÚÁÐÒÏÓ, ËÏÔÏÒÙÊ ÉÍÅÅÔ ORDER BY. åÓÌÉ + ÅÓÔØ ËÁËÏÊ-ÌÉÂÏ ÉÎÄÅËÓ, ËÏÔÏÒÙÊ ÓÏ×ÐÁÄÁÅÔ Ó ORDER BY, PostgreSQL ÍÏÖÅÔ + ×ÙÄÁÔØ ÔÏÌØËÏ ÎÅÓËÏÌØËÏ ÐÅÒ×ÙÈ ÚÁÐÒÏÛÅÎÎÙÈ ÚÁÐÉÓÅÊ ÉÌÉ ÍÏÖÅÔ ×ÙÐÏÌÎÑÔØ + ÚÁÐÒÏÓ ÐÏËÁ ÎÅ ÂÕÄÕÔ ×ÙÄÁÎÙ ÖÅÌÁÅÍÙÅ ÚÁÐÉÓÉ. + + 4.3) ëÁË ÐÏÌÕÞÉÔØ ÓÐÉÓÏË ÔÁÂÌÉà ÉÌÉ ÄÒÕÇÉÈ ËÏÍÐÏÎÅÎÔÏ× × psql? + + ÷Ù ÍÏÖÅÔÅ ÐÏÓÍÏÔÒÅÔØ ÉÓÈÏÄÎÙÊ ËÏÄ psql × ÆÁÊÌÅ + pgsql/src/bin/psql/describe.c. ïÎ ÓÏÄÅÒÖÉÔ ËÏÍÁÎÄÙ SQL ËÏÔÏÒÙÅ + ÇÅÎÅÒÉÒÕÀÔÓÑ ÐÒÉ ××ÏÄÅ × psql ËÏÍÁÎÄ, ÎÁÞÉÎÁÀÝÉÈÓÑ Ó ÏÂÒÁÔÎÏÊ ËÏÓÏÊ + ÞÅÒÔÙ. ÷Ù ÔÁËÖÅ ÍÏÅÖÅÔÅ ÚÁÐÕÓÔÉÔØ psql Ó ÏÐÃÉÅÊ -E ÔÁË, ÞÔÏÂÙ ÜÔÁ + ÐÒÏÇÒÁÍÍÁ ×ÙÄÁ×ÁÌÁ ÚÁÐÒÏÓÙ, ËÏÔÏÒÙÅ ÏÎÁ ÉÓÐÏÌØÚÕÅÔ ÄÌÑ ×ÙÐÏÌÎÅÎÉÑ + ÚÁÄÁÎÎÙÈ ×ÁÍÉ ËÏÍÁÎÄ. + + 4.4) ëÁË ÕÄÁÌÉÔØ ËÏÌÏÎËÕ ÉÚ ÔÁÂÌÉÃÙ? + + íÙ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÍ ALTER TABLE DROP COLUMN, ÎÏ ÍÏÖÎÏ ÓÄÅÌÁÔØ ÔÁË: + SELECT ... -- ×ÙÂÏÒËÁ ×ÓÅÈ ËÏÌÏÎÏË ÚÁ ÉÓËÌÀÞÅÎÉÅÍ ÔÏÊ, ËÏÔÏÒÕÀ ÈÏÔÉÔÅ ÕÄÁÌ +ÉÔØ + INTO TABLE new_table + FROM old_table; + DROP TABLE old_table; + ALTER TABLE new_table RENAME TO old_table; + + 4.5) ëÁËÏ×Ù ÍÁËÓÉÍÁÌØÎÙÅ ÒÁÚÍÅÒÙ ÄÌÑ ÚÁÐÉÓÅÊ, ÔÁÂÌÉÃ É ÂÁÚÙ ÄÁÎÎÙÈ? + + óÕÝÅÓÔ×ÕÀÔ ÓÌÅÄÕÀÝÉÅ ÏÇÒÁÎÉÞÅÎÉÑ: + íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÂÁÚÙ? ÎÅÏÇÒÁÎÉÞÅÎ (ÓÕÝÅÓÔ×ÕÀÔ ÂÁÚÙ ÎÁ 60 G +B) + íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ? 16 TB + íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÚÁÐÉÓÉ? ÎÅÏÇÒÁÎÉÞÅÎ ÎÁÞÉÎÁÑ Ó ×ÅÒÓÉÉ 7.1 + íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÐÏÌÑ? 1 GB ÎÁÞÉÎÁÑ Ó ×ÅÒÓÉÉ 7.1 + íÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÚÁÐÉÓÅÊ × ÔÁÂÌÉÃÅ? ÎÅÏÇÒÁÎÉÞÅÎÏ + íÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ËÏÌÏÎÏË × ÔÁÂÌÉÃÅ? 250-1600 × ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÔÉÐ +Á + íÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÉÎÄÅËÓÏ× × ÔÁÂÌÉÃÅ? ÎÅÏÇÒÁÎÉÞÅÎÏ + + òÁÚÕÍÅÅÔÓÑ, ÐÏÎÑÔÉÅ "ÎÅÏÇÒÁÎÉÞÅÎÏ" ÎÁ ÓÁÍÏÍ ÄÅÌÅ ÏÇÒÁÎÉÞÉ×ÁÅÔÓÑ + ÄÏÓÔÕÐÎÙÍ ÄÉÓËÏ×ÙÍ ÐÒÏÓÔÒÁÎÉÓÔ×ÏÍ É ÒÁÚÍÅÒÁÍÉ ÐÁÍÑÔÉ/Ó×ÏÐÐÉÎÇÁ. ëÏÇÄÁ + ÚÎÁÞÅÎÉÑ ÐÅÒÅÞÉÓÌÅÎÎÙÅ ×ÙÛÅ ÎÅÏÐÒÁ×ÄÁÎÏ ÂÏÌØÛÉÅ, ÍÏÖÅÔ ÐÏÓÔÒÁÄÁÔØ + ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ. + + íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ × 16 TB ÎÅ ÔÒÅÂÕÅÔ ÞÔÏÂÙ ÏÐÅÒÁÃÉÏÎÎÁÑ + ÓÉÓÔÅÍÁ ÐÏÄÄÅÒÖÉ×ÁÌÁ ÆÁÊÌÙ ÂÏÌØÛÉÈ ÒÁÚÍÅÒÏ×. âÏÌØÛÉÅ ÔÁÂÌÉÃÙ ÈÒÁÎÑÔÓÑ + ËÁË ÍÎÏÖÅÓÔ×Ï ÆÁÊÌÏ× ÒÁÚÍÅÒÏÍ × 1 GB, ÔÁË ÞÔÏ ÏÇÒÁÎÉÞÅÎÉÑ, ËÏÔÏÒÙÅ + ÎÁËÌÁÄÙ×ÁÅÔ ÆÁÊÌÏ×ÁÑ ÓÉÓÔÅÍÁ ÎÅ ×ÁÖÎÙ. + + íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ É ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ËÏÌÏÎÏË ÍÏÇÕÔ + ÂÙÔØ Õ×ÅÌÉÞÅÎÙ, ÅÓÌÉ ÒÁÚÍÅÒ ÂÌÏËÁ ÐÏ ÕÍÏÌÞÁÎÉÀ ÂÕÄÅÔ Õ×ÅÌÉÞÅÎ ÄÏ 32k. + + 4.6) ëÁË ÍÎÏÇÏ ÄÉÓËÏ×ÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á × ÂÁÚÅ ÄÁÎÎÙÈ ÎÕÖÎÏ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ + ÄÁÎÎÙÈ ÉÚ ÏÂÙÞÎÏÇÏ ÔÅËÓÔÏ×ÏÇÏ ÆÁÊÌÁ? + + óõâä PostgreSQL ÍÏÖÅÔ ÐÏÔÒÅÂÏ×ÁÔØÓÑ ÄÉÓËÏ×ÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á ÄÏ 5 ÒÁÚ + ÂÏÌØÛÅ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÄÁÎÎÙÈ ÉÚ ÐÒÏÓÔÏÇÏ ÔÅËÓÔÏ×ÏÇÏ ÆÁÊÌÁ. + + ÷ ËÁÞÅÓÔ×Å ÐÒÉÍÅÒÁ, ÒÁÓÓÍÏÔÒÉÍ ÆÁÊÌ × 100,000 ÓÔÒÏË × ËÁÖÄÏÊ, ÉÚ + ËÏÔÏÒÙÈ ÃÅÌÏÅ ÞÉÓÌÏ É ÔÅËÓÔÏ×ÏÅ ÏÐÉÓÁÎÉÅ. ðÒÉ ÜÔÏÍ ÄÌÉÎÁ ÔÅËÓÔÁ, × + ÓÒÅÄÎÅÍ, ÓÏÓÔÁ×ÌÑÅÔ 20 ÂÁÊÔ. òÁÚÍÅÒ ÐÒÏÓÔÏÇÏ ÆÁÊÌÁ ÓÏÓÔÁ×ÉÔ 2.8 MB. + òÁÚÍÅÒ ÂÁÚÙ PostgreSQL, ÓÏÄÅÒÖÁÝÅÊ ÜÔÉ ÖÅ ÄÁÎÎÙÅ ÓÏÓÔÁ×ÉÔ + ÐÒÉÂÌÉÚÉÔÅÌØÎÏ 6.4 MB ÉÚ ËÏÔÏÒÙÈ: + 36 ÂÁÊÔ: ÎÁ ËÁÖÄÙÊ ÚÁÇÏÌÏ×ÏË ÚÁÐÉÓÉ (ÐÒÉÂÌÉÚÉÔÅÌØÎÏ) + + 24 ÂÁÊÔÁ: ÏÄÎÏ ÐÏÌÅ Ó ÃÅÌÏÞÉÓÌÅÎÎÙÍ ÔÉÐÏÍ É ÏÄÎÏ ÔÅËÓÔÏ×ÏÅ ÐÏÌÅ + + 4 ÂÁÊÔÁ: ÕËÁÚÁÔÅÌØ ÎÁ ÓÔÒÁÎÉÃÅ ÄÌÑ ×ÓÅÊ ÚÁÐÉÓÉ + ---------------------------------------- + 64 ÂÁÊÔ ÎÁ ÚÁÐÉÓØ + + òÁÚÍÅÒ ÓÔÒÁÎÉÃÙ ÄÁÎÎÙÈ × PostgreSQL ÓÏÓÔÁ×ÌÑÅÔ 8192 ÂÁÊÔ (8 KB), ÔÁË ÞÔÏ: + + 8192 ÂÁÊÔ ÎÁ ÓÔÒÁÎÉÃÕ + ------------------- = 128 ÚÁÐÉÓÅÊ ÎÁ ÓÔÒÁÎÉÃÕ âä (Ó ÏËÒÕÇÌÅÎÉÅÍ) + 64 ÂÁÊÔ ÎÁ ÚÁÐÉÓØ + + 100000 ÓÔÒÏË ÄÁÎÎÙÈ + -------------------- = 782 ÓÔÒÁÎÉÃÙ × âä + 128 ÚÁÐÉÓÅÊ ÎÁ ÓÔÒÁÎÉÃÕ + +782 ÓÔÒÁÎÉÃÙ âä * 8192 ÂÁÊÔ ÎÁ ÓÔÒÁÎÉÃÕ = 6,406,144 ÂÁÊÔ (6.4 MB) + + éÎÄÅËÓÙ ÎÅ ÔÒÅÂÕÀÔ ÔÁË ÍÎÏÇÏ, ÎÏ ÐÏÓËÏÌØËÕ ÏÎÉ ÓÏÚÄÁÀÔÓÑ ÄÌÑ ÂÏÌØÛÏÇÏ + ËÏÌÉÞÅÓÔ×Á ÄÁÎÎÙÈ, ÏÎÉ ÔÁËÖÅ ÍÏÇÕÔ ÂÙÔØ ×ÅÌÉËÉ. + + 4.7) ëÁË ÍÎÅ ÕÂÅÄÉÔØÓÑ, ÞÔÏ ÎÕÖÎÙÅ ÍÎÅ ÔÁÂÌÉÃÙ ÉÌÉ ÉÎÄÅËÓÙ ÏÐÒÅÄÅÌÅÎÙ × + ÂÁÚÅ ÄÁÎÎÙÈ? + + psql ÉÍÅÅÔ ÎÅÓËÏÌØËÏ ËÏÍÁÎÄ, ÎÁÞÉÎÁÀÝÉÈÓÑ Ó ÏÂÒÁÔÎÏÊ ËÏÓÏÊ ÞÅÒÔÙ, ÄÌÑ + ÔÏÇÏ ÞÔÏÂÙ ÐÒÏÓÍÁÔÒÉ×ÁÔØ ÔÁËÕÀ ÉÎÆÏÒÍÁÃÉÀ. éÓÐÏÌØÚÕÊÔÅ \? ÄÌÑ ÔÏÇÏ, + ÞÔÏÂÙ Õ×ÉÄÅÔØ ÜÔÉ ËÏÍÁÎÄÙ. + + ôÁËÖÅ ÓÍÏÔÒÉÔÅ ÆÁÊÌ pgsql/src/tutorial/syscat.source. ÷ ÎÅÍ + ÐÒÅÄÓÔÁ×ÌÅÎÙ ÍÎÏÇÉÅ ÏÐÅÒÁÔÏÒÙ SELECT ËÏÔÏÒÙÅ ÎÕÖÎÙ ÄÌÑ ÐÏÌÕÞÅÎÉÑ + ÉÎÆÏÒÍÁÃÉÉ ÉÚ ÓÉÓÔÅÍÎÙÈ ÔÁÂÌÉà ÂÁÚÙ ÄÁÎÎÙÈ. + + 4.8) õ ÍÅÎÑ ÍÅÄÌÅÎÎÏ ÒÁÂÏÔÁÀÔ ÚÁÐÒÏÓÙ ÉÌÉ ÎÅ ÐÒÏÉÓÈÏÄÉÔ ÉÓÐÏÌØÚÏ×ÁÎÉÑ + ÉÎÄÅËÓÏ×. ðÏÞÅÍÕ? + + PostgreSQL ÎÅ ÕÐÒÁ×ÌÑÅÔ ÓÔÁÔÉÓÔÉËÏÊ Á×ÔÏÍÁÔÉÞÅÓËÉ. äÌÑ ÏÂÎÏ×ÌÅÎÉÑ + ÓÔÁÔÉÓÔÉËÉ ÄÏÌÖÅÎ ÂÙÔØ ÚÁÐÕÝÅÎ ÏÐÅÒÁÔÏÒ VACUUM. ðÏÓÌÅ ÔÏÇÏ, ËÁË + ÓÔÁÔÉÓÔÉËÁ ÏÂÎÏ×ÉÌÁÓØ, ÏÐÔÉÍÉÚÁÔÏÒ ÕÚÎÁÅÔ Ï ÔÏÍ ËÁË ÍÎÏÇÏ ÚÁÐÉÓÅÊ × + ÔÁÂÌÉÃÅ É ÅÓÌÉ ÏÎ ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØ ÉÎÄÅËÓÙ, ÔÏ ÏÎ ÍÏÖÅÔ ÐÒÉÎÉÍÁÔØ + ÌÕÞÛÉÅ ÒÅÛÅÎÉÑ. úÁÍÅÔÉÍ, ÞÔÏ ÏÐÔÉÍÉÚÁÔÏÒ ÎÅ ÉÓÐÏÌØÚÕÅÔ ÉÎÄÅËÓÙ × + ÓÌÕÞÁÅ, ËÏÇÄÁ ÔÁÂÌÉÃÁ ÍÁÌÅÎØËÁÑ, ÐÏÔÏÍÕ ÞÔÏ ÐÒÏÓÔÏÊ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÙÊ + ÐÅÒÅÂÏÒ ÂÕÄÅÔ ÂÙÓÔÒÅÅ. + + äÌÑ ÓÐÅÃÉÆÉÞÅÓËÏÊ ÓÔÁÔÉÓÔÉËÉ ÐÏ ËÏÌÏÎËÁÍ, ÉÓÐÏÌØÚÕÊÔÅ VACUUM ANALYZE. + VACUUM ANALYZE Ñ×ÌÑÅÔÓÑ ×ÁÖÎÙÍ ÄÌÑ ËÏÍÐÌÅËÓÎÙÈ ÚÁÐÒÏÓÏ× ÍÎÏÖÅÓÔ×ÅÎÎÏÇÏ + Ó×ÑÚÙ×ÁÎÉÑ, ÔÁË ËÁË ÏÐÔÉÍÉÚÁÔÏÒ ÍÏÖÅÔ ÏÃÅÎÉÔØ ËÏÌÉÞÅÓÔ×Ï ÚÁÐÉÓÅÊ, + ×ÏÚ×ÒÁÝÁÅÍÙÈ ÏÔ ËÁÖÄÏÊ ÔÁÂÌÉÃÙ É ×ÙÂÒÁÔØ ÐÒÁ×ÉÌØÎÙÊ ÐÏÒÑÄÏË + Ó×ÑÚÙ×ÁÎÉÑ. Backend ÎÅ ÏÓÕÝÅÓÔ×ÌÑÅÔ ÄÌÑ ÓÅÂÑ ÏÔÓÌÅÖÉ×ÁÎÉÅ ÓÔÁÔÉÓÔÉËÉ + ÐÏ ËÏÌÏÎËÁÍ, ÔÁË ÞÔÏ ÄÌÑ ÓÂÏÒÁ ÓÔÁÔÉÓÔÉËÉ ÎÕÖÎÏ ÐÅÒÉÏÄÉÞÅÓËÉ ÚÁÐÕÓËÁÔØ + VACUUM ANALYZE. + + ïÂÙÞÎÏ ÉÎÄÅËÓÙ ÎÅ ÉÓÐÏÌØÚÕÀÔÓÑ ÄÌÑ ORDER BY ÉÌÉ Ó×ÑÚÙ×ÁÎÉÊ. + ðÏÓÌÅÄÏ×ÁÔÅÌØÎÙÊ ÐÅÒÅÂÏÒ ÞÅÒÅÚ Ñ×ÎÕÀ ÓÏÒÔÉÒÏ×ËÕ ÂÕÄÅÔ ÂÙÓÔÒÅÅ, ÞÅÍ + ÐÏÉÓË ÐÏ ÉÎÄÅËÓÁÍ ×ÓÅÈ ÚÁÐÉÓÅÊ × ÂÏÌØÛÏÊ ÔÁÂÌÉÃÅ, ÐÏÔÏÍÕ ÞÔÏ ÄÏÓÔÕÐ Ë + ÄÉÓËÕ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÒÁÎÄÏÍÉÚÁÃÉÉ ÏÞÅÎØ ÍÅÄÌÅÎÅÎ. + + ëÏÇÄÁ ÉÓÐÏÌØÚÕÀÔÓÑ ÏÐÅÒÁÃÉÉ Ó ÛÁÂÌÏÎÁÍÉ, ÎÁÐÒÉÍÅÒ LIKE ÉÌÉ ~, ÉÎÄÅËÓÙ + ÍÏÇÕÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÙ ÔÏÌØËÏ ÅÓÌÉ ÎÁÞÁÌÏ ÓÔÒÏËÉ-ÛÁÂÌÏÎÁ ÄÌÑ ÐÏÉÓËÁ, + ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ ÎÁÞÁÌÕ ÉÓËÏÍÏÊ ÓÔÒÏËÉ. ôÁË ÞÔÏ ÄÌÑ ÔÏÇÏ, ÞÔÏÂÙ + ÉÓÐÏÌØÚÏ×ÁÔØ ÉÎÄÅËÓÙ, ÓÔÒÏËÁ ÛÁÂÌÏÎÁ × LIKE ÎÅ ÄÏÌÖÎÁ ÎÁÞÉÎÁÔØÓÑ ÎÁ %, + Á × ~ (ÐÏÉÓË ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ) ÄÏÌÖÎÁ ÎÁÞÉÎÁÔØÓÑ Ó ^. + + 4.9) ëÁË ÐÏÓÍÏÔÒÅÔØ ÎÁ ÔÏ, ËÁË ÏÐÔÉÍÉÚÁÔÏÒ ×ÙÐÏÌÎÑÅÔ ÍÏÊ ÚÁÐÒÏÓ? + + óÍÏÔÒÉÔÅ ÓÔÒÁÎÉÃÕ ÒÕËÏ×ÏÄÓÔ×Á ÐÏÓ×ÑÝÅÎÎÕÀ EXPLAIN. + + 4.10) þÔÏ ÔÁËÏÅ R-tree ÉÎÄÅËÓ? + + R-tree ÉÎÄÅËÓ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÉÎÄÅËÓÉÒÏ×ÁÎÉÑ ÐÒÏÓÔÒÁÎÓÔ×ÅÎÎÙÈ ÄÁÎÎÙÈ. + éÎÄÅËÓ ÈÜÛÁ ÎÅ ÍÏÖÅÔ ÕÐÒÁ×ÌÑÔØ ÐÏÉÓËÁÍÉ ÄÉÁÐÁÚÏÎÁ. B-tree ÉÎÄÅËÓ + ÕÐÒÁ×ÌÑÅÔ ÔÏÌØËÏ ÐÏÉÓËÁÍÉ ÄÉÁÐÁÚÏÎÁ × ÏÄÎÏÍ ÉÚÍÅÒÅÎÉÉ. R-tree ÉÎÄÅËÓ + ÍÏÖÅÔ ÕÐÒÁ×ÌÑÔØ ÍÎÏÇÏÒÁÚÍÅÒÎÙÍÉ ÄÁÎÎÙÍÉ. îÁÐÒÉÍÅÒ, ÅÓÌÉ R-tree ÉÎÄÅËÓ + ÍÏÖÅÔ ÂÙÔØ ×ÓÔÒÏÅÎ × ÁÔÒÉÂÕÔ ÔÉÐÁ point, ÔÏ ÓÉÓÔÅÍÁ ÍÏÖÅÔ ÂÏÌÅÅ + ÜÆÆÅËÔÉ×ÎÏ ÏÔ×ÅÔÉÔØ ÎÁ ÚÁÐÒÏÓ ÔÉÐÁ "×ÙÂÒÁÔØ ×ÓÅ ÔÏÞËÉ ×ÎÕÔÒÉ ÚÁÄÁÎÎÏÇÏ + ÞÅÔÙÒÅÈÕÇÏÌØÎÉËÁ." + + ëÁÎÏÎÉÞÅÓËÉÊ ÉÓÔÏÞÎÉË, ÏÐÉÓÙ×ÁÀÝÉÊ ÐÅÒ×ÏÎÁÞÁÌØÎÏÅ ÓÏÚÄÁÎÉÅ R-tree ÜÔÏ: + + Guttman, A. "R-trees: A Dynamic Index Structure for Spatial + Searching." Proceedings of the 1984 ACM SIGMOD Int'l Conf on Mgmt of + Data, 45-57. + + ÷Ù ÍÏÖÅÔÅ ÎÁÊÔÉ ÜÔÏÔ ÄÏËÕÍÅÎÔ × ËÎÉÇÅ Stonebraker'Á "Readings in + Database Systems". + + ÷ÓÔÒÏÅÎÎÎÙÅ R-tree ÍÏÇÕÔ ÕÐÒÁ×ÌÑÔØ ÐÏÌÉÇÏÎÁÍÉ É ÂÏËÓÁÍÉ. ÷ ÔÅÏÒÉÉ, + R-tree ÍÏÇÕÔ ÂÙÔØ ÒÁÓÛÉÒÅÎÙ ÄÌÑ ÕÐÒÁ×ÌÅÎÉÑ ÂÏÌØÛÉÍ ËÏÌÉÞÅÓÔ×ÏÍ + ÉÚÍÅÒÅÎÉÊ. îÁ ÐÒÁËÔÉËÅ, ÒÁÓÛÉÒÅÎÉÅ R-tree ÔÒÅÂÕÅÔ ÎÅËÏÔÏÒÙÈ ÕÓÉÌÉÊ É Õ + ÎÁÓ, × ÄÁÎÎÙÊ ÍÏÍÅÎÔ, ÎÅÔ ËÁËÏÊ-ÌÉÂÏ ÄÏËÕÍÅÎÔÁÃÉÉ Ï ÔÏÍ, ËÁË ÜÔÏ + ÓÄÅÌÁÔØ. + + 4.11) þÔÏ ÔÁËÏÅ Genetic Query Optimizer? + + íÏÄÕÌØ GEQO ÐÒÏÉÚ×ÏÄÉÔ ÂÙÓÔÒÕÀ ÏÐÔÉÍÉÚÁÃÉÀ ÚÁÐÒÏÓÁ, ËÏÇÄÁ ÐÒÏÉÓÈÏÄÉÔ + Ó×ÑÚÙ×ÁÎÉÅ ÍÎÏÇÉÈ ÔÁÂÌÉà ÞÅÒÅÚ Genetic Algorithm (GA). üÔÏ ÐÏÚ×ÏÌÑÅÔ + ÕÐÒÁ×ÌÑÔØ ÂÏÌØÛÉÍÉ ÚÁÐÒÏÓÁÍÉ ÎÁ Ó×ÑÚÙ×ÁÎÉÅ ÞÅÒÅÚ ÎÅÉÓÔÏÝÁÀÝÉÊ ÐÏÉÓË. + + 4.12) ëÁË ÍÎÅ ×ÙÐÏÌÎÉÔØ ÐÏÉÓË ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ É ÐÏÉÓË ÎÅÚÁ×ÉÓÉÍÙÊ ÏÔ + ÒÅÇÉÓÔÒÁ ÂÕË× ÐÏÉÓË ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ? ëÁË ÍÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÉÎÄÅËÓ ÄÌÑ + ÐÏÉÓËÁ ÎÅÚÁ×ÉÓÉÍÏÇÏ ÏÔ ÒÅÇÉÓÔÒÁ ÂÕË×? + + ïÐÅÒÁÔÏÒ ~ ÐÒÏÉÚ×ÏÄÉÔ ÐÏÉÓË ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ, Á ÏÐÅÒÁÔÏÒ ~* + ÐÒÏÉÚ×ÏÄÉÔ ÎÅÚÁ×ÉÓÉÍÙÊ ÏÔ ÒÅÇÉÓÔÒÁ ÂÕË× ÐÏÉÓË ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ. + îÅÚÁ×ÉÓÉÍÙÊ ÏÔ ÒÅÇÉÓÔÒÁ ×ÁÒÉÁÎÔ LIKE ÎÁÚÙ×ÁÅÔÓÑ ILIKE × PostgreSQL + ÎÁÞÉÎÁÑ Ó ×ÅÒÓÉÉ 7.1. + + îÅÚÁ×ÉÓÉÍÏÅ ÏÔ ÒÅÇÉÓÔÒÁ ÓÒÁ×ÎÅÎÉÅ ÏÂÙÞÎÏ ×ÙÒÁÖÁÅÔÓÑ ÔÁË: + SELECT * + FROM tab + WHERE lower(col) = 'abc' + + üÔÁ ËÏÎÓÔÒÕËÃÉÑ ÎÅ ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÔÁÎÄÁÒÔÎÙÊ ÉÎÄÅËÓ. ïÄÎÁËÏ, ÅÓÌÉ + ×Ù ÓÏÚÄÁÄÉÔÅ ÆÕÎËÃÉÏÎÁÌØÎÙÊ ÉÎÄÅËÓ, ÏÎ ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÎ: + CREATE INDEX tabindex on tab (lower(col)); + + 4.13) ëÁË Ñ ÍÏÇÕ ÏÐÒÅÄÅÌÉÔØ, ÞÔÏ ÚÎÁÞÅÎÉÅ ÐÏÌÑ ÒÁ×ÎÏ NULL × ËÁËÏÍ-ÌÉÂÏ + ÚÁÐÒÏÓÅ? + + ÷Ù ÐÒÏÓÔÏ ÓÒÁ×ÎÉ×ÁÅÔÅ ÚÎÁÞÅÎÉÅ Ó IS NULL É IS NOT NULL. + + 4.14) ëÁËÏ×Ù ÏÔÌÉÞÉÑ ÍÅÖÄÕ ÒÁÚÎÙÍÉ ÓÉÍ×ÏÌØÎÙÍÉ ÔÉÐÁÍÉ? + +ôÉÐ ÷ÎÕÔÒÅÎÎÅÅ ÉÍÑ úÁÍÅÞÁÎÉÑ +-------------------------------------------------- +"char" char 1 ÓÉÍ×ÏÌ +CHAR(#) bpchar ÚÁÐÏÌÎÑÅÔÓÑ ÐÕÓÔÏÔÏÊ ÄÏ ÆÉËÓÉÒÏ×ÁÎÎÏÊ ÄÌÉÎÙ +VARCHAR(#) varchar ÒÁÚÍÅÒ ÚÁÄÁÅÔ ÍÁËÓÉÍÁÌØÎÕÀ ÄÌÉÎÕ, ÎÅÔ ÚÁÐÏÌÎÅÎÉ +Ñ +TEXT text ÎÅÔ ÚÁÄÁ×ÁÅÍÏÇÏ ×ÅÒÈÎÅÇÏ ÏÇÒÁÎÉÞÅÎÉÑ ÉÌÉ ÄÌÉÎÙ +BYTEA bytea ÍÁÓÓÉ× ÂÁÊÔ ÐÅÒÅÍÅÎÎÏÊ ÄÌÉÎÙ (ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔ +Ø null-ÂÁÊÔ ÂÅÚ ÏÐÁÓËÉ) + + ÷ÎÕÔÒÅÎÎÅÅ ÉÍÑ ×Ù ÍÏÖÅÔÅ Õ×ÉÄÅÔØ, ËÏÇÄÁ ÓÍÏÔÒÉÔÅ ÓÉÓÔÅÍÎÙÅ ËÁÔÁÌÏÇÉ É + × ÎÅËÏÔÏÒÙÈ ÓÏÏÂÝÅÎÉÑÈ Ï ÏÛÉÂËÁÈ. + + ðÏÓÌÅÄÎÉÅ ÞÅÔÙÒÅ ÔÉÐÁ Ñ×ÌÑÀÔÓÑ "varlena" ÔÉÐÁÍÉ (Ô.Å., ÐÅÒ×ÙÅ ÞÅÔÙÒÅ + ÂÁÊÔÁ ÎÁ ÄÉÓËÅ Ñ×ÌÑÀÔÓÑ ÄÌÉÎÎÏÊ, ÚÁ ËÏÔÏÒÏÊ ÓÌÅÄÕÀÔ ÄÁÎÎÙÅ). ôÁËÉÍ + ÏÂÒÁÚÏÍ, ÆÁËÔÉÞÅÓËÉ ÉÓÐÏÌØÚÕÅÍÏÅ ÐÒÏÓÔÒÁÎÓÔ×Ï ÂÏÌØÛÅ, ÞÅÍ ÏÂÏÚÎÁÞÅÎÎÙÊ + ÒÁÚÍÅÒ. ïÄÎÁËÏ, ÜÔÉ ÔÉÐÙ ÄÁÎÎÙÈ ÔÁËÖÅ ÐÏÄÄÁÀÔÓÑ ÓÖÁÔÉÀ ÉÌÉ ÍÏÇÕÔ ÂÙÔØ + ÓÏÈÒÁÎÅÎÙ ÎÅ × ÓÔÒÏËÏÍ ×ÉÄÅ ÞÅÒÅÚ TOAST, ÔÁË ÞÔÏ ÚÁÎÉÍÁÅÍÏÅ ÄÉÓËÏ×ÏÅ + ÐÒÏÓÔÒÁÎÓÔ×Ï ÍÏÖÅÔ ÔÁËÖÅ ÂÙÔØ É ÍÅÎØÛÅ, ÞÅÍ ÏÖÉÄÁÌÏÓØ. + + CHAR() - ÜÔÏ ÌÕÞÛÅÅ ÒÅÛÅÎÉÅ ÄÌÑ ÈÒÁÎÅÎÉÑ ÓÔÒÏË, ËÏÔÏÒÙÅ ÏÂÙÞÎÏ ÉÍÅÀÔ + ÏÄÉÎÁËÏ×ÕÀ ÄÌÉÎÕ. VARCHAR() - ÜÔÏ ÌÕÞÛÅÅ ÒÅÛÅÎÉÅ, ËÏÇÄÁ ÎÕÖÎÏ ÈÒÁÎÉÔØ + ÓÔÒÏËÉ ÐÅÒÅÍÅÎÎÏÊ ÄÌÉÎÙ, ÎÏ ÎÅ ÐÒÅ×ÙÛÁÀÝÉÅ ÏÐÒÅÄÅÌÅÎÎÏÇÏ ÒÁÚÍÅÒÁ. TEXT + - ÜÔÏ ÌÕÞÛÅÅ ÒÅÛÅÎÉÅ ÄÌÑ ÓÔÒÏË ÎÅÏÇÒÁÎÉÞÅÎÎÏÊ ÄÌÉÎÙ, Ó ÍÁËÓÉÍÁÌØÎÏ + ÄÏÐÕÓÔÉÍÏÊ ÄÌÉÎÏÊ × 1 ÇÉÇÁÂÁÊÔ. BYTEA ÄÌÑ ÈÒÁÎÅÎÉÑ ÂÉÎÁÒÎÙÈ ÄÁÎÎÙÈ, + ÚÎÁÞÅÎÉÑ ËÏÔÏÒÙÈ ÍÏÇÕÔ ×ËÌÀÞÁÔØ NULL ÂÁÊÔÙ. + + 4.15.1) ëÁË ÍÎÅ ÓÏÚÄÁÔØ ÐÏÌÅ serial/Ó-Á×ÔÏ-Õ×ÅÌÉÞÅÎÉÅÍ? + + 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 UNIQUE INDEX person_id_key ON person ( id ); + + óÍÏÔÒÉÔÅ ÐÏÄÒÏÂÎÏÓÔÉ Ï ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÑÈ ÎÁ ÓÔÒÁÎÉÃÅ ÒÕËÏ×ÏÄÓÔ×Á + ÐÏÓ×ÑÝÅÎÎÏÊ create_sequence. ÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ËÁÖÄÏÅ ÐÏÌÅ + OID × ÚÁÐÉÓÉ ËÁË ÕÎÉËÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ. ïÄÎÁËÏ, ÅÓÌÉ ×ÁÍ ÎÕÖÅÎ ÄÁÍÐ É + ÐÅÒÅÚÁÇÒÕÚËÁ ÂÁÚÙ ÄÁÎÎÙÈ, ×ÁÍ ÎÅÏÂÈÏÄÉÍÏ ÉÓÐÏÌØÚÏ×ÁÔØ ËÏÍÁÎÄÕ pg_dump + Ó ÏÐÃÉÅÊ -o ÉÌÉ ÏÐÃÉÀ COPY WITH OIDS ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÚÎÁÞÅÎÉÊ ÐÏÌÑ OID. + + 4.15.2) ëÁË ÍÎÅ ÐÏÌÕÞÉÔØ ÚÎÁÞÅÎÉÅ ÐÒÉ ×ÓÔÁ×ËÅ SERIAL? + + ïÄÉÎ ÉÚ ÓÐÏÓÏÂÏ× ÓÏÓÔÏÉÔ × ÐÏÌÕÞÅÎÉÉ ÓÌÅÄÕÀÝÅÇÏ ÚÎÁÞÅÎÉÑ SERIAL ÉÚ + ÏÂßÅËÔÁ sequence Ó ÐÏÍÏÝØÀ ÆÕÎËÃÉÉ nextval() ÐÅÒÅÄ ×ÓÔÁ×ËÏÊ É ÚÁÔÅÍ + ×ÓÔÁ×ÌÑÔØ ÜÔÏ ÚÎÁÞÅÎÉÅ Ñ×ÎÏ. éÓÐÏÌØÚÕÊÔÅ ÔÁÂÌÉÃÕ-ÐÒÉÍÅÒ × 4.15.1, + ÞÔÏÂÙ Õ×ÉÄÅÔØ ËÁË ÜÔÏ ÄÅÌÁÅÔÓÑ × Perl: + new_id = output of "SELECT nextval('person_id_seq')" + INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal'); + + úÁÔÅÍ ×Ù ÄÏÌÖÎÙ ÔÁËÖÅ ÓÏÈÒÁÎÉÔØ ÎÏ×ÏÅ ÚÎÁÞÅÎÉÅ × ÐÅÒÅÍÅÎÎÏÊ new_id ÄÌÑ + ÅÇÏ ÉÓÐÏÌØÚÏ×ÁÎÉÑ × ÄÒÕÇÉÈ ÚÁÐÒÏÓÁÈ (ÎÁÐÒÉÍÅÒ ÔÁËÉÈ ËÁË ×ÎÅÛÎÉÊ ËÌÀÞ + ÄÌÑ ÔÁÂÌÉÃÙ person). úÁÍÅÔÉÍ, ÞÔÏ ÉÍÑ Á×ÔÏÍÁÔÉÞÅÓËÉ ÓÏÚÄÁÎÎÏÇÏ ÏÂßÅËÔÁ + SEQUENCE ÂÕÄÅÔ __seq, ÇÄÅ table É serialcolumn + Ñ×ÌÑÀÔÓÑ ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ ÉÍÅÎÁÍÉ ×ÁÛÅÊ ÔÁÂÌÉÃÙ É ×ÁÛÅÊ ËÏÌÏÎËÉ SERIAL. + + ÷ ËÁÞÅÓÔ×Å ÁÌØÔÅÒÎÁÔÉ×Ù, ×Ù ÍÏÖÅÔÅ ÐÏÌÕÞÉÔØ ÎÁÚÎÁÞÅÎÎÏÅ ÚÎÁÞÅÎÉÅ + SERIAL Ó ÐÏÍÏÝØÀ ÆÕÎËÃÉÉ currval() ÐÏÓÌÅ ÐÒÏ×ÅÄÅÎÉÑ ÏÂÙÞÎÏÊ ÏÐÅÒÁÃÉÉ + ×ÓÔÁ×ËÉ, ÎÁÐÒÉÍÅÒ + INSERT INTO person (name) VALUES ('Blaise Pascal'); + new_id = output of "SELECT currval('person_id_seq')"; + + é ÎÁËÏÎÅÃ, ×Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÚÎÁÞÅÎÉÅ OID, ×ÏÚÒÁÝÁÅÍÏÅ ÉÚ + ÏÐÅÒÔÏÒÁ INSERT ÞÔÏÂÙ Õ×ÉÄÅÔØ ÚÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ, ÞÔÏ + ÐÒÅÄÐÏÌÏÖÉÔÅÌØÎÏ Ñ×ÌÑÅÔÓÑ ÎÁÉÍÅÎÅÅ ÐÅÒÅÎÏÓÉÍÙÍ ÎÁ ÄÒÕÇÉÅ ÐÌÁÔÆÏÒÍÙ + ÒÅÛÅÎÉÅÍ. ÷ Perl, ÉÓÐÏÌØÚÕÑ DBI Ó ÍÏÄÕÌÅÉ Edmund Mergl'Ñ DBD::Pg, + ÚÎÁÞÅÎÉÅ oid ÓÔÁÎÏ×ÉÔÓÑ ÄÏÓÔÕÐÎÙÍ ÞÅÒÅÚ $sth->{pg_oid_status} ÐÏÓÌÅ + $sth->execute(). + + 4.15.3) îÅ ÍÏÖÅÔ ÌÉ ÐÏÌÕÞÉÔØÓÑ ÔÁË, ÞÔÏ ÉÓÐÏÌØÚÏ×ÁÎÉÅ currval() É nextval() + ÐÒÉ×ÅÄÅÔ Ë ÚÁÃÉËÌÉÒÏ×ÁÎÉÀ Ó ÄÒÕÇÉÍÉ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ? + + îÅÔ. Currval() ×ÏÚ×ÒÁÝÁÅÔ ÔÅËÕÝÅÅ ÚÎÁÞÅÎÉÅ, ÎÁÚÎÁÞÅÎÎÏÅ ×ÁÛÅÍ + backend'ÏÍ, Á ÎÅ ÄÒÕÇÉÍÉ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ. + + 4.15.4) ðÏÞÅÍÕ ÞÉÓÌÁ ÉÚ ÍÏÅÊ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ ÎÅ ÉÓÐÏÌØÚÕÀÔÓÑ ÓÎÏ×Á ÐÒÉ + ÏÔÍÅÎÅ ÔÒÁÎÚÁËÃÉÉ? ðÏÞÅÍÕ ÓÏÚÄÁÀÔÓÑ ÒÁÚÒÙ×Ù ÐÒÉ ÎÕÍÅÒÁÃÉÉ × ËÏÌÏÎËÅ, ÇÄÅ Ñ + ÉÓÐÏÌØÚÕÀ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ/SERIAL? + + äÌÑ ÒÅÁÌÉÚÁÃÉÉ ËÏÎËÕÒÅÔÎÏÓÔÉ, ÚÎÁÞÅÎÉÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÅÊ, ÐÒÉ + ÎÅÏÂÈÏÄÉÍÏÓÔÉ ×ÙÄÁÀÔÓÑ ×Ï ×ÒÅÍÑ ÚÁÐÕÓËÁ ÔÒÁÎÚÁËÃÉÊ É ÎÅ ÂÌÏËÉÒÕÀÔÓÑ ÄÏ + ÐÏÌÎÏÇÏ ×ÙÐÏÌÎÅÎÉÑ ÔÒÁÎÚÁËÃÉÊ. üÔÏ ÍÏÖÅÔ ×ÙÚÙ×ÁÔØ ÒÁÚÒÙ×Ù × ÎÕÍÅÒÁÃÉÉ + ÐÒÉ ÏÔÍÅÎÅ ÔÒÁÎÚÁËÃÉÊ + + 4.16) þÔÏ ÔÁËÏÅ OID? þÔÏ ÔÁËÏÅ TID? + + ðÏÌÑ OID ÓÌÕÖÁÔ ÕÎÉËÁÌØÎÙÍÉ ÉÄÅÔÉÆÉËÁÔÏÒÁÍÉ ÚÁÐÉÓÅÊ × PostgreSQL. + ëÁÖÄÁÑ ÚÁÐÉÓØ, ËÏÔÏÒÁÑ ÓÏÚÄÁ£ÔÓÑ × PostgreSQL ÐÏÌÕÞÁÅÔ ÕÎÉËÁÌØÎÙÊ OID. + ÷ÓÅ ÚÎÁÞÅÎÉÑ OID ÇÅÎÅÒÉÒÕÅÍÙÅ ×Ï ×ÒÅÍÑ initdb ÉÍÅÀÔ ÚÎÁÞÅÎÉÑ ÍÅÎØÛÅ + 16384 (ÉÚ backend/access/transam.h). ÷ÓÅ ÓÏÚÄÁÎÎÙÅ ÐÏÌØÚÏ×ÁÔÅÌÅÍ OID + ÉÍÅÀÔ ÂïÌØÛÉÅ ÚÎÁÞÅÎÉÅ. ðÏ ÕÍÏÌÞÁÎÉÀ, ×ÓÅ ÜÔÉ OID Ñ×ÌÑÀÔÓÑ ÕÎÉËÁÌØÎÙÍÉ + ÎÅ ÔÏÌØËÏ ×ÎÕÔÒÉ ËÁËÏÊ-ÌÉÂÏ ÔÁÂÌÉÃÙ ÉÌÉ ÂÁÚÙ ÄÁÎÎÙÈ, ÎÏ É ×ÎÕÔÒÉ ×ÓÅÊ + óõâä PostgreSQL. + + PostgreSQL ÉÓÐÏÌØÚÕÅÔ OID × Ó×ÏÉÈ ×ÎÕÔÒÅÎÎÉÈ ÓÉÓÔÅÍÎÙÈ ÔÁÂÌÉÃÁÈ ÄÌÑ + Ó×ÑÚÉ ÚÁÐÉÓÅÊ É ÔÁÂÌÉÃ. úÎÁÞÅÎÉÑ OID ÍÏÇÕÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÙ ÄÌÑ + ÉÄÅÎÔÉÆÉËÁÃÉÉ ÚÁÄÁÎÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÍ ÚÁÐÉÓÅÊ, Á ÔÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ + ÐÒÉ Ó×ÑÚÙ×ÁÎÉÑÈ. òÅËÏÍÅÎÄÕÅÔÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ ÔÉÐ ËÏÌÏÎËÉ OID ÄÌÑ + ÈÒÁÎÅÎÉÑ ÚÎÁÞÅÎÉÊ OID ÷Ù ÍÏÖÅÔÅ ÓÏÚÄÁÔØ ÉÎÄÅËÓ ÎÁ ÐÏÌÅ OID ÄÌÑ ÂÏÌÅÅ + ÂÙÓÔÒÏÇÏ ÄÏÓÔÕÐÁ. + + úÎÁÞÅÎÉÑ OID ÎÁÚÎÁÞÁÀÔÓÑ ÄÌÑ ×ÓÅÈ ÎÏ×ÙÈ ÚÁÐÉÓÅÊ ÉÚ ÃÅÎÔÒÁÌØÎÏÊ + ÏÂÌÁÓÔÉ, ËÏÔÏÒÙÅ ÉÓÐÏÌØÚÕÀÔÓÑ ×ÓÅÍÉ ×ÓÅÍÉ ÂÁÚÁÍÉ ÄÁÎÎÙÈ. åÓÌÉ ×Ù + ÈÏÔÉÔÅ ÉÚÍÅÎÉÔØ OID ÎÁ ËÁËÏÅ-ÌÉÂÏ ÄÒÕÇÏÅ ÚÎÁÞÅÎÉÅ ÉÌÉ ÅÓÌÉ ×Ù ÈÏÔÉÔÅ + ÓÏÚÄÁÔØ ËÏÐÉÀ ÔÁÂÌÉÃÙ Ó ÔÁËÉÍÉÖÅ OID, ÔÏ ÜÔÏ ÍÏÖÎÏ ÓÄÅÌÁÔØ ÔÁË: + CREATE TABLE new_table(old_oid oid, mycol int); + SELECT old_oid, mycol INTO new FROM old; + COPY new TO '/tmp/pgtable'; + DELETE FROM new; + COPY new WITH OIDS FROM '/tmp/pgtable'; + + OID ÈÒÁÎÉÔÓÑ ËÁË 4-È ÂÁÊÔÎÏÅ ÃÅÌÏÅ É ÎÅ ÍÏÖÅÔ ÐÒÅ×ÙÛÁÔØ ÚÎÁÞÅÎÉÅ × 4 + ÍÉÌÌÉÁÒÄÁ. ïÄÎÁËÏ, ÅÝÅ ÎÉËÔÏ ÎÅ ÓÏÏÂÝÉÌ Ï ÔÏÍ, ÞÔÏ ÔÁËÏÅ ÐÒÏÉÚÏÛÌÏ, ÎÏ + ÍÙ ÐÌÁÎÉÒÕÅÍ ÄÏ ÔÏÇÏ ËÁË ÜÔÏ ÓÌÕÞÉÔØÓÑ ÉÚÂÁ×ÉÔÓÑ ÏÔ ÜÔÏÇÏ ÏÇÒÁÎÉÞÅÎÉÑ. + + TID ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÉÄÅÎÔÉÆÉËÁÃÉÉ ÓÐÅÃÉÁÌØÎÙÈ ÆÉÚÉÞÅÓËÉÈ ÚÁÐÉÓÅÊ Ó + ÂÌÏÞÎÙÍÉ É offset ÚÎÁÞÅÎÉÑÍÉ. TID ÉÚÍÅÎÑÅÔÓÑ ÐÏÓÌÅ ÔÏÇÏ ËÁË ÚÁÐÉÓÉ + ÂÙÌÉ ÉÚÍÅÎÅÎÙ ÉÌÉ ÐÅÒÅÇÒÕÖÅÎÙ. + + TID ÉÓÐÏÌØÚÕÅÔÓÑ ÉÎÄÅËÓÎÙÍÉ ÚÁÐÉÓÑÍÉ × ËÁÞÅÓÔ×Å ÕËÁÚÁÔÅÌÑ ÎÁ + ÆÉÚÉÞÅÓËÉÅ ÚÁÐÉÓÉ. + + 4.17) þÔÏ ÏÚÎÁÞÁÀÔ ÎÅËÏÔÏÒÙÅ ÔÅÒÍÉÎÙ ÉÓÐÏÌØÚÕÅÍÙÅ × PostgreSQL? + + îÅËÏÔÏÒÙÊ ÉÓÈÏÄÎÙÊ ËÏÄ É ÓÔÁÒÁÑ ÄÏËÕÍÅÎÔÁÃÉÑ ÉÓÐÏÌØÚÕÀÔ + ÏÂÝÅÕÐÏÔÒÅÂÉÔÅÌØÎÙÅ ÔÅÒÍÉÎÙ. ÷ÏÔ ÎÅËÏÔÏÒÙÅ ÉÚ ÎÉÈ: + * table, relation, class + * row, record, tuple + * column, field, attribute + * retrieve, select + * replace, update + * append, insert + * OID, serial value + * portal, cursor + * range variable, table name, table alias + + óÐÉÓÏË ÏÂÝÉÈ ÔÅÒÍÉÎÏ× ÐÏ ÂÁÚÁÍ ÄÁÎÎÙÈ ÍÏÖÎÏ ÎÁÊÔÉ ÎÁ + http://www.comptechnews.com/~reaster/dbdesign.html + + 4.18) ðÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ ÏÛÉÂËÕ "ERROR: Memory exhausted in AllocSetAlloc()"? + + åÓÌÉ Õ ×ÁÓ ×ÅÒÓÉÑ ÎÉÖÅ 7.1, ÔÏ ÏÂÎÏ×ÌÅÎÉÅ ×ÅÒÓÉÉ ÍÏÖÅÔ ÒÅÛÉÔØ ÜÔÕ + ÐÒÏÂÌÅÍÕ. ôÁËÖÅ ×ÏÚÍÏÖÎÏ, ÞÔÏ Õ ×ÁÓ ÚÁËÏÎÞÉÌÁÓØ ×ÉÒÔÕÁÌØÎÁÑ ÐÁÍÑÔØ ÉÌÉ + ÞÔÏ ×ÁÛÅ ÑÄÒÏ ÉÍÅÅÔ ÍÁÌÅÎØËÉÊ ÌÉÍÉÔ ÎÁ ÏÐÒÅÄÅÌÅÎÎÙÅ ÒÅÓÕÒÓÙ. + ðÏÐÙÔÁÊÔÅÓØ ÐÅÒÅÄ ÚÁÐÕÓËÏÍ postmaster ×ÙÐÏÌÎÉÔØ ÓÌÅÄÕÀÝÉÅ ËÏÍÁÎÄÙ: + ulimit -d 262144 + limit datasize 256m + + ÷ ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ËÏÍÁÎÄÎÏÇÏ ÉÎÔÅÒÐÒÅÔÁÔÏÒÁ shell, ÔÏÌØËÏ ÏÄÎÁ ÉÚ + ÄÁÎÎÙÈ ËÏÍÁÎÄ ×ÙÐÏÌÎÉÔÓÑ ÕÓÐÅÛÎÏ, ÎÏ ÏÎÁ ÐÏÚ×ÏÌÉÔ ×ÁÍ ÕÓÔÁÎÏ×ÉÔØ + ÂÏÌØÛÉÊ ÓÅÇÍÅÎÔ ÄÁÎÎÙÈ ÐÒÏÃÅÓÓÁ É ×ÏÚÍÏÖÎÏ ÒÅÛÉÔ ÐÒÏÂÌÅÍÕ. üÔÁ ËÏÍÁÎÄÁ + ÉÚÍÅÎÑÅÔ ÐÁÒÁÍÅÔÒÙ ÔÅËÕÝÅÇÏ ÐÒÏÃÅÓÓÁ É ×ÓÅÈ ÅÇÏ ÐÏÔÏÍËÏ×, ÓÏÚÄÁÎÎÙÈ + ÐÏÓÌŠţ ÚÁÐÕÓËÁ. åÓÌÉ Õ ×ÁÓ ×ÏÚÎÉËÌÁ ÐÒÏÂÌÅÍÁ Ó SQL ËÌÉÅÎÔÏÍ, ÐÏÔÏÍÕ + ÞÔÏ backend ×ÏÚ×ÒÁÝÁÅÔ ÓÌÉÛËÏÍ ÂÏÌØÛÏÊ ÏÂßÅÍ ÄÁÎÎÙÈ, ÐÏÐÙÔÁÊÔÅÓØ + ×ÙÐÏÌÎÉÔØ ÜÔÕ ËÏÍÁÎÄÕ ÐÅÒÅÄ ÚÁÐÕÓËÏÍ ËÌÉÅÎÔÁ. + + 4.19) ëÁË ÍÎÅ ÕÚÎÁÔØ, ËÁËÁÑ ×ÅÒÓÉÑ PostgreSQL ÚÁÐÕÝÅÎÁ? + + éÚ psql, ÎÁÂÅÒÉÔÅ select version(); + + 4.20) ðÏÞÅÍÕ ÐÒÉ ÒÁÂÏÔÅ Ó ÍÏÉÍ ÂÏÌØÛÉÍ ÏÂßÅËÔÏÍ Ñ ÐÏÌÕÞÁÀ ÏÛÉÂËÕ "invalid + large obj descriptor"? + + ÷ÁÍ ÎÕÖÎÏ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÂÏÌØÛÏÇÏ ÏÂßÅËÔÁ ÐÏÍÅÓÔÉÔØ × ÎÁÞÁÌÅ BEGIN + WORK É × ËÏÎÃÅ COMMIT, Á ×ÎÕÔÒÉ ÐÏÌÕÞÉ×ÛÅÇÏÓÑ ÂÌÏËÁ lo_open ... + lo_close. + + ÷ ÎÁÓÔÏÑÝÉÊ ÍÏÍÅÎÔ PostgreSQL ÔÒÅÂÕÅÔ, ÞÔÏÂÙ ÐÒÉ ÚÁËÒÙÔÉÉ ÂÏÌØÛÏÇÏ + ÏÂßÅËÔÁ ÐÒÏÉÓÈÏÄÉÌÏ ×ÙÐÏÌÎÅÎÉÅ ÔÒÁÎÚÁËÃÉÉ. ôÁËÉÍ ÏÂÒÁÚÏÍ, ÐÅÒ×ÁÑ ÖÅ + ÐÏÐÙÔËÁ ÓÄÅÌÁÔØ ÞÔÏ-ÌÉÂÏ Ó ÂÏÌØÛÉÍ ÏÂßÅËÔÏÍ, ÎÅ ÓÏÂÌÀÄÁÑ ÄÁÎÎÏÇÏ + ÐÒÁ×ÉÌÁ ÐÒÉ×ÅÄÅÔ Ë ÓÏÏÂÝÅÎÉÀ invalid large obj descriptor, ÔÁË ËÁË ËÏÄ + ×ÙÐÏÌÎÑÀÝÉÊ ÒÁÂÏÔÕ ÎÁÄ ÂÏÌØÛÉÍ ÏÂßÅËÔÏÍ (ÐÏ ËÒÁÊÎÅÊ ÍÅÒÅ × ÎÁÓÔÏÑÝÉÊ + ÍÏÍÅÎÔ) ÂÕÄÅÔ ÇÅÎÅÒÉÒÏ×ÁÔØ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ ÅÓÌÉ ×Ù ÎÅ ÉÓÐÏÌØÚÕÅÔÅ + ÔÒÁÎÚÁËÃÉÀ. + + åÓÌÉ ×Ù ÉÓÐÏÌØÚÕÅÔÅ ÔÁËÏÊ ÉÎÔÅÒÆÅÊÓ ËÌÉÅÎÔÁ ËÁË ODBC, ×ÁÍ ×ÏÚÍÏÖÎÏ + ÐÏÎÁÄÏÂÉÔÓÑ ÕÓÔÁÎÏ×ÉÔØ auto-commit off. + + 4.21) ëÁË ÍÎÅ ÓÏÚÄÁÔØ ËÏÌÏÎËÕ ËÏÔÏÒÁÑ ÐÏ ÕÍÏÌÞÁÎÉÀ ÂÕÄÅÔ ÓÏÄÅÒÖÁÔØ ÔÅËÕÝÅÅ + ×ÒÅÍÑ? + + éÓÐÏÌØÚÕÊÔÅ CURRENT_TIMESTAMP: +CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP ); + + 4.22) ðÏÞÅÍÕ ÍÏÉ ÐÏÄÚÁÐÒÏÓÙ, ÉÓÐÏÌØÚÕÀÝÉÅ IN ÔÁË ÍÅÄÌÅÎÎÏ ÒÁÂÏÔÁÅÀÔ? + + ÷ ÎÁÓÔÏÑÝÉÊ ÍÏÍÅÎÔ, ÍÙ Ó×ÑÚÙ×ÁÅÍ ÐÏÚÁÐÒÏÓÙ ÄÌÑ ×ÎÅÛÎÉÈ ÚÁÐÒÏÓÏ× ÞÅÒÅÚ + ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÙÊ ÐÅÒÅÂÏÒ ÒÅÚÕÌØÔÁÔÁ ÐÏÄÚÁÐÒÏÓÁ ÄÌÑ ËÁÖÄÏÊ ÚÁÐÉÓÉ + ×ÎÅÛÎÅÇÏ ÚÁÐÒÏÓÁ. ðÏÐÒÏÂÕÊÔÅ ÚÁÍÅÎÉÔØ IN ÎÁ EXISTS: +SELECT * + FROM tab + WHERE col1 IN (SELECT col2 FROM TAB2) + + ÎÁ: +SELECT * + FROM tab + WHERE EXISTS (SELECT col2 FROM TAB2 WHERE col1 = col2) + + íÙ ÎÁÄÅÅÍÓÑ ÕÂÒÁÔØ ÜÔÏ ÏÇÒÁÎÉÞÅÎÉÅ × ÂÕÄÕÝÅÍ ×ÙÐÕÓËÅ. + + 4.23) ëÁË ÍÎÅ ×ÙÐÏÌÎÉÔØ ×ÎÅÛÎÅÅ Ó×ÑÚÙ×ÁÎÉÅ? + + PostgreSQL ÎÁÞÉÎÁÑ Ó ×ÅÒÓÉÉ 7.1 ÐÏÄÄÅÒÖÉ×ÁÅÔ ×ÎÅÛÎÅÅ Ó×ÑÚÙ×ÁÎÉÅ, + ÉÓÐÏÌØÚÕÑ ÓÔÁÎÄÁÒÔÎÙÊ ÓÉÎÔÁËÓÉÓ SQL. ÷ÏÔ Ä×Á ÐÒÉÍÅÒÁ: + SELECT * + FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col); + + or + SELECT * + FROM t1 LEFT OUTER JOIN t2 USING (col); + + üÔÏ ÉÄÅÎÔÉÞÎÙÅ ÚÁÐÒÏÓÙ Ó×ÑÚÙ×ÁÎÉÑ t1.col É t2.col, ÔÁËÖÅ ×ÏÚ×ÒÁÝÁÀÔ + ÌÀÂÙÅ ÎÅÓ×ÑÚÁÎÎÙÅ ÚÁÐÉÓÉ × t1 (ËÏÔÏÒÙÅ ÎÅ ÓÏ×ÐÁÄÁÀÔ Ó t2). RIGHT + Ó×ÑÚÙ×ÁÎÉÅ ÄÏÌÖÎÏ ÄÏÂÁ×ÉÔØ ÎÅÓ×ÑÚÁÎÎÙÅ ÚÁÐÉÓÉ t2. FULL Ó×ÑÚÙ×ÁÎÉÅ + ÄÏÌÖÎÏ ×ÏÚ×ÒÁÔÉÔØ ÓÏ×ÐÁ×ÛÉÅ ÚÁÐÉÓÉ ÐÌÀÓ ×ÓÅ ÎÅÓ×ÑÚÁÎÎÙÅ ÚÁÐÉÓÉ ÉÚ t1 É + t2. óÌÏ×Ï OUTER Ñ×ÌÑÅÔÓÑ ÎÅÏÂÑÚÁÔÅÌØÎÙÍ É ÎÁÚÎÁÞÁÅÔÓÑ × LEFT, RIGHT É + FULL Ó×ÑÚÙ×ÁÎÉÑÈ. ïÂÙÞÎÙÅ Ó×ÑÚÙ×ÁÎÉÑ ÎÁÚÙ×ÁÀÔÓÑ INNER Ó×ÑÚÙ×ÁÎÉÑ. + + ÷ ÐÒÅÄÙÄÕÝÉÈ ×ÅÒÓÉÑÈ, ×ÎÅÛÎÉÅ Ó×ÑÚÙ×ÁÎÉÑ ÍÏÇÌÉ ÂÙÔØ ÜÍÕÌÉÒÏ×ÁÎÙ + ÉÓÐÏÌØÚÕÑ UNION É NOT IN. îÁÐÒÉÍÅÒ, ËÏÇÄÁ ÐÒÏÉÓÈÏÄÉÔ Ó×ÑÚÙ×ÁÎÉÅ tab1 É + tab2, ÓÌÅÄÕÀÝÉÊ ÚÁÐÒÏÓ ×ÙÐÏÌÎÑÅÔ ×ÎÅÛÎÅÅ Ó×ÑÚÙ×ÁÎÉÅ Ä×ÕÈ ÔÁÂÌÉÃ: + SELECT tab1.col1, tab2.col2 + FROM tab1, tab2 + WHERE tab1.col1 = tab2.col1 + UNION ALL + SELECT tab1.col1, NULL + FROM tab1 + WHERE tab1.col1 NOT IN (SELECT tab2.col1 FROM tab2) + ORDER BY col1 + + 4.24) ëÁË ×ÙÐÏÌÎÑÔØ ÚÁÐÒÏÓÙ, ÉÓÐÏÌØÚÕÀÝÉÅ ÎÅÓËÏÌØËÏ ÂÁÚ ÄÁÎÎÙÈ? + + îÅ ÓÕÝÅÓÔ×ÕÅÔ ÓÐÏÓÏÂÁ ÓÏÚÄÁÔØ ÚÁÐÒÏÓ Ë ÂÁÚÁÍ ÄÁÎÎÙÈ ÏÔÌÉÞÎÙÍ ÏÔ + ÔÅËÕÝÅÊ. ðÏÓËÏÌØËÕ PostgreSQL ÚÁÇÒÕÖÁÅÔ ÓÉÓÔÅÍÎÙÅ ËÁÔÁÌÏÇÉ ÓÐÅÃÉÆÉÞÎÙÅ + ÄÌÑ ÂÁÚÙ ÄÁÎÎÙÈ, ÎÅÐÏÎÑÔÎÏ ÄÁÖÅ, ËÁË ÄÏÌÖÅÎ ÓÅÂÑ ×ÅÓÔÉ ÔÁËÏÊ + ÍÅÖÂÁÚÏ×ÙÊ ÚÁÐÒÏÓ. + + òÁÚÕÍÅÅÔÓÑ, ËÌÉÅÎÔ ÍÏÖÅÔ ÏÄÎÏ×ÒÅÍÅÎÎÏ ÕÓÔÁÎÁ×ÌÉ×ÁÔØ ÓÏÅÄÉÅÎÅÎÉÑ Ó + ÒÁÚÌÉÞÎÙÍÉ ÂÁÚÁÍÉ ÄÁÎÎÙÈ É ÔÁËÉÈ ÏÂÒÁÚÏÍ ÏÂßÅÄÉÎÑÔØ ÉÎÆÏÒÍÁÃÉÀ ÉÚ ÎÉÈ. + _________________________________________________________________ + + òÁÓÛÉÒÅÎÉÑ PostgreSQL + + 5.1) ñ ÎÁÐÉÓÁÌ ÆÕÎËÃÉÀ ÏÐÒÅÄÅÌÑÅÍÕÀ ÐÏÌØÚÏ×ÁÔÅÌÅÍ. ëÏÇÄÁ Ñ ÚÁÐÕÓËÁÀ ÅÅ × + psql, ÐÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ dump core? + + ðÒÏÂÌÅÍÁ ÍÏÖÅÔ ÚÁËÌÀÞÁÔØÓÑ × ÎÅÓËÏÌØËÉÈ ×ÅÝÁÈ. ðÏÐÙÔÁÊÔÅÓØ ÓÐÅÒ×Á + ÐÒÏÔÅÓÔÉÒÏ×ÁÔØ ×ÁÛÕ ÆÕÎËÃÉÀ × ÏÔÄÅÌØÎÏÊ ÓÁÍÏÓÔÏÑÔÅÌØÎÏÊ ÐÒÏÇÒÁÍÍÅ. + + 5.2) ëÁË Ñ ÍÏÇÕ ×ÎÅÓÔÉ ÎÅËÏÔÏÒÙÅ ËÌÁÓÓÎÙÅ ÎÏ×ÙÅ ÔÉÐÙ É ÆÕÎËÃÉÉ × + PostgreSQL? + + ïÔÐÒÁ×ØÔÅ ×ÁÛÉ ÒÁÓÛÉÒÅÎÉÑ × ÓÐÉÓÏË ÒÁÓÓÙÌËÉ pgsql-hackers É ÏÎÉ ÐÏ + ×ÏÚÍÏÖÎÏÓÔÉ ÂÕÄÕÔ ÐÏÍÅÝÅÎÙ × ÐÏÄËÁÔÁÌÏÇ contrib/. + + 5.3) ëÁË ÍÎÅ ÎÁÐÉÓÁÔØ C ÆÕÎËÃÉÀ, ×ÏÚ×ÒÁÝÁÀÝÕÀ ÚÁÐÉÓØ? + + üÔÏ ÔÒÅÂÕÅÔ ÎÅËÏÅÇÏ ÛÁÍÁÎÓÔ×Á ÔÁË ËÁË Á×ÔÏÒÙ ÎÉËÏÇÄÁ ÎÅ ÐÒÏÂÏ×ÁÌÉ + ÄÅÌÁÔØ ÜÔÏ, ÈÏÔÑ × ÐÒÉÎÉÃÐÅ ÜÔÏ ×ÏÚÍÏÖÎÏ. + + 5.4) ñ ÉÚÍÅÎÉÌ ÉÓÈÏÄÎÙÊ ÆÁÊÌ. ðÏÞÅÍÕ ÐÏÓÌÅ ÐÅÒÅËÏÍÐÉÌÑÃÉÉ Ñ ÎÅ ×ÉÖÕ + ÉÚÍÅÎÅÎÉÊ? + + æÁÊÌÙ Makefile ÎÅ ÉÍÅÀÔ ÐÒÁ×ÉÌØÎÙÈ ÚÁ×ÉÓÉÍÏÓÔÅÊ ÄÌÑ include ÆÁÊÌÏ×. ÷Ù + ÄÏÌÖÎÙ ×ÙÐÏÌÎÉÔØ make clean É ÚÁÔÅÍ make. åÓÌÉ ×Ù ÉÓÐÏÌØÚÕÅÔÅ GCC ×Ù + ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÏÐÃÉÀ --enable-depend × configure ÞÔÏÂÙ ÐÏÒÕÞÉÔØ + ËÏÍÐÉÌÑÔÏÒÕ Á×ÔÏÍÁÔÉÞÅÓËÉ ÏÔÓÌÅÖÉ×ÁÔØ ÚÁ×ÉÓÉÍÏÓÔÉ. diff --git a/doc/src/FAQ/FAQ_russian.html b/doc/src/FAQ/FAQ_russian.html new file mode 100644 index 0000000000..a05321b167 --- /dev/null +++ b/doc/src/FAQ/FAQ_russian.html @@ -0,0 +1,1373 @@ + + + + + + + + + + PostgreSQL FAQ + + + +

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

+ +

äÁÔÁ ÐÏÓÌÅÄÎÅÇÏ ÏÂÎÏ×ÌÅÎÉÑ: þÅÔ×ÅÒÇ 18 æÅ×ÒÁÌÑ 17:56:04 EST 2002

+ +

áÎÇÌÉÊÓËÉÊ ×ÁÒÉÁÎÔ ÓÏÐÒÏ×ÏÖÄÁÅÔ: âÒÀÓ íÏÍØÑÎ (Bruce Momjian) (pgman@candle.pha.pa.us)
+

+

ðÅÒÅ×ÅÌ ÎÁ ÒÕÓÓËÉÊ: ÷ÉËÔÏÒ ÷ÉÓÌÏÂÏËÏ× (victor_v@permonline.ru)
+

+ +

óÁÍÕÀ Ó×ÅÖÕÀ ÁÎÇÌÉÊÓËÕÀ ×ÅÒÓÉÀ ÄÏËÕÍÅÎÔÁ ÍÏÖÎÏ ÎÁÊÔÉ ÎÁ http://www.PostgreSQL.org/docs/faq-english.html.

+ +

ïÔ×ÅÔÙ ÎÁ ×ÏÐÒÏÓÙ ÓÐÅÃÉÆÉÞÎÙÅ ÄÌÑ ËÏÎËÒÅÔÎÙÈ ÐÌÁÔÆÏÒÍ ÍÏÖÎÏ ÎÁÊÔÉ ÎÁ http://www.PostgreSQL.org/users-lounge/docs/faq.html.

+
+ +

ïÂÝÉÅ ×ÏÐÒÏÓÙ

+ 1.1) þÔÏ ÔÁËÏÅ PostgreSQL? ëÁË ÐÒÏÉÚÎÏÓÉÔÓÑ ÜÔÏ + ÎÁÚ×ÁÎÉÅ?
+ 1.2) ëÁËÏ×Ù Á×ÔÏÒÓËÉÅ ÐÒÁ×Á ÎÁ PostgreSQL?
+ 1.3) îÁ ËÁËÉÈ Unix ÐÌÁÔÆÏÒÍÁÈ ÒÁÂÏÔÁÅÔ PostgreSQL?
+ 1.4) óÕÝÅÓÔ×ÕÀÔ ÌÉ ×ÅÒÓÉÉ ÐÏÒÔÉÒÏ×ÁÎÎÙÅ ÎÅ ÎÁ Unix ÓÉÓÔÅÍÙ?
+ 1.5) çÄÅ ÍÏÖÎÏ ×ÚÑÔØ PostgreSQL?
+ 1.6) çÄÅ ÐÏÌÕÞÉÔØ ÐÏÄÄÅÒÖËÕ?
+ 1.7) ëÁËÁÑ ÐÏÓÌÅÄÎÑÑ ×ÅÒÓÉÑ?
+ 1.8) ëÁËÁÑ ÄÏËÕÍÅÎÔÁÃÉÑ ÉÍÅÅÔÓÑ × ÎÁÌÉÞÉÉ?
+ 1.9) ëÁË ÎÁÊÔÉ ÉÎÆÏÒÍÁÃÉÀ Ï ÉÚ×ÅÓÔÎÙÈ ÏÛÉÂËÁÈ ÉÌÉ ÏÔÓÕÔÓÔ×ÕÀÝÉÈ + ×ÏÚÍÏÖÎÏÓÔÑÈ?
+ 1.10) ëÁË ÎÁÕÞÉÔØÓÑ SQL?
+ 1.11) òÅÛÅÎÁ ÌÉ × PostgreSQL ÐÒÏÂÌÅÍÁ 2000-ÇÏ ÇÏÄÁ (Y2K)?
+ 1.12) ëÁË ÐÒÉÓÏÅÄÉÎÉÔÓÑ Ë ËÏÍÁÎÄÅ ÒÁÚÒÁÂÏÔÞÉËÏ×?
+ 1.13) ëÁË ÏÔÒÁ×ÉÔØ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ?
+ 1.14) ëÁË ÓÒÁ×ÎÉ×ÁÔØ PostgreSQL Ó ÄÒÕÇÉÍÉ + óõâä?
+ 1.15) ëÁË ÏËÁÚÁÔØ ÆÉÎÁÎÓÏ×ÕÀ ÐÏÍÏÝØ PostgreSQL?
+ + +

÷ÏÐÒÏÓÙ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÐÏ ËÌÉÅÎÔÓËÏÊ ÞÁÓÔÉ

+ 2.1) óÕÝÅÓÔ×ÕÀÔ ÌÉ ODBC ÄÒÁÊ×ÅÒÁ ÄÌÑ + PostgreSQL?
+ 2.2) ëÁËÉÅ ÉÎÓÔÒÕÍÅÎÔÙ ÓÕÝÅÓÔ×ÕÀÔ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ + PostgreSQL ÞÅÒÅÚ Web?
+ 2.3) åÓÔØ ÌÉ Õ PostgreSQL ÇÒÁÆÉÞÅÓËÉÊ ÉÎÔÅÒÆÅÊÓ + ÐÏÌØÚÏ×ÁÔÅÌÑ? çÅÎÅÒÁÔÏÒ ÏÔÞÅÔÏ×? ÷ÓÔÒÏÅÎÎÙÊ ÉÎÔÅÒÆÅÊÓ ÄÌÑ ÑÚÙËÁ + ÚÁÐÒÏÓÏ×?
+ 2.4) ëÁËÉÅ ÑÚÙËÉ ÍÏÇÕÔ ×ÚÁÉÍÏÄÅÊÓÔ×Ï×ÁÔØ Ó + PostgreSQL?
+ + +

÷ÏÐÒÏÓÙ ÁÄÍÉÎÉÓÔÒÉÒÏ×ÁÎÉÑ

+ 3.1) ëÁË ÍÎÅ ÕÓÔÁÎÏ×ÉÔØ PostgreSQL × ÍÅÓÔÏ ÏÔÌÉÞÎÏÅ + ÏÔ /usr/local/pgsql?
+ 3.2) ëÏÇÄÁ Ñ ÚÁÐÕÓËÁÀ postmaster, Ñ ÐÏÌÕÞÁÀ + ÓÏÏÂÝÅÎÉÅ Bad System Call ÉÌÉ ÓÏÏÂÝÅÎÉÅ core dumped. ðÏÞÅÍÕ?
+ 3.3) ëÏÇÄÁ Ñ ÐÙÔÁÀÓØ ÚÁÐÕÓÔÉÔØ postmaster, Ñ + ÐÏÌÕÞÁÀ ÏÛÉÂËÉ IpcMemoryCreate. ðÏÞÅÍÕ?
+ 3.4) ëÏÇÄÁ Ñ ÐÙÔÁÀÓØ ÚÁÐÕÓÔÉÔØ postmaster, Ñ + ÐÏÌÕÞÁÀ ÏÛÉÂËÉ IpcSemaphoreCreate. ðÏÞÅÍÕ?
+ 3.5) ëÁË ÍÎÅ ÕÐÒÁ×ÌÑÔØ ÓÏÅÄÉÎÅÎÉÑÍÉ Ó ÄÒÕÇÉÈ + ËÏÍÐØÀÔÅÒÏ×?
+ 3.6) ëÁËÉÅ ÎÁÓÔÒÏÊËÉ ÍÎÅ ÎÕÖÎÏ ÓÄÅÌÁÔØ ÄÌÑ ÕÌÕÞÛÅÎÉÑ + ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ?
+ 3.7) ëÁËÉÅ ×ÏÚÍÏÖÎÏÓÔÉ ÄÌÑ ÏÔÌÁÄËÉ ÅÓÔØ × ÎÁÌÉÞÉÉ?
+ 3.8) ðÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ ÓÏÏÂÝÅÎÉÅ "Sorry, too many + clients" ËÏÇÄÁ ÐÙÔÁÀÓØ ÐÏÄËÌÀÞÉÔØÓÑ Ë ÂÁÚÅ?
+ 3.9) þÔÏ ÜÔÏ ÚÁ ÆÁÊÌÙ pg_sorttempNNN.NN + × ÍÏÅÍ ËÁÔÁÌÏÇÅ Ó ÂÁÚÏÊ ÄÁÎÎÙÈ?
+ + +

÷ÏÐÒÏÓÙ ÜËÓÐÌÕÁÔÁÃÉÉ

+ 4.1) ÷ ÞÅÍ ÏÔÌÉÞÉÅ ÍÅÖÄÕ ÂÉÎÁÒÎÙÍ É ÎÏÒÍÁÌØÎÙÍ + ËÕÒÓÏÒÏÍ?
+ 4.2) ëÁË ×ÙÐÏÌÎÉÔØ SELECT ÔÏÌØËÏ + ÄÌÑ ÎÅÓËÏÌØËÉÈ ÐÅÒ×ÙÈ ÓÔÒÏÞÅË ÚÁÐÒÏÓÁ?
+ 4.3) ëÁË ÐÏÌÕÞÉÔØ ÓÐÉÓÏË ÔÁÂÌÉà ÉÌÉ ÄÒÕÇÉÈ + ËÏÍÐÏÎÅÎÔÏ× × psql?
+ 4.4) ëÁË ÕÄÁÌÉÔØ ËÏÌÏÎËÕ ÉÚ ÔÁÂÌÉÃÙ?
+ 4.5) ëÁËÏ×Ù ÍÁËÓÉÍÁÌØÎÙÅ ÒÁÚÍÅÒÙ ÄÌÑ ÚÁÐÉÓÅÊ, + ÔÁÂÌÉÃ É ÂÁÚÙ ÄÁÎÎÙÈ?
+ 4.6) ëÁË ÍÎÏÇÏ ÄÉÓËÏ×ÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á × ÂÁÚÅ ÄÁÎÎÙÈ + ÎÕÖÎÏ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÄÁÎÎÙÈ ÉÚ ÏÂÙÞÎÏÇÏ ÔÅËÓÔÏ×ÏÇÏ ÆÁÊÌÁ?
+ 4.7) ëÁË ÍÎÅ ÕÂÅÄÉÔØÓÑ, ÞÔÏ ÎÕÖÎÙÅ ÍÎÅ ÔÁÂÌÉÃÙ ÉÌÉ ÉÎÄÅËÓÙ + ÏÐÒÅÄÅÌÅÎÙ × ÂÁÚÅ ÄÁÎÎÙÈ?
+ 4.8) õ ÍÅÎÑ ÍÅÄÌÅÎÎÏ ÒÁÂÏÔÁÀÔ ÚÁÐÒÏÓÙ ÉÌÉ ÎÅ + ÐÒÏÉÓÈÏÄÉÔ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÉÎÄÅËÓÏ×. ðÏÞÅÍÕ?
+ 4.9) ëÁË ÐÏÓÍÏÔÒÅÔØ ÎÁ ÔÏ, ËÁË ÏÐÔÉÍÉÚÁÔÏÒ ×ÙÐÏÌÎÑÅÔ + ÍÏÊ ÚÁÐÒÏÓ?
+ 4.10) þÔÏ ÔÁËÏÅ R-tree ÉÎÄÅËÓ?
+ 4.11) þÔÏ ÔÁËÏÅ Genetic Query Optimizer?
+ 4.12) ëÁË ÍÎÅ ×ÙÐÏÌÎÉÔØ ÐÏÉÓË ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ + É ÐÏÉÓË ÎÅÚÁ×ÉÓÉÍÙÊ ÏÔ ÒÅÇÉÓÔÒÁ ÂÕË× ÐÏÉÓË ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ? + ëÁË ÍÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÉÎÄÅËÓ ÄÌÑ ÐÏÉÓËÁ ÎÅÚÁ×ÉÓÉÍÏÇÏ ÏÔ ÒÅÇÉÓÔÒÁ ÂÕË×?
+ 4.13) ëÁË Ñ ÍÏÇÕ ÏÐÒÅÄÅÌÉÔØ, ÞÔÏ ÚÎÁÞÅÎÉÅ ÐÏÌÑ ÒÁ×ÎÏ + NULL × ËÁËÏÍ-ÌÉÂÏ ÚÁÐÒÏÓÅ?
+ 4.14) ëÁËÏ×Ù ÏÔÌÉÞÉÑ ÍÅÖÄÕ ÒÁÚÎÙÍÉ ÓÉÍ×ÏÌØÎÙÍÉ + ÔÉÐÁÍÉ?
+ 4.15.1) ëÁË ÍÎÅ ÓÏÚÄÁÔØ ÐÏÌÅ serial/Ó-Á×ÔÏ-Õ×ÅÌÉÞÅÎÉÅÍ?
+ 4.15.2) ëÁË ÍÎÅ ÐÏÌÕÞÉÔØ ÚÎÁÞÅÎÉÅ ÐÒÉ ×ÓÔÁ×ËÅ + SERIAL?
+ 4.15.3) îÅ ÍÏÖÅÔ ÌÉ ÐÏÌÕÞÉÔØÓÑ ÔÁË, ÞÔÏ + ÉÓÐÏÌØÚÏ×ÁÎÉÅ currval() É nextval() ÐÒÉ×ÅÄÅÔ Ë + ÚÁÃÉËÌÉÒÏ×ÁÎÉÀ Ó ÄÒÕÇÉÍÉ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ?
+ 4.15.4) ðÏÞÅÍÕ ÞÉÓÌÁ ÉÚ ÍÏÅÊ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ + ÎÅ ÉÓÐÏÌØÚÕÀÔÓÑ ÓÎÏ×Á ÐÒÉ ÏÔÍÅÎÅ ÔÒÁÎÚÁËÃÉÉ? ðÏÞÅÍÕ ÓÏÚÄÁÀÔÓÑ ÒÁÚÒÙ×Ù + ÐÒÉ ÎÕÍÅÒÁÃÉÉ × ËÏÌÏÎËÅ, ÇÄÅ Ñ ÉÓÐÏÌØÚÕÀ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ/SERIAL?
+ 4.16) þÔÏ ÔÁËÏÅ OID? þÔÏ ÔÁËÏÅ + TID?
+ 4.17) þÔÏ ÏÚÎÁÞÁÀÔ ÎÅËÏÔÏÒÙÅ ÔÅÒÍÉÎÙ ÉÓÐÏÌØÚÕÅÍÙÅ × + PostgreSQL?
+ 4.18) ðÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ ÏÛÉÂËÕ "ERROR: Memory + exhausted in AllocSetAlloc()"?
+ 4.19) ëÁË ÍÎÅ ÕÚÎÁÔØ, ËÁËÁÑ ×ÅÒÓÉÑ PostgreSQL + ÚÁÐÕÝÅÎÁ?
+ 4.20) ðÏÞÅÍÕ ÐÒÉ ÒÁÂÏÔÅ Ó ÍÏÉÍ ÂÏÌØÛÉÍ ÏÂßÅËÔÏÍ + Ñ ÐÏÌÕÞÁÀ ÏÛÉÂËÕ "invalid large obj descriptor"?
+ 4.21) ëÁË ÍÎÅ ÓÏÚÄÁÔØ ËÏÌÏÎËÕ ËÏÔÏÒÁÑ ÐÏ ÕÍÏÌÞÁÎÉÀ + ÂÕÄÅÔ ÓÏÄÅÒÖÁÔØ ÔÅËÕÝÅÅ ×ÒÅÍÑ?
+ 4.22) ðÏÞÅÍÕ ÍÏÉ ÐÏÄÚÁÐÒÏÓÙ, ÉÓÐÏÌØÚÕÀÝÉÅ + IN ÔÁË ÍÅÄÌÅÎÎÏ ÒÁÂÏÔÁÅÀÔ?
+ 4.23) ëÁË ×ÙÐÏÌÎÉÔØ ×ÎÅÛÎÅÅ Ó×ÑÚÙ×ÁÎÉÅ?
+ 4.24) ëÁË ×ÙÐÏÌÎÑÔØ ÚÁÐÒÏÓÙ, ÉÓÐÏÌØÚÕÀÝÉÅ ÎÅÓËÏÌØËÏ + ÂÁÚ ÄÁÎÎÙÈ?
+ + +

òÁÓÛÉÒÅÎÉÑ PostgreSQL

+ 5.1) ñ ÎÁÐÉÓÁÌ ÆÕÎËÃÉÀ ÏÐÒÅÄÅÌÑÅÍÕÀ ÐÏÌØÚÏ×ÁÔÅÌÅÍ. + ëÏÇÄÁ Ñ ÚÁÐÕÓËÁÀ ÅÅ × psql, ÐÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ dump core?
+ 5.2) ëÁË Ñ ÍÏÇÕ ×ÎÅÓÔÉ ÎÅËÏÔÏÒÙÅ ËÌÁÓÓÎÙÅ ÎÏ×ÙÅ + ÔÉÐÙ É ÆÕÎËÃÉÉ × PostgreSQL?
+ 5.3) ëÁË ÍÎÅ ÎÁÐÉÓÁÔØ C ÆÕÎËÃÉÀ, ×ÏÚ×ÒÁÝÁÀÝÕÀ + ÚÁÐÉÓØ?
+ 5.4) ñ ÉÚÍÅÎÉÌ ÉÓÈÏÄÎÙÊ ÆÁÊÌ. ðÏÞÅÍÕ ÐÏÓÌÅ + ÐÅÒÅËÏÍÐÉÌÑÃÉÉ Ñ ÎÅ ×ÉÖÕ ÉÚÍÅÎÅÎÉÊ?
+ +
+ +

ïÂÝÉÅ ×ÏÐÒÏÓÙ

+ +

1.1) þÔÏ ÔÁËÏÅ PostgreSQL?

+ +

PostgreSQL ÐÒÏÉÚÎÏÓÉÔÓÑ Post-Gres-Q-L (ðÏÓÔ-çÒÅÓ-ëØÀ-üÌ).

+ +

PostgreSQL - ÜÔÏ ÒÁÓÛÉÒÅÎÉÅ óõâä POSTGRES, ÉÓÓÌÅÄÏ×ÁÔÅÌØÓËÉÊ + ÐÒÏÔÏÔÉÐ ÎÏ×ÏÇÏ ÐÏËÏÌÅÎÉÑ óõâä. + PostgreSQL ÏÄÎÏ×ÒÅÍÅÎÎÏ ÓÏÈÒÁÎÑÅÔ ÍÏÝÎÕÀ ÍÏÄÅÌØ ÄÁÎÎÙÈ É ÏÂÝÉÒÎÏÅ + ËÏÌÉÞÅÓÔ×Ï ÔÉÐÏ× POSTGRES, É ÚÁÍÅÝÁÅÔ ÑÚÙË ÚÁÐÒÏÓÏ× PostQuel ÎÁ + ÒÁÓÛÉÒÅÎÎÏÅ ÐÏÄÍÎÏÖÅÓÔ×Ï SQL. PostgreSQL - ÜÔÏ + Ó×ÏÂÏÄÎÏÅ É ÐÏÌÎÏÓÔØÀ ÏÔËÒÙÔÏÅ ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ.

+ +

òÁÚÒÁÂÏÔËÕ PostgreSQL ×ÙÐÏÌÎÑÅÔ ËÏÍÁÎÄÁ, + Ó×ÑÚÁÎÎÁÑ ÞÅÒÅÚ Internet, ×ÓÅ ÕÞÁÓÔÎÉËÉ ËÏÔÏÒÏÊ ÐÏÄÐÉÓÁÎÙ ÎÁ ÓÐÉÓÏË + ÒÁÓÓÙÌËÉ ÒÁÚÒÁÂÏÔÞÉËÏ×. ÷ ÎÁÓÔÏÑÝÅÅ ×ÒÅÍÑ, ÉÈ ËÏÏÒÄÉÎÁÔÏÒÏÍ + Ñ×ÌÑÅÔÓÑ íÁÒË æÏÒÎÁÊ (Marc G. Fournier) (scrappy@PostgreSQL.org). (óÍ. + ÎÉÖÅ Ï ÔÏÍ, ËÁË ÐÏÄËÌÀÞÉÔØÓÑ Ë ÒÁÚÒÁÂÏÔËÅ). üÔÁ ËÏÍÁÎÄÁ ÔÅÐÅÒØ + ÏÔ×ÅÞÁÅÔ ÚÁ ×ÓÀ ÒÁÚÒÁÂÏÔËÕ PostgreSQL.

+ +

á×ÔÏÒÁÍÉ PostgreSQL 1.01 Ñ×ÌÑÀÔÓÑ üÎÄÒÀ à (Andrew Yu) É äÖÏÌÉ þÅÎ + (Jolly Chen). íÎÏÇÉÅ ÄÒÕÇÉÅ ×ÎÅÓÌÉ Ó×ÏÊ ×ËÌÁÄ × ÐÅÒÅÎÏÓ ÎÁ ÄÒÕÇÉÅ + ÐÌÁÔÆÏÒÍÙ, ÔÅÓÔÉÒÏ×ÁÎÉÅ, ÏÔÌÁÄËÕ É ÒÁÓÛÉÒÅÎÉÅ ÜÔÏÇÏ ËÏÄÁ. ðÅÒ×ÏÎÁÞÁÌØÎÙÊ + ËÏÄ Postgres, ÉÚ ËÏÔÏÒÏÇÏ ÐÏÑ×ÉÌÓÑ PostgreSQL, ÂÙÌ ÉÔÏÇÏÍ ÕÓÉÌÉÊ ÍÎÏÇÉÈ + ÁËÁÄÅÍÉÞÅÓËÉÈ ÓÔÕÄÅÎÔÏ×, ÎÅÁËÁÄÅÍÉÞÅÓËÉÈ ÓÔÕÄÅÎÔÏ× É ÍÎÏÖÅÓÔ×Á + ÒÁÚÎÙÈ ÐÒÏÇÒÁÍÍÉÓÔÏ×, ÒÁÂÏÔÁ×ÛÉÈ ÐÏÄ ÒÕËÏ×ÏÄÓÔ×ÏÍ ÐÒÏÆÅÓÓÏÒÁ + íÁÊËÌÁ óÔÏÕÎÂÒÅÊËÅÒÁ (Michael Stonebraker) × ëÁÌÉÆÏÒÎÉÊÓËÏÍ ÕÎÉ×ÅÒÓÉÔÅÔÅ, + âÅÒËÌÉ.

+ +

ðÅÒ×ÏÎÁÞÁÌØÎÏÅ ÉÍÑ, ÄÁÎÎÏÅ × âÅÒËÌÉ, ÂÙÌÏ Postgres. ëÏÇÄÁ + × 1995 ÇÏÄÕ ÂÙÌÁ ÄÏÂÁ×ÌÅÎÁ ÆÕÎËÃÉÏÎÁÌØÎÏÓÔØ SQL, + ÜÔÏ ÉÍÑ ÂÙÌÏ ÉÚÍÅÎÅÎÏ ÎÁ Postgres95. îÏ É ÜÔÏ ÉÍÑ ÂÙÌÏ ÉÚÍÅÎÅÎÏ + × ËÏÎÃÅ 1996 ÎÁ PostgreSQL.

+ +

1.2) ëÁËÏ×Ù Á×ÔÏÒÓËÉÅ ÐÒÁ×Á ÎÁ PostgreSQL?

+ +

PostgreSQL ÐÏÐÁÄÁÅÔ ÐÏÄ ÄÅÊÓÔ×ÉÅ ÓÌÅÄÕÀÝÅÇÏ COPYRIGHT:

+ +

óÉÓÔÅÍÁ õÐÒÁ×ÌÅÎÉÑ âÁÚÁÍÉ äÁÎÎÙÈ PostgreSQL

+ +

Portion copyright (c) 1996-2002, PostgreSQL Global Development + Group Portions Copyright (c) 1994-6 Regents of the University of + California

+ +

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

+ +

ëáìéæïòîéêóëéê õîé÷åòóéôåô îå îåóåô îéëáëïê ïô÷åôóô÷åîîïóôé + úá ìàâùå ðï÷òåöäåîéñ, ÷ëìàþáñ ðïôåòà äïèïäá, îáîåóåîîùå ðòñíùí + éìé îåðòñíùí, óðåãéáìøîùí éìé óìõþáêîùí éóðïìøúï÷áîéåí äáîîïçï + ðòïçòáííîïçï ïâåóðåþåîéñ éìé åçï äïëõíåîôáãéé, äáöå åóìé + ëáìéæïòîéêóëéê õîé÷åòóéôåô âùì éú÷åýåî ï ÷ïúíïöîïóôé ôáëéè + ðï÷òåöäåîéê.

+ +

ëáìéæïòîéêóëéê õîé÷åòóéôåô óðåãéáìøîï ïôëáúù÷áúù÷áåôóñ ðòåäïóôá÷ìñôø + ìàâùå çáòáîôéé, ÷ëìàþáñ, îï îå ïçòáîéþé÷áñóø ôïìøëï üôéíé çáòáîôéñíé: + îåñ÷îùå çáòáîôéé ðòéçïäîïóôé ôï÷áòá éìé ðòéçïäîïóôé äìñ ïôäåìøîïê ãåìé. + äáîîïå ðòïçòáííîïå ïâåóðåþåîéå ðòåäïóôá÷ìñåôóñ îá ïóîï÷å ðòéãéðá + "ëáë åóôø" é ëáìéæïòîéêóëéê õîé÷åòóéôåô îå ïâñúáî ðòåäïóôá÷ìñôø + óïðòï÷ïöäåîéå, ðïääåòöëõ, ïâîï÷ìåîéñ, òáóûéòåîéñ éìé éúíåîåîéñ.

+ +

÷ÙÛÅÉÚÌÏÖÅÎÎÏÅ Ñ×ÌÑÅÔÓÑ BSD ÌÉÃÅÎÚÉÅÊ, ËÌÁÓÓÉÞÅÓËÏÊ ÌÉÃÅÎÚÉÅÊ + ÐÒÏÇÒÁÍÍÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ Ó ÏÔËÒÙÔÙÍ ËÏÄÏÍ. üÔÁ ÌÉÃÅÎÚÉÑ ÎÅ ÎÁËÌÁÄÙ×ÁÅÔ + ÏÇÒÁÎÉÞÅÎÉÊ ÎÁ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÉÓÈÏÄÎÏÇÏ ËÏÄÁ. îÁÍ ÎÒÁ×ÉÔÓÑ ÜÔÁ ÌÉÃÅÎÚÉÑ + É ÍÙ ÎÅ ÓÏÂÉÒÁÅÍÓÑ Å£ ÍÅÎÑÔØ.

+ +

1.3) îÁ ËÁËÉÈ Unix ÐÌÁÔÆÏÒÍÁÈ ÒÁÂÏÔÁÅÔ PostgreSQL?

+ +

ïÂÙÞÎÏ, PostgreSQL ÍÏÖÅÔ ÒÁÂÏÔÁÔØ ÎÁ ÌÀÂÏÊ ÓÏ×ÒÅÍÅÎÎÏÊ ÐÌÁÔÆÏÒÍÅ + ÓÏ×ÍÅÓÔÉÍÏÊ Ó Unix. ÷ ÉÎÓÔÒÕËÃÉÉ ÐÏ ÕÓÔÁÎÏ×ËÅ, ×Ù ÎÁÊÄÅÔÅ ÓÐÉÓÏË + ÔÅÈ ÐÌÁÔÆÏÒÍ, ÎÁ ËÏÔÏÒÙÈ ÂÙÌÉ ÐÒÏ×ÅÄÅÎÙ ÔÅÓÔÏ×ÙÅ ÚÁÐÕÓËÉ PostgreSQL + Ë ÍÏÍÅÎÔÕ ×ÙÈÏÄÁ ÄÁÎÎÏÊ ×ÅÒÓÉÉ.

+ +

1.4) óÕÝÅÓÔ×ÕÀÔ ÌÉ ×ÅÒÓÉÉ ÐÅÒÅÎÅÓÅÎÎÙÅ ÎÅ ÎÁ Unix + ÓÉÓÔÅÍÙ?

+ +

ëÌÉÅÎÔ

+ +

äÌÑ ÚÁÐÕÓËÁ ÎÁ ÐÌÁÔÆÏÒÍÁÈ MS Windows ×ÏÚÍÏÖÎÁ ËÏÍÐÉÌÑÃÉÑ C + ÂÉÂÌÉÏÔÅËÉ libpq, psql É ÄÒÕÇÉÈ ÉÎÔÅÒÆÅÓÏ× É ÂÉÎÁÒÎÙÈ ÆÁÊÌÏ×. + ÷ ÜÔÏÍ ÓÌÕÞÁÅ, ËÌÉÅÎÔ ÚÁÐÕÓËÁÅÔÓÑ ÎÁ MS Windows É Ó×ÑÚÙ×ÁÅÔÓÑ ÐÏ + TCP/IP Ó ÓÅÒ×ÅÒÏÍ, ÚÁÐÕÝÅÎÎÙÍ ÎÁ ÏÄÎÏÊ ÉÚ ÐÏÄÄÅÒÖÉ×ÁÅÍÙÈ Unix + ÐÌÁÔÆÏÒÍ. ÷ ÄÉÓÔÒÉÂÕÔÉ× ×ËÌÀÞÁÅÔÓÑ ÆÁÊÌ win31.mak ÄÌÑ ÔÏÇÏ, + ÞÔÏÂÙ ÍÏÖÎÏ ÂÙÌÏ ÐÒÏ×ÅÓÔÉ ÓÂÏÒËÕ ÂÉÂÌÉÏÔÅËÉ libpq É + psql ÄÌÑ Win32. PostgreSQL ÔÁËÖÅ ÒÁÂÏÔÁÅÔ ÞÅÒÅÚ + ODBC.

+ +

óÅÒ×ÅÒ

+ +

óÅÒ×ÅÒ âä ÍÏÖÅÔ ÂÙÔØ ÚÁÐÕÝÅÎ ÎÁ Windows NT É Win2k, ÉÓÐÏÌØÚÕÑ + ÂÉÂÌÉÏÔÅËÕ Cygwin, ÒÁÚÒÁÂÏÔÁÎÎÕÀ ÄÌÑ ÐÅÒÅÎÏÓÁ ÐÒÏÇÒÁÍÍÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ Unix + × NT. óÍÏÔÒÉÔÅ pgsql/doc/FAQ_MSWIN × ÄÉÓÔÒÉÂÕÔÉ×Å ÉÌÉ MS Windows FAQ + ÎÁ ÎÁÛÅÍ ÓÁÊÔÅ. íÙ ÎÅ ÐÌÁÎÉÒÕÅÍ ÓÐÅÃÉÁÌØÎÏ ÐÅÒÅÎÏÓÉÔØ PostgreSQL + ÎÁ ËÁËÕÀ-ÌÉÂÏ ÐÌÁÔÆÏÒÍÕ Microsoft.

+ +

1.5) çÄÅ ÍÏÖÎÏ ×ÚÑÔØ PostgreSQL?

+ +

îÁÐÒÉÍÅÒ, ×ÏÓÐÏÌØÚÏ×Á×ÛÉÓØ ÁÎÏÎÉÍÎÙÍ ÄÏÓÔÕÐÏÍ ÎÁ ftp ÓÁÊÔ + PostgreSQL ftp://ftp.PostgreSQL.org/pub. + óÐÉÓÏË ÚÅÒËÁÌ ×Ù ÎÁÊÄÅÔÅ ÎÁ ÎÁÛÅÍ ÏÓÎÏ×ÎÏÍ ÓÁÊÔÅ.

+ +

1.6) çÄÅ ÐÏÌÕÞÉÔØ ÐÏÄÄÅÒÖËÕ?

+ +

ïÓÎÏ×ÎÏÊ ÓÐÉÓÏË ÒÁÓÓÙÌËÉ: pgsql-general@PostgreSQL.org. + ÷ ÎÅÍ ÍÏÖÎÏ ÏÂÓÕÖÄÁÔØ ÌÀÂÙÅ ÔÅÍÙ, ËÁÓÁÀÝÉÅÓÑ PostgreSQL. þÔÏÂÙ + ÐÏÄÐÉÓÁÔØÓÑ, ÏÔÐÒÁ×ØÔÅ ÐÉÓØÍÏ ÐÏ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÅ, × ËÏÔÏÒÏÍ × + ÔÅÌÅ ÐÉÓØÍÁ (ÎÅ × ÔÅÍÅ) ÎÁÐÉÛÉÔÅ ÓÌÅÄÕÀÝÉÅ ÓÔÒÏËÉ:

+
+    subscribe
+    end
+
+ +

ÎÁ ÁÄÒÅÓ pgsql-general-request@PostgreSQL.org.

+ +

óÕÝÅÓÔ×ÕÅÔ ÄÁÊÖÅÓÔ ÓÐÉÓÏË. þÔÏÂÙ ÐÏÄÐÉÓÁÔØÓÑ ÎÁ ÎÅÇÏ, ÏÔÐÒÁ×ØÔÅ + ÐÉÓØÍÏ ÐÏ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÅ ÎÁ ÁÄÒÅÓ: pgsql-general-digest-request@PostgreSQL.org + É × ÔÅÌÅ ÐÉÓØÍÁ ÎÁÐÉÛÉÔÅ ÓÔÒÏÞËÉ ÓÔÒÏÞËÉ:

+
+    subscribe
+    end
+
+ äÁÊÖÅÓÔÙ ÏÔÐÒÁ×ÌÑÀÔÓÑ ÐÏÄÐÉÓÞÉËÁÍ, ËÏÇÄÁ × ÏÓÎÏ×ÎÏÍ ÓÐÉÓËÅ ÒÁÓÓÙÌËÉ + ÎÁËÏÐÉÔÓÑ ÏËÏÌÏ 30 ËÉÌÏÂÁÊÔ ÓÏÏÂÝÅÎÉÊ. + +

äÏÓÔÕÐÅÎ É ÓÐÉÓÏË ÒÁÓÓÙÌËÉ ÓÏÏÂÝÅÎÉÊ Ï ÏÛÉÂËÁÈ. þÔÏÂÙ ÐÏÄÐÉÓÁÔØÓÑ ÎÁ ÜÔÏÔ + ÓÐÉÓÏË, ÏÔÐÒÁ×ØÔÅ ÐÏ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÅ ÐÉÓØÍÏ ÎÁ ÁÄÒÅÓ pgsql-bugs-request@PostgreSQL.org + É × ÔÅÌÅ ÐÉÓØÍÁ ÎÁÐÉÛÉÔÅ ÓÔÒÏÞËÉ ÓÔÒÏÞËÉ:

+
+    subscribe
+    end
+
+ ôÁËÖÅ ÉÍÅÅÔÓÑ ÓÐÉÓÏË ÒÁÓÓÙÌËÉ Ó ÄÉÓËÕÓÓÉÑÍÉ ÒÁÚÒÁÂÏÔÞÉËÏ×. þÔÏÂÙ ÐÏÄÐÉÓÁÔØÓÑ + ÎÁ ÜÔÏÔ ÓÐÉÓÏË, ÏÔÐÒÁ×ØÔÅ ÐÏ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÅ ÐÉÓØÍÏ ÎÁ ÁÄÒÅÓ + pgsql-hackers-request@PostgreSQL.org + É × ÔÅÌÅ ÐÉÓØÍÁ ÎÁÐÉÛÉÔÅ ÓÔÒÏÞËÉ ÓÔÒÏÞËÉ: +
+    subscribe
+    end
+
+ +

äÏÐÏÌÎÉÔÅÌØÎÙÅ ÓÐÉÓËÉ ÒÁÓÓÙÌËÉ É ÉÎÆÏÍÁÃÉÀ Ï PostgreSQL ÍÏÖÎÏ ÎÁÊÔÉ + ÎÁ ÄÏÍÁÛÎÅÊ ÓÔÒÁÎÉÞËÅ PostgreSQL ÐÏ ÁÄÒÅÓÕ:

+ +
+ http://www.PostgreSQL.org +
+ +

åÝÅ ÓÕÝÅÓÔ×ÕÅÔ IRC ËÁÎÁÌ ÎÁ EFNet, Ó ÎÁÚ×ÁÎÉÅÍ + #PostgreSQL. ñ ÉÓÐÏÌØÚÕÀ ÄÌÑ ÐÏÄËÌÀÞÅÎÉÑ Ë ÜÔÏÍÕ ËÁÎÁÌÕ ËÏÍÁÎÄÕ Unix + irc -c '#PostgreSQL' "$USER" irc.phoenix.net.

+ +

óÐÉÓÏË ËÏÍÍÅÒÞÅÓËÏÊ ÐÏÄÄÅÒÖËÉ ËÏÍÐÁÎÉÊ ÄÏÓÔÕÐÅÎ ÎÁ + http://www.postgresql.org/users-lounge/commercial-support.html.

+ +

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

+ +

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

+ +

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

+ +

1.8) ëÁËÁÑ ÄÏËÕÍÅÎÔÁÃÉÑ ÉÍÅÅÔÓÑ × ÎÁÌÉÞÉÉ?

+ +

÷ ÄÉÓÔÒÉÂÕÔÉ× ×ËÌÀÞÁÀÔÓÑ ÒÁÚÌÉÞÎÙÅ ÒÕËÏ×ÏÄÓÔ×Á, ÓÔÒÁÎÉÃÙ + ÜÌÅËÔÒÏÎÎÏÇÏ ÒÕËÏ×ÏÄÓÔ×Á man É ÎÅËÏÔÏÒÙÅ ÍÁÌÅÎØËÉÅ ÔÅÓÔÏ×ÙÅ ÐÒÉÍÅÒÙ. + óÍÏÔÒÉÔÅ × ËÁÔÁÌÏÇ /doc. ÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÐÒÏÓÍÁÔÒÉ×ÁÔØ + ÄÏËÕÍÅÎÔÁÃÉÀ × éÎÔÅÒÎÅÔ ÐÏ ÁÄÒÅÓÕ http://www.PostgreSQL.org/users-lounge/docs/.

+ +

óÕÝÅÓÔ×ÕÅÔ Ä×Å ËÎÉÇÉ ÐÏ PostgreSQL ÄÏÓÔÕÐÎÙÅ ÐÏ ÁÄÒÅÓÁÍ http://www.PostgreSQL.org/docs/awbook.html + É http://www.commandprompt.com/ppbook/. + óÐÉÓÏË ËÎÉÇ ÐÏ PostgreSQL, ËÏÔÏÒÙÅ ÍÏÖÎÏ ËÕÐÉÔØ ÄÏÓÔÕÐÅÎ ÐÏ ÁÄÒÅÓÕ + http://www.postgresql.org/books/. + ëÒÏÍÅ ÔÏÇÏ, ÐÏ ÁÄÒÅÓÕ http://techdocs.postgresql.org/ + ×Ù ÍÏÖÅÔÅ ÎÁÊÔÉ ËÏÌÌÅËÃÉÀ ÔÅÈÎÉÞÅÓËÉÈ ÓÔÁÔÅÊ ÐÏÓ×ÑÝÅÎÎÙÈ PostgreSQL.

+ + +

psql ÉÍÅÅÔ ÎÅÓËÏÌØËÏ ÐÒÅËÒÁÓÎÙÈ ËÏÍÁÎÄ \d ÄÌÑ ÏÔÏÂÒÁÖÅÎÉÑ + ÉÎÆÏÒÍÁÃÉÉ ÐÏ ÔÉÐÁÍ, ÏÐÅÒÁÔÏÒÁÍ, ÆÕÎËÃÉÑÍ, ÁÇÒÅÇÁÔÁÍ É Ô.Ä.

+ +

îÁÛ ÓÁÊÔ ÓÏÄÅÒÖÉÔ ÅÝÅ ÂÏÌØÛÅ ÉÎÆÏÒÍÁÃÉÉ.

+ +

1.9) ëÁË ÎÁÊÔÉ ÉÎÆÏÒÍÁÃÉÀ Ï ÉÚ×ÅÓÔÎÙÈ ÏÛÉÂËÁÈ + ÉÌÉ ÏÔÓÕÔÓÔ×ÕÀÝÉÈ ×ÏÚÍÏÖÎÏÓÔÑÈ?

+ +

PostgreSQL ÐÏÄÄÅÒÖÉ×ÁÅÔ ÒÁÓÛÉÒÅÎÎÙÊ ÐÏÄËÌÁÓÓ SQL-92. + óÍÏÔÒÉÔÅ ÎÁÛ ÓÐÉÓÏË TODO + ÎÁ ÐÒÅÄÍÅÔ ÉÚ×ÅÓÔÎÙÈ ÏÛÉÂÏË, ÏÔÓÕÔÓÔ×ÕÀÝÉÈ ÏÓÏÂÅÎÎÏÓÔÑÈ É ÂÕÄÕÝÉÈ + ÐÌÁÎÏ×.

+ +

1.10) ëÁË ÍÎÅ ÎÁÕÞÉÔØÓÑ SQL?

+ +

ëÎÉÇÁ ÐÏ PostgreSQL ÎÁ http://www.PostgreSQL.org/docs/awbook.html + ÎÁÕÞÉÔ SQL. óÕÝÅÓÔ×ÕÅÔ ÄÒÕÇÁÑ ËÎÉÇÁ ÐÏ PostgreSQL ÎÁ + + http://www.commandprompt.com/ppbook. + åÓÔØ ÐÒÅËÒÁÓÎÙÊ ÕÞÅÂÎÉË ÎÁ http://www.intermedia.net/support/sql/sqltut.shtm, + ÎÁ + http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM, + É ÎÁ http://sqlcourse.com.

+ +

åÝÅ ÏÄÉÎ ÕÞÅÂÎÉË - ÜÔÏ ËÎÉÇÁ "Teach Yourself SQL in 21 Days, Second Edition" + (ïÓ×ÏÊ ÓÁÍÏÓÔÏÑÔÅÌØÎÏ SQL ÚÁ 21 ÄÅÎØ, ÷ÔÏÒÁÑ ÒÅÄÁËÃÉÑ) + ÎÁ http://members.tripod.com/er4ebus/sql/index.htm

+ +

íÎÏÇÉÍ ÉÚ ÎÁÛÉÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÎÒÁ×ÉÔÓÑ ËÎÉÇÁ + The Practical SQL Handbook, + Bowman, Judith S., et al., Addison-Wesley. äÒÕÇÉÍ ÎÒÁ×ÉÔÓÑ The + Complete Reference SQL, Groff et al., McGraw-Hill.

+ +

1.11) òÅÛÅÎÁ ÌÉ × PostgreSQL ÐÒÏÂÌÅÍÁ 2000-ÇÏ ÇÏÄÁ (Y2K)?

+ +

äÁ, ÍÙ ÌÅÇËÏ ÍÁÎÉÐÕÌÉÒÕÅÍ ÄÁÔÁÍÉ ÐÏÓÌÅ 2000 ÇÏÄÁ É ÐÅÒÅÄ 2000 ÇÏÄÏÍ.

+ +

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

+ +

äÌÑ ÎÁÞÁÌÁ, ÓËÁÞÁÊÔÅ ÐÏÓÌÅÄÎÀÀ ×ÅÒÓÉÀ ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ× É ÐÒÏÞÔÉÔÅ + ÄÏËÕÍÅÎÔÁÃÉÀ ÒÁÚÒÁÂÏÔÞÉËÏ× PostgreSQL ÎÁ ÎÁÛÅÍ ÓÁÊÔÅ ÉÌÉ × ÄÉÓÔÒÉÂÕÔÉ×Å. + úÁÔÅÍ, ÐÏÄÐÉÛÉÔÅÓØ ÎÁ ÓÐÉÓËÉ ÒÁÓÓÙÌËÉ pgsql-hackers É + pgsql-patches. äÁÌÅÅ, ÏÔÐÒÁ×ÌÑÊÔÅ ÉÓÐÒÁ×ÌÅÎÉÑ (patches) ×ÙÓÏËÏÇÏ + ËÁÞÅÓÔ×Á × ÓÐÉÓÏË pgsql-patches.

+ +

óÕÝÅÓÔ×ÕÅÔ ÏÇÒÁÎÉÞÅÎÎÙÊ ÓÐÉÓÏË ÌÀÄÅÊ, ËÏÔÏÒÙÊ ÉÍÅÀÔ ÐÒÉ×ÅÌÅÇÉÀ + ×ÎÏÓÉÔØ ÉÚÍÅÎÅÎÉÑ × CVS ÁÒÈÉ× PostgreSQL. ëÁÖÄÙÊ + ÉÚ ÜÔÉÈ ÌÀÄÅÊ × Ó×ÏÅ ×ÒÅÍÑ ÏÔÐÒÁ×ÉÌ ÔÁË ÍÎÏÇÏ ×ÙÓÏËÏËÁÞÅÓÔ×ÅÎÎÙÈ ÉÓÐÒÁ×ÌÅÎÉÊ, + ÞÔÏ ÉÈ ÂÙÌÏ ÎÅ×ÏÚÍÏÖÎÏ ÏÓÔÁ×ÉÔØ ÂÅÚ ×ÎÉÍÁÎÉÑ É ÏÎÉ ÂÙÌÉ ÕÄÏÓÔÏÅÎÙ + ÐÒÅ×ÉÌÅÇÉÉ ×ÎÏÓÉÔØ ÉÚÍÅÎÅÎÉÑ, É ÍÙ Õ×ÅÒÅÎÙ, ÞÔÏ ÔÅ ÉÓÐÒÁ×ÌÅÎÉÑ, ËÏÔÏÒÙÅ + ÏÎÉ ×ÎÅÓÕÔ ÂÕÄÕÔ ×ÙÓÏËÏÇÏ ËÁÞÅÓÔ×Á.

+ +

1.13) ëÁË ÏÔÒÁ×ÉÔØ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ??

+ +

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

+ +

ôÁËÖÅ ÎÅ ÚÁÂÕÄØÔÅ ÐÏÓÍÏÔÒÅÔØ ÎÁ ftp://ftp.PostgreSQL.org/pub + ÎÁ ÐÒÅÄÍÅÔ ÂÏÌÅÅ Ó×ÅÖÉÈ ×ÅÒÓÉÊ PostgreSQL ÉÌÉ ÚÁÐÌÁÔ.

+ +

1.14) ëÁË ÓÒÁ×ÎÉ×ÁÔØ PostgreSQL Ó ÄÒÕÇÉÍÉ + óõâä?

+ +

+ óÕÝÅÓÔ×ÕÅÔ ÎÅÓËÏÌØËÏ ÍÅÔÏÄÏ× ÓÒÁ×ÎÅÎÉÑ ÐÒÏÇÒÁÍÍÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ: + ×ÏÚÍÏÖÎÏÓÔÉ, ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ, ÎÁÄÅÖÎÏÓÔØ, ÐÏÄÄÅÒÖËÁ É ÃÅÎÁ.

+ +
+
÷ÏÚÍÏÖÎÏÓÔÉ
+ +
PostgreSQL ÉÍÅÅÔ ÂÏÌØÛÉÎÓÔ×Ï ×ÏÚÍÏÖÎÏÓÔÅÊ ÐÒÅÄÓÔÁ×ÌÅÎÎÙÈ + × ÂÏÌØÛÉÈ ËÏÍÍÅÒÞÅÓËÉÈ óõâä, ÔÁËÉÅ ËÁË: ÔÒÁÎÚÁËÃÉÉ, + ÐÏÄÚÁÐÒÏÓÙ, ÔÒÉÇÇÅÒÙ, ÏÂÚÏÒÙ (views), ×ÎÅÛÎÉÊ ËÌÀÞ ÓÓÙÌÏÞÎÏÊ + ÃÅÌÏÓÔÎÏÓÔÉ É ÒÁÚÎÙÅ ÂÌÏËÉÒÏ×ËÉ. õ ÎÁÓ ÅÓÔØ ÎÅËÏÔÏÒÙÅ ×ÏÚÍÏÖÎÏÓÔÉ, + ËÏÔÏÒÙÈ ÎÅÔ Õ ÎÉÈ: ÔÉÐÙ, ÏÐÒÅÄÅÌÑÅÍÙÅ ÐÏÌØÚÏ×ÁÔÅÌÅÍ, ÍÅÈÁÎÉÚÍ + ÎÁÓÌÅÄÏ×ÁÎÉÑ, ÐÒÁ×ÉÌÁ É ËÏÎËÕÒÅÔÎÏÅ ÍÎÏÇÏ×ÅÒÓÉÏÎÎÏÅ ÕÐÒÁ×ÌÅÎÉÅ + ÄÌÑ ÒÁÂÏÔÙ Ó ÓÏÄÅÒÖÉÍÙÍ ÂÌÏËÉÒÏ×ÏË.
+
+
+ +
ðÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ
+ +
PostgreSQL ÍÏÖÅÔ ÒÁÂÏÔÁÔØ × Ä×ÕÈ ÒÅÖÉÍÁ. ÷ ÎÏÒÍÁÌØÎÏÍ fsync + ÒÅÖÉÍÅ, ËÁÖÄÁÑ ÚÁ×ÅÒÛÅÎÎÁÑ ÔÒÁÎÚÁËÃÉÑ ÓÂÒÁÓÙ×ÁÅÔÓÑ ÎÁ ÄÉÓË, + ÇÁÒÁÎÔÉÒÕÑ, ÞÔÏ ÅÓÌÉ ÏÐÅÒÁÃÉÏÎÎÁÑ ÓÉÓÔÅÍÁ ÉÌÉ ÐÉÔÁÎÉÅ ÒÕÈÎÅÔ + × ÓÌÅÄÕÀÝÉÅ ÎÅÓËÏÌØËÏ ÓÅËÕÎÄ, ×ÓÅ ×ÁÛÉ ÄÁÎÎÙÅ ÂÅÚÏÐÁÓÎÏ + ÓÏÈÒÁÎÑÔÓÑ ÎÁ ÄÉÓËÅ. ÷ ÜÔÏÍ ÒÅÖÉÍÅ, ÍÙ ÒÁÂÏÔÁÅÍ ÍÅÄÌÅÎÅÅ, + ÞÅÍ ÂÏÌØÛÉÎÓÔ×Ï ËÏÍÍÅÒÞÅÓËÉÈ óõâä, ÏÔÞÁÓÔÉ ÐÏÔÏÍÕ, ÞÔÏ ÎÅËÏÔÏÒÙÅ + ÉÚ ÎÉÈ ÄÅÌÁÀÔ Õ ÓÅÂÑ ÐÏ ÕÍÏÌÞÁÎÉÀ ÔÁËÏÊ ËÏÎÓÅÒ×ÁÔÉ×ÎÙÊ ÓÂÒÏÓ ÎÁ ÄÉÓË. + ÷ ÒÅÖÉÍÅ no-fsync, ÍÙ ÏÂÙÞÎÏ ÂÙÓÔÒÅÅ ÞÅÍ ËÏÍÍÅÒÞÅÓËÉÅ óõâä, + ÎÏ × ÜÔÏÍ ÒÅÖÉÍÅ, ÐÁÄÅÎÉÅ ÏÐÅÒÁÃÉÏÏÎÏÊ ÓÉÓÔÅÍÙ ÍÏÖÅÔ ÐÒÉ×ÅÓÔÉ Ë + ÐÏÔÅÒÅ ÄÁÎÎÙÈ. íÙ ÒÁÂÏÔÁÅÍ ÎÁÄ ÔÅÍ ÞÔÏÂÙ ÐÒÅÄÏÓÔÁ×ÉÔØ ÐÒÏÍÅÖÕÔÏÞÎÙÊ + ÒÅÖÉÍ, ËÏÔÏÒÙÊ ÏÂÅÓÐÅÞÉ×ÁÌ ÂÏÌÅÅ ×ÙÓÏËÕÀ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ, + ÞÅÍ fsync ÒÅÖÉÍ É ÐÏÚ×ÏÌÑÌ ÓÏÈÒÁÎÉÔØ ÃÅÌÏÓÔÎÏÓÔØ ÄÁÎÎÙÈ + ÚÁÐÉÓÁÎÎÙÈ × ÔÅÞÅÎÉÉ 30 ÓÅËÕÎÄ ÄÏ ÐÁÄÅÎÉÑ ÏÐÅÒÁÃÉÏÎÎÏÊ ÓÉÓÔÅÍÙ.
+
+ ÷ ÓÒÁ×ÎÅÎÉÉ Ó MySQL ÉÌÉ ÌÉÎÅÊÎÙÍÉ óõâä, ÍÙ ÍÅÄÌÅÎÅÅ ÐÒÉ ÏÐÅÒÁÃÉÑÈ + ×ÓÔÁ×ËÉ/ÏÂÎÏ×ÌÅÎÉÑ, ÐÏÔÏÍÕ ÞÔÏ ÍÙ ÕÐÒÁ×ÌÑÅÍ ÔÒÁÎÚÁËÃÉÑÍÉ. é ÒÁÚÕÍÅÅÔÓÑ, + MySQL ÎÅ ÉÍÅÅÔ ËÁËÉÈ-ÌÉÂÏ ×ÏÚÍÏÖÎÏÓÔÅÊ ÉÚ ÐÅÒÅÞÉÓÌÅÎÙÈ × ÓÅËÃÉÉ + ÷ÏÚÍÏÖÎÏÓÔÉ. íÙ ÄÅÌÁÅÍ ÕÐÏÒ ÎÁ ÕÄÏÂÓÔ×Å É + ×ÏÚÍÏÖÎÏÓÔÑÈ, ÎÏ ÍÙ ÔÁËÖÅ ÐÒÏÄÏÌÖÁÅÍ Õ×ÅÌÉÞÉ×ÁÔØ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ + ÐÕÔÅÍ ÐÒÏÆÉÌÉÒÏ×ÁÎÉÑ É ÁÎÁÌÉÚÁ ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ×. óÕÝÅÓÔ×ÕÅÔ + ÉÎÔÅÒÅÓÎÁÑ ÓÔÒÁÎÉÞËÁ × éÎÔÅÒÎÅÔ, ÓÒÁ×ÎÉ×ÁÀÝÁÑ PostgreSQL É MySQL ÎÁ http://openacs.org/why-not-mysql.html
+ +
+ íÙ ÕÐÒÁ×ÌÑÅÍ ËÁÖÄÙÍ ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÍ ÓÏÅÄÉÎÅÎÉÅÍ, ÓÏÚÄÁ×ÁÑ + Unix backend ÐÒÏÃÅÓÓ. Backend ÐÒÏÃÅÓÓÙ ÒÁÚÄÅÌÑÀÔ ÂÕÆÅÒÙ ÄÁÎÎÙÈ É ÉÎÆÏÒÍÁÃÉÀ + Ï ÂÌÏËÉÒÏ×ËÁÈ. ðÒÉ ÎÁÌÉÞÉÉ ÎÅÓËÏÌØËÉÈ ÐÒÏÃÅÓÓÏÒÏ×, ÎÅÓËÏÌØËÏ + backend ÐÒÏÃÅÓÓÏ× ÌÅÇËÏ ÍÏÇÕÔ ÂÙÔØ ÚÁÐÕÝÅÎÙ ÎÁ ÒÁÚÎÙÈ ÐÒÏÃÅÓÓÏÒÁÈ.
+
+
+ +
îÁÄÅÖÎÏÓÔØ
+ +
íÙ ÐÏÎÉÍÁÌÉ, ÞÔÏ ÎÁÛÁ óõâä ÄÏÌÖÎÁ ÂÙÔØ ÎÁÄÅÖÎÏÊ + ÉÌÉ ÏÎÁ ÎÉÞÅÇÏ ÎÅ ÂÕÄÅÔ ÓÔÏÉÔØ. íÙ ÓÔÁÒÁÅÍÓÑ ×ÙÐÕÓËÁÔØ ÈÏÒÏÛÏ ÐÒÏ×ÅÒÅÎÎÙÊ, + ÓÔÁÂÉÌØÎÙÊ ËÏÄ, ËÏÔÏÒÙÊ ÓÏÄÅÒÖÉÔ ÍÉÎÉÍÕÍ ÏÛÉÂÏË. ëÁÖÄÙÊ ×ÙÐÕÓË + ÐÒÏÈÏÄÉÔ ÓÔÁÄÉÀ ÂÅÔÁ-ÔÅÓÔÉÒÏ×ÁÎÉÑ ÐÏ ËÒÁÊÎÅÊ ÍÅÒÅ × ÔÅÞÅÎÉÉ ÏÄÎÏÇÏ + ÍÅÓÑÃÁ É ÎÁÛÁ ÉÓÔÏÒÉÑ ×ÙÐÕÓËÏ× ÐÏËÁÚÙ×ÁÅÔ ÞÔÏ ÍÙ ÍÏÖÅÍ ÐÒÅÄÏÓÔÁ×ÌÑÔØ + ÓÔÁÂÉÌØÎÙÅ, ÍÏÎÏÌÉÔÎÙÅ ×ÙÐÕÓËÉ, ËÏÔÏÒÙÅ ÇÏÔÏ×Ù Ë ÐÒÏÄÕËÔÉ×ÎÏÍÕ + ÉÓÐÏÌØÚÏ×ÁÎÉÀ. íÙ ×ÅÒÉÍ, ÞÔÏ ÍÙ ÐÒÏÉÚ×ÏÄÉÍ ÐÒÏ×ÅÒËÕ ÎÅ ÈÕÖÅ, + ÞÅÍ Õ ÄÒÕÇÉÈ óõâä.
+
+
+ +
ðÏÄÄÅÒÖËÁ
+ +
îÁÛ ÓÐÉÓÏË ÒÁÓÓÙÌËÉ ÐÒÅÄÓÔÁ×ÌÅÎ ÂÏÌØÛÏÊ ÇÒÕÐÐÏÊ ÒÁÚÒÁÂÏÔÞÉËÏ× + É ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÐÏÍÏÞØ ÒÅÛÉÔØ ÌÀÂÙÅ ×ÏÚÎÉËÛÉÅ + ÐÒÏÂÌÅÍÙ. ÷ ÔÏ ÖÅ ×ÒÅÍÑ, ÍÙ ÎÅ ÇÁÒÁÎÔÉÒÕÅÍ ËÁËÉÅ-ÌÉÂÏ ÉÓÐÒÁ×ÌÅÎÉÑ, + ÎÏ É ÒÁÚÒÁÂÏÔÞÉËÉ ËÏÍÍÅÒÞÅÓËÉÈ óõâä ÎÅ ×ÓÅÇÄÁ ÄÅÌÁÀÔ + ÉÓÐÒÁ×ÌÅÎÉÑ. ðÒÑÍÏÊ ÄÏÓÔÕÐ Ë ÒÁÚÒÁÂÏÔÞÉËÁÍ, ÓÏÏÂÝÅÓÔ×Õ ÐÏÌØÚÏ×ÁÔÅÌÅÊ, + ÒÕËÏ×ÏÄÓÔ×ÁÍ É ÉÓÈÏÄÎÙÍ ÔÅËÓÔÁÍ ÞÁÓÔÏ ÄÅÌÁÀÔ ÐÏÄÄÅÒÖËÕ PostgreSQL + ÐÒÅ×ÏÓÈÏÄÑÝÅÊ ÄÒÕÇÉÅ óõâä. óÕÝÅÓÔ×ÕÅÔ ËÏÍÍÅÒÞÅÓËÁÑ + ÐÏÄÄÅÒÖËÁ ÐÏ ÒÅÚÕÌØÔÁÍ ×ÏÚÎÉËÛÉÈ ÉÎÃÉÄÅÎÔÏ×, ËÏÔÏÒÁÑ ÄÏÓÔÕÐÎÁ ÄÌÑ + ÔÅÈ ËÏÍÕ ÏÎÁ ÎÕÖÎÁ. (óÍÏÔÒÉÔÅ ëÁË ÐÏÌÕÞÉÔØ ÐÏÄÄÅÒÖËÕ?.)
+
+
+ +
ãÅÎÁ
+ +
îÁÛ ÐÒÏÄÕËÔ ÂÅÓÐÌÁÔÅÎ ËÁË ÄÌÑ ËÏÍÍÅÒÞÅÓËÏÇÏ ÔÁË, É ÎÅ ÄÌÑ + ËÏÍÍÅÒÞÅÓËÏÇÏ ÉÓÐÏÌØÚÏ×ÁÎÉÑ. ÷Ù ÍÏÖÅÔÅ ÄÏÂÁ×ÌÑÔØ Ó×ÏÊ ËÏÄ × ÎÁÛ + ÐÒÏÄÕËÔ ÂÅÚ ÏÇÒÁÎÉÞÅÎÉÊ, ÚÁ ÉÓËÌÀÞÅÎÉÅÍ ÔÅÈ, ÞÔÏ ÏÐÉÓÙ×ÁÀÔÓÑ × + ÎÁÛÅÊ ÌÉÃÅÎÚÉÉ ÓÔÉÌÑ BSD, ËÏÔÏÒÁÑ ÐÒÉ×ÅÄÅÎÁ ×ÙÛÅ.
+
+
+
+ +

1.15) ëÁË ÏËÁÚÁÔØ ÆÉÎÁÎÓÏ×ÕÀ ÐÏÍÏÝØ + PostgreSQL?

+ +

PostgreSQL ÉÍÅÅÔ ÏÄÎÏÒÁÎÇÏ×ÕÀ ÉÎÆÒÁÓÔÒÕËÔÕÒÕ Ó ÔÏÇÏ ÓÁÍÏÇÏ ×ÒÅÍÅÎÉ + ËÁË ÍÙ ÎÁÞÁÌÉ ÒÁÚÒÁÂÏÔËÕ 6 ÌÅÔ ÎÁÚÁÄ. íÙ ÄÏÌÖÎÙ ÂÌÁÇÏÄÁÒÉÔØ ÚÁ + ÜÔÏ íÁÒËÁ æÏÎÁÑ (Marc Fournier), ËÏÔÏÒÙÊ ÓÏÚÄÁÌ ÜÔÕ ÉÎÆÒÁÓÔÒÕËÔÕÒÕ É + ÕÐÒÁ×ÌÑÅÔ ÅÊ ÎÁ ÐÒÏÔÑÖÅÎÉÉ ÜÔÉÈ ÌÅÔ.

+ +

ëÁÞÅÓÔ×ÅÎÎÁÑ ÉÎÆÒÁÓÔÒÕËÔÕÒÁ ÏÞÅÎØ ×ÁÖÎÁ ÄÌÑ ÐÒÏÅËÔÏ× Ó ÏÔËÒÙÔÙÍ + ÉÓÈÏÄÎÙÍ ËÏÄÏÍ. ïÎÁ ÐÒÅÄÏÔ×ÒÁÝÁÅÔ ÒÁÓËÏÌÙ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÓÉÌØÎÏ + ÚÁÄÅÒÖÁÔØ ÐÏÓÔÕÐÁÔÅÌØÎÏÅ Ä×ÉÖÅÎÉÅ ÐÒÏÅËÔÁ.

+ +

òÁÚÕÍÅÅÔÓÑ, ÜÔÁ ÉÎÆÒÁÓÔÒÕËÔÕÒÁ ÎÅ Ñ×ÌÑÅÔÓÑ ÄÅÛÅ×ÏÊ. óÕÝÅÓÔ×ÕÅÔ + ÎÅËÏÔÏÒÏÅ ËÏÌÉÞÅÓÔ×Ï ÅÖÅÍÅÓÑÞÎÙÈ É ÏÄÎÏÒÁÚÏ×ÙÈ ÒÁÓÈÏÄÏ×, ËÏÔÏÒÙÅ + ÔÒÅÂÕÀÔ ÄÅÎÅÇ. åÓÌÉ ×Ù ÉÌÉ ×ÁÛÁ ËÏÍÐÁÎÉÑ ÉÍÅÅÔ ÄÅÎØÇÉ, ËÏÔÏÒÙÅ + ÍÏÖÎÏ ÐÅÒÅÄÁÔØ × ÐÏÍÏÝØ ÎÁÛÉÍ ÕÓÉÌÉÑÍ, ÐÏÖÁÌÕÊÓÔÁ ÐÏÓÅÔÉÔÅ ÓÔÒÁÎÉÞËÕ + http://www.pgsql.com/pg_goodies + É ÓÄÅÌÁÊÔÅ Ó×ÏÊ ×ËÌÁÄ.

+ +

èÏÔÑ ÎÁ ÓÔÒÁÎÉÞËÅ ÇÏ×ÏÒÉÔÓÑ Ï PostgreSQL, Inc, ÐÕÎËÔ + "contributions" ÐÒÅÄÎÁÚÎÁÞÅÎ ÉÓËÌÀÞÉÔÅÌØÎÏ ÄÌÑ ÐÏÄÄÅÒÖËÉ ÐÒÏÅËÔÁ + PostgreSQL É ÎÅ ÐÅÒÅÄÁÅÔÓÑ ËÁËÏÊ-ÌÉÂÏ ËÏÎËÒÅÔÎÏÊ ËÏÍÐÁÎÉÉ. + åÓÌÉ ÈÏÔÉÔÅ, ÔÏ ÍÏÖÅÔÅ ÜÔÏ ÐÒÏ×ÅÒÉÔØ, ÎÁÐÉÓÁ× ÐÉÓØÍÏ ÎÁ ËÏÎÔÁËÔÎÙÊ ÁÄÒÅÓ.

+
+ +

÷ÏÐÒÏÓÙ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÐÏ ËÌÉÅÎÔÓËÏÊ ÞÁÓÔÉ

+ +

2.1) óÕÝÅÓÔ×ÕÀÔ ÌÉ ODBC ÄÒÁÊ×ÅÒÁ + ÄÌÑ PostgreSQL?

+ +

óÕÝÅÓÔ×ÕÅÔ Ä×Á ODBC ÄÒÁÊ×ÅÒÁ, PsqlODBC + É OpenLink ODBC.

+ +

PsqlODBC ×ËÌÀÞÁÅÔÓÑ × ÄÉÓÔÒÉÂÕÔÉ×. âÏÌØÛÅ ÉÎÆÏÒÍÁÃÉÉ Ï ÜÔÏÍ ÄÒÁÊ×ÅÒÅ + ÍÏÖÎÏ ÎÁÊÔÉ ÎÁ ftp://ftp.PostgreSQL.org/pub/odbc/.

+ +

OpenLink ODBC ÍÏÖÎÏ ×ÚÑÔØ ÎÁ http://www.openlinksw.com. üÔÏÔ + ÄÒÁÊ×ÅÒ ÒÁÂÏÔÁÅÔ Ó ÉÈ ÓÔÁÎÄÁÒÔÎÙÍ ËÌÉÅÎÔÓËÉÍ ÐÒÏÇÒÁÍÍÎÙÍ ÏÂÅÓÐÅÞÅÎÉÅÍ, + ÉÓÐÏÌØÚÕÀÝÉÍ ODBC, É ÔÁËÉÍ ÏÂÒÁÚÏÍ, ODBC + ÄÒÁÊ×ÅÒÙ ÄÌÑ PostgreSQL ÄÏÓÔÕÐÎÙ ÄÌÑ ËÁÖÄÏÊ ÉÚ ÐÏÄÄÅÒÖÉ×ÁÅÍÙÈ ÉÍÉ + ÐÌÁÔÆÏÒÍ (Win, Mac, Unix, VMS).

+ +

÷ÏÚÍÏÖÎÏ ÏÎÉ ÂÕÄÕÔ ÐÒÏÄÁ×ÁÔØ Ó×ÏÊ ÐÒÏÄÕËÔ ÔÅÍ ËÏÍÕ ÎÕÖÎÁ ËÏÍÍÅÒÞÅÓËÁÑ + ÐÏÄÄÅÒÖËÁ, ÎÏ ÂÅÓÐÌÁÔÎÁÑ ×ÅÒÓÉÑ ×ÓÅÇÄÁ ÂÕÄÅÔ ÄÏÓÔÕÐÎÁ. ðÏÖÁÌÕÊÓÔÁ, + ÎÁÐÒÁ×ÌÑÊÔÅ ×ÏÐÒÏÓÙ ÎÁ ÁÄÒÅÓ postgres95@openlink.co.uk.

+ +

ôÁËÖÅ ÐÏÓÍÏÔÒÉÔÅ ODBC + ÒÁÚÄÅÌ × ÒÕËÏ×ÏÄÓÔ×Å ÐÒÏÇÒÁÍÍÉÓÔÁ.

+ +

2.2) ëÁËÉÅ ÉÎÓÔÒÕÍÅÎÔÙ ÓÕÝÅÓÔ×ÕÀÔ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ + PostgreSQL ÞÅÒÅÚ Web?

+ +

ðÒÅËÒÁÓÎÏÅ ××ÅÄÅÎÉÅ ×Ï ×ÚÁÉÍÏÄÅÊÓÔ×ÉÅ ÂÁÚ ÄÁÎÎÙÈ É Web ÍÏÖÎÏ ÎÁÊÔÉ ÎÁ: + http://www.webreview.com

+ +

ôÁËÖÅ ÚÁÇÌÑÎÉÔÅ ÎÁ http://www.phone.net/home/mwm/hotlist/.

+ +

äÌÑ ÉÎÔÅÇÒÁÃÉÉ Ó Web, ÏÄÎÉÍ ÉÚ ÐÒÅ×ÏÓÈÏÄÎÙÈ ÉÎÓÔÒÕÍÅÎÔÏ× Ñ×ÌÑÅÔÓÑ PHP. + äÏÍÁÛÎÑÑ ÓÔÁÎÉÞËÁ http://www.php.net.

+ +

äÌÑ ËÏÍÐÌÅËÓÎÙÈ ÒÅÛÅÎÉÊ, ÍÎÏÇÉÅ ÐÏÌØÚÕÀÔÓÑ Perl ÉÎÔÅÒÆÅÊÓÏÍ É CGI.pm.

+ +

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

+ +

õ ÎÁÓ ÅÓÔØ ÐÒÅËÒÁÓÎÙÊ ÇÏÒÁÆÉÞÅÓËÉÊ ÉÎÔÅÒÆÅÊÓ, ÎÁÚÙ×ÁÅÍÙÊ + pgaccess, ËÏÔÏÒÙÊ Ñ×ÌÑÅÔÓÑ ÞÁÓÔØÀ ÄÉÓÔÒÉÂÕÔÉ×Á. pgaccess + ÔÁËÖÅ ÅÍÅÅÔ ÇÅÎÅÒÁÔÏÒ ÏÔÞÅÔÏ×. åÇÏ ÓÔÒÁÎÉÞËÁ http://www.flex.ro/pgaccess

+ +

íÙ ÔÁËÖÅ ×ËÌÀÞÁÅÍ ecpg, ËÏÔÏÒÙÊ ÐÒÅÄÏÓÔÁ×ÌÑÅÔ ×ÓÔÒÏÅÎÎÙÊ + ÉÎÔÅÒÆÅÊÓ Ë ÑÚÙËÕ ÚÁÐÒÏÓÏ× SQL ÉÚ C.

+ +

2.4) ëÁËÉÅ ÑÚÙËÉ ÍÏÇÕÔ ×ÚÁÉÍÏÄÅÊÓÔ×Ï×ÁÔØ Ó + PostgreSQL?

+ +

÷ÏÔ ÜÔÉ:

+ + +
+ +

÷ÏÐÒÏÓÙ ÁÄÍÉÎÉÓÔÒÉÒÏ×ÁÎÉÑ

+ +

3.1) ëÁË ÍÎÅ ÕÓÔÁÎÏ×ÉÔØ PostgreSQL × ÍÅÓÔÏ ÏÔÌÉÞÎÏÅ + ÏÔ /usr/local/pgsql?

+ +

úÁÄÁÊÔÅ ÏÐÃÉÀ --prefix ËÏÇÄÁ ÚÁÐÕÓËÁÅÔÅ configure.

+ +

3.2) ëÏÇÄÁ Ñ ÚÁÐÕÓËÁÀ postmaster, Ñ ÐÏÌÕÞÁÀ + ÓÏÏÂÝÅÎÉÅ Bad System Call ÉÌÉ ÓÏÏÂÝÅÎÉÅ core dumped. ðÏÞÅÍÕ?

+ +

üÔÏ ÍÏÖÅÔ ÂÙÔØ ×ÙÚ×ÁÎÏ ÒÁÚÎÙÍÉ ÐÒÏÂÌÅÍÁÍÉ, ÎÏ ÐÅÒ×ÏÅ, ÞÔÏ + ÎÕÖÎÏ ÓÄÅÌÁÔØ - ÜÔÏ ÕÂÅÄÉÔØÓÑ × ÔÏÍ, ÞÔÏ × ×ÁÛÅÍ ÑÄÒÅ ÕÓÔÁÎÏ×ÌÅÎÏ + ÒÁÓÛÉÒÅÎÉÅ System V. PostgreSQL ÔÒÅÂÕÅÔ, ÞÔÏÂÙ ÑÄÒÏ ÐÏÄÄÅÒÖÉ×ÁÌÏ + ÒÁÚÄÅÌÑÅÍÕÀ ÐÁÍÑÔØ É ÓÅÍÁÆÏÒÙ.

+ +

3.3) ëÏÇÄÁ Ñ ÐÙÔÁÀÓØ ÚÁÐÕÓÔÉÔØ postmaster, Ñ + ÐÏÌÕÞÁÀ ÏÛÉÂËÉ IpcMemoryCreate. ðÏÞÅÍÕ?

+ +

ìÉÂÏ Õ ×ÁÓ × ÑÄÒÅ ÎÅÐÒÁ×ÉÌØÎÙÅ ÎÁÓÔÒÏÊËÉ ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ, ÌÉÂÏ + ×ÁÛÅÍÕ ÑÄÒÕ ÎÕÖÎÏ ÂÏÌØÛÅÅ ËÏÌÉÞÅÓÔ×Ï ÄÏÓÔÕÐÎÏÊ ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ. + ôÅ ËÏÎËÒÅÔÎÙÅ ÄÅÊÓÔ×ÉÑ, ËÏÔÏÒÙÅ ×ÁÍ ÎÕÖÎÏ ÐÒÏÉÚ×ÅÓÔÉ ÚÁ×ÉÓÑÔ ÏÔ + ÁÒÈÉÔÅËÔÕÒÙ ×ÁÛÅÊ ÍÁÛÉÎÙ É ÏÔ ÔÏÇÏ ËÁË ÍÎÏÇÏ ÂÕÆÅÒÏ× É backend + ÐÒÏÃÅÓÓÏ× ×Ù ÎÁÓÔÒÏÉÌÉ ÄÌÑ postmaster. äÌÑ ÂÏÌØÛÉÎÓÔ×Á ÓÉÓÔÅÍ, + Ó ËÏÌÉÞÅÓÔ×ÏÍ ÂÕÆÅÒÏ× É ÐÒÏÃÅÓÓÏ× ÐÏ ÕÍÏÌÞÁÎÉÀ, ÎÅÏÂÈÏÄÉÍÙÊ ÍÉÎÉÍÕÍ - + ÜÔÏ ÏËÏÌÏ 1 ÍÅÇÁÂÁÊÔÁ. ðÏÄÒÏÂÎÏÓÔÉ Ï ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ É ÓÅÍÁÆÏÒÁÈ + ÓÍÏÔÒÉÔÅ × òÕËÏ×ÏÄÓÔ×Å + ÁÄÍÉÎÉÓÔÒÁÔÏÒÁ PostgreSQL.

+ +

3.4) ëÏÇÄÁ Ñ ÐÙÔÁÀÓØ ÚÁÐÕÓÔÉÔØ postmaster, Ñ + ÐÏÌÕÞÁÀ ÏÛÉÂËÉ IpcSemaphoreCreate. ðÏÞÅÍÕ?

+ +

åÓÌÉ ÜÔÏ ÓÏÏÂÝÅÎÉÅ IpcSemaphoreCreate: semget failed (No + space left on device) ÔÏ ÎÁÓÔÒÏÊËÉ ×ÁÛÅÇÏ ÑÄÒÁ ÔÁËÏ×Ù, ÞÔÏ ÅÍÕ ÎÅ + È×ÁÔÁÅÔ ÓÅÍÁÆÏÒÏ×. Postgres ÔÒÅÂÕÅÔ ÏÄÉÎ ÓÅÍÁÆÏÒ ÎÁ ÐÏÔÅÎÃÉÁÌØÎÙÊ + backend ÐÒÏÃÅÓÓ. ÷ÒÅÍÅÎÎÙÍ ÒÅÛÅÎÉÅÍ Ñ×ÌÑÅÔÓÑ ÚÁÐÕÓË postmaster + Ó ÎÁÓÔÒÏÊËÁÍÉ ÎÁ ÍÅÛØÛÅÅ ËÏÌÉÞÅÓÔ×Ï backend ÐÒÏÃÅÓÓÏ×. éÓÐÏÌØÚÕÊÔÅ + -N Ó ÚÎÁÞÅÎÉÅÍ ÍÅÎØÛÉÍ ÞÅÍ 32, ËÏÔÏÒÏÅ ÐÒÉÎÑÔÏ ÐÏ ÕÍÏÌÞÁÎÉÀ. + âÏÌÅÅ ÐÒÁ×ÉÌØÎÏÅ ÒÅÛÅÎÉÅ - ÜÔÏ Õ×ÅÌÉÞÉÔØ ÚÎÁÞÅÎÉÑ SEMMNS + É SEMMNI × ÎÁÓÔÒÊËÁÈ ÑÄÒÁ.

+ +

îÅÉÓÐÒÁ×ÎÙÅ ÓÅÍÁÆÏÒÙ ÔÁËÖÅ ÍÏÇÕÔ ÐÒÉ×ÅÓÔÉ Ë ÐÁÄÅÎÉÀ óõâä ×Ï ×ÒÅÍÑ + ÄÏÓÔÕÐÁ Ë ÂÁÚÅ ÄÁÎÎÙÈ.

+ +

åÓÌÉ ×Ù ÐÏÌÕÞÉÌÉ ËÁËÏÅ-ÌÉÂÏ ÄÒÕÇÏÅ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ, ÔÏ ×ÐÏÌÎÅ + ×ÏÚÍÏÖÎÏ, ÞÔÏ × ×ÁÛÅÍ ÑÄÒÅ ×ÏÏÂÝÅ ÎÅ ÎÁÓÔÒÏÅÎÁ ÐÏÄÄÅÒÖËÁ ÓÅÍÁÆÏÒÏ×. + óÍÏÔÒÉÔÅ ÐÏÄÒÏÂÎÏÓÔÉ Ï ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ É ÓÅÍÁÆÏÒÁÈ × òÕËÏ×ÏÄÓÔ×Å + áÄÍÉÎÉÓÔÒÁÔÏÒÁ PostgreSQL.

+ +

3.5) ëÁË ÍÎÅ ÕÐÒÁ×ÌÑÔØ ÓÏÅÄÉÎÅÎÉÑÍÉ Ó ÄÒÕÇÉÈ + ËÏÍÐØÀÔÅÒÏ×?

+ +

ðÏ ÕÍÏÌÞÁÎÉÀ, PostgreSQL ÒÁÚÒÅÛÁÅÔ ÔÏÌØËÏ ÓÏÅÄÉÎÅÎÉÑ ÎÁ ÌÏËÁÌØÎÏÊ + ÍÁÛÉÎÅ ÞÅÒÅÚ ÓÏËÅÔÙ ÄÏÍÅÎÁ Unix. äÒÕÇÉÅ ÍÁÛÉÎÙ ÎÅ ÓÍÏÇÕÔ ÐÏÄËÌÀÞÉÔØÓÑ Ë + ÂÁÚÅ ÐÏËÁ ÄÌÑ postmaster ÎÅ ÂÕÄÅÔ ÚÁÄÁÎ ÆÌÁÇ -i + É ÐÏËÁ ÎÅ ÂÕÄÅÔ ÒÁÚÒÅÛÅÎÁ host-Á×ÔÏÒÉÚÁÃÉÑ × ÆÁÊÌÅ + $PGDATA/pg_hba.conf. üÔÉ ÄÅÊÓÔ×ÉÑ ÄÅÌÁÀÔ ×ÏÚÍÏÖÎÙÍÉ TCP/IP + ÓÏÅÄÉÎÅÎÉÑ.

+ +

3.6) ëÁËÉÅ ÎÁÓÔÒÏÊËÉ ÍÎÅ ÎÕÖÎÏ ÓÄÅÌÁÔØ ÄÌÑ ÕÌÕÞÛÅÎÉÑ + ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ?

+ +

îÅÓÏÍÎÅÎÎÏ, ÉÎÄÅËÓÙ ÍÏÇÕÔ Õ×ÅÌÉÞÉÔØ ÓËÏÒÏÓÔØ ×ÙÐÏÌÎÅÎÉÑ ÚÁÐÒÏÓÏ×. ëÏÍÁÎÄÁ + EXPLAIN ÐÏÚ×ÏÌÑÅÔ ×ÁÍ ÐÏÓÍÏÔÒÅÔØ ËÁË PostgreSQL + ÉÎÔÅÒÐÒÅÔÉÒÕÅÔ ×ÁÛ ÚÁÐÒÏÓ É ËÁËÉÅ ÉÎÄÅËÓÙ ÉÓÐÏÌØÚÕÀÔÓÑ.

+ +

åÓÌÉ ×Ù ×ÙÐÏÌÎÑÅÔÅ ÍÎÏÇÏ ÏÐÅÒÁÔÏÒÏ× INSERT, + ÒÁÓÓÍÏÔÒÉÔÅ ×ÏÚÍÏÖÎÏÓÔØ ×ÙÐÏÌÎÑÔØ ÉÈ × ÂÏÌØÛÏÊ ÐÁÞËÅ, ÉÓÐÏÌØÚÕÑ + ËÏÍÁÎÄÕ COPY. üÔÏ ÚÎÁÞÉÔÅÌØÎÏ ÂÙÓÔÒÅÅ, ÞÅÍ ÏÔÄÅÌØÎÙÅ + INSERT. ÷Ï-×ÔÏÒÙÈ, ÏÐÅÒÁÔÏÒÙ ×ÎÅ ÂÌÏËÁ ÔÒÁÎÚÁËÃÉÉ + BEGIN WORK/COMMIT ÓÁÍÉ ×ÙÐÏÌÎÑÀÔ ÔÒÁÎÚÁËÃÉÀ. ðÏÄÕÍÁÊÔÅ + ÎÁÄ ×ÙÐÏÌÎÅÎÉÅÍ ÎÅÓËÏÌØËÉÈ ÏÐÅÒÁÔÏÒÏ× × ÏÄÎÏÍ ÂÌÏËÅ ÔÒÁÎÚÁËÃÉÉ. + üÔÏ ÕÍÅÎØÛÉÔ ËÏÌÉÞÅÓÔ×Ï ÔÒÁÎÚÁËÃÉÊ. ôÁËÖÅ, ÚÁÄÕÍÁÊÔÅÓØ ÎÁÄ ÕÄÁÌÅÎÉÅÍ + É ÐÅÒÅÓÏÚÄÁÎÉÅÍ ÉÎÄÅËÓÏ×, ËÏÇÄÁ ×Ù ×ÙÐÏÌÎÑÅÔÅ ÂÏÌØÛÉÅ ÉÚÍÅÎÅÎÉÑ + ÄÁÎÎÙÈ.

+ +

óÕÝÅÓÔ×ÕÅÔ ÎÅÓËÏÌØËÏ ÏÐÃÉÊ ÎÁÓÔÒÏÊËÉ. ÷Ù ÍÏÖÅÔÅ ÚÁÐÒÅÔÉÔØ + fsync() ÐÒÉ ÓÔÁÒÔÅ postmaster Ó ÏÐÃÉÅÊ -o -F. + üÔÏ ÐÒÅÄÏÔ×ÒÁÔÉÔ ×ÙÚÏ×Ù fsync(), ËÏÔÏÒÙÅ ÐÒÉ×ÏÄÑÔ Ë ÓÂÒÏÓÕ + ÄÁÎÎÙÈ ÎÁ ÄÉÓË ÐÏÓÌÅ ËÁÖÄÏÊ ÔÒÁÎÚÁËÃÉÉ.

+ +

÷Ù ÍÏÖÅÔÅ ÔÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÄÌÑ postmaster ÏÐÃÉÀ -B + ÄÌÑ Õ×ÅÌÉÞÅÎÉÑ ËÏÌÉÞÅÓÔ×Á ÂÕÆÅÒÏ× ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ, ËÏÔÏÒÁÑ + ÉÓÐÏÌØÚÕÅÔÓÑ backend ÐÒÏÃÅÓÓÁÍÉ. åÓÌÉ ×Ù ÓÄÅÌÁÅÔÅ ÚÎÁÞÅÎÉÅ ÜÔÏÇÏ ÐÁÒÁÍÅÔÒÁ + ÓÌÉÛËÏÍ ÂÏÌØÛÉÍ, ÔÏ postmaster ÍÏÖÅÔ ÎÅ ÚÁÐÕÓÔÉÔÓÑ ÐÏÔÏÍÕ ÞÔÏ + ×Ù ÉÓÞÅÒÐÁÅÔÅ ÏÇÒÁÎÉÞÅÎÉÅ ÑÄÒÁ ÎÁ ÏÂßÅÍ ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ. ëÁÖÄÙÊ + ÂÕÆÅÒ ÉÍÅÅÔ ÒÁÚÍÅÒ × 8 ËÉÌÏÂÁÊÔ É ÐÏ ÕÍÏÌÞÁÎÉÀ ×ÙÄÅÌÑÅÔÓÑ 64 ÂÕÆÅÒÁ.

+ +

÷Ù ÍÏÖÅÔÅ ÔÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÔØ backend ÏÐÃÉÀ -S ÄÌÑ Õ×ÅÌÉÞÅÎÉÑ + ÍÁËÓÉÍÁÌØÎÏÇÏ ËÏÌÉÞÅÓÔ×Á ÐÁÍÑÔÉ, ËÏÔÏÒÏÅ ÉÓÐÏÌØÚÕÅÔÓÑ backend ÐÒÏÃÅÓÓÏÍ + ÄÌÑ ×ÒÅÍÅÎÎÙÈ ÓÏÒÔÉÒÏ×ÏË. úÎÁÞÅÎÉÅ ÄÌÑ ÏÐÃÉÉ -S ÚÁÄÁÅÔÓÑ × + ËÉÌÏÂÁÊÔÁÈ É ÐÏ ÕÍÏÌÞÁÎÉÀ ÒÁ×ÎÏ 512 (Ô.Å. 512K).

+ +

÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ËÏÍÁÎÄÕ CLUSTER ÄÌÑ + ÇÒÕÐÐÉÒÏ×ËÉ ÄÁÎÎÙÈ × ÔÁÂÌÉÃÁÈ ÎÁ ÓÏ×ÐÁÄÁÀÝÉÊ ÉÎÄÅËÓ. ðÏÄÒÏÂÎÏÓÔÉ ÓÍÏÔÒÉÔÅ + ÎÁ ÓÔÒÁÎÉÃÅ ÒÕËÏ×ÏÄÓÔ×Á ÐÏ ËÏÍÁÎÄÅ CLUSTER.

+ +

3.7) ëÁËÉÅ ×ÏÚÍÏÖÎÏÓÔÉ ÄÌÑ ÏÔÌÁÄËÉ ÅÓÔØ × + ÎÁÌÉÞÉÉ?

+ +

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

+ +

÷Ï-ÐÅÒ×ÙÈ, ÐÒÉ ÚÁÐÕÓËÅ configure Ó ÏÐÃÉÅÊ --enable-cassert, + ÍÎÏÇÉÅ ×ÙÚÏ×Ù assert() ÐÏÚ×ÏÌÑÀÔ ÏÔÓÌÅÖÉ×ÁÔØ ÒÁÂÏÔÕ backend + ÐÒÏÃÅÓÓÁ É ÏÓÔÁÎÏ×ËÕ ÐÒÏÇÒÁÍÍÙ ÐÒÉ ×ÏÚÎÉËÎÏ×ÅÎÉÉ ËÁËÉÈ-ÌÉÂÏ + ÎÅÏÖÉÄÁÎÎÏÓÔÅÊ.

+ +

é postmaster, É postgres ÉÍÅÀÔ ÎÅÓËÏÌØËÏ ÏÔÌÁÄÏÞÎÙÈ + ÏÐÃÉÊ. ÷Ï-ÐÅÒ×ÙÈ, ÐÒÉ ÚÁÐÕÓËÅ postmaster, ÕÂÅÄÉÔÅÓØ, ÞÔÏ + ÓÔÁÎÄÁÒÔÎÙÊ ×Ù×ÏÄ É ×Ù×ÏÄ ÏÛÉÂÏË ÏÓÕÝÅÓÔ×ÌÑÀÔÓÑ × ÆÁÊÌ ÖÕÒÎÁÌÁ:

+
+    cd /usr/local/pgsql
+    ./bin/postmaster >server.log 2>&1 &
+
+ +

üÔÏ ÐÒÉ×ÅÄÅÔ Ë ÐÏÑ×ÌÅÎÉÀ ÆÁÊÌÁ server.log × ÇÌÁ×ÎÏÍ ËÁÔÁÌÏÇÅ + PostgreSQL. üÔÏÔ ÆÁÊÌ ÓÏÄÅÒÖÉÔ ÐÏÌÅÚÎÕÀ ÉÎÆÏÒÍÁÃÉÀ Ï ÐÒÏÂÌÅÍÁÈ ÉÌÉ + ÏÛÉÂËÁÈ, ×ÏÚÎÉËÛÉÈ ÎÁ ÓÅÒ×ÅÒÅ. Postmaster ÉÍÅÅÔ ÏÐÃÉÀ -d, + ËÏÔÏÒÁÑ ÐÏÚ×ÏÌÑÅÔ ÐÏÌÕÞÁÔØ ÐÒÉ ÐÒÏÔÏËÏÌÉÒÏ×ÁÎÉÉ ÂÏÌÅÅ ÄÅÔÁÌØÎÕÀ + ÉÎÆÒÍÁÃÉÀ. äÌÑ ÏÐÃÉÉ -d ÕËÁÚÙ×ÁÅÔÓÑ ÞÉÓÌÏ, ËÏÔÏÒÏÅ ÚÁÄÁÅÔ ÕÒÏ×ÅÎØ + ÏÔÌÁÄËÉ. âÕÄØÔÅ ÏÓÔÏÒÏÖÎÙ, ÔÁË ËÁË ×ÙÓÏËÉÊ ÕÒÏ×ÅÎØ ÏÔÌÁÄËÉ ÐÒÉ×ÏÄÉÔ + Ë ÇÅÎÅÒÁÃÉÉ ÆÁÊÌÏ× ÖÕÒÎÁÌÁ ÂÏÌØÛÏÇÏ ÒÁÚÍÅÒÁ.

+ +

åÓÌÉ postmaster ÎÅ ÚÁÐÕÝÅÎ, ×Ù ÍÏÖÅÔÅ ÚÁÐÕÓÔÉÔØ + postgres backend ÉÚ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ É ××ÅÓÔÉ ×ÁÛ ÏÐÅÒÁÔÏÒ + SQL ÎÁÐÒÑÍÕÀ. üÔÏ ÒÅËÏÍÅÎÄÕÅÔÓÑ ÔÏÌØËÏ ÄÌÑ + ÃÅÌÅÊ ÏÔÌÁÄËÉ. úÁÍÅÔÉÍ, ÞÔÏ × ÜÔÏÍ ÒÅÖÉÍÅ, ÚÁÐÒÏÓ ÚÁ×ÅÒÛÁÅÔÓÑ ÓÉÍ×ÏÌÏÍ + ÎÏ×ÏÊ ÓÔÒÏËÉ, Á ÎÅ ÔÏÞËÏÊ Ó ÚÁÐÑÔÏÊ. åÓÌÉ ×Ù ÐÒÏÉÚ×ÏÄÉÌÉ ËÏÍÐÉÌÑÃÉÀ + Ó ÏÔÌÁÄÏÞÎÙÍÉ ÓÉÍ×ÏÌÏÁÍÉ, ×Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÌÀÂÏÊ ÏÔÌÁÄÞÉË, ÞÔÏÂÙ + ÐÏÓÍÏÔÒÅÔØ, ÞÔÏ ÓÌÕÞÉÌÏÓØ. ðÏÓËÏÌØËÕ backend ÚÁÐÕÓËÁÅÔÓÑ ÎÅ ÉÚ + postmaster, ÏÎ ÎÅ ÚÁÐÕÓËÁÅÔÓÑ × ÉÄÅÎÔÉÞÎÏÍ ÏËÒÕÖÅÎÉÉ É ÚÎÁÞÉÔ + ÐÒÏÂÌÅÍÙ ÉÔÅÒÁÃÉÊ ÂÌÏËÉÒÏ×ÏË/backend ÎÅ ÍÏÇÕÔ ÂÙÔØ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÙ.

+ +

åÓÌÉ postmaster ÚÁÐÕÝÅÎ, ÚÁÐÕÓÔÉÔÅ psql × ÏÄÎÏÍ + ÏËÎÅ, ÚÁÔÅÍ ÎÁÊÄÉÔÅ PID ÐÒÏÃÅÓÓÁ postgres, + ÉÓÐÏÌØÚÕÅÍÙÊ psql. éÓÐÏÌØÚÕÊÔÅ ÏÔÄÁÄÞÉË ÄÌÑ ÐÏÄËÌÀÞÅÎÉÑ Ë + postgres PID. ÷Ù ÍÏÖÅÔÅ ÕÓÔÁÎÏ×ÉÔØ ÔÏÞËÉ + ÐÒÅÒÙ×ÁÎÉÑ × ÏÔÌÁÄÞÉËÅ É ÚÁÐÕÓÔÉÔØ ÚÁÐÒÏÓ ÉÚ psql. åÓÌÉ + ×Ù ÐÒÏÉÚ×ÏÄÉÔÅ ÏÔÌÁÄËÕ ÚÁÐÕÓËÁ postgres, ×Ù ÍÏÖÅÔÅ ÕÓÔÁÎÏ×ÉÔØ + PGOPTIONS="-W n", É ÚÁÔÅÍ ÚÁÐÕÓÔÉÔØ psql. üÔÁ ÏÐÃÉÑ ÐÒÉ×ÏÄÉÔ + Ë ÚÁÄÅÒÖËÅ ÐÒÏÃÅÓÓÁ ÚÁÐÕÓËÁ ÎÁ n ÓÅËÕÎÄ, × ÔÅÞÅÎÉÅ ËÏÔÏÒÙÈ + ×Ù ÍÏÖÅÔÅ ÐÏÄËÌÀÞÉÔØ Ë ÐÒÏÃÅÓÓÕ ÏÔÌÁÄÞÉË, ÕÓÔÁÎÏ×ÉÔØ ÌÀÂÙÅ ÔÏÞËÉ + ÐÒÅÒÙ×ÁÎÉÑ É ÐÒÏÄÏÌÖÉÔØ ÚÁÐÕÓË.

+ +

ðÒÏÇÒÁÍÍÁ postgres ÉÍÅÅÔ ÏÐÃÉÉ -s, -A, É -t + ËÏÔÏÒÙÅ ÍÏÇÕÔ ÂÙÔØ ÏÞÅÎØ ÐÏÌÅÚÎÙÍÉ ÄÌÑ ÏÔÌÁÄËÉ É ÉÚÍÅÒÅÎÉÑ + ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ.

+ +

÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÓËÏÍÐÉÌÉÒÏ×ÁÔØ PostgreSQL Ó ÐÒÏÆÉÌÉÒÏ×ÁÎÉÅÍ ÄÌÑ + ÔÏÇÏ, ÞÔÏÂÙ Õ×ÉÄÅÔØ ËÁËÉÅ ÆÕÎËÃÉÉ ÓËÏÌØËÏ ×ÒÅÍÅÎÉ ×ÙÐÏÌÎÑÀÔÓÑ. + æÁÊÌÙ ÐÒÏÆÉÌÉÒÏ×ÁÎÉÑ backend'Á ÎÁÈÏÄÑÔÓÑ × ËÁÔÁÌÏÇÅ + pgsql/data/base/dbname. æÁÊÌ ÐÒÏÆÉÌÉÒÏ×ÁÎÉÑ ËÌÉÅÎÔÁ + ÂÕÄÅÔ ÐÏÍÅÝÅÎ × ÔÅËÕÝÉÊ ËÁÔÁÌÏÇ ËÌÉÅÎÔÁ.

+ +

3.8) ðÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ ÓÏÏÂÝÅÎÉÅ "Sorry, too + many clients" ËÏÇÄÁ ÐÙÔÁÀÓØ ÐÏÄËÌÀÞÉÔØÓÑ Ë ÂÁÚÅ?

+ +

÷ÁÍ ÎÕÖÎÏ Õ×ÅÌÉÞÉÔØ ÏÇÒÁÎÉÞÅÎÉÅ ÎÁ ËÏÌÉÞÅÓÔ×Ï ËÏÎËÕÒÅÔÎÙÈ + backend ÐÒÏÃÅÓÓÏ× ÐÒÉ ÚÁÐÕÓËÅ postmaster.

+ +

ðÏ ÕÍÏÌÞÁÎÉÀ ÕÓÔÁÎÏ×ÌÅÎ ÌÉÍÉÔ ÎÁ 32 ÐÒÏÃÅÓÓÁ. ÷Ù ÍÏÖÅÔÅ + Õ×ÅÌÉÞÉÔØ ÜÔÏÔ ÌÉÍÉÔ ÐÅÒÅÚÁÐÕÓÔÉ× postmaster Ó ÎÕÖÎÙÍ + ÚÎÁÞÅÎÉÅÍ ÐÒÏÃÅÓÓÏ×, ËÏÔÏÒÏÅ ÕËÁÚÙ×ÁÅÔÓÑ × ÏÐÃÉÉ -N ÉÌÉ + ÉÚÍÅÎÉ× ÆÁÊÌ postgresql.conf.

+ +

úÁÍÅÔÉÍ, ÞÔÏ ÅÓÌÉ ×Ù ÚÁÄÁÄÉÔÅ × ÏÐÃÉÉ -N ÚÎÁÞÅÎÉÅ ÂÏÌØÛÅ + 32, ÔÏ ×Ù ÔÁËÖÅ ÄÏÌÖÎÙ Õ×ÅÌÉÞÉÔØ ÚÎÁÞÅÎÉÅ × ÏÐÃÉÉ -B ËÏÔÏÒÏÅ + ÐÏ ÕÍÏÌÞÁÎÉÀ ÕÓÔÁÎÏ×ÌÅÎÏ × 64; úÎÁÞÅÎÉÅ ÏÐÃÉÉ -B ÄÏÌÖÎÏ ÂÙÔØ + ÐÏ ËÒÁÊÎÅÊ ÍÅÒÅ ×Ä×ÏÅ ÂÏÌØÛÅ ÚÎÁÞÅÎÉÑ ÏÐÃÉÉ -N, É ×ÏÚÍÏÖÎÏ + ÅÝ£ ÂÏÌØÛÅ ÄÌÑ ÌÕÞÛÅÊ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ. äÌÑ ÂÏÌØÛÅÇÏ ËÏÌÉÞÅÓÔ×Á + backend ÐÒÏÃÅÓÓÏ×, ×ÁÍ ÔÁËÖÅ ÎÅÐÌÏÈÏ ÂÙÌÏ ÂÙ Õ×ÅÌÉÞÉÔØ ÎÅËÏÔÏÒÙÅ + ÐÁÒÁÍÅÔÒÙ ÑÄÒÁ Unix. üÔÏ ÔÁËÉÅ ÐÁÒÁÍÅÔÒÙ, ËÁË ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï + ÂÌÏËÏ× ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ, SHMMAX; ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï + ÓÅÍÁÆÏÒÏ×, SEMMNS É SEMMNI; ÍÁËÓÉÍÁÌØÎÏÅ + ËÏÌÉÞÅÓÔ×Ï ÐÒÏÃÅÓÓÏ×, NPROC; ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï + ÐÒÏÃÅÓÓÏ× ÎÁ ÐÏÌØÚÏ×ÁÔÅÌÑ, MAXUPRC; É ÍÁËÓÉÍÁÌØÎÏÅ + ËÏÌÉÞÅÓÔ×Ï ÏÔËÒÙÔÙÈ ÆÁÊÌÏ×, NFILE É NINODE. + ðÒÉÞÉÎÁ ÓÏÚÄÁÎÉÑ ÏÇÒÁÎÉÞÅÎÉÑ ÎÁ ËÏÌÉÞÅÓÔ×Ï backend ÐÒÏÃÅÓÓÏ× ËÁË + ÒÁÚ É ÓÏÓÔÏÉÔ × ÔÏÍ, ÞÔÏÂÙ ×ÁÛÅÊ ÓÉÓÔÅÍÅ È×ÁÔÉÌÏ ÒÅÓÕÒÓÏ×.

+ +

÷ PostgreSQL ÄÏ ×ÅÒÓÉÉ 6.5, ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï backend ÐÒÏÃÅÓÓÏ× + ÂÙÌÏ 64, É ÉÚÍÅÎÅÎÉÅ ÜÔÏÇÏ ËÏÌÉÞÅÓÔ×Á ÔÒÅÂÏ×ÁÌÏ ÐÅÒÅËÏÍÐÉÌÑÃÉÉ ÐÏÓÌÅ + ÕÓÔÁÎÏ×ËÉ ËÏÎÓÔÁÎÔÙ MaxBackendId × include/storage/sinvaladt.h.

+ +

3.9) þÔÏ ÜÔÏ ÚÁ ÆÁÊÌÙ pg_sorttempNNN.NN + × ÍÏÅÍ ËÁÔÁÌÏÇÅ Ó ÂÁÚÏÊ ÄÁÎÎÙÈ?

+ +

üÔÏ ×ÒÅÍÅÎÎÙÅ ÆÁÊÌÙ, ÇÅÎÅÒÉÒÕÅÍÙÅ ×Ï ×ÒÅÍÑ ×ÙÐÏÌÎÅÎÉÑ ÚÁÐÒÏÓÁ. + îÁÐÒÉÍÅÒ, ÅÓÌÉ ÄÌÑ ÏÐÅÒÁÔÏÒÁ ORDER BY ÄÏÌÖÎÁ ÂÙÔØ + ×ÙÐÏÌÎÅÎÁ ÓÏÒÔÉÒÏ×ËÁ, ËÏÔÏÒÁÑ ÔÒÅÂÕÅÔ ÂÏÌØÛÅ ÍÅÓÔÁ ÞÅÍ ×ÙÄÅÌÅÎÎÏ + ÄÌÑ backend ÐÒÏÃÅÓÓÁ × ÏÐÃÉÉ -S, ÔÏ ÓÏÚÄÁÅÔÓÑ ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ ÄÌÑ + ÈÒÁÎÅÎÉÑ ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÄÁÎÎÙÈ.

+ +

÷ÒÅÍÅÎÎÙÅ ÆÁÊÌÙ ÄÏÌÖÎÙ ÕÄÁÌÑÔØÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ, ÎÏ ÜÔÏÇÏ ÍÏÖÅÔ + ÎÅ ÐÒÏÉÓÈÏÄÉÔØ, ÅÓÌÉ backend ÐÒÏÃÅÓÓ ÐÁÄÁÅÔ ×Ï ×ÒÅÍÑ ÓÏÒÔÉÒÏ×ËÉ. + åÓÌÉ Õ ×ÁÓ ÎÅ ÚÁÐÕÝÅÎÏ ÎÉ ÏÄÎÏÇÏ backend ÐÒÏÃÅÓÓÁ, ÔÏ ×Ù ÍÏÖÅÔÅ + ÓÐÏËÏÊÎÏ ÕÄÁÌÉÔØ ÆÁÊÌÙ pg_tempNNN.NN.

+
+ +

÷ÏÐÒÏÓÙ ÜËÓÐÌÕÁÔÁÃÉÉ

+ +

4.1) ÷ ÞÅÍ ÏÔÌÉÞÉÅ ÍÅÖÄÕ ÂÉÎÁÒÎÙÍ É ÎÏÒÍÁÌØÎÙÍ + ËÕÒÓÏÒÏÍ?

+ +

óÍÏÔÒÉÔÅ ÏÐÉÓÁÎÉÅ ÎÁ ÓÔÒÁÎÉÃÁÈ ÒÕËÏ×ÏÄÓÔ×Á ÐÏÓ×ÑÝÅÎÎÙÍ + DECLARE.

+ +

4.2) ëÁË ×ÙÐÏÌÎÉÔØ SELECT ÔÏÌØËÏ + ÄÌÑ ÎÅÓËÏÌØËÉÈ ÐÅÒ×ÙÈ ÓÔÒÏÞÅË ÚÁÐÒÏÓÁ?

+ +

óÍÏÔÒÉÔÅ ÓÔÁÎÉÃÕ ÒÕËÏ×ÏÄÓÔ×Á ÐÏÓ×ÑÝÅÎÎÕÀ FETCH + ÉÌÉ ÉÓÐÏÌØÚÕÊÔÅ SELECT ... LIMIT....

+ +

äÁÖÅ ÅÓÌÉ ×Ù ÈÏÔÉÔÅ ÐÏÌÕÞÉÔØ ÔÏÌØËÏ ÐÅÒ×ÙÅ ÎÅÓËÏÌØËÏ ÚÁÐÉÓÅÊ, + ÂÕÄÅÔ ×ÙÐÏÌÎÅÎ ×ÅÓØ ÚÁÐÒÏÓ. òÁÓÓÍÏÔÒÉÍ ÚÁÐÒÏÓ, ËÏÔÏÒÙÊ ÉÍÅÅÔ + ORDER BY. åÓÌÉ ÅÓÔØ ËÁËÏÊ-ÌÉÂÏ ÉÎÄÅËÓ, ËÏÔÏÒÙÊ + ÓÏ×ÐÁÄÁÅÔ Ó ORDER BY, PostgreSQL ÍÏÖÅÔ + ×ÙÄÁÔØ ÔÏÌØËÏ ÎÅÓËÏÌØËÏ ÐÅÒ×ÙÈ ÚÁÐÒÏÛÅÎÎÙÈ ÚÁÐÉÓÅÊ ÉÌÉ ÍÏÖÅÔ + ×ÙÐÏÌÎÑÔØ ÚÁÐÒÏÓ ÐÏËÁ ÎÅ ÂÕÄÕÔ ×ÙÄÁÎÙ ÖÅÌÁÅÍÙÅ ÚÁÐÉÓÉ.

+ +

4.3) ëÁË ÐÏÌÕÞÉÔØ ÓÐÉÓÏË ÔÁÂÌÉà ÉÌÉ ÄÒÕÇÉÈ + ËÏÍÐÏÎÅÎÔÏ× × psql?

+ +

÷Ù ÍÏÖÅÔÅ ÐÏÓÍÏÔÒÅÔØ ÉÓÈÏÄÎÙÊ ËÏÄ psql × ÆÁÊÌÅ + pgsql/src/bin/psql/describe.c. ïÎ ÓÏÄÅÒÖÉÔ ËÏÍÁÎÄÙ + SQL ËÏÔÏÒÙÅ ÇÅÎÅÒÉÒÕÀÔÓÑ ÐÒÉ ××ÏÄÅ × psql ËÏÍÁÎÄ, + ÎÁÞÉÎÁÀÝÉÈÓÑ Ó ÏÂÒÁÔÎÏÊ ËÏÓÏÊ ÞÅÒÔÙ. ÷Ù ÔÁËÖÅ ÍÏÅÖÅÔÅ ÚÁÐÕÓÔÉÔØ + psql Ó ÏÐÃÉÅÊ -E ÔÁË, ÞÔÏÂÙ ÜÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÄÁ×ÁÌÁ + ÚÁÐÒÏÓÙ, ËÏÔÏÒÙÅ ÏÎÁ ÉÓÐÏÌØÚÕÅÔ ÄÌÑ ×ÙÐÏÌÎÅÎÉÑ ÚÁÄÁÎÎÙÈ ×ÁÍÉ + ËÏÍÁÎÄ.

+ +

4.4) ëÁË ÕÄÁÌÉÔØ ËÏÌÏÎËÕ ÉÚ ÔÁÂÌÉÃÙ?

+ +

íÙ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÍ ALTER TABLE DROP COLUMN, ÎÏ + ÍÏÖÎÏ ÓÄÅÌÁÔØ ÔÁË:

+
+    SELECT ...  -- ×ÙÂÏÒËÁ ×ÓÅÈ ËÏÌÏÎÏË ÚÁ ÉÓËÌÀÞÅÎÉÅÍ ÔÏÊ, ËÏÔÏÒÕÀ ÈÏÔÉÔÅ ÕÄÁÌÉÔØ
+    INTO TABLE new_table
+    FROM old_table;
+    DROP TABLE old_table;
+    ALTER TABLE new_table RENAME TO old_table;
+
+ +

4.5) ëÁËÏ×Ù ÍÁËÓÉÍÁÌØÎÙÅ ÒÁÚÍÅÒÙ ÄÌÑ ÚÁÐÉÓÅÊ, + ÔÁÂÌÉÃ É ÂÁÚÙ ÄÁÎÎÙÈ?

+ +

óÕÝÅÓÔ×ÕÀÔ ÓÌÅÄÕÀÝÉÅ ÏÇÒÁÎÉÞÅÎÉÑ:

+
+    íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÂÁÚÙ?              ÎÅÏÇÒÁÎÉÞÅÎ (ÓÕÝÅÓÔ×ÕÀÔ ÂÁÚÙ ÎÁ 60 GB)
+    íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ?           16 TB
+    íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÚÁÐÉÓÉ?            ÎÅÏÇÒÁÎÉÞÅÎ ÎÁÞÉÎÁÑ Ó ×ÅÒÓÉÉ 7.1
+    íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÐÏÌÑ?              1 GB ÎÁÞÉÎÁÑ Ó ×ÅÒÓÉÉ 7.1
+    íÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÚÁÐÉÓÅÊ × ÔÁÂÌÉÃÅ?      ÎÅÏÇÒÁÎÉÞÅÎÏ
+    íÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ËÏÌÏÎÏË × ÔÁÂÌÉÃÅ?    250-1600 × ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÔÉÐÁ
+    íÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÉÎÄÅËÓÏ× × ÔÁÂÌÉÃÅ?   ÎÅÏÇÒÁÎÉÞÅÎÏ
+
+ òÁÚÕÍÅÅÔÓÑ, ÐÏÎÑÔÉÅ "ÎÅÏÇÒÁÎÉÞÅÎÏ" ÎÁ ÓÁÍÏÍ ÄÅÌÅ ÏÇÒÁÎÉÞÉ×ÁÅÔÓÑ + ÄÏÓÔÕÐÎÙÍ ÄÉÓËÏ×ÙÍ ÐÒÏÓÔÒÁÎÉÓÔ×ÏÍ É ÒÁÚÍÅÒÁÍÉ ÐÁÍÑÔÉ/Ó×ÏÐÐÉÎÇÁ. + ëÏÇÄÁ ÚÎÁÞÅÎÉÑ ÐÅÒÅÞÉÓÌÅÎÎÙÅ ×ÙÛÅ ÎÅÏÐÒÁ×ÄÁÎÏ ÂÏÌØÛÉÅ, ÍÏÖÅÔ + ÐÏÓÔÒÁÄÁÔØ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ. + +

íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ × 16 TB ÎÅ ÔÒÅÂÕÅÔ ÞÔÏÂÙ ÏÐÅÒÁÃÉÏÎÎÁÑ + ÓÉÓÔÅÍÁ ÐÏÄÄÅÒÖÉ×ÁÌÁ ÆÁÊÌÙ ÂÏÌØÛÉÈ ÒÁÚÍÅÒÏ×. âÏÌØÛÉÅ ÔÁÂÌÉÃÙ ÈÒÁÎÑÔÓÑ + ËÁË ÍÎÏÖÅÓÔ×Ï ÆÁÊÌÏ× ÒÁÚÍÅÒÏÍ × 1 GB, ÔÁË ÞÔÏ ÏÇÒÁÎÉÞÅÎÉÑ, ËÏÔÏÒÙÅ + ÎÁËÌÁÄÙ×ÁÅÔ ÆÁÊÌÏ×ÁÑ ÓÉÓÔÅÍÁ ÎÅ ×ÁÖÎÙ.

+ +

íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ É ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ËÏÌÏÎÏË + ÍÏÇÕÔ ÂÙÔØ Õ×ÅÌÉÞÅÎÙ, ÅÓÌÉ ÒÁÚÍÅÒ ÂÌÏËÁ ÐÏ ÕÍÏÌÞÁÎÉÀ ÂÕÄÅÔ Õ×ÅÌÉÞÅÎ + ÄÏ 32k.

+ +

4.6) ëÁË ÍÎÏÇÏ ÄÉÓËÏ×ÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á × ÂÁÚÅ ÄÁÎÎÙÈ + ÎÕÖÎÏ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÄÁÎÎÙÈ ÉÚ ÏÂÙÞÎÏÇÏ ÔÅËÓÔÏ×ÏÇÏ ÆÁÊÌÁ?

+ +

óõâä PostgreSQL ÍÏÖÅÔ ÐÏÔÒÅÂÏ×ÁÔØÓÑ ÄÉÓËÏ×ÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á ÄÏ 5 ÒÁÚ + ÂÏÌØÛÅ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÄÁÎÎÙÈ ÉÚ ÐÒÏÓÔÏÇÏ ÔÅËÓÔÏ×ÏÇÏ ÆÁÊÌÁ.

+ +

÷ ËÁÞÅÓÔ×Å ÐÒÉÍÅÒÁ, ÒÁÓÓÍÏÔÒÉÍ ÆÁÊÌ × 100,000 ÓÔÒÏË × ËÁÖÄÏÊ, ÉÚ + ËÏÔÏÒÙÈ ÃÅÌÏÅ ÞÉÓÌÏ É ÔÅËÓÔÏ×ÏÅ ÏÐÉÓÁÎÉÅ. ðÒÉ ÜÔÏÍ ÄÌÉÎÁ ÔÅËÓÔÁ, + × ÓÒÅÄÎÅÍ, ÓÏÓÔÁ×ÌÑÅÔ 20 ÂÁÊÔ. òÁÚÍÅÒ ÐÒÏÓÔÏÇÏ ÆÁÊÌÁ ÓÏÓÔÁ×ÉÔ 2.8 MB. + òÁÚÍÅÒ ÂÁÚÙ PostgreSQL, ÓÏÄÅÒÖÁÝÅÊ ÜÔÉ ÖÅ ÄÁÎÎÙÅ ÓÏÓÔÁ×ÉÔ ÐÒÉÂÌÉÚÉÔÅÌØÎÏ + 6.4 MB ÉÚ ËÏÔÏÒÙÈ:

+
+    36 ÂÁÊÔ: ÎÁ ËÁÖÄÙÊ ÚÁÇÏÌÏ×ÏË ÚÁÐÉÓÉ (ÐÒÉÂÌÉÚÉÔÅÌØÎÏ)
+  + 24 ÂÁÊÔÁ: ÏÄÎÏ ÐÏÌÅ Ó ÃÅÌÏÞÉÓÌÅÎÎÙÍ ÔÉÐÏÍ É ÏÄÎÏ ÔÅËÓÔÏ×ÏÅ ÐÏÌÅ
+   + 4 ÂÁÊÔÁ: ÕËÁÚÁÔÅÌØ ÎÁ ÓÔÒÁÎÉÃÅ ÄÌÑ ×ÓÅÊ ÚÁÐÉÓÉ
+   ----------------------------------------
+    64 ÂÁÊÔ ÎÁ ÚÁÐÉÓØ
+
+   òÁÚÍÅÒ ÓÔÒÁÎÉÃÙ ÄÁÎÎÙÈ × PostgreSQL ÓÏÓÔÁ×ÌÑÅÔ 8192 ÂÁÊÔ (8 KB), ÔÁË ÞÔÏ:
+
+   8192 ÂÁÊÔ ÎÁ ÓÔÒÁÎÉÃÕ
+   -------------------   =  128 ÚÁÐÉÓÅÊ ÎÁ ÓÔÒÁÎÉÃÕ âä (Ó ÏËÒÕÇÌÅÎÉÅÍ)
+     64 ÂÁÊÔ ÎÁ ÚÁÐÉÓØ
+
+   100000 ÓÔÒÏË ÄÁÎÎÙÈ
+   --------------------  =  782 ÓÔÒÁÎÉÃÙ × âä
+  128 ÚÁÐÉÓÅÊ ÎÁ ÓÔÒÁÎÉÃÕ
+
+782 ÓÔÒÁÎÉÃÙ âä * 8192 ÂÁÊÔ ÎÁ ÓÔÒÁÎÉÃÕ  =  6,406,144 ÂÁÊÔ (6.4 MB)
+
+ +

éÎÄÅËÓÙ ÎÅ ÔÒÅÂÕÀÔ ÔÁË ÍÎÏÇÏ, ÎÏ ÐÏÓËÏÌØËÕ ÏÎÉ ÓÏÚÄÁÀÔÓÑ ÄÌÑ + ÂÏÌØÛÏÇÏ ËÏÌÉÞÅÓÔ×Á ÄÁÎÎÙÈ, ÏÎÉ ÔÁËÖÅ ÍÏÇÕÔ ÂÙÔØ ×ÅÌÉËÉ.

+ +

4.7) ëÁË ÍÎÅ ÕÂÅÄÉÔØÓÑ, ÞÔÏ ÎÕÖÎÙÅ ÍÎÅ ÔÁÂÌÉÃÙ ÉÌÉ ÉÎÄÅËÓÙ + ÏÐÒÅÄÅÌÅÎÙ × ÂÁÚÅ ÄÁÎÎÙÈ?

+ +

psql ÉÍÅÅÔ ÎÅÓËÏÌØËÏ ËÏÍÁÎÄ, ÎÁÞÉÎÁÀÝÉÈÓÑ Ó ÏÂÒÁÔÎÏÊ ËÏÓÏÊ + ÞÅÒÔÙ, ÄÌÑ ÔÏÇÏ ÞÔÏÂÙ ÐÒÏÓÍÁÔÒÉ×ÁÔØ ÔÁËÕÀ ÉÎÆÏÒÍÁÃÉÀ. éÓÐÏÌØÚÕÊÔÅ + \? ÄÌÑ ÔÏÇÏ, ÞÔÏÂÙ Õ×ÉÄÅÔØ ÜÔÉ ËÏÍÁÎÄÙ.

+ +

ôÁËÖÅ ÓÍÏÔÒÉÔÅ ÆÁÊÌ pgsql/src/tutorial/syscat.source. ÷ ÎÅÍ + ÐÒÅÄÓÔÁ×ÌÅÎÙ ÍÎÏÇÉÅ ÏÐÅÒÁÔÏÒÙ SELECT ËÏÔÏÒÙÅ ÎÕÖÎÙ + ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÉÎÆÏÒÍÁÃÉÉ ÉÚ ÓÉÓÔÅÍÎÙÈ ÔÁÂÌÉà ÂÁÚÙ ÄÁÎÎÙÈ.

+ +

4.8) õ ÍÅÎÑ ÍÅÄÌÅÎÎÏ ÒÁÂÏÔÁÀÔ ÚÁÐÒÏÓÙ ÉÌÉ ÎÅ + ÐÒÏÉÓÈÏÄÉÔ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÉÎÄÅËÓÏ×. ðÏÞÅÍÕ?

+ +

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

+ +

äÌÑ ÓÐÅÃÉÆÉÞÅÓËÏÊ ÓÔÁÔÉÓÔÉËÉ ÐÏ ËÏÌÏÎËÁÍ, ÉÓÐÏÌØÚÕÊÔÅ VACUUM + ANALYZE. VACUUM ANALYZE Ñ×ÌÑÅÔÓÑ ×ÁÖÎÙÍ ÄÌÑ + ËÏÍÐÌÅËÓÎÙÈ ÚÁÐÒÏÓÏ× ÍÎÏÖÅÓÔ×ÅÎÎÏÇÏ Ó×ÑÚÙ×ÁÎÉÑ, ÔÁË ËÁË ÏÐÔÉÍÉÚÁÔÏÒ + ÍÏÖÅÔ ÏÃÅÎÉÔØ ËÏÌÉÞÅÓÔ×Ï ÚÁÐÉÓÅÊ, ×ÏÚ×ÒÁÝÁÅÍÙÈ ÏÔ ËÁÖÄÏÊ ÔÁÂÌÉÃÙ É + ×ÙÂÒÁÔØ ÐÒÁ×ÉÌØÎÙÊ ÐÏÒÑÄÏË Ó×ÑÚÙ×ÁÎÉÑ. Backend ÎÅ ÏÓÕÝÅÓÔ×ÌÑÅÔ + ÄÌÑ ÓÅÂÑ ÏÔÓÌÅÖÉ×ÁÎÉÅ ÓÔÁÔÉÓÔÉËÉ ÐÏ ËÏÌÏÎËÁÍ, ÔÁË ÞÔÏ ÄÌÑ ÓÂÏÒÁ + ÓÔÁÔÉÓÔÉËÉ ÎÕÖÎÏ ÐÅÒÉÏÄÉÞÅÓËÉ ÚÁÐÕÓËÁÔØ VACUUM ANALYZE.

+ +

ïÂÙÞÎÏ ÉÎÄÅËÓÙ ÎÅ ÉÓÐÏÌØÚÕÀÔÓÑ ÄÌÑ ORDER BY ÉÌÉ + Ó×ÑÚÙ×ÁÎÉÊ. ðÏÓÌÅÄÏ×ÁÔÅÌØÎÙÊ ÐÅÒÅÂÏÒ ÞÅÒÅÚ Ñ×ÎÕÀ ÓÏÒÔÉÒÏ×ËÕ ÂÕÄÅÔ + ÂÙÓÔÒÅÅ, ÞÅÍ ÐÏÉÓË ÐÏ ÉÎÄÅËÓÁÍ ×ÓÅÈ ÚÁÐÉÓÅÊ × ÂÏÌØÛÏÊ ÔÁÂÌÉÃÅ, + ÐÏÔÏÍÕ ÞÔÏ ÄÏÓÔÕÐ Ë ÄÉÓËÕ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÒÁÎÄÏÍÉÚÁÃÉÉ ÏÞÅÎØ + ÍÅÄÌÅÎÅÎ.

+ +

ëÏÇÄÁ ÉÓÐÏÌØÚÕÀÔÓÑ ÏÐÅÒÁÃÉÉ Ó ÛÁÂÌÏÎÁÍÉ, ÎÁÐÒÉÍÅÒ LIKE + ÉÌÉ ~, ÉÎÄÅËÓÙ ÍÏÇÕÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÙ ÔÏÌØËÏ ÅÓÌÉ ÎÁÞÁÌÏ + ÓÔÒÏËÉ-ÛÁÂÌÏÎÁ ÄÌÑ ÐÏÉÓËÁ, ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ ÎÁÞÁÌÕ ÉÓËÏÍÏÊ ÓÔÒÏËÉ. + ôÁË ÞÔÏ ÄÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÉÓÐÏÌØÚÏ×ÁÔØ ÉÎÄÅËÓÙ, ÓÔÒÏËÁ ÛÁÂÌÏÎÁ × + LIKE ÎÅ ÄÏÌÖÎÁ ÎÁÞÉÎÁÔØÓÑ ÎÁ %, Á × ~ + (ÐÏÉÓË ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ) ÄÏÌÖÎÁ ÎÁÞÉÎÁÔØÓÑ Ó ^.

+ +

4.9) ëÁË ÐÏÓÍÏÔÒÅÔØ ÎÁ ÔÏ, ËÁË ÏÐÔÉÍÉÚÁÔÏÒ ×ÙÐÏÌÎÑÅÔ + ÍÏÊ ÚÁÐÒÏÓ?

+ +

óÍÏÔÒÉÔÅ ÓÔÒÁÎÉÃÕ ÒÕËÏ×ÏÄÓÔ×Á ÐÏÓ×ÑÝÅÎÎÕÀ EXPLAIN.

+ +

4.10) þÔÏ ÔÁËÏÅ R-tree ÉÎÄÅËÓ?

+ +

R-tree ÉÎÄÅËÓ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÉÎÄÅËÓÉÒÏ×ÁÎÉÑ ÐÒÏÓÔÒÁÎÓÔ×ÅÎÎÙÈ ÄÁÎÎÙÈ. + éÎÄÅËÓ ÈÜÛÁ ÎÅ ÍÏÖÅÔ ÕÐÒÁ×ÌÑÔØ ÐÏÉÓËÁÍÉ ÄÉÁÐÁÚÏÎÁ. B-tree ÉÎÄÅËÓ + ÕÐÒÁ×ÌÑÅÔ ÔÏÌØËÏ ÐÏÉÓËÁÍÉ ÄÉÁÐÁÚÏÎÁ × ÏÄÎÏÍ ÉÚÍÅÒÅÎÉÉ. R-tree ÉÎÄÅËÓ + ÍÏÖÅÔ ÕÐÒÁ×ÌÑÔØ ÍÎÏÇÏÒÁÚÍÅÒÎÙÍÉ ÄÁÎÎÙÍÉ. îÁÐÒÉÍÅÒ, ÅÓÌÉ R-tree ÉÎÄÅËÓ + ÍÏÖÅÔ ÂÙÔØ ×ÓÔÒÏÅÎ × ÁÔÒÉÂÕÔ ÔÉÐÁ point, ÔÏ ÓÉÓÔÅÍÁ ÍÏÖÅÔ + ÂÏÌÅÅ ÜÆÆÅËÔÉ×ÎÏ ÏÔ×ÅÔÉÔØ ÎÁ ÚÁÐÒÏÓ ÔÉÐÁ "×ÙÂÒÁÔØ ×ÓÅ ÔÏÞËÉ ×ÎÕÔÒÉ + ÚÁÄÁÎÎÏÇÏ ÞÅÔÙÒÅÈÕÇÏÌØÎÉËÁ."

+ +

ëÁÎÏÎÉÞÅÓËÉÊ ÉÓÔÏÞÎÉË, ÏÐÉÓÙ×ÁÀÝÉÊ ÐÅÒ×ÏÎÁÞÁÌØÎÏÅ ÓÏÚÄÁÎÉÅ R-tree + ÜÔÏ:

+ +

Guttman, A. "R-trees: A Dynamic Index Structure for Spatial + Searching." Proceedings of the 1984 ACM SIGMOD Int'l Conf on Mgmt + of Data, 45-57.

+ +

÷Ù ÍÏÖÅÔÅ ÎÁÊÔÉ ÜÔÏÔ ÄÏËÕÍÅÎÔ × ËÎÉÇÅ Stonebraker'Á "Readings in + Database Systems".

+ +

÷ÓÔÒÏÅÎÎÎÙÅ R-tree ÍÏÇÕÔ ÕÐÒÁ×ÌÑÔØ ÐÏÌÉÇÏÎÁÍÉ É ÂÏËÓÁÍÉ. ÷ ÔÅÏÒÉÉ, + R-tree ÍÏÇÕÔ ÂÙÔØ ÒÁÓÛÉÒÅÎÙ ÄÌÑ ÕÐÒÁ×ÌÅÎÉÑ ÂÏÌØÛÉÍ ËÏÌÉÞÅÓÔ×ÏÍ + ÉÚÍÅÒÅÎÉÊ. îÁ ÐÒÁËÔÉËÅ, ÒÁÓÛÉÒÅÎÉÅ R-tree ÔÒÅÂÕÅÔ ÎÅËÏÔÏÒÙÈ ÕÓÉÌÉÊ É + Õ ÎÁÓ, × ÄÁÎÎÙÊ ÍÏÍÅÎÔ, ÎÅÔ ËÁËÏÊ-ÌÉÂÏ ÄÏËÕÍÅÎÔÁÃÉÉ Ï ÔÏÍ, ËÁË ÜÔÏ + ÓÄÅÌÁÔØ.

+ +

4.11) þÔÏ ÔÁËÏÅ Genetic Query + Optimizer?

+ +

íÏÄÕÌØ GEQO ÐÒÏÉÚ×ÏÄÉÔ ÂÙÓÔÒÕÀ ÏÐÔÉÍÉÚÁÃÉÀ ÚÁÐÒÏÓÁ, + ËÏÇÄÁ ÐÒÏÉÓÈÏÄÉÔ Ó×ÑÚÙ×ÁÎÉÅ ÍÎÏÇÉÈ ÔÁÂÌÉà ÞÅÒÅÚ Genetic Algorithm (GA). + üÔÏ ÐÏÚ×ÏÌÑÅÔ ÕÐÒÁ×ÌÑÔØ ÂÏÌØÛÉÍÉ ÚÁÐÒÏÓÁÍÉ ÎÁ Ó×ÑÚÙ×ÁÎÉÅ ÞÅÒÅÚ + ÎÅÉÓÔÏÝÁÀÝÉÊ ÐÏÉÓË.

+ +

4.12) ëÁË ÍÎÅ ×ÙÐÏÌÎÉÔØ ÐÏÉÓË ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ + É ÐÏÉÓË ÎÅÚÁ×ÉÓÉÍÙÊ ÏÔ ÒÅÇÉÓÔÒÁ ÂÕË× ÐÏÉÓË ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ? + ëÁË ÍÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÉÎÄÅËÓ ÄÌÑ ÐÏÉÓËÁ ÎÅÚÁ×ÉÓÉÍÏÇÏ ÏÔ ÒÅÇÉÓÔÒÁ ÂÕË×?

+ +

ïÐÅÒÁÔÏÒ ~ ÐÒÏÉÚ×ÏÄÉÔ ÐÏÉÓË ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ, Á ÏÐÅÒÁÔÏÒ + ~* ÐÒÏÉÚ×ÏÄÉÔ ÎÅÚÁ×ÉÓÉÍÙÊ ÏÔ ÒÅÇÉÓÔÒÁ ÂÕË× ÐÏÉÓË ÒÅÇÕÌÑÒÎÏÇÏ + ×ÙÒÁÖÅÎÉÑ. îÅÚÁ×ÉÓÉÍÙÊ ÏÔ ÒÅÇÉÓÔÒÁ ×ÁÒÉÁÎÔ LIKE ÎÁÚÙ×ÁÅÔÓÑ + ILIKE × PostgreSQL ÎÁÞÉÎÁÑ Ó ×ÅÒÓÉÉ 7.1.

+ +

îÅÚÁ×ÉÓÉÍÏÅ ÏÔ ÒÅÇÉÓÔÒÁ ÓÒÁ×ÎÅÎÉÅ ÏÂÙÞÎÏ ×ÙÒÁÖÁÅÔÓÑ ÔÁË:

+
+    SELECT *
+    FROM tab
+    WHERE lower(col) = 'abc'
+   
+
+ üÔÁ ËÏÎÓÔÒÕËÃÉÑ ÎÅ ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÔÁÎÄÁÒÔÎÙÊ ÉÎÄÅËÓ. ïÄÎÁËÏ, ÅÓÌÉ + ×Ù ÓÏÚÄÁÄÉÔÅ ÆÕÎËÃÉÏÎÁÌØÎÙÊ ÉÎÄÅËÓ, ÏÎ ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÎ: +
+    CREATE INDEX tabindex on tab (lower(col));
+   
+
+ +

4.13) ëÁË Ñ ÍÏÇÕ ÏÐÒÅÄÅÌÉÔØ, ÞÔÏ ÚÎÁÞÅÎÉÅ ÐÏÌÑ + ÒÁ×ÎÏ NULL × ËÁËÏÍ-ÌÉÂÏ ÚÁÐÒÏÓÅ?

+ +

÷Ù ÐÒÏÓÔÏ ÓÒÁ×ÎÉ×ÁÅÔÅ ÚÎÁÞÅÎÉÅ Ó IS NULL É + IS NOT NULL.

+ +

4.14) ëÁËÏ×Ù ÏÔÌÉÞÉÑ ÍÅÖÄÕ ÒÁÚÎÙÍÉ ÓÉÍ×ÏÌØÎÙÍÉ + ÔÉÐÁÍÉ?

+
+ôÉÐ            ÷ÎÕÔÒÅÎÎÅÅ ÉÍÑ   úÁÍÅÞÁÎÉÑ
+--------------------------------------------------
+"char"          char            1 ÓÉÍ×ÏÌ
+CHAR(#)         bpchar          ÚÁÐÏÌÎÑÅÔÓÑ ÐÕÓÔÏÔÏÊ ÄÏ ÆÉËÓÉÒÏ×ÁÎÎÏÊ ÄÌÉÎÙ
+VARCHAR(#)      varchar         ÒÁÚÍÅÒ ÚÁÄÁÅÔ ÍÁËÓÉÍÁÌØÎÕÀ ÄÌÉÎÕ, ÎÅÔ ÚÁÐÏÌÎÅÎÉÑ
+TEXT            text            ÎÅÔ ÚÁÄÁ×ÁÅÍÏÇÏ ×ÅÒÈÎÅÇÏ ÏÇÒÁÎÉÞÅÎÉÑ ÉÌÉ ÄÌÉÎÙ
+BYTEA           bytea           ÍÁÓÓÉ× ÂÁÊÔ ÐÅÒÅÍÅÎÎÏÊ ÄÌÉÎÙ (ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ null-ÂÁÊÔ ÂÅÚ ÏÐÁÓËÉ)
+
+ +

÷ÎÕÔÒÅÎÎÅÅ ÉÍÑ ×Ù ÍÏÖÅÔÅ Õ×ÉÄÅÔØ, ËÏÇÄÁ ÓÍÏÔÒÉÔÅ ÓÉÓÔÅÍÎÙÅ ËÁÔÁÌÏÇÉ + É × ÎÅËÏÔÏÒÙÈ ÓÏÏÂÝÅÎÉÑÈ Ï ÏÛÉÂËÁÈ.

+ +

ðÏÓÌÅÄÎÉÅ ÞÅÔÙÒÅ ÔÉÐÁ Ñ×ÌÑÀÔÓÑ "varlena" ÔÉÐÁÍÉ (Ô.Å., ÐÅÒ×ÙÅ + ÞÅÔÙÒÅ ÂÁÊÔÁ ÎÁ ÄÉÓËÅ Ñ×ÌÑÀÔÓÑ ÄÌÉÎÎÏÊ, ÚÁ ËÏÔÏÒÏÊ ÓÌÅÄÕÀÔ ÄÁÎÎÙÅ). + ôÁËÉÍ ÏÂÒÁÚÏÍ, ÆÁËÔÉÞÅÓËÉ ÉÓÐÏÌØÚÕÅÍÏÅ ÐÒÏÓÔÒÁÎÓÔ×Ï ÂÏÌØÛÅ, ÞÅÍ + ÏÂÏÚÎÁÞÅÎÎÙÊ ÒÁÚÍÅÒ. ïÄÎÁËÏ, ÜÔÉ ÔÉÐÙ ÄÁÎÎÙÈ ÔÁËÖÅ ÐÏÄÄÁÀÔÓÑ ÓÖÁÔÉÀ + ÉÌÉ ÍÏÇÕÔ ÂÙÔØ ÓÏÈÒÁÎÅÎÙ ÎÅ × ÓÔÒÏËÏÍ ×ÉÄÅ ÞÅÒÅÚ TOAST, + ÔÁË ÞÔÏ ÚÁÎÉÍÁÅÍÏÅ ÄÉÓËÏ×ÏÅ ÐÒÏÓÔÒÁÎÓÔ×Ï ÍÏÖÅÔ ÔÁËÖÅ ÂÙÔØ É ÍÅÎØÛÅ, + ÞÅÍ ÏÖÉÄÁÌÏÓØ.

+ +

CHAR() - ÜÔÏ ÌÕÞÛÅÅ ÒÅÛÅÎÉÅ ÄÌÑ ÈÒÁÎÅÎÉÑ ÓÔÒÏË, ËÏÔÏÒÙÅ + ÏÂÙÞÎÏ ÉÍÅÀÔ ÏÄÉÎÁËÏ×ÕÀ ÄÌÉÎÕ. VARCHAR() - ÜÔÏ ÌÕÞÛÅÅ + ÒÅÛÅÎÉÅ, ËÏÇÄÁ ÎÕÖÎÏ ÈÒÁÎÉÔØ ÓÔÒÏËÉ ÐÅÒÅÍÅÎÎÏÊ ÄÌÉÎÙ, ÎÏ ÎÅ ÐÒÅ×ÙÛÁÀÝÉÅ + ÏÐÒÅÄÅÌÅÎÎÏÇÏ ÒÁÚÍÅÒÁ. TEXT - ÜÔÏ ÌÕÞÛÅÅ ÒÅÛÅÎÉÅ ÄÌÑ ÓÔÒÏË + ÎÅÏÇÒÁÎÉÞÅÎÎÏÊ ÄÌÉÎÙ, Ó ÍÁËÓÉÍÁÌØÎÏ ÄÏÐÕÓÔÉÍÏÊ ÄÌÉÎÏÊ × 1 ÇÉÇÁÂÁÊÔ. + BYTEA ÄÌÑ ÈÒÁÎÅÎÉÑ ÂÉÎÁÒÎÙÈ ÄÁÎÎÙÈ, ÚÎÁÞÅÎÉÑ ËÏÔÏÒÙÈ + ÍÏÇÕÔ ×ËÌÀÞÁÔØ NULL ÂÁÊÔÙ.

+ +

4.15.1) ëÁË ÍÎÅ ÓÏÚÄÁÔØ ÐÏÌÅ + serial/Ó-Á×ÔÏ-Õ×ÅÌÉÞÅÎÉÅÍ?

+ +

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 UNIQUE INDEX person_id_key ON person ( id );
+
+ óÍÏÔÒÉÔÅ ÐÏÄÒÏÂÎÏÓÔÉ Ï ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÑÈ ÎÁ ÓÔÒÁÎÉÃÅ ÒÕËÏ×ÏÄÓÔ×Á + ÐÏÓ×ÑÝÅÎÎÏÊ create_sequence. ÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ + ËÁÖÄÏÅ ÐÏÌÅ OID × ÚÁÐÉÓÉ ËÁË ÕÎÉËÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ. ïÄÎÁËÏ, + ÅÓÌÉ ×ÁÍ ÎÕÖÅÎ ÄÁÍÐ É ÐÅÒÅÚÁÇÒÕÚËÁ ÂÁÚÙ ÄÁÎÎÙÈ, ×ÁÍ ÎÅÏÂÈÏÄÉÍÏ + ÉÓÐÏÌØÚÏ×ÁÔØ ËÏÍÁÎÄÕ pg_dump Ó ÏÐÃÉÅÊ -o ÉÌÉ ÏÐÃÉÀ + COPY WITH OIDS ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÚÎÁÞÅÎÉÊ ÐÏÌÑ + OID. + +

4.15.2) ëÁË ÍÎÅ ÐÏÌÕÞÉÔØ ÚÎÁÞÅÎÉÅ ÐÒÉ ×ÓÔÁ×ËÅ + SERIAL?

+ +

ïÄÉÎ ÉÚ ÓÐÏÓÏÂÏ× ÓÏÓÔÏÉÔ × ÐÏÌÕÞÅÎÉÉ ÓÌÅÄÕÀÝÅÇÏ ÚÎÁÞÅÎÉÑ + SERIAL ÉÚ ÏÂßÅËÔÁ sequence Ó ÐÏÍÏÝØÀ ÆÕÎËÃÉÉ + nextval() ÐÅÒÅÄ ×ÓÔÁ×ËÏÊ É ÚÁÔÅÍ ×ÓÔÁ×ÌÑÔØ ÜÔÏ ÚÎÁÞÅÎÉÅ + Ñ×ÎÏ. éÓÐÏÌØÚÕÊÔÅ ÔÁÂÌÉÃÕ-ÐÒÉÍÅÒ × 4.15.1, ÞÔÏÂÙ + Õ×ÉÄÅÔØ ËÁË ÜÔÏ ÄÅÌÁÅÔÓÑ × Perl:

+
+    new_id = output of "SELECT nextval('person_id_seq')"
+    INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal');
+
+ úÁÔÅÍ ×Ù ÄÏÌÖÎÙ ÔÁËÖÅ ÓÏÈÒÁÎÉÔØ ÎÏ×ÏÅ ÚÎÁÞÅÎÉÅ × ÐÅÒÅÍÅÎÎÏÊ + new_id ÄÌÑ ÅÇÏ ÉÓÐÏÌØÚÏ×ÁÎÉÑ × ÄÒÕÇÉÈ ÚÁÐÒÏÓÁÈ (ÎÁÐÒÉÍÅÒ + ÔÁËÉÈ ËÁË ×ÎÅÛÎÉÊ ËÌÀÞ ÄÌÑ ÔÁÂÌÉÃÙ person). úÁÍÅÔÉÍ, + ÞÔÏ ÉÍÑ Á×ÔÏÍÁÔÉÞÅÓËÉ ÓÏÚÄÁÎÎÏÇÏ ÏÂßÅËÔÁ SEQUENCE + ÂÕÄÅÔ <table>_<serialcolumn>_seq, + ÇÄÅ table É serialcolumn Ñ×ÌÑÀÔÓÑ ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ + ÉÍÅÎÁÍÉ ×ÁÛÅÊ ÔÁÂÌÉÃÙ É ×ÁÛÅÊ ËÏÌÏÎËÉ SERIAL. + +

÷ ËÁÞÅÓÔ×Å ÁÌØÔÅÒÎÁÔÉ×Ù, ×Ù ÍÏÖÅÔÅ ÐÏÌÕÞÉÔØ ÎÁÚÎÁÞÅÎÎÏÅ ÚÎÁÞÅÎÉÅ + SERIAL Ó ÐÏÍÏÝØÀ ÆÕÎËÃÉÉ currval() + ÐÏÓÌÅ ÐÒÏ×ÅÄÅÎÉÑ ÏÂÙÞÎÏÊ ÏÐÅÒÁÃÉÉ ×ÓÔÁ×ËÉ, ÎÁÐÒÉÍÅÒ

+
+    INSERT INTO person (name) VALUES ('Blaise Pascal');
+    new_id = output of "SELECT currval('person_id_seq')";
+
+ é ÎÁËÏÎÅÃ, ×Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÚÎÁÞÅÎÉÅ + OID, ×ÏÚÒÁÝÁÅÍÏÅ ÉÚ ÏÐÅÒÔÏÒÁ + INSERT ÞÔÏÂÙ Õ×ÉÄÅÔØ ÚÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ, ÞÔÏ + ÐÒÅÄÐÏÌÏÖÉÔÅÌØÎÏ Ñ×ÌÑÅÔÓÑ ÎÁÉÍÅÎÅÅ ÐÅÒÅÎÏÓÉÍÙÍ ÎÁ ÄÒÕÇÉÅ ÐÌÁÔÆÏÒÍÙ + ÒÅÛÅÎÉÅÍ. ÷ Perl, ÉÓÐÏÌØÚÕÑ DBI Ó ÍÏÄÕÌÅÉ Edmund Mergl'Ñ DBD::Pg, + ÚÎÁÞÅÎÉÅ oid ÓÔÁÎÏ×ÉÔÓÑ ÄÏÓÔÕÐÎÙÍ ÞÅÒÅÚ $sth->{pg_oid_status} + ÐÏÓÌÅ $sth->execute(). + +

4.15.3) îÅ ÍÏÖÅÔ ÌÉ ÐÏÌÕÞÉÔØÓÑ ÔÁË, ÞÔÏ + ÉÓÐÏÌØÚÏ×ÁÎÉÅ currval() É nextval() ÐÒÉ×ÅÄÅÔ Ë + ÚÁÃÉËÌÉÒÏ×ÁÎÉÀ Ó ÄÒÕÇÉÍÉ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ?

+ +

îÅÔ. Currval() ×ÏÚ×ÒÁÝÁÅÔ ÔÅËÕÝÅÅ ÚÎÁÞÅÎÉÅ, ÎÁÚÎÁÞÅÎÎÏÅ ×ÁÛÅÍ + backend'ÏÍ, Á ÎÅ ÄÒÕÇÉÍÉ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ.

+ +

4.15.4) ðÏÞÅÍÕ ÞÉÓÌÁ ÉÚ ÍÏÅÊ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ + ÎÅ ÉÓÐÏÌØÚÕÀÔÓÑ ÓÎÏ×Á ÐÒÉ ÏÔÍÅÎÅ ÔÒÁÎÚÁËÃÉÉ? ðÏÞÅÍÕ ÓÏÚÄÁÀÔÓÑ ÒÁÚÒÙ×Ù + ÐÒÉ ÎÕÍÅÒÁÃÉÉ × ËÏÌÏÎËÅ, ÇÄÅ Ñ ÉÓÐÏÌØÚÕÀ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ/SERIAL?

+ +

äÌÑ ÒÅÁÌÉÚÁÃÉÉ ËÏÎËÕÒÅÔÎÏÓÔÉ, ÚÎÁÞÅÎÉÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÅÊ, ÐÒÉ + ÎÅÏÂÈÏÄÉÍÏÓÔÉ ×ÙÄÁÀÔÓÑ ×Ï ×ÒÅÍÑ ÚÁÐÕÓËÁ ÔÒÁÎÚÁËÃÉÊ É ÎÅ ÂÌÏËÉÒÕÀÔÓÑ + ÄÏ ÐÏÌÎÏÇÏ ×ÙÐÏÌÎÅÎÉÑ ÔÒÁÎÚÁËÃÉÊ. üÔÏ ÍÏÖÅÔ ×ÙÚÙ×ÁÔØ ÒÁÚÒÙ×Ù × + ÎÕÍÅÒÁÃÉÉ ÐÒÉ ÏÔÍÅÎÅ ÔÒÁÎÚÁËÃÉÊ

+ + +

4.16) þÔÏ ÔÁËÏÅ OID? þÔÏ ÔÁËÏÅ + TID?

+ +

ðÏÌÑ OID ÓÌÕÖÁÔ ÕÎÉËÁÌØÎÙÍÉ ÉÄÅÔÉÆÉËÁÔÏÒÁÍÉ ÚÁÐÉÓÅÊ + × PostgreSQL. ëÁÖÄÁÑ ÚÁÐÉÓØ, ËÏÔÏÒÁÑ ÓÏÚÄÁ£ÔÓÑ × PostgreSQL ÐÏÌÕÞÁÅÔ + ÕÎÉËÁÌØÎÙÊ OID. ÷ÓÅ ÚÎÁÞÅÎÉÑ OID + ÇÅÎÅÒÉÒÕÅÍÙÅ ×Ï ×ÒÅÍÑ initdb ÉÍÅÀÔ ÚÎÁÞÅÎÉÑ ÍÅÎØÛÅ 16384 (ÉÚ + backend/access/transam.h). ÷ÓÅ ÓÏÚÄÁÎÎÙÅ ÐÏÌØÚÏ×ÁÔÅÌÅÍ + OID ÉÍÅÀÔ ÂïÌØÛÉÅ ÚÎÁÞÅÎÉÅ. ðÏ ÕÍÏÌÞÁÎÉÀ, ×ÓÅ ÜÔÉ + OID Ñ×ÌÑÀÔÓÑ ÕÎÉËÁÌØÎÙÍÉ ÎÅ ÔÏÌØËÏ ×ÎÕÔÒÉ ËÁËÏÊ-ÌÉÂÏ + ÔÁÂÌÉÃÙ ÉÌÉ ÂÁÚÙ ÄÁÎÎÙÈ, ÎÏ É ×ÎÕÔÒÉ ×ÓÅÊ óõâä PostgreSQL.

+ +

PostgreSQL ÉÓÐÏÌØÚÕÅÔ OID × Ó×ÏÉÈ ×ÎÕÔÒÅÎÎÉÈ ÓÉÓÔÅÍÎÙÈ + ÔÁÂÌÉÃÁÈ ÄÌÑ Ó×ÑÚÉ ÚÁÐÉÓÅÊ É ÔÁÂÌÉÃ. úÎÁÞÅÎÉÑ OID ÍÏÇÕÔ + ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÙ ÄÌÑ ÉÄÅÎÔÉÆÉËÁÃÉÉ ÚÁÄÁÎÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÍ ÚÁÐÉÓÅÊ, + Á ÔÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÐÒÉ Ó×ÑÚÙ×ÁÎÉÑÈ. òÅËÏÍÅÎÄÕÅÔÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ + ÔÉÐ ËÏÌÏÎËÉ OID ÄÌÑ ÈÒÁÎÅÎÉÑ ÚÎÁÞÅÎÉÊ OID + ÷Ù ÍÏÖÅÔÅ ÓÏÚÄÁÔØ ÉÎÄÅËÓ ÎÁ ÐÏÌÅ OID ÄÌÑ ÂÏÌÅÅ ÂÙÓÔÒÏÇÏ + ÄÏÓÔÕÐÁ.

+ +

úÎÁÞÅÎÉÑ OID ÎÁÚÎÁÞÁÀÔÓÑ ÄÌÑ ×ÓÅÈ ÎÏ×ÙÈ ÚÁÐÉÓÅÊ ÉÚ + ÃÅÎÔÒÁÌØÎÏÊ ÏÂÌÁÓÔÉ, ËÏÔÏÒÙÅ ÉÓÐÏÌØÚÕÀÔÓÑ ×ÓÅÍÉ ×ÓÅÍÉ ÂÁÚÁÍÉ ÄÁÎÎÙÈ. + åÓÌÉ ×Ù ÈÏÔÉÔÅ ÉÚÍÅÎÉÔØ OID ÎÁ ËÁËÏÅ-ÌÉÂÏ ÄÒÕÇÏÅ + ÚÎÁÞÅÎÉÅ ÉÌÉ ÅÓÌÉ ×Ù ÈÏÔÉÔÅ ÓÏÚÄÁÔØ ËÏÐÉÀ ÔÁÂÌÉÃÙ Ó ÔÁËÉÍÉÖÅ + OID, ÔÏ ÜÔÏ ÍÏÖÎÏ ÓÄÅÌÁÔØ ÔÁË:

+
+        CREATE TABLE new_table(old_oid oid, mycol int);
+        SELECT old_oid, mycol INTO new FROM old;
+        COPY new TO '/tmp/pgtable';
+        DELETE FROM new;
+        COPY new WITH OIDS FROM '/tmp/pgtable';
+
+
+ +

OID ÈÒÁÎÉÔÓÑ ËÁË 4-È ÂÁÊÔÎÏÅ ÃÅÌÏÅ É ÎÅ ÍÏÖÅÔ ÐÒÅ×ÙÛÁÔØ + ÚÎÁÞÅÎÉÅ × 4 ÍÉÌÌÉÁÒÄÁ. ïÄÎÁËÏ, ÅÝÅ ÎÉËÔÏ ÎÅ ÓÏÏÂÝÉÌ Ï ÔÏÍ, ÞÔÏ ÔÁËÏÅ + ÐÒÏÉÚÏÛÌÏ, ÎÏ ÍÙ ÐÌÁÎÉÒÕÅÍ ÄÏ ÔÏÇÏ ËÁË ÜÔÏ ÓÌÕÞÉÔØÓÑ ÉÚÂÁ×ÉÔÓÑ ÏÔ + ÜÔÏÇÏ ÏÇÒÁÎÉÞÅÎÉÑ.

+ +

TID ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÉÄÅÎÔÉÆÉËÁÃÉÉ ÓÐÅÃÉÁÌØÎÙÈ + ÆÉÚÉÞÅÓËÉÈ ÚÁÐÉÓÅÊ Ó ÂÌÏÞÎÙÍÉ É offset ÚÎÁÞÅÎÉÑÍÉ. TID + ÉÚÍÅÎÑÅÔÓÑ ÐÏÓÌÅ ÔÏÇÏ ËÁË ÚÁÐÉÓÉ ÂÙÌÉ ÉÚÍÅÎÅÎÙ ÉÌÉ ÐÅÒÅÇÒÕÖÅÎÙ. +

TID ÉÓÐÏÌØÚÕÅÔÓÑ ÉÎÄÅËÓÎÙÍÉ ÚÁÐÉÓÑÍÉ × ËÁÞÅÓÔ×Å + ÕËÁÚÁÔÅÌÑ ÎÁ ÆÉÚÉÞÅÓËÉÅ ÚÁÐÉÓÉ.

+ +

4.17) þÔÏ ÏÚÎÁÞÁÀÔ ÎÅËÏÔÏÒÙÅ ÔÅÒÍÉÎÙ ÉÓÐÏÌØÚÕÅÍÙÅ × + PostgreSQL?

+ +

îÅËÏÔÏÒÙÊ ÉÓÈÏÄÎÙÊ ËÏÄ É ÓÔÁÒÁÑ ÄÏËÕÍÅÎÔÁÃÉÑ ÉÓÐÏÌØÚÕÀÔ + ÏÂÝÅÕÐÏÔÒÅÂÉÔÅÌØÎÙÅ ÔÅÒÍÉÎÙ. ÷ÏÔ ÎÅËÏÔÏÒÙÅ ÉÚ ÎÉÈ:

+ + + +

óÐÉÓÏË ÏÂÝÉÈ ÔÅÒÍÉÎÏ× ÐÏ ÂÁÚÁÍ ÄÁÎÎÙÈ ÍÏÖÎÏ ÎÁÊÔÉ ÎÁ http://www.comptechnews.com/~reaster/dbdesign.html

+ +

4.18) ðÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ ÏÛÉÂËÕ "ERROR: Memory + exhausted in AllocSetAlloc()"?

+ +

åÓÌÉ Õ ×ÁÓ ×ÅÒÓÉÑ ÎÉÖÅ 7.1, ÔÏ ÏÂÎÏ×ÌÅÎÉÅ ×ÅÒÓÉÉ ÍÏÖÅÔ ÒÅÛÉÔØ ÜÔÕ + ÐÒÏÂÌÅÍÕ. ôÁËÖÅ ×ÏÚÍÏÖÎÏ, ÞÔÏ Õ ×ÁÓ ÚÁËÏÎÞÉÌÁÓØ ×ÉÒÔÕÁÌØÎÁÑ ÐÁÍÑÔØ + ÉÌÉ ÞÔÏ ×ÁÛÅ ÑÄÒÏ ÉÍÅÅÔ ÍÁÌÅÎØËÉÊ ÌÉÍÉÔ ÎÁ ÏÐÒÅÄÅÌÅÎÎÙÅ ÒÅÓÕÒÓÙ. + ðÏÐÙÔÁÊÔÅÓØ ÐÅÒÅÄ ÚÁÐÕÓËÏÍ postmaster ×ÙÐÏÌÎÉÔØ ÓÌÅÄÕÀÝÉÅ + ËÏÍÁÎÄÙ:

+
+    ulimit -d 262144
+    limit datasize 256m
+
+ ÷ ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ËÏÍÁÎÄÎÏÇÏ ÉÎÔÅÒÐÒÅÔÁÔÏÒÁ shell, ÔÏÌØËÏ ÏÄÎÁ ÉÚ ÄÁÎÎÙÈ + ËÏÍÁÎÄ ×ÙÐÏÌÎÉÔÓÑ ÕÓÐÅÛÎÏ, ÎÏ ÏÎÁ ÐÏÚ×ÏÌÉÔ ×ÁÍ ÕÓÔÁÎÏ×ÉÔØ ÂÏÌØÛÉÊ + ÓÅÇÍÅÎÔ ÄÁÎÎÙÈ ÐÒÏÃÅÓÓÁ É ×ÏÚÍÏÖÎÏ ÒÅÛÉÔ ÐÒÏÂÌÅÍÕ. üÔÁ ËÏÍÁÎÄÁ + ÉÚÍÅÎÑÅÔ ÐÁÒÁÍÅÔÒÙ ÔÅËÕÝÅÇÏ ÐÒÏÃÅÓÓÁ É ×ÓÅÈ ÅÇÏ ÐÏÔÏÍËÏ×, ÓÏÚÄÁÎÎÙÈ + ÐÏÓÌŠţ ÚÁÐÕÓËÁ. åÓÌÉ Õ ×ÁÓ ×ÏÚÎÉËÌÁ ÐÒÏÂÌÅÍÁ Ó SQL + ËÌÉÅÎÔÏÍ, ÐÏÔÏÍÕ ÞÔÏ backend ×ÏÚ×ÒÁÝÁÅÔ ÓÌÉÛËÏÍ ÂÏÌØÛÏÊ ÏÂßÅÍ ÄÁÎÎÙÈ, + ÐÏÐÙÔÁÊÔÅÓØ ×ÙÐÏÌÎÉÔØ ÜÔÕ ËÏÍÁÎÄÕ ÐÅÒÅÄ ÚÁÐÕÓËÏÍ ËÌÉÅÎÔÁ. + +

4.19) ëÁË ÍÎÅ ÕÚÎÁÔØ, ËÁËÁÑ ×ÅÒÓÉÑ PostgreSQL + ÚÁÐÕÝÅÎÁ?

+ +

éÚ psql, ÎÁÂÅÒÉÔÅ select version();

+ +

4.20) ðÏÞÅÍÕ ÐÒÉ ÒÁÂÏÔÅ Ó ÍÏÉÍ ÂÏÌØÛÉÍ ÏÂßÅËÔÏÍ + Ñ ÐÏÌÕÞÁÀ ÏÛÉÂËÕ "invalid large obj descriptor"?

+ +

÷ÁÍ ÎÕÖÎÏ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÂÏÌØÛÏÇÏ ÏÂßÅËÔÁ ÐÏÍÅÓÔÉÔØ × ÎÁÞÁÌÅ + BEGIN WORK É × ËÏÎÃÅ COMMIT, Á ×ÎÕÔÒÉ + ÐÏÌÕÞÉ×ÛÅÇÏÓÑ ÂÌÏËÁ lo_open ... lo_close.

+ +

÷ ÎÁÓÔÏÑÝÉÊ ÍÏÍÅÎÔ PostgreSQL ÔÒÅÂÕÅÔ, ÞÔÏÂÙ ÐÒÉ ÚÁËÒÙÔÉÉ ÂÏÌØÛÏÇÏ + ÏÂßÅËÔÁ ÐÒÏÉÓÈÏÄÉÌÏ ×ÙÐÏÌÎÅÎÉÅ ÔÒÁÎÚÁËÃÉÉ. ôÁËÉÍ ÏÂÒÁÚÏÍ, ÐÅÒ×ÁÑ ÖÅ + ÐÏÐÙÔËÁ ÓÄÅÌÁÔØ ÞÔÏ-ÌÉÂÏ Ó ÂÏÌØÛÉÍ ÏÂßÅËÔÏÍ, ÎÅ ÓÏÂÌÀÄÁÑ ÄÁÎÎÏÇÏ ÐÒÁ×ÉÌÁ + ÐÒÉ×ÅÄÅÔ Ë ÓÏÏÂÝÅÎÉÀ invalid large obj descriptor, ÔÁË ËÁË + ËÏÄ ×ÙÐÏÌÎÑÀÝÉÊ ÒÁÂÏÔÕ ÎÁÄ ÂÏÌØÛÉÍ ÏÂßÅËÔÏÍ (ÐÏ ËÒÁÊÎÅÊ ÍÅÒÅ × + ÎÁÓÔÏÑÝÉÊ ÍÏÍÅÎÔ) ÂÕÄÅÔ ÇÅÎÅÒÉÒÏ×ÁÔØ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ ÅÓÌÉ ×Ù ÎÅ + ÉÓÐÏÌØÚÕÅÔÅ ÔÒÁÎÚÁËÃÉÀ.

+ +

åÓÌÉ ×Ù ÉÓÐÏÌØÚÕÅÔÅ ÔÁËÏÊ ÉÎÔÅÒÆÅÊÓ ËÌÉÅÎÔÁ ËÁË ODBC, + ×ÁÍ ×ÏÚÍÏÖÎÏ ÐÏÎÁÄÏÂÉÔÓÑ ÕÓÔÁÎÏ×ÉÔØ auto-commit off.

+ +

4.21) ëÁË ÍÎÅ ÓÏÚÄÁÔØ ËÏÌÏÎËÕ ËÏÔÏÒÁÑ ÐÏ ÕÍÏÌÞÁÎÉÀ + ÂÕÄÅÔ ÓÏÄÅÒÖÁÔØ ÔÅËÕÝÅÅ ×ÒÅÍÑ?

+ +

éÓÐÏÌØÚÕÊÔÅ CURRENT_TIMESTAMP:

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

4.22) ðÏÞÅÍÕ ÍÏÉ ÐÏÄÚÁÐÒÏÓÙ, ÉÓÐÏÌØÚÕÀÝÉÅ + IN ÔÁË ÍÅÄÌÅÎÎÏ ÒÁÂÏÔÁÅÀÔ?

+ +

÷ ÎÁÓÔÏÑÝÉÊ ÍÏÍÅÎÔ, ÍÙ Ó×ÑÚÙ×ÁÅÍ ÐÏÚÁÐÒÏÓÙ ÄÌÑ ×ÎÅÛÎÉÈ ÚÁÐÒÏÓÏ× + ÞÅÒÅÚ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÙÊ ÐÅÒÅÂÏÒ ÒÅÚÕÌØÔÁÔÁ ÐÏÄÚÁÐÒÏÓÁ ÄÌÑ ËÁÖÄÏÊ + ÚÁÐÉÓÉ ×ÎÅÛÎÅÇÏ ÚÁÐÒÏÓÁ. ðÏÐÒÏÂÕÊÔÅ ÚÁÍÅÎÉÔØ IN ÎÁ + EXISTS:

+
+SELECT *
+    FROM tab
+    WHERE col1 IN (SELECT col2 FROM TAB2)
+
+
+ ÎÁ: +
+SELECT *
+    FROM tab
+    WHERE EXISTS (SELECT col2 FROM TAB2 WHERE col1 = col2)
+
+
+ íÙ ÎÁÄÅÅÍÓÑ ÕÂÒÁÔØ ÜÔÏ ÏÇÒÁÎÉÞÅÎÉÅ × ÂÕÄÕÝÅÍ ×ÙÐÕÓËÅ. + +

4.23) ëÁË ÍÎÅ ×ÙÐÏÌÎÉÔØ ×ÎÅÛÎÅÅ Ó×ÑÚÙ×ÁÎÉÅ?

+ +

PostgreSQL ÎÁÞÉÎÁÑ Ó ×ÅÒÓÉÉ 7.1 ÐÏÄÄÅÒÖÉ×ÁÅÔ ×ÎÅÛÎÅÅ Ó×ÑÚÙ×ÁÎÉÅ, + ÉÓÐÏÌØÚÕÑ ÓÔÁÎÄÁÒÔÎÙÊ ÓÉÎÔÁËÓÉÓ SQL. ÷ÏÔ Ä×Á ÐÒÉÍÅÒÁ:

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

üÔÏ ÉÄÅÎÔÉÞÎÙÅ ÚÁÐÒÏÓÙ Ó×ÑÚÙ×ÁÎÉÑ t1.col É t2.col, ÔÁËÖÅ ×ÏÚ×ÒÁÝÁÀÔ + ÌÀÂÙÅ ÎÅÓ×ÑÚÁÎÎÙÅ ÚÁÐÉÓÉ × t1 (ËÏÔÏÒÙÅ ÎÅ ÓÏ×ÐÁÄÁÀÔ Ó t2). + RIGHT Ó×ÑÚÙ×ÁÎÉÅ ÄÏÌÖÎÏ ÄÏÂÁ×ÉÔØ ÎÅÓ×ÑÚÁÎÎÙÅ ÚÁÐÉÓÉ + t2. FULL Ó×ÑÚÙ×ÁÎÉÅ ÄÏÌÖÎÏ ×ÏÚ×ÒÁÔÉÔØ ÓÏ×ÐÁ×ÛÉÅ + ÚÁÐÉÓÉ ÐÌÀÓ ×ÓÅ ÎÅÓ×ÑÚÁÎÎÙÅ ÚÁÐÉÓÉ ÉÚ t1 É t2. óÌÏ×Ï OUTER + Ñ×ÌÑÅÔÓÑ ÎÅÏÂÑÚÁÔÅÌØÎÙÍ É ÎÁÚÎÁÞÁÅÔÓÑ × LEFT, + RIGHT É FULL Ó×ÑÚÙ×ÁÎÉÑÈ. ïÂÙÞÎÙÅ + Ó×ÑÚÙ×ÁÎÉÑ ÎÁÚÙ×ÁÀÔÓÑ INNER Ó×ÑÚÙ×ÁÎÉÑ.

+ +

÷ ÐÒÅÄÙÄÕÝÉÈ ×ÅÒÓÉÑÈ, ×ÎÅÛÎÉÅ Ó×ÑÚÙ×ÁÎÉÑ ÍÏÇÌÉ ÂÙÔØ ÜÍÕÌÉÒÏ×ÁÎÙ + ÉÓÐÏÌØÚÕÑ UNION É NOT IN. îÁÐÒÉÍÅÒ, + ËÏÇÄÁ ÐÒÏÉÓÈÏÄÉÔ Ó×ÑÚÙ×ÁÎÉÅ tab1 É tab2, ÓÌÅÄÕÀÝÉÊ + ÚÁÐÒÏÓ ×ÙÐÏÌÎÑÅÔ ×ÎÅÛÎÅÅ Ó×ÑÚÙ×ÁÎÉÅ Ä×ÕÈ ÔÁÂÌÉÃ:
+
+

+
+    SELECT tab1.col1, tab2.col2
+    FROM tab1, tab2
+    WHERE tab1.col1 = tab2.col1
+    UNION ALL
+    SELECT tab1.col1, NULL
+    FROM tab1
+    WHERE tab1.col1 NOT IN (SELECT tab2.col1 FROM tab2)
+    ORDER BY col1
+
+ +

4.24) ëÁË ×ÙÐÏÌÎÑÔØ ÚÁÐÒÏÓÙ, ÉÓÐÏÌØÚÕÀÝÉÅ ÎÅÓËÏÌØËÏ + ÂÁÚ ÄÁÎÎÙÈ?

+ +

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

+ +

òÁÚÕÍÅÅÔÓÑ, ËÌÉÅÎÔ ÍÏÖÅÔ ÏÄÎÏ×ÒÅÍÅÎÎÏ ÕÓÔÁÎÁ×ÌÉ×ÁÔØ ÓÏÅÄÉÅÎÅÎÉÑ Ó + ÒÁÚÌÉÞÎÙÍÉ ÂÁÚÁÍÉ ÄÁÎÎÙÈ É ÔÁËÉÈ ÏÂÒÁÚÏÍ ÏÂßÅÄÉÎÑÔØ ÉÎÆÏÒÍÁÃÉÀ ÉÚ ÎÉÈ.

+
+ +

òÁÓÛÉÒÅÎÉÑ PostgreSQL

+ +

5.1) ñ ÎÁÐÉÓÁÌ ÆÕÎËÃÉÀ ÏÐÒÅÄÅÌÑÅÍÕÀ ÐÏÌØÚÏ×ÁÔÅÌÅÍ. + ëÏÇÄÁ Ñ ÚÁÐÕÓËÁÀ ÅÅ × psql, ÐÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ dump core?

+ +

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

+ +

5.2) ëÁË Ñ ÍÏÇÕ ×ÎÅÓÔÉ ÎÅËÏÔÏÒÙÅ ËÌÁÓÓÎÙÅ ÎÏ×ÙÅ + ÔÉÐÙ É ÆÕÎËÃÉÉ × PostgreSQL?

+ +

ïÔÐÒÁ×ØÔÅ ×ÁÛÉ ÒÁÓÛÉÒÅÎÉÑ × ÓÐÉÓÏË ÒÁÓÓÙÌËÉ pgsql-hackers + É ÏÎÉ ÐÏ ×ÏÚÍÏÖÎÏÓÔÉ ÂÕÄÕÔ ÐÏÍÅÝÅÎÙ × ÐÏÄËÁÔÁÌÏÇ contrib/.

+ +

5.3) ëÁË ÍÎÅ ÎÁÐÉÓÁÔØ C ÆÕÎËÃÉÀ, ×ÏÚ×ÒÁÝÁÀÝÕÀ + ÚÁÐÉÓØ?

+ +

üÔÏ ÔÒÅÂÕÅÔ ÎÅËÏÅÇÏ ÛÁÍÁÎÓÔ×Á ÔÁË ËÁË Á×ÔÏÒÙ ÎÉËÏÇÄÁ ÎÅ ÐÒÏÂÏ×ÁÌÉ + ÄÅÌÁÔØ ÜÔÏ, ÈÏÔÑ × ÐÒÉÎÉÃÐÅ ÜÔÏ ×ÏÚÍÏÖÎÏ.

+ +

5.4) ñ ÉÚÍÅÎÉÌ ÉÓÈÏÄÎÙÊ ÆÁÊÌ. ðÏÞÅÍÕ ÐÏÓÌÅ + ÐÅÒÅËÏÍÐÉÌÑÃÉÉ Ñ ÎÅ ×ÉÖÕ ÉÚÍÅÎÅÎÉÊ?

+ +

æÁÊÌÙ Makefile ÎÅ ÉÍÅÀÔ ÐÒÁ×ÉÌØÎÙÈ ÚÁ×ÉÓÉÍÏÓÔÅÊ ÄÌÑ include + ÆÁÊÌÏ×. ÷Ù ÄÏÌÖÎÙ ×ÙÐÏÌÎÉÔØ make clean É ÚÁÔÅÍ make. + åÓÌÉ ×Ù ÉÓÐÏÌØÚÕÅÔÅ GCC ×Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÏÐÃÉÀ + --enable-depend × configure ÞÔÏÂÙ ÐÏÒÕÞÉÔØ ËÏÍÐÉÌÑÔÏÒÕ + Á×ÔÏÍÁÔÉÞÅÓËÉ ÏÔÓÌÅÖÉ×ÁÔØ ÚÁ×ÉÓÉÍÏÓÔÉ.

+ + +