ïÔ×ÅÔÙ ÎÁ ÞÁÓÔÏ ÚÁÄÁ×ÁÅÍÙÅ ×ÏÐÒÏÓÙ ÐÏ PostgreSQL
- äÁÔÁ ÐÏÓÌÅÄÎÅÇÏ ÏÂÎÏ×ÌÅÎÉÑ: ÷ÔÏÒÎÉË 26 áÐÒÅÌÑ 23:03:46 EDT 2002
+ äÁÔÁ ÐÏÓÌÅÄÎÅÇÏ ÏÂÎÏ×ÌÅÎÉÑ: þÅÔ×ÅÒÇ 11 éÀÎÑ 06:36:10 EDT 2002
áÎÇÌÉÊÓËÉÊ ×ÁÒÉÁÎÔ ÓÏÐÒÏ×ÏÖÄÁÅÔ: âÒÀÓ íÏÍØÑÎ (Bruce Momjian)
(pgman@candle.pha.pa.us)
4.23) ëÁË ×ÙÐÏÌÎÉÔØ ×ÎÅÛÎÅÅ Ó×ÑÚÙ×ÁÎÉÅ?
4.24) ëÁË ×ÙÐÏÌÎÑÔØ ÚÁÐÒÏÓÙ, ÉÓÐÏÌØÚÕÀÝÉÅ ÎÅÓËÏÌØËÏ ÂÁÚ ÄÁÎÎÙÈ?
4.25) ëÁË ÍÎÅ ×ÅÒÎÕÔØ ÉÚ ÆÕÎËÃÉÉ ÎÅÓËÏÌØËÏ ÚÁÐÉÓÅÊ?
+ 4.26) ðÏÞÅÍÕ Ñ ÎÅ ÍÏÇÕ ÎÁÄÅÖÎÏ ÓÏÚÄÁ×ÁÔØ/ÕÄÁÌÑÔØ ×ÒÅÍÅÎÎÙÅ ÔÁÂÌÉÃÙ ×
+ ÆÕÎËÃÉÑÈ PL/PgSQL?
òÁÓÛÉÒÅÎÉÑ PostgreSQL
ÄÌÑ ÒÁÂÏÔÙ Ó ÓÏÄÅÒÖÉÍÙÍ ÂÌÏËÉÒÏ×ÏË.
ðÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ
- PostgreSQL ÍÏÖÅÔ ÒÁÂÏÔÁÔØ × Ä×ÕÈ ÒÅÖÉÍÁ. ÷ ÎÏÒÍÁÌØÎÏÍ fsync
- ÒÅÖÉÍÅ, ËÁÖÄÁÑ ÚÁ×ÅÒÛÅÎÎÁÑ ÔÒÁÎÚÁËÃÉÑ ÓÂÒÁÓÙ×ÁÅÔÓÑ ÎÁ ÄÉÓË,
- ÇÁÒÁÎÔÉÒÕÑ, ÞÔÏ ÅÓÌÉ ÏÐÅÒÁÃÉÏÎÎÁÑ ÓÉÓÔÅÍÁ ÉÌÉ ÐÉÔÁÎÉÅ ÒÕÈÎÅÔ ×
- ÓÌÅÄÕÀÝÉÅ ÎÅÓËÏÌØËÏ ÓÅËÕÎÄ, ×ÓÅ ×ÁÛÉ ÄÁÎÎÙÅ ÂÅÚÏÐÁÓÎÏ
- ÓÏÈÒÁÎÑÔÓÑ ÎÁ ÄÉÓËÅ. ÷ ÜÔÏÍ ÒÅÖÉÍÅ, ÍÙ ÒÁÂÏÔÁÅÍ ÍÅÄÌÅÎÅÅ, ÞÅÍ
- ÂÏÌØÛÉÎÓÔ×Ï ËÏÍÍÅÒÞÅÓËÉÈ óõâä, ÏÔÞÁÓÔÉ ÐÏÔÏÍÕ, ÞÔÏ ÎÅËÏÔÏÒÙÅ ÉÚ
- ÎÉÈ ÄÅÌÁÀÔ Õ ÓÅÂÑ ÐÏ ÕÍÏÌÞÁÎÉÀ ÔÁËÏÊ ËÏÎÓÅÒ×ÁÔÉ×ÎÙÊ ÓÂÒÏÓ ÎÁ
- ÄÉÓË. ÷ ÒÅÖÉÍÅ no-fsync, ÍÙ ÏÂÙÞÎÏ ÂÙÓÔÒÅÅ ÞÅÍ ËÏÍÍÅÒÞÅÓËÉÅ
- óõâä, ÎÏ × ÜÔÏÍ ÒÅÖÉÍÅ, ÐÁÄÅÎÉÅ ÏÐÅÒÁÃÉÏÏÎÏÊ ÓÉÓÔÅÍÙ ÍÏÖÅÔ
- ÐÒÉ×ÅÓÔÉ Ë ÐÏÔÅÒÅ ÄÁÎÎÙÈ. íÙ ÒÁÂÏÔÁÅÍ ÎÁÄ ÔÅÍ ÞÔÏÂÙ
- ÐÒÅÄÏÓÔÁ×ÉÔØ ÐÒÏÍÅÖÕÔÏÞÎÙÊ ÒÅÖÉÍ, ËÏÔÏÒÙÊ ÏÂÅÓÐÅÞÉ×ÁÌ ÂÏÌÅÅ
- ×ÙÓÏËÕÀ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ, ÞÅÍ fsync ÒÅÖÉÍ É ÐÏÚ×ÏÌÑÌ
- ÓÏÈÒÁÎÉÔØ ÃÅÌÏÓÔÎÏÓÔØ ÄÁÎÎÙÈ ÚÁÐÉÓÁÎÎÙÈ × ÔÅÞÅÎÉÉ 30 ÓÅËÕÎÄ ÄÏ
- ÐÁÄÅÎÉÑ ÏÐÅÒÁÃÉÏÎÎÏÊ ÓÉÓÔÅÍÙ.
+ PostgreSQL ÉÍÅÅÔ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ ÓÈÏÖÕÀ Ó ÄÒÕÇÉÍÉ
+ ËÏÍÍÅÒÞÅÓËÉÍÉ óõâä É Ó óõâä Ó ÏÔËÒÙÔÙÍ ÉÓÈÏÄÎÙÍ ËÏÄÏÍ, ×
+ ËÁËÉÈ-ÔÏ ÁÓÐÅËÔÁÈ ÒÁÂÏÔÁÑ ÂÙÓÔÒÅÅ ÞÅÍ ÏÎÉ, × ËÁËÉÈ-ÔÏ ÍÅÄÌÅÎÅÅ.
÷ ÓÒÁ×ÎÅÎÉÉ Ó MySQL ÉÌÉ ÌÉÎÅÊÎÙÍÉ óõâä, ÍÙ ÍÅÄÌÅÎÅÅ ÐÒÉ
- ÏÐÅÒÁÃÉÑÈ ×ÓÔÁ×ËÉ/ÏÂÎÏ×ÌÅÎÉÑ, ÐÏÔÏÍÕ ÞÔÏ ÍÙ ÕÐÒÁ×ÌÑÅÍ
+ ÏÐÅÒÁÃÉÑÈ ×ÓÔÁ×ËÉ/ÏÂÎÏ×ÌÅÎÉÑ, ÐÏÔÏÍÕ ÞÔÏ ÕÐÒÁ×ÌÑÅÍ
ÔÒÁÎÚÁËÃÉÑÍÉ. é ÒÁÚÕÍÅÅÔÓÑ, MySQL ÎÅ ÉÍÅÅÔ ËÁËÉÈ-ÌÉÂÏ
- ×ÏÚÍÏÖÎÏÓÔÅÊ ÉÚ ÐÅÒÅÞÉÓÌÅÎÙÈ × ÓÅËÃÉÉ ÷ÏÚÍÏÖÎÏÓÔÉ. íÙ ÄÅÌÁÅÍ
- ÕÐÏÒ ÎÁ ÕÄÏÂÓÔ×Å É ×ÏÚÍÏÖÎÏÓÔÑÈ, ÎÏ ÍÙ ÔÁËÖÅ ÐÒÏÄÏÌÖÁÅÍ
- Õ×ÅÌÉÞÉ×ÁÔØ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ ÐÕÔÅÍ ÐÒÏÆÉÌÉÒÏ×ÁÎÉÑ É ÁÎÁÌÉÚÁ
- ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ×. óÕÝÅÓÔ×ÕÅÔ ÉÎÔÅÒÅÓÎÁÑ ÓÔÒÁÎÉÞËÁ × éÎÔÅÒÎÅÔ,
+ ×ÏÚÍÏÖÎÏÓÔÅÊ ÉÚ ÐÅÒÅÞÉÓÌÅÎÙÈ ×ÙÛÅ, × ÓÅËÃÉÉ ÷ÏÚÍÏÖÎÏÓÔÉ. íÙ
+ ÄÅÌÁÅÍ ÕÐÏÒ ÎÁ ÎÁÄÅÖÎÏÓÔØ É ÒÁÓÛÉÒÅÎÎÙÅ ×ÏÚÍÏÖÎÏÓÔÉ, ÎÏ ÍÙ
+ ÔÁËÖÅ ÐÒÏÄÏÌÖÁÅÍ Õ×ÅÌÉÞÉ×ÁÔØ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ Ó ËÁÖÄÙÍ
+ ×ÙÐÕÓËÏÍ. óÕÝÅÓÔ×ÕÅÔ ÉÎÔÅÒÅÓÎÁÑ ÓÔÒÁÎÉÞËÁ × éÎÔÅÒÎÅÔ,
ÓÒÁ×ÎÉ×ÁÀÝÁÑ PostgreSQL É MySQL ÎÁ
http://openacs.org/why-not-mysql.html
- íÙ ÕÐÒÁ×ÌÑÅÍ ËÁÖÄÙÍ ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÍ ÓÏÅÄÉÎÅÎÉÅÍ, ÓÏÚÄÁ×ÁÑ Unix
- backend ÐÒÏÃÅÓÓ. Backend ÐÒÏÃÅÓÓÙ ÒÁÚÄÅÌÑÀÔ ÂÕÆÅÒÙ ÄÁÎÎÙÈ É
- ÉÎÆÏÒÍÁÃÉÀ Ï ÂÌÏËÉÒÏ×ËÁÈ. ðÒÉ ÎÁÌÉÞÉÉ ÎÅÓËÏÌØËÉÈ ÐÒÏÃÅÓÓÏÒÏ×,
- ÎÅÓËÏÌØËÏ backend ÐÒÏÃÅÓÓÏ× ÌÅÇËÏ ÍÏÇÕÔ ÂÙÔØ ÚÁÐÕÝÅÎÙ ÎÁ ÒÁÚÎÙÈ
- ÐÒÏÃÅÓÓÏÒÁÈ.
îÁÄÅÖÎÏÓÔØ
íÙ ÐÏÎÉÍÁÌÉ, ÞÔÏ ÎÁÛÁ óõâä ÄÏÌÖÎÁ ÂÙÔØ ÎÁÄÅÖÎÏÊ ÉÌÉ ÏÎÁ ÎÉÞÅÇÏ
refcursors. óÍÏÔÒÉÔÅ
http://developer.postgresql.org/docs/postgres/plpgsql-cursors.html,
ÓÅËÃÉÀ 23.7.3.3.
+
+ 4.26) ðÏÞÅÍÕ Ñ ÎÅ ÍÏÇÕ ÎÁÄÅÖÎÏ ÓÏÚÄÁ×ÁÔØ/ÕÄÁÌÑÔØ ×ÒÅÍÅÎÎÙÅ ÔÁÂÌÉÃÙ ×
+ ÆÕÎËÃÉÑÈ PL/PgSQL?
+
+ PL/PgSQL ËÜÛÉÒÕÅÔ ÓÏÄÅÒÖÉÍÏÅ ÆÕÎËÃÉÉ É ÏÄÉÎ ÉÚ ÎÅÇÁÔÉ×ÎÙÈ ÜÆÆÅËÔÏ×
+ ÜÔÏÇÏ ÓÏÓÔÏÉÔ × ÔÏÍ, ÞÔÏ ÅÓÌÉ ÆÕÎËÃÉÑ PL/PgSQL ÏÂÒÁÝÁÅÔÓÑ Ë ×ÒÅÍÅÎÎÏÊ
+ ÔÁÂÌÉÃÅ É ÜÔÁ ÔÁÂÌÉÃÁ ÐÏÚÄÎÅÅ ÕÄÁÌÑÅÔÓÑ É ÐÅÒÅÓÏÚÄÁÅÔÓÑ, Á ÆÕÎËÃÉÑ
+ ÚÁÔÅÍ ×ÙÚÙ×ÁÅÔÓÑ ÓÎÏ×Á, ÔÏ ÅÅ ×ÙÚÏ× ÐÒÉ×ÅÄÅÔ Ë ÏÛÉÂËÅ, ÐÏÔÏÍÕ ÞÔÏ
+ ÓËÜÛÉÒÏ×ÁÎÎÏÅ ÓÏÄÅÒÖÉÍÏÅ ÆÕÎËÃÉÉ ÓÏÄÅÒÖÉÔ ÕËÁÚÁÔÅÌØ ÎÁ ÓÔÁÒÕÀ
+ ×ÒÅÍÅÎÎÕÀ ÔÁÂÌÉÃÕ. þÔÏÂÙ ÒÅÛÉÔØ ÜÔÕ ÐÒÏÂÌÅÍÕ, ÉÓÐÏÌØÚÕÊÔÅ EXECUTE ÄÌÑ
+ ÄÏÓÔÕÐÁ Ë ×ÒÅÍÅÎÎÙÍ ÔÁÂÌÉÃÁÍ × PL/PgSQL. éÓÐÏÌØÚÏ×ÁÎÉÅ ÜÔÏÇÏ ÏÐÅÒÁÔÏÒÁ
+ ÚÁÓÔÁ×ÉÔ ÚÁÐÒÏÓ ÐÅÒÅÇÅÎÅÒÉÒÏ×ÁÔØÓÑ ËÁÖÄÙÊ ÒÁÚ.
_________________________________________________________________
òÁÓÛÉÒÅÎÉÑ PostgreSQL
alink="#0000ff">
<H1>ïÔ×ÅÔÙ ÎÁ ÞÁÓÔÏ ÚÁÄÁ×ÁÅÍÙÅ ×ÏÐÒÏÓÙ ÐÏ PostgreSQL</H1>
- <P>äÁÔÁ ÐÏÓÌÅÄÎÅÇÏ ÏÂÎÏ×ÌÅÎÉÑ: ÷ÔÏÒÎÉË 26 áÐÒÅÌÑ 23:03:46 EDT 2002</P>
+ <P>äÁÔÁ ÐÏÓÌÅÄÎÅÇÏ ÏÂÎÏ×ÌÅÎÉÑ: þÅÔ×ÅÒÇ 11 éÀÎÑ 06:36:10 EDT 2002</P>
<P>áÎÇÌÉÊÓËÉÊ ×ÁÒÉÁÎÔ ÓÏÐÒÏ×ÏÖÄÁÅÔ: âÒÀÓ íÏÍØÑÎ (Bruce Momjian) (<A href=
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
<A href="#4.24">4.24</A>) ëÁË ×ÙÐÏÌÎÑÔØ ÚÁÐÒÏÓÙ, ÉÓÐÏÌØÚÕÀÝÉÅ ÎÅÓËÏÌØËÏ
ÂÁÚ ÄÁÎÎÙÈ?<BR>
<A href="#4.25">4.25</A>) ëÁË ÍÎÅ ×ÅÒÎÕÔØ ÉÚ ÆÕÎËÃÉÉ ÎÅÓËÏÌØËÏ ÚÁÐÉÓÅÊ?<BR>
-
+ <A href="#4.26">4.26</A>) ðÏÞÅÍÕ Ñ ÎÅ ÍÏÇÕ ÎÁÄÅÖÎÏ ÓÏÚÄÁ×ÁÔØ/ÕÄÁÌÑÔØ
+ ×ÒÅÍÅÎÎÙÅ ÔÁÂÌÉÃÙ × ÆÕÎËÃÉÑÈ PL/PgSQL?<BR>
<H2 align="center">òÁÓÛÉÒÅÎÉÑ PostgreSQL</H2>
<A href="#5.1">5.1</A>) ñ ÎÁÐÉÓÁÌ ÆÕÎËÃÉÀ ÏÐÒÅÄÅÌÑÅÍÕÀ ÐÏÌØÚÏ×ÁÔÅÌÅÍ.
<DT><B>ðÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ</B></DT>
- <DD>PostgreSQL ÍÏÖÅÔ ÒÁÂÏÔÁÔØ × Ä×ÕÈ ÒÅÖÉÍÁ. ÷ ÎÏÒÍÁÌØÎÏÍ <I>fsync</I>
- ÒÅÖÉÍÅ, ËÁÖÄÁÑ ÚÁ×ÅÒÛÅÎÎÁÑ ÔÒÁÎÚÁËÃÉÑ ÓÂÒÁÓÙ×ÁÅÔÓÑ ÎÁ ÄÉÓË,
- ÇÁÒÁÎÔÉÒÕÑ, ÞÔÏ ÅÓÌÉ ÏÐÅÒÁÃÉÏÎÎÁÑ ÓÉÓÔÅÍÁ ÉÌÉ ÐÉÔÁÎÉÅ ÒÕÈÎÅÔ
- × ÓÌÅÄÕÀÝÉÅ ÎÅÓËÏÌØËÏ ÓÅËÕÎÄ, ×ÓÅ ×ÁÛÉ ÄÁÎÎÙÅ ÂÅÚÏÐÁÓÎÏ
- ÓÏÈÒÁÎÑÔÓÑ ÎÁ ÄÉÓËÅ. ÷ ÜÔÏÍ ÒÅÖÉÍÅ, ÍÙ ÒÁÂÏÔÁÅÍ ÍÅÄÌÅÎÅÅ,
- ÞÅÍ ÂÏÌØÛÉÎÓÔ×Ï ËÏÍÍÅÒÞÅÓËÉÈ óõâä, ÏÔÞÁÓÔÉ ÐÏÔÏÍÕ, ÞÔÏ ÎÅËÏÔÏÒÙÅ
- ÉÚ ÎÉÈ ÄÅÌÁÀÔ Õ ÓÅÂÑ ÐÏ ÕÍÏÌÞÁÎÉÀ ÔÁËÏÊ ËÏÎÓÅÒ×ÁÔÉ×ÎÙÊ ÓÂÒÏÓ ÎÁ ÄÉÓË.
- ÷ ÒÅÖÉÍÅ <I>no-fsync</I>, ÍÙ ÏÂÙÞÎÏ ÂÙÓÔÒÅÅ ÞÅÍ ËÏÍÍÅÒÞÅÓËÉÅ óõâä,
- ÎÏ × ÜÔÏÍ ÒÅÖÉÍÅ, ÐÁÄÅÎÉÅ ÏÐÅÒÁÃÉÏÏÎÏÊ ÓÉÓÔÅÍÙ ÍÏÖÅÔ ÐÒÉ×ÅÓÔÉ Ë
- ÐÏÔÅÒÅ ÄÁÎÎÙÈ. íÙ ÒÁÂÏÔÁÅÍ ÎÁÄ ÔÅÍ ÞÔÏÂÙ ÐÒÅÄÏÓÔÁ×ÉÔØ ÐÒÏÍÅÖÕÔÏÞÎÙÊ
- ÒÅÖÉÍ, ËÏÔÏÒÙÊ ÏÂÅÓÐÅÞÉ×ÁÌ ÂÏÌÅÅ ×ÙÓÏËÕÀ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ,
- ÞÅÍ <I>fsync</I> ÒÅÖÉÍ É ÐÏÚ×ÏÌÑÌ ÓÏÈÒÁÎÉÔØ ÃÅÌÏÓÔÎÏÓÔØ ÄÁÎÎÙÈ
- ÚÁÐÉÓÁÎÎÙÈ × ÔÅÞÅÎÉÉ 30 ÓÅËÕÎÄ ÄÏ ÐÁÄÅÎÉÑ ÏÐÅÒÁÃÉÏÎÎÏÊ ÓÉÓÔÅÍÙ.<BR>
- <BR>
- ÷ ÓÒÁ×ÎÅÎÉÉ Ó MySQL ÉÌÉ ÌÉÎÅÊÎÙÍÉ óõâä, ÍÙ ÍÅÄÌÅÎÅÅ ÐÒÉ ÏÐÅÒÁÃÉÑÈ
- ×ÓÔÁ×ËÉ/ÏÂÎÏ×ÌÅÎÉÑ, ÐÏÔÏÍÕ ÞÔÏ ÍÙ ÕÐÒÁ×ÌÑÅÍ ÔÒÁÎÚÁËÃÉÑÍÉ. é ÒÁÚÕÍÅÅÔÓÑ,
- MySQL ÎÅ ÉÍÅÅÔ ËÁËÉÈ-ÌÉÂÏ ×ÏÚÍÏÖÎÏÓÔÅÊ ÉÚ ÐÅÒÅÞÉÓÌÅÎÙÈ × ÓÅËÃÉÉ
- <I>÷ÏÚÍÏÖÎÏÓÔÉ</I>. íÙ ÄÅÌÁÅÍ ÕÐÏÒ ÎÁ ÕÄÏÂÓÔ×Å É
- ×ÏÚÍÏÖÎÏÓÔÑÈ, ÎÏ ÍÙ ÔÁËÖÅ ÐÒÏÄÏÌÖÁÅÍ Õ×ÅÌÉÞÉ×ÁÔØ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ
- ÐÕÔÅÍ ÐÒÏÆÉÌÉÒÏ×ÁÎÉÑ É ÁÎÁÌÉÚÁ ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ×. óÕÝÅÓÔ×ÕÅÔ
- ÉÎÔÅÒÅÓÎÁÑ ÓÔÒÁÎÉÞËÁ × éÎÔÅÒÎÅÔ, ÓÒÁ×ÎÉ×ÁÀÝÁÑ PostgreSQL É MySQL ÎÁ <A href=
- "http://openacs.org/why-not-mysql.html">http://openacs.org/why-not-mysql.html</A><BR>
+ <DD>PostgreSQL ÉÍÅÅÔ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ ÓÈÏÖÕÀ Ó ÄÒÕÇÉÍÉ ËÏÍÍÅÒÞÅÓËÉÍÉ
+ óõâä É Ó óõâä Ó ÏÔËÒÙÔÙÍ ÉÓÈÏÄÎÙÍ ËÏÄÏÍ, × ËÁËÉÈ-ÔÏ ÁÓÐÅËÔÁÈ ÒÁÂÏÔÁÑ
+ ÂÙÓÔÒÅÅ ÞÅÍ ÏÎÉ, × ËÁËÉÈ-ÔÏ ÍÅÄÌÅÎÅÅ. ÷ ÓÒÁ×ÎÅÎÉÉ Ó MySQL ÉÌÉ ÌÉÎÅÊÎÙÍÉ
+ óõâä, ÍÙ ÍÅÄÌÅÎÅÅ ÐÒÉ ÏÐÅÒÁÃÉÑÈ ×ÓÔÁ×ËÉ/ÏÂÎÏ×ÌÅÎÉÑ, ÐÏÔÏÍÕ ÞÔÏ ÕÐÒÁ×ÌÑÅÍ
+ ÔÒÁÎÚÁËÃÉÑÍÉ. é ÒÁÚÕÍÅÅÔÓÑ, MySQL ÎÅ ÉÍÅÅÔ ËÁËÉÈ-ÌÉÂÏ ×ÏÚÍÏÖÎÏÓÔÅÊ ÉÚ
+ ÐÅÒÅÞÉÓÌÅÎÙÈ ×ÙÛÅ, × ÓÅËÃÉÉ <I>÷ÏÚÍÏÖÎÏÓÔÉ</I>.
+ íÙ ÄÅÌÁÅÍ ÕÐÏÒ ÎÁ ÎÁÄÅÖÎÏÓÔØ É ÒÁÓÛÉÒÅÎÎÙÅ ×ÏÚÍÏÖÎÏÓÔÉ, ÎÏ ÍÙ ÔÁËÖÅ
+ ÐÒÏÄÏÌÖÁÅÍ Õ×ÅÌÉÞÉ×ÁÔØ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ Ó ËÁÖÄÙÍ ×ÙÐÕÓËÏÍ. óÕÝÅÓÔ×ÕÅÔ
+ ÉÎÔÅÒÅÓÎÁÑ ÓÔÒÁÎÉÞËÁ × éÎÔÅÒÎÅÔ, ÓÒÁ×ÎÉ×ÁÀÝÁÑ PostgreSQL É MySQL ÎÁ
+ <A href="http://openacs.org/why-not-mysql.html">
+
+ http://openacs.org/why-not-mysql.html</A><BR>
<BR>
- íÙ ÕÐÒÁ×ÌÑÅÍ ËÁÖÄÙÍ ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÍ ÓÏÅÄÉÎÅÎÉÅÍ, ÓÏÚÄÁ×ÁÑ
- Unix backend ÐÒÏÃÅÓÓ. Backend ÐÒÏÃÅÓÓÙ ÒÁÚÄÅÌÑÀÔ ÂÕÆÅÒÙ ÄÁÎÎÙÈ É ÉÎÆÏÒÍÁÃÉÀ
- Ï ÂÌÏËÉÒÏ×ËÁÈ. ðÒÉ ÎÁÌÉÞÉÉ ÎÅÓËÏÌØËÉÈ ÐÒÏÃÅÓÓÏÒÏ×, ÎÅÓËÏÌØËÏ
- backend ÐÒÏÃÅÓÓÏ× ÌÅÇËÏ ÍÏÇÕÔ ÂÙÔØ ÚÁÐÕÝÅÎÙ ÎÁ ÒÁÚÎÙÈ ÐÒÏÃÅÓÓÏÒÁÈ.<BR>
- <BR>
</DD>
<DT><B>îÁÄÅÖÎÏÓÔØ</B></DT>
<H4><A name="4.25">4.25</A>) ëÁË ÍÎÅ ×ÅÒÎÕÔØ ÉÚ ÆÕÎËÃÉÉ ÎÅÓËÏÌØËÏ ÚÁÐÉÓÅÊ?</H4>
<P>÷Ù ÍÏÖÅÔÅ ×ÏÚ×ÒÁÝÁÔØ ÉÚ ÆÕÎËÃÉÊ PL/pgSQL ÓÐÉÓËÉ ÒÅÚÕÌØÔÁÔÏ×, ÉÓÐÏÌØÚÕÑ
- <i>refcursors</i>. óÍÏÔÒÉÔÅ <a
+ <i>refcursors</i>. óÍÏÔÒÉÔÅ <A
href="http://developer.postgresql.org/docs/postgres/plpgsql-cursors.html">
http://developer.postgresql.org/docs/postgres/plpgsql-cursors.html,</a>
ÓÅËÃÉÀ 23.7.3.3.</P>
- <HR>
+
+ <H4><A name="4.26">4.26</A>) ðÏÞÅÍÕ Ñ ÎÅ ÍÏÇÕ ÎÁÄÅÖÎÏ ÓÏÚÄÁ×ÁÔØ/ÕÄÁÌÑÔØ
+ ×ÒÅÍÅÎÎÙÅ ÔÁÂÌÉÃÙ × ÆÕÎËÃÉÑÈ PL/PgSQL?</H4>
+ PL/PgSQL ËÜÛÉÒÕÅÔ ÓÏÄÅÒÖÉÍÏÅ ÆÕÎËÃÉÉ É ÏÄÉÎ ÉÚ ÎÅÇÁÔÉ×ÎÙÈ ÜÆÆÅËÔÏ× ÜÔÏÇÏ
+ ÓÏÓÔÏÉÔ × ÔÏÍ, ÞÔÏ ÅÓÌÉ ÆÕÎËÃÉÑ PL/PgSQL ÏÂÒÁÝÁÅÔÓÑ Ë ×ÒÅÍÅÎÎÏÊ ÔÁÂÌÉÃÅ
+ É ÜÔÁ ÔÁÂÌÉÃÁ ÐÏÚÄÎÅÅ ÕÄÁÌÑÅÔÓÑ É ÐÅÒÅÓÏÚÄÁÅÔÓÑ, Á ÆÕÎËÃÉÑ ÚÁÔÅÍ ×ÙÚÙ×ÁÅÔÓÑ
+ ÓÎÏ×Á, ÔÏ ÅÅ ×ÙÚÏ× ÐÒÉ×ÅÄÅÔ Ë ÏÛÉÂËÅ, ÐÏÔÏÍÕ ÞÔÏ ÓËÜÛÉÒÏ×ÁÎÎÏÅ ÓÏÄÅÒÖÉÍÏÅ
+ ÆÕÎËÃÉÉ ÓÏÄÅÒÖÉÔ ÕËÁÚÁÔÅÌØ ÎÁ ÓÔÁÒÕÀ ×ÒÅÍÅÎÎÕÀ ÔÁÂÌÉÃÕ. þÔÏÂÙ ÒÅÛÉÔØ ÜÔÕ
+ ÐÒÏÂÌÅÍÕ, ÉÓÐÏÌØÚÕÊÔÅ <SMALL>EXECUTE</SMALL> ÄÌÑ ÄÏÓÔÕÐÁ Ë ×ÒÅÍÅÎÎÙÍ
+ ÔÁÂÌÉÃÁÍ × PL/PgSQL. éÓÐÏÌØÚÏ×ÁÎÉÅ ÜÔÏÇÏ ÏÐÅÒÁÔÏÒÁ ÚÁÓÔÁ×ÉÔ ÚÁÐÒÏÓ
+ ÐÅÒÅÇÅÎÅÒÉÒÏ×ÁÔØÓÑ ËÁÖÄÙÊ ÒÁÚ.
+ <HR>
<H2 align="center">òÁÓÛÉÒÅÎÉÑ PostgreSQL</H2>