Otvety na chasto zadavaemye voprosy po PostgreSQL
- Data poslednego obnovleniya: Vtornik 31 avgusta 23:28:03 EDT 2004
+ Data poslednego obnovleniya: Sreda 15 dekabrya 20:06:34 EST 2004
Anglijskij variant soprovozhdaet: Bryus Mom'yan (Bruce Momjian)
(pgman@candle.pha.pa.us)
4.25) Kak mne vernut' iz funkcii neskol'ko zapisej?
4.26) Pochemu ya ne mogu nadezhno sozdavat'/udalyat' vremennye tablicy
v funkciyah PL/PgSQL?
- 4.27) Kakie opcii replikacii suschestvuyut?
- 4.28) Kakie opcii shifrovaniya suschestvuyut?
+ 4.27) Kakie opcii shifrovaniya suschestvuyut?
Rasshireniya PostgreSQL
Nachinaya s versii 8.0, PostgreSQL bez vsyakih uhischrenij rabotaet na
operacionnyh sistemah Microsoft Windows, osnovannyh na NT, takih kak
Win2000, WinXP i Win2003. Paket installyatora dostupen po adresu
- http://pgfoundry.org/projects/pginstaller.
+ http://pgfoundry.org/projects/pginstaller. Versii Windows, osnovannye
+ na MS-DOS (Win95, Win98, WinMe) mogut zapuskat' PostgreSQL s
+ pomosch'yu Cygwin.
Takzhe suschestvuet versiya sportirovannaya pod Novell Netware 6 na
http://forge.novell.com.
http://www.PostgreSQL.org
- Esche suschestvuet IRC kanal na Freenode i EFNet, s nazvaniem
- #PostgreSQL. YA ispol'zuyu dlya podklyucheniya k `etomu kanalu komandu
- Unix irc -c '#PostgreSQL' "$USER" irc.phoenix.net. ili irc -c
- '#PostgreSQL' "$USER" irc.freenode.net.
+ Glavnym IRC kanalom yavlyaetsya #postgreql, raspolozhennyj na servere
+ Freenode (irc.freenode.net). CHtoby podklyuchit'sya, vy mozhete
+ ispol'zovat' komandu Unix irc -c '#postgresql' "$USER"
+ irc.freenode.net ili lyuboj drugoj IRC klient. Na `etom zhe servere
+ suschestvuyut kanaly na ispanskom (#postgresql-es) i francuzskom
+ (#postgresqlfr) yazykah. Takzhe suschestvuet kanal po PostgreSQL na
+ servere EFNet.
Spisok kommercheskoj podderzhki kompanij dostupen na
http://techdocs.postgresql.org/companies.php.
1.7) Kakaya poslednyaya versiya?
- Poslednij vypusk PostgreSQL - `eto versiya 7.4.5
+ Poslednij vypusk PostgreSQL - `eto versiya 7.4.6
My planiruem vypuskat' novye versii kazhdye 6-8 mesyacev.
1.13) Kak otpravit' soobschenie ob oshibke??
- Pozhalujsta posetite stranichku PostgreSQL BugTool na
- http://www.PostgreSQL.org/bugs/bugs.php, na kotoroj predostavleny
- detal'nye instrukcii o tom kak otpravit' soobschenie ob oshibke.
+ Zapolnite formu ob oshibke v PostgreSQL, kotoraya raspolozhena na
+ http://www.postgresql.org/bugform.html.
Takzhe ne zabud'te posmotret' na ftp://ftp.PostgreSQL.org/pub na
predmet bolee svezhih versij PostgreSQL ili zaplat.
dlya raboty s soderzhimym blokirovok.
Proizvoditel'nost'
- PostgreSQL imeet proizvoditel'nost' shozhuyu s drugimi
+ PostgreSQL imeet proizvoditel'nost' shodnuyu s drugimi
kommercheskimi SUBD i s SUBD s otkrytym ishodnym kodom, v
kakih-to aspektah rabotaya bystree chem oni, v kakih-to
medlenee. V sravnenii s MySQL ili obydennee SUBD, my bystree,
Da, suschestvuet neskol'ko graficheskih interfejsov dlya PostgreSQL.
`Eto PgAccess (http://www.pgaccess.org), PgAdmin III
- (http://www.pgadmin.org), RHDB Admin (http://sources.redhat.com/rhdb/)
- i Rekall ( http://www.thekompany.com/products/rekall/, kommercheskij).
- Takzhe est' PhpPgAdmin ( http://phppgadmin.sourceforge.net/) -
- interfejs k PostgreSQL, osnovannyj na Web.
+ (http://www.pgadmin.org), RHDB Admin
+ (http://sources.redhat.com/rhdb/), TORA (http://www.globecom.net/tora/
+ (chastichno kommercheskoe PO) i Rekall (
+ http://www.thekompany.com/products/rekall/, kommercheskij). Takzhe
+ est' PhpPgAdmin ( http://phppgadmin.sourceforge.net/) - interfejs k
+ PostgreSQL, osnovannyj na Web.
2.4) Kakie yazyki mogut vzaimodejstvovat' s PostgreSQL?
backend processov vy nastroili dlya postmaster. Dlya bol'shinstva
sistem, s kolichestvom buferov i processov po umolchaniyu, neobhodimyj
minimum - `eto okolo 1 megabajta. Podrobnosti o razdelyaemoj pamyati i
- semaforah smotrite v Rukovodstve administratora PostgreSQL.
+ semaforah smotrite v Rukovodstve administratora PostgreSQL..
3.4) Kogda ya pytayus' zapustit' postmaster, ya poluchayu oshibki
IpcSemaphoreCreate. Pochemu?
nad udaleniem i peresozdaniem indeksov, kogda vy vypolnyaete bol'shie
izmeneniya dannyh.
- Suschestvuet neskol'ko opcij nastrojki. Vy mozhete zapretit' fsync()
- pri starte postmaster s opciej -o -F. `Eto predotvratit vyzovy
- fsync(), kotorye privodyat k sbrosu dannyh na disk posle kazhdoj
- tranzakcii.
+ Suschestvuet neskol'ko opcij nastrojki v Rukovodstve Administratora
+ PostgreSQL. Vy mozhete zapretit' fsync() pri starte postmaster s
+ opciej -o -F. `Eto predotvratit vyzovy fsync(), kotorye privodyat k
+ sbrosu dannyh na disk posle kazhdoj tranzakcii.
- Vy mozhete takzhe ispol'zovat' dlya postmaster opciyu -B dlya
+ Vy mozhete takzhe ispol'zovat' opciyu shared_buffers -B dlya
uvelicheniya kolichestva buferov razdelyaemoj pamyati, kotoraya
ispol'zuetsya backend processami. Esli vy sdelaete znachenie `etogo
parametra slishkom bol'shim, to postmaster mozhet ne zapustitsya
potomu chto vy ischerpaete ogranichenie yadra na ob"em razdelyaemoj
pamyati. Kazhdyj bufer imeet razmer v 8 kilobajt i po umolchaniyu
- vydelyaetsya 64 bufera.
+ vydelyaetsya 1000 buferov.
- Vy mozhete takzhe ispol'zovat' backend opciyu -S dlya uvelicheniya
- maksimal'nogo kolichestva pamyati, kotoroe ispol'zuetsya backend
- processom dlya vremennyh sortirovok. Znachenie dlya opcii -S zadaetsya
- v kilobajtah i po umolchaniyu ravno 512 (t.e. 512K).
+ Vy mozhete takzhe ispol'zovat' backend opcii sort_mem i work_mem dlya
+ uvelicheniya maksimal'nogo kolichestva pamyati, kotoroe ispol'zuetsya
+ backend processom dlya vremennyh sortirovok. Znachenie po umolchaniyu
+ sostavlyaet 1024 (t.e. 1MB).
Vy takzhe mozhete ispol'zovat' komandu CLUSTER dlya gruppirovki dannyh
v tablicah na sovpadayuschij indeks. Podrobnosti smotrite na stranice
blokirovok/backend ne mogut byt' vosproizvedeny.
Esli postmaster zapuschen, zapustite psql v odnom okne, zatem najdite
- PID processa postgres, ispol'zuemyj psql. Ispol'zujte otdadchik dlya
- podklyucheniya k postgres PID. Vy mozhete ustanovit' tochki
- preryvaniya v otladchike i zapustit' zapros iz psql. Esli vy
- proizvodite otladku zapuska postgres, vy mozhete ustanovit'
+ PID processa postgres, ispol'zuemyj psql, ispol'zuya
+ SELECT pg_backend_pid()
+
+
+ Ispol'zujte otdadchik dlya podklyucheniya k postgres PID. Vy mozhete
+ ustanovit' tochki preryvaniya v otladchike i zapustit' zapros iz psql.
+ Esli vy proizvodite otladku zapuska postgres, vy mozhete ustanovit'
PGOPTIONS="-W n", i zatem zapustit' psql. `Eta opciya privodit k
zaderzhke processa zapuska na n sekund, v techenie kotoryh vy mozhete
podklyuchit' k processu otladchik, ustanovit' lyubye tochki
* Poisk nezavisimyj ot registra, takoj kak ILIKE i ~* ne ispol'zuet
indeksy. Vmesto nego, ispol'zujte funkcional'nye indeksy, kotorye
opisyvayutsya v sekcii 4.12.
- * Vo vremya initdb dolzhna ispol'zovat'sya lokal' po umolchaniyu C.
+ * Vo vremya initdb dolzhna ispol'zovat'sya lokal' po umolchaniyu C,
+ potomu chto ne suschestvuet vozmozhnosti uznat' next-greater
+ simvol dlya ne-C lokali. Vy mozhete dlya takih sluchaev sozdat'
+ special'nyj indeks
+ text_pattern_ops
+
+ kotoryj rabotaet tol'ko dlya
+ LIKE
+
+ indeksirovaniya.
V vypuskah do versii 8.0, indeksy chasto nel'zya bylo ispol'zovat',
esli tipy dannyh tochno ne sovpadali s indeksnymi tipami kolonok. `Eto
EXECUTE dlya dostupa k vremennym tablicam v PL/PgSQL. Ispol'zovanie
`etogo operatora zastavit zapros peregenerirovat'sya kazhdyj raz.
- 4.27) Kakie opcii replikacii suschestvuyut?
-
- Est' neskol'ko opcij dlya replikacii tipa master/slave. Oni dopuskayut
- ispol'zovanie tol'ko master servera dlya vneseniya izmenenij v bazu
- dannyh, a slave servery prosto pozvolyayut chitat' dannye iz bazy. Ob
- `etom chitajte zdes':
- http://gborg.PostgreSQL.org/genpage?replication_research. O replikacii
- s neskol'kimi master serverami chitajte zdes':
- http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php.
-
- 4.28) Kakie opcii shifrovaniya suschestvuyut?
+ 4.27) Kakie opcii shifrovaniya suschestvuyut?
* contrib/pgcrypto soderzhit mnogo funkcij shifrovaniya dlya
ispol'zovaniya v SQL zaprosah.
<BODY bgcolor="#ffffff" text="#000000" link="#ff0000" vlink="#a00000" alink="#0000ff">
<H1>ïÔ×ÅÔÙ ÎÁ ÞÁÓÔÏ ÚÁÄÁ×ÁÅÍÙÅ ×ÏÐÒÏÓÙ ÐÏ PostgreSQL</H1>
- <P>äÁÔÁ ÐÏÓÌÅÄÎÅÇÏ ÏÂÎÏ×ÌÅÎÉÑ: ÷ÔÏÒÎÉË 31 Á×ÇÕÓÔÁ 23:28:03 EDT 2004</P>
+ <P>äÁÔÁ ÐÏÓÌÅÄÎÅÇÏ ÏÂÎÏ×ÌÅÎÉÑ: óÒÅÄÁ 15 ÄÅËÁÂÒÑ 20:06:34 EST 2004</P>
<P>áÎÇÌÉÊÓËÉÊ ×ÁÒÉÁÎÔ ÓÏÐÒÏ×ÏÖÄÁÅÔ: âÒÀÓ íÏÍØÑÎ (Bruce Momjian) (<A href=
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
</P>
<P>ðÅÒÅ×ÅÌ ÎÁ ÒÕÓÓËÉÊ: ÷ÉËÔÏÒ ÷ÉÓÌÏÂÏËÏ× (<A href=
- "mailto:pgman@candle.pha.pa.us">corochoone@perm.ru</A>)<BR>
+ "mailto:corochoone@perm.ru">corochoone@perm.ru</A>)<BR>
</P>
<P>óÁÍÕÀ Ó×ÅÖÕÀ ÁÎÇÌÉÊÓËÕÀ ×ÅÒÓÉÀ ÄÏËÕÍÅÎÔÁ ÍÏÖÎÏ ÎÁÊÔÉ ÎÁ
<A href="#4.25">4.25</A>) ëÁË ÍÎÅ ×ÅÒÎÕÔØ ÉÚ ÆÕÎËÃÉÉ ÎÅÓËÏÌØËÏ ÚÁÐÉÓÅÊ?<BR>
<A href="#4.26">4.26</A>) ðÏÞÅÍÕ Ñ ÎÅ ÍÏÇÕ ÎÁÄÅÖÎÏ ÓÏÚÄÁ×ÁÔØ/ÕÄÁÌÑÔØ
×ÒÅÍÅÎÎÙÅ ÔÁÂÌÉÃÙ × ÆÕÎËÃÉÑÈ PL/PgSQL?<BR>
- <A href="#4.27">4.27</A>) ëÁËÉÅ ÏÐÃÉÉ ÒÅÐÌÉËÁÃÉÉ ÓÕÝÅÓÔ×ÕÀÔ?<BR>
- <A href="#4.28">4.28</A>) ëÁËÉÅ ÏÐÃÉÉ ÛÉÆÒÏ×ÁÎÉÑ ÓÕÝÅÓÔ×ÕÀÔ?<BR>
+ <A href="#4.27">4.27</A>) ëÁËÉÅ ÏÐÃÉÉ ÛÉÆÒÏ×ÁÎÉÑ ÓÕÝÅÓÔ×ÕÀÔ?<BR>
<H2 align="center">òÁÓÛÉÒÅÎÉÑ PostgreSQL</H2>
<A href="#5.1">5.1</A>) ñ ÎÁÐÉÓÁÌ ÆÕÎËÃÉÀ ÏÐÒÅÄÅÌÑÅÍÕÀ ÐÏÌØÚÏ×ÁÔÅÌÅÍ.
<P>óÉÓÔÅÍÁ õÐÒÁ×ÌÅÎÉÑ âÁÚÁÍÉ äÁÎÎÙÈ PostgreSQL</P>
- <P>Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
- Portions Copyright (c) 1994-6 Regents of the University of California</P>
+ <P>Portions copyright (c) 1996-2004, PostgreSQL Global Development
+ Group Portions Copyright (c) 1994-6 Regents of the University of
+ California</P>
<P>ðÒÅÄÏÓÔÁ×ÌÑÀÔÓÑ ÐÒÁ×Á ÎÁ ÉÓÐÏÌØÚÏ×ÁÎÉÅ, ËÏÐÉÒÏ×ÁÎÉÅ, ÉÚÍÅÎÅÎÉÅ
É ÒÁÓÐÒÏÓÔÒÁÎÅÎÉÅ ÄÁÎÎÏÇÏ ÐÒÏÇÒÁÍÍÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ É ÅÇÏ ÄÏËÕÍÅÎÔÁÃÉÉ
ÏÐÅÒÁÃÉÏÎÎÙÈ ÓÉÓÔÅÍÁÈ Microsoft Windows, ÏÓÎÏ×ÁÎÎÙÈ ÎÁ NT, ÔÁËÉÈ ËÁË
Win2000, WinXP É Win2003. ðÁËÅÔ ÉÎÓÔÁÌÌÑÔÏÒÁ ÄÏÓÔÕÐÅÎ ÐÏ ÁÄÒÅÓÕ
<A href="http://pgfoundry.org/projects/pginstaller">
- http://pgfoundry.org/projects/pginstaller</A>.</P>
+ http://pgfoundry.org/projects/pginstaller</A>. ÷ÅÒÓÉÉ Windows,
+ ÏÓÎÏ×ÁÎÎÙÅ ÎÁ MS-DOS (Win95, Win98, WinMe) ÍÏÇÕÔ ÚÁÐÕÓËÁÔØ
+ PostgreSQL Ó ÐÏÍÏÝØÀ Cygwin.</P>
<P>ôÁËÖÅ ÓÕÝÅÓÔ×ÕÅÔ ×ÅÒÓÉÑ ÓÐÏÒÔÉÒÏ×ÁÎÎÁÑ ÐÏÄ Novell Netware 6 ÎÁ
<a href="http://forge.novell.com/">http://forge.novell.com</a>.</P>
<A href="http://www.PostgreSQL.org">http://www.PostgreSQL.org</A>
</BLOCKQUOTE>
- <P>åÝÅ ÓÕÝÅÓÔ×ÕÅÔ IRC ËÁÎÁÌ ÎÁ Freenode É EFNet, Ó ÎÁÚ×ÁÎÉÅÍ
- <I>#PostgreSQL</I>. ñ ÉÓÐÏÌØÚÕÀ ÄÌÑ ÐÏÄËÌÀÞÅÎÉÑ Ë ÜÔÏÍÕ ËÁÎÁÌÕ ËÏÍÁÎÄÕ Unix
- <CODE>irc -c '#PostgreSQL' "$USER" irc.phoenix.net.</CODE> ÉÌÉ
- <CODE>irc -c '#PostgreSQL' "$USER" irc.freenode.net.</CODE></P>
+ <P>çÌÁ×ÎÙÍ IRC ËÁÎÁÌÏÍ Ñ×ÌÑÅÔÓÑ <I>#postgreql</I>,
+ ÒÁÓÐÏÌÏÖÅÎÎÙÊ ÎÁ ÓÅÒ×ÅÒÅ Freenode (<I>irc.freenode.net</I>). þÔÏÂÙ
+ ÐÏÄËÌÀÞÉÔØÓÑ, ×Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ËÏÍÁÎÄÕ Unix
+ <code>irc -c '#postgresql' "$USER" irc.freenode.net</code> ÉÌÉ
+ ÌÀÂÏÊ ÄÒÕÇÏÊ IRC ËÌÉÅÎÔ. îÁ ÜÔÏÍ ÖÅ ÓÅÒ×ÅÒÅ ÓÕÝÅÓÔ×ÕÀÔ ËÁÎÁÌÙ ÎÁ
+ ÉÓÐÁÎÓËÏÍ (<I>#postgresql-es</I>) É ÆÒÁÎÃÕÚÓËÏÍ (<I>#postgresqlfr</I>)
+ ÑÚÙËÁÈ. ôÁËÖÅ ÓÕÝÅÓÔ×ÕÅÔ ËÁÎÁÌ ÐÏ PostgreSQL ÎÁ ÓÅÒ×ÅÒÅ EFNet.</P>
<P>óÐÉÓÏË ËÏÍÍÅÒÞÅÓËÏÊ ÐÏÄÄÅÒÖËÉ ËÏÍÐÁÎÉÊ ÄÏÓÔÕÐÅÎ ÎÁ
<A href="http://techdocs.postgresql.org/companies.php">http://techdocs.postgresql.org/companies.php</A>.</P>
<H4><A name="1.7">1.7</A>) ëÁËÁÑ ÐÏÓÌÅÄÎÑÑ ×ÅÒÓÉÑ?</H4>
- <P>ðÏÓÌÅÄÎÉÊ ×ÙÐÕÓË PostgreSQL - ÜÔÏ ×ÅÒÓÉÑ 7.4.5</P>
+ <P>ðÏÓÌÅÄÎÉÊ ×ÙÐÕÓË PostgreSQL - ÜÔÏ ×ÅÒÓÉÑ 7.4.6</P>
<P>íÙ ÐÌÁÎÉÒÕÅÍ ×ÙÐÕÓËÁÔØ ÎÏ×ÙÅ ×ÅÒÓÉÉ ËÁÖÄÙÅ 6-8 ÍÅÓÑÃÅ×.</P>
<H4><A name="1.13">1.13</A>) ëÁË ÏÔÐÒÁ×ÉÔØ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ??</H4>
- <P>ðÏÖÁÌÕÊÓÔÁ ÐÏÓÅÔÉÔÅ ÓÔÒÁÎÉÞËÕ PostgreSQL BugTool ÎÁ <A href=
- "http://www.postgresql.org/bugs/bugs.php">http://www.PostgreSQL.org/bugs/bugs.php</A>,
- ÎÁ ËÏÔÏÒÏÊ ÐÒÅÄÏÓÔÁ×ÌÅÎÙ ÄÅÔÁÌØÎÙÅ ÉÎÓÔÒÕËÃÉÉ Ï ÔÏÍ ËÁË ÏÔÐÒÁ×ÉÔØ
- ÓÏÏÂÝÅÎÉÅ ÏÂ ÏÛÉÂËÅ.</P>
+ <P>úÁÐÏÌÎÉÔÅ ÆÏÒÍÕ ÏÂ ÏÛÉÂËÅ × PostgreSQL, ËÏÔÏÒÁÑ ÒÁÓÐÏÌÏÖÅÎÁ ÎÁ
+ <A href="http://www.postgresql.org/bugform.html">http://www.postgresql.org/bugform.html</A>.</P>
<P>ôÁËÖÅ ÎÅ ÚÁÂÕÄØÔÅ ÐÏÓÍÏÔÒÅÔØ ÎÁ <A href=
"ftp://ftp.PostgreSQL.org/pub">ftp://ftp.PostgreSQL.org/pub</A>
<DT><B>ðÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ</B></DT>
- <DD>PostgreSQL ÉÍÅÅÔ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ ÓÈÏÖÕÀ Ó ÄÒÕÇÉÍÉ ËÏÍÍÅÒÞÅÓËÉÍÉ
+ <DD>PostgreSQL ÉÍÅÅÔ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ ÓÈÏÄÎÕÀ Ó ÄÒÕÇÉÍÉ ËÏÍÍÅÒÞÅÓËÉÍÉ
óõâä É Ó óõâä Ó ÏÔËÒÙÔÙÍ ÉÓÈÏÄÎÙÍ ËÏÄÏÍ, × ËÁËÉÈ-ÔÏ ÁÓÐÅËÔÁÈ ÒÁÂÏÔÁÑ
ÂÙÓÔÒÅÅ ÞÅÍ ÏÎÉ, × ËÁËÉÈ-ÔÏ ÍÅÄÌÅÎÅÅ. ÷ ÓÒÁ×ÎÅÎÉÉ Ó MySQL ÉÌÉ ÏÂÙÄÅÎÎÅÅ
óõâä, ÍÙ ÂÙÓÔÒÅÅ, ËÏÇÄÁ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÍÎÏÇÏ, Á ÔÁËÖÅ ÎÁ ËÏÍÐÌÅËÓÎÙÈ
<P>äÁ, ÓÕÝÅÓÔ×ÕÅÔ ÎÅÓËÏÌØËÏ ÇÒÁÆÉÞÅÓËÉÈ ÉÎÔÅÒÆÅÊÓÏ× ÄÌÑ PostgreSQL.
üÔÏ PgAccess (<A href="http://www.pgaccess.org/">http://www.pgaccess.org</A>),
PgAdmin III (<A href="http://www.pgadmin.org/">http://www.pgadmin.org</A>),
- RHDB Admin (<A href="http://sources.redhat.com/rhdb/">http://sources.redhat.com/rhdb/</A>)
+ RHDB Admin (<A href="http://sources.redhat.com/rhdb/">http://sources.redhat.com/rhdb/</A>),
+ TORA (<A href="http://www.globecom.net/tora/">http://www.globecom.net/tora/
+ (ÞÁÓÔÉÞÎÏ ËÏÍÍÅÒÞÅÓËÏÅ ðï)</A>
É Rekall (<A href="http://www.thekompany.com/products/rekall/">
http://www.thekompany.com/products/rekall/</A>, ËÏÍÍÅÒÞÅÓËÉÊ). ôÁËÖÅ ÅÓÔØ
PhpPgAdmin (<A href="http://phppgadmin.sourceforge.net/">
Ó ËÏÌÉÞÅÓÔ×ÏÍ ÂÕÆÅÒÏ× É ÐÒÏÃÅÓÓÏ× ÐÏ ÕÍÏÌÞÁÎÉÀ, ÎÅÏÂÈÏÄÉÍÙÊ ÍÉÎÉÍÕÍ -
ÜÔÏ ÏËÏÌÏ 1 ÍÅÇÁÂÁÊÔÁ. ðÏÄÒÏÂÎÏÓÔÉ Ï ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ É ÓÅÍÁÆÏÒÁÈ
ÓÍÏÔÒÉÔÅ × <A href=
- "http://www.postgresql.org/docs/viev.php?version=current&idoc=1&file=kernel-resources.html">òÕËÏ×ÏÄÓÔ×Å
- ÁÄÍÉÎÉÓÔÒÁÔÏÒÁ PostgreSQL</A>.</P>
+ "http://www.postgresql.org/docs/current/static/kernel-resources.html">òÕËÏ×ÏÄÓÔ×Å
+ ÁÄÍÉÎÉÓÔÒÁÔÏÒÁ PostgreSQL.</A>.</P>
<H4><A name="3.4">3.4</A>) ëÏÇÄÁ Ñ ÐÙÔÁÀÓØ ÚÁÐÕÓÔÉÔØ <I>postmaster</I>, Ñ
ÐÏÌÕÞÁÀ ÏÛÉÂËÉ <I>IpcSemaphoreCreate</I>. ðÏÞÅÍÕ?</H4>
É ÐÅÒÅÓÏÚÄÁÎÉÅÍ ÉÎÄÅËÓÏ×, ËÏÇÄÁ ×Ù ×ÙÐÏÌÎÑÅÔÅ ÂÏÌØÛÉÅ ÉÚÍÅÎÅÎÉÑ
ÄÁÎÎÙÈ.</P>
- <P>óÕÝÅÓÔ×ÕÅÔ ÎÅÓËÏÌØËÏ ÏÐÃÉÊ ÎÁÓÔÒÏÊËÉ. ÷Ù ÍÏÖÅÔÅ ÚÁÐÒÅÔÉÔØ
+ <P>óÕÝÅÓÔ×ÕÅÔ ÎÅÓËÏÌØËÏ ÏÐÃÉÊ ÎÁÓÔÒÏÊËÉ ×
+ <A href="http://www.postgresql.org/docs/current/static/runtime.html">
+ òÕËÏ×ÏÄÓÔ×Å áÄÍÉÎÉÓÔÒÁÔÏÒÁ PostgreSQL</A>. ÷Ù ÍÏÖÅÔÅ ÚÁÐÒÅÔÉÔØ
<I>fsync()</I> ÐÒÉ ÓÔÁÒÔÅ <I>postmaster</I> Ó ÏÐÃÉÅÊ <I>-o -F</I>.
üÔÏ ÐÒÅÄÏÔ×ÒÁÔÉÔ ×ÙÚÏ×Ù <I>fsync()</I>, ËÏÔÏÒÙÅ ÐÒÉ×ÏÄÑÔ Ë ÓÂÒÏÓÕ
ÄÁÎÎÙÈ ÎÁ ÄÉÓË ÐÏÓÌÅ ËÁÖÄÏÊ ÔÒÁÎÚÁËÃÉÉ.</P>
- <P>÷Ù ÍÏÖÅÔÅ ÔÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÄÌÑ <I>postmaster</I> ÏÐÃÉÀ <I>-B</I>
+ <P>÷Ù ÍÏÖÅÔÅ ÔÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÏÐÃÉÀ <I>shared_buffers</I> <I>-B</I>
ÄÌÑ Õ×ÅÌÉÞÅÎÉÑ ËÏÌÉÞÅÓÔ×Á ÂÕÆÅÒÏ× ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ, ËÏÔÏÒÁÑ
ÉÓÐÏÌØÚÕÅÔÓÑ backend ÐÒÏÃÅÓÓÁÍÉ. åÓÌÉ ×Ù ÓÄÅÌÁÅÔÅ ÚÎÁÞÅÎÉÅ ÜÔÏÇÏ ÐÁÒÁÍÅÔÒÁ
ÓÌÉÛËÏÍ ÂÏÌØÛÉÍ, ÔÏ <I>postmaster</I> ÍÏÖÅÔ ÎÅ ÚÁÐÕÓÔÉÔÓÑ ÐÏÔÏÍÕ ÞÔÏ
×Ù ÉÓÞÅÒÐÁÅÔÅ ÏÇÒÁÎÉÞÅÎÉÅ ÑÄÒÁ ÎÁ ÏÂßÅÍ ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ. ëÁÖÄÙÊ
- ÂÕÆÅÒ ÉÍÅÅÔ ÒÁÚÍÅÒ × 8 ËÉÌÏÂÁÊÔ É ÐÏ ÕÍÏÌÞÁÎÉÀ ×ÙÄÅÌÑÅÔÓÑ 64 ÂÕÆÅÒÁ.</P>
+ ÂÕÆÅÒ ÉÍÅÅÔ ÒÁÚÍÅÒ × 8 ËÉÌÏÂÁÊÔ É ÐÏ ÕÍÏÌÞÁÎÉÀ ×ÙÄÅÌÑÅÔÓÑ 1000 ÂÕÆÅÒÏ×.</P>
- <P>÷Ù ÍÏÖÅÔÅ ÔÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÔØ backend ÏÐÃÉÀ <I>-S</I> ÄÌÑ Õ×ÅÌÉÞÅÎÉÑ
- ÍÁËÓÉÍÁÌØÎÏÇÏ ËÏÌÉÞÅÓÔ×Á ÐÁÍÑÔÉ, ËÏÔÏÒÏÅ ÉÓÐÏÌØÚÕÅÔÓÑ backend ÐÒÏÃÅÓÓÏÍ
- ÄÌÑ ×ÒÅÍÅÎÎÙÈ ÓÏÒÔÉÒÏ×ÏË. úÎÁÞÅÎÉÅ ÄÌÑ ÏÐÃÉÉ <I>-S</I> ÚÁÄÁÅÔÓÑ ×
- ËÉÌÏÂÁÊÔÁÈ É ÐÏ ÕÍÏÌÞÁÎÉÀ ÒÁ×ÎÏ 512 (Ô.Å. 512K).</P>
+ <P>÷Ù ÍÏÖÅÔÅ ÔÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÔØ backend ÏÐÃÉÉ <I>sort_mem</I> É
+ <I>work_mem</I> ÄÌÑ Õ×ÅÌÉÞÅÎÉÑ ÍÁËÓÉÍÁÌØÎÏÇÏ ËÏÌÉÞÅÓÔ×Á ÐÁÍÑÔÉ, ËÏÔÏÒÏÅ
+ ÉÓÐÏÌØÚÕÅÔÓÑ backend ÐÒÏÃÅÓÓÏÍ ÄÌÑ ×ÒÅÍÅÎÎÙÈ ÓÏÒÔÉÒÏ×ÏË. úÎÁÞÅÎÉÅ ÐÏ
+ ÕÍÏÌÞÁÎÉÀ ÓÏÓÔÁ×ÌÑÅÔ 1024 (Ô.Å. 1MB).</P>
<P>÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ËÏÍÁÎÄÕ <SMALL>CLUSTER</SMALL> ÄÌÑ
ÇÒÕÐÐÉÒÏ×ËÉ ÄÁÎÎÙÈ × ÔÁÂÌÉÃÁÈ ÎÁ ÓÏ×ÐÁÄÁÀÝÉÊ ÉÎÄÅËÓ. ðÏÄÒÏÂÎÏÓÔÉ ÓÍÏÔÒÉÔÅ
<P>åÓÌÉ <I>postmaster</I> ÚÁÐÕÝÅÎ, ÚÁÐÕÓÔÉÔÅ <I>psql</I> × ÏÄÎÏÍ
ÏËÎÅ, ÚÁÔÅÍ ÎÁÊÄÉÔÅ <SMALL>PID</SMALL> ÐÒÏÃÅÓÓÁ <I>postgres</I>,
- ÉÓÐÏÌØÚÕÅÍÙÊ <I>psql</I>. éÓÐÏÌØÚÕÊÔÅ ÏÔÄÁÄÞÉË ÄÌÑ ÐÏÄËÌÀÞÅÎÉÑ Ë
- <I>postgres</I> <SMALL>PID</SMALL>. ÷Ù ÍÏÖÅÔÅ ÕÓÔÁÎÏ×ÉÔØ ÔÏÞËÉ
- ÐÒÅÒÙ×ÁÎÉÑ × ÏÔÌÁÄÞÉËÅ É ÚÁÐÕÓÔÉÔØ ÚÁÐÒÏÓ ÉÚ <I>psql</I>. åÓÌÉ
+ ÉÓÐÏÌØÚÕÅÍÙÊ <I>psql</I>, ÉÓÐÏÌØÚÕÑ </P>
+
+ <PRE>
+ SELECT pg_backend_pid()
+ </PRE>
+
+ <P>éÓÐÏÌØÚÕÊÔÅ ÏÔÄÁÄÞÉË ÄÌÑ ÐÏÄËÌÀÞÅÎÉÑ Ë <I>postgres</I> <SMALL>PID</SMALL>.
+ ÷Ù ÍÏÖÅÔÅ ÕÓÔÁÎÏ×ÉÔØ ÔÏÞËÉ ÐÒÅÒÙ×ÁÎÉÑ × ÏÔÌÁÄÞÉËÅ É ÚÁÐÕÓÔÉÔØ ÚÁÐÒÏÓ
+ ÉÚ <I>psql</I>. åÓÌÉ
×Ù ÐÒÏÉÚ×ÏÄÉÔÅ ÏÔÌÁÄËÕ ÚÁÐÕÓËÁ <I>postgres</I>, ×Ù ÍÏÖÅÔÅ ÕÓÔÁÎÏ×ÉÔØ
PGOPTIONS="-W n", É ÚÁÔÅÍ ÚÁÐÕÓÔÉÔØ <I>psql</I>. üÔÁ ÏÐÃÉÑ ÐÒÉ×ÏÄÉÔ
Ë ÚÁÄÅÒÖËÅ ÐÒÏÃÅÓÓÁ ÚÁÐÕÓËÁ ÎÁ <I>n</I> ÓÅËÕÎÄ, × ÔÅÞÅÎÉÅ ËÏÔÏÒÙÈ
<i>~*</i> ÎÅ ÉÓÐÏÌØÚÕÅÔ ÉÎÄÅËÓÙ. ÷ÍÅÓÔÏ ÎÅÇÏ, ÉÓÐÏÌØÚÕÊÔÅ ÆÕÎËÃÉÏÎÁÌØÎÙÅ
ÉÎÄÅËÓÙ, ËÏÔÏÒÙÅ ÏÐÉÓÙ×ÁÀÔÓÑ × ÓÅËÃÉÉ <A href="#4.12">4.12</A>.</LI>
<LI>÷Ï ×ÒÅÍÑ <i>initdb</i> ÄÏÌÖÎÁ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÌÏËÁÌØ ÐÏ ÕÍÏÌÞÁÎÉÀ
- <i>C</i>.
+ <i>C</i>, ÐÏÔÏÍÕ ÞÔÏ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ ×ÏÚÍÏÖÎÏÓÔÉ ÕÚÎÁÔØ next-greater
+ ÓÉÍ×ÏÌ ÄÌÑ ÎÅ-C ÌÏËÁÌÉ. ÷Ù ÍÏÖÅÔÅ ÄÌÑ ÔÁËÉÈ ÓÌÕÞÁÅ× ÓÏÚÄÁÔØ ÓÐÅÃÉÁÌØÎÙÊ
+ ÉÎÄÅËÓ
+ <PRE>
+ text_pattern_ops
+ </PRE>
+ ËÏÔÏÒÙÊ ÒÁÂÏÔÁÅÔ ÔÏÌØËÏ ÄÌÑ
+ <PRE>
+ LIKE
+ </PRE>
+ ÉÎÄÅËÓÉÒÏ×ÁÎÉÑ.</LI>
</UL>
</P>
ÔÁÂÌÉÃÁÍ × PL/PgSQL. éÓÐÏÌØÚÏ×ÁÎÉÅ ÜÔÏÇÏ ÏÐÅÒÁÔÏÒÁ ÚÁÓÔÁ×ÉÔ ÚÁÐÒÏÓ
ÐÅÒÅÇÅÎÅÒÉÒÏ×ÁÔØÓÑ ËÁÖÄÙÊ ÒÁÚ.</P>
- <H4><A name="4.27">4.27</A>) ëÁËÉÅ ÏÐÃÉÉ ÒÅÐÌÉËÁÃÉÉ ÓÕÝÅÓÔ×ÕÀÔ?</H4>
-
- <P>åÓÔØ ÎÅÓËÏÌØËÏ ÏÐÃÉÊ ÄÌÑ ÒÅÐÌÉËÁÃÉÉ ÔÉÐÁ master/slave. ïÎÉ ÄÏÐÕÓËÁÀÔ
- ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÔÏÌØËÏ master ÓÅÒ×ÅÒÁ ÄÌÑ ×ÎÅÓÅÎÉÑ ÉÚÍÅÎÅÎÉÊ × ÂÁÚÕ ÄÁÎÎÙÈ,
- Á slave ÓÅÒ×ÅÒÙ ÐÒÏÓÔÏ ÐÏÚ×ÏÌÑÀÔ ÞÉÔÁÔØ ÄÁÎÎÙÅ ÉÚ ÂÁÚÙ. ï ÜÔÏÍ ÞÉÔÁÊÔÅ
- ÚÄÅÓØ: <A href="http://gborg.postgresql.org/genpage?replication_research">
- http://gborg.PostgreSQL.org/genpage?replication_research</A>. ï ÒÅÐÌÉËÁÃÉÉ
- Ó ÎÅÓËÏÌØËÉÍÉ master ÓÅÒ×ÅÒÁÍÉ ÞÉÔÁÊÔÅ ÚÄÅÓØ:
- <a href="http://gborg.postgresql.org/project/pgreplication/projdisplay.php">http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php</A>.</P>
-
- <h4><a name="4.28">4.28</a>) ëÁËÉÅ ÏÐÃÉÉ ÛÉÆÒÏ×ÁÎÉÑ ÓÕÝÅÓÔ×ÕÀÔ?
+ <h4><a name="4.27">4.27</a>) ëÁËÉÅ ÏÐÃÉÉ ÛÉÆÒÏ×ÁÎÉÑ ÓÕÝÅÓÔ×ÕÀÔ?
</h4>
<ul>
<li><i>contrib/pgcrypto</i> ÓÏÄÅÒÖÉÔ ÍÎÏÇÏ ÆÕÎËÃÉÊ ÛÉÆÒÏ×ÁÎÉÑ ÄÌÑ