ïÔ×ÅÔÙ ÎÁ ÞÁÓÔÏ ÚÁÄÁ×ÁÅÍÙÅ ×ÏÐÒÏÓÙ ÐÏ PostgreSQL
- äÁÔÁ ÐÏÓÌÅÄÎÅÇÏ ÏÂÎÏ×ÌÅÎÉÑ: ÷ÔÏÒÎÉË 26 áÐÒÅÌÑ 23:03:46 EDT 2002
+ äÁÔÁ ÐÏÓÌÅÄÎÅÇÏ ÏÂÎÏ×ÌÅÎÉÑ: þÅÔ×ÅÒÇ 11 éÀÎÑ 06:36:10 EDT 2002
áÎÇÌÉÊÓËÉÊ ×ÁÒÉÁÎÔ ÓÏÐÒÏ×ÏÖÄÁÅÔ: âÒÀÓ íÏÍØÑÎ (Bruce Momjian)
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