diff --git a/doc/FAQ_russian b/doc/FAQ_russian index ba75172508..a361767ccc 100644 --- a/doc/FAQ_russian +++ b/doc/FAQ_russian @@ -1,23 +1,27 @@ Otvety na chasto zadavaemye voprosy po PostgreSQL - Data poslednego obnovleniya: Voskresen'e 18 iyunya 15:33:25 EDT 2006 + Data poslednego obnovleniya: Sreda 25 iyunya 23:54:14 EDT 2008 Anglijskij variant soprovozhdaet: Bryus Mom'yan (Bruce Momjian) - (pgman@candle.pha.pa.us) + (bruce@monjian.us) - Pereviol na russkij: Viktor Vislobokov (admin@linuxshare.ru) + Pereviol na russkij: Viktor Vislobokov (admin@postgresql.ru.net) Samuyu svezhuyu anglijskuyu versiyu dokumenta mozhno najti na - http://www.PostgreSQL.org/files/documentation/faqs/FAQ.html. + http://www.postgresql.org/files/documentation/faqs/FAQ.html. + + Samuyu svezhuyu russkuyu versiyu dokumenta mozhno najti na + http://postgresql.ru.net/docs/FAQ_russian.html. Otvety na voprosy specifichnye dlya konkretnyh platform mozhno najti - na http://www.PostgreSQL.org/docs/faq/. + na http://www.postgresql.org/docs/faq/. _________________________________________________________________ Obschie voprosy - 1.1) CHto takoe PostgreSQL? Kak proiznositsya `eto nazvanie? + 1.1) CHto takoe PostgreSQL? Kak proiznositsya `eto nazvanie? CHto + takoe Postgres? 1.2) Kto upravlyaet PostgreSQL? 1.3) Kakovy avtorskie prava na PostgreSQL? 1.4) Na kakih platformah rabotaet PostgreSQL? @@ -31,7 +35,12 @@ 1.11) Kak nauchit'sya SQL? 1.12) Kak mne otpravit' ispravlenie ili prisoedinitsya k komande razrabotchikov? - 1.13) Kak sravnit' PostgreSQL s drugimi SUBD? + 1.13) Kak sravnit' PostgreSQL s drugimi SUBD? Mozhet li PostgreSQL + byt' vstroennoj? + 1.14) Budet li PostgreSQL rabotat' s poslednimi izmeneniyami, v raznyh + stranyh, kasayuschimisya dnevnogo vremeni? + 1.15) Kak mne otpisat'sya ot spiskov rassylki PostgreSQL? Kak + izbezhat' polucheniya dubliruyuschihsya soobschenij? Voprosy pol'zovatelej po klientskoj chasti @@ -71,8 +80,9 @@ 4.8) Kak mne vypolnit' poisk regulyarnogo vyrazheniya i poisk nezavisimyj ot registra bukv poisk regulyarnogo vyrazheniya? Kak mne ispol'zovat' indeks dlya poiska nezavisimogo ot registra bukv? - 4.9) Kak mne opredelit', chto znachenie polya ravno NULL v kakom-libo - zaprose? Mogu ya otsortirovat' polya NULL ili net? + 4.9) Kak mne opredelit', chto znachenie polya v kakom-libo zaprose + ravno NULL? Kak mne soedinit' vozmozhnye NULL? Mogu ya sortirovat' + polya NULL ili net? 4.10) Kakovy otlichiya mezhdu raznymi simvol'nymi tipami? 4.11.1) Kak mne sozdat' pole serial/s-avto-uvelicheniem? 4.11.2) Kak mne poluchit' znachenie pri vstavke SERIAL? @@ -95,16 +105,17 @@ PL/PgSQL? 4.20) Kakie est' resheniya dlya replikacii? 4.21) Pochemu imena tablicy i kolonok ne raspoznayutsya v v moiom - zaprose? + zaprose? Pochemu ne sohranyayutsya zaglavnye bukvy? _________________________________________________________________ Obschie voprosy - 1.1) CHto takoe PostgreSQL? Kak proiznositsya `eto nazvanie? + 1.1) CHto takoe PostgreSQL? Kak proiznositsya `eto nazvanie? CHto takoe + Postgres? - PostgreSQL proiznositsya Post-Gres-Q-L (Post-Gres-K'yu-`El), takzhe - inogda govoryat prosto Postgres. Vy mozhete uslyshat' kak `eto - proiznositsya s pomosch'yu audiofajla, kotoryj dostupen v formate MP3. + PostgreSQL proiznositsya Post-Gres-Q-L (Post-Gres-K'yu-`El). (Dlya + osobo lyubopytstvuyuschih kak proiznosit' "PostgreSQL", suschestvuet + audio-fajl). PostgreSQL - `eto ob"ektno-relyacionnaya sistema upravleniya bazami dannyh (SUBD), kotoraya imeet tradicionnye vozmozhnosti kommercheskih @@ -116,7 +127,13 @@ po vsemu miru i svyazannaya cherez Internet. Razrabotka yavlyaetsya obschestvennym proektom i ne upravlyaetsya kakoj-libo kompaniej. Podrobnosti smotrite v FAQ dlya razrabotchikov, - http://www.PostgreSQL.org/files/documentation/faqs/FAQ_DEV.html + http://www.postgresql.org/docs/faqs.FAQ_DEV.html + + Postgres -- `eto shiroko ispol'zuemoe sokraschenie dlya PostgreSQL. + Pervonachal'nym imenem proekta v Berkli bylo Postgres i `etot nik + teper' naibolee populyaren v razgovorah o PostgreSQL po sravneniyu s + drugimi. Esli vam trudno polnost'yu progovarivat' 'PostgreSQL', mozhno + prosto govorit' 'Postgres'. 1.2) Kto upravlyaet PostgreSQL? @@ -139,7 +156,7 @@ Sistema Upravleniya Bazami Dannyh PostgreSQL - Portions copyright (c) 1996-2006, PostgreSQL Global Development Group + Portions copyright (c) 1996-2008, PostgreSQL Global Development Group Portions Copyright (c) 1994-1996 Regents of the University of California @@ -173,25 +190,26 @@ momentu vyhoda dannoj versii. PostgreSQL takzhe rabotaet na operacionnyh sistemah Microsoft Windows, - osnovannyh na NT, takih kak Win2000, WinXP i Win2003. Paket + osnovannyh na NT, takih kak Win2000 SP4, WinXP i Win2003. Paket installyatora dostupen po adresu - http://pgfoundry.org/projects/pginstaller. Versii Windows, osnovannye + http://www.postgresql.org/download/windows. 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, i versiya dlya OS/2 (eComStation) na + http://developer.novell.com/wiki/index.php/Postgresql, i versiya dlya + OS/2 (eComStation) na http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=postgre SQL&stype=all&sort=type&dir=%2F. 1.5) Gde mozhno vzyat' PostgreSQL? CHerez brauzer, ispol'zuya http://www.postgresql.org/ftp/ i cherez - ftp, ispol'zuya ftp://ftp.PostgreSQL.org/pub/. + ftp, ispol'zuya ftp://ftp.postgresql.org/pub/. 1.6) Kakaya versiya naibolee svezhaya? - Poslednij vypusk PostgreSQL - `eto versiya 8.1.4 + Poslednij vypusk PostgreSQL - `eto versiya 8.3.3 My planiruem vypuskat' novye starshie versii kazhdyj god, a mladshie versii kazhdye neskol'ko mesyacev. @@ -208,19 +226,19 @@ Freenode (irc.freenode.net). CHtoby podklyuchit'sya, vy mozhete ispol'zovat' v Unix vyzov programmy 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. + suschestvuyut kanaly na ispanskom (#postgresql-es), francuzskom + (#postgresqlfr) i brazil'skom (#postgresql-br) yazykah. Takzhe + suschestvuet kanal po PostgreSQL na servere EFNet. Spisok kommercheskoj podderzhki kompanij dostupen na - http://techdocs.postgresql.org/companies.php. + http://www.postgresql.org/support/professional_support. 1.8) Kak mne soobschit' ob oshibke? Posetite stranichku so special'noj formoj otchiota ob oshibke v PostgreSQL po adresu: http://www.postgresql.org/support/submitbug. Takzhe prover'te nalichie bolee svezhej versii PostgreSQL na nashem - FTP sajte ftp://ftp.PostgreSQL.org/pub/. + FTP sajte ftp://ftp.postgresql.org/pub/. Na oshibki, uvedomlenie o kotoryh byli sdelany cherez special'nuyu formu ili otpravlennye v kakoj-libo spisok rassylki PostgreSQL, @@ -277,17 +295,18 @@ rukovodstvo, stranicy `elektronnogo rukovodstva man i nekotorye malen'kie testovye primery. Smotrite v katalog /doc. Vy takzhe mozhete prosmatrivat' dokumentaciyu v Internet po adresu - http://www.PostgreSQL.org/docs. + http://www.postgresql.org/docs. Suschestvuet dve knigi po PostgreSQL dostupnye po adresam http://www.PostgreSQL.org/docs/books/awbook.html i http://www.commandprompt.com/ppbook/. Est' neskol'ko knig po PostgreSQL, kotorye mozhno kupit'. Odnu iz naibolee populyarnyh napisal Korri Duglas (Korry Douglas). Spisok obzorov po `etim knigam - dostupen po adresu - http://techdocs.postgresql.org/techdocs/bookreviews.php. Krome togo, - po adresu http://techdocs.PostgreSQL.org/ vy mozhete najti kollekciyu - tehnicheskih statej posvyaschennyh PostgreSQL. + dostupen po adresu http://www.postgresql.org/docs/books/. Krome togo, + po adresu + http://wiki.postgresql.org/wiki/Community_Generated_Articles%2C_Guides + %2C_and_Documentation vy mozhete najti kollekciyu tehnicheskih statej, + posveschennyh PostgreSQL. Klient komandnoj stroki psql imeet neskol'ko komand \d dlya otobrazheniya informacii po tipam, operatoram, funkciyam, agregatam i @@ -298,12 +317,10 @@ 1.11) Kak mne nauchit'sya SQL? Vo-pervyh, voz'mite odnu iz knig po PostgreSQL, o kotoryh govorilos' - vyshe. Esche odin uchebnik - `eto kniga "Teach Yourself SQL in 21 - Days, Second Edition" (Osvoj samostoyatel'no SQL za 21 den', Vtoraya - redakciya) na http://members.tripod.com/er4ebus/sql/index.htm. Mnogim - iz nashih pol'zovatelej nravitsya kniga The Practical SQL Handbook, - Bowman, Judith S., et al., Addison-Wesley. Drugim nravitsya The - Complete Reference SQL, Groff et al., McGraw-Hill. + vyshe. Mnogim iz nashih pol'zovatelej takzhe nravitsya kniga The + Practical SQL Handbook, Bowman, Judith S., et al., Addison-Wesley. + Drugim nravitsya The Complete Reference SQL, Groff et al., + McGraw-Hill. Suschestvuet takzhe mnozhestvo prekrasnyh uchebnikov dostupnyh v online: @@ -317,7 +334,8 @@ Smotrite FAQ dlya razrabotchikov. - 1.13) Kak sravnit' PostgreSQL s drugimi SUBD? + 1.13) Kak sravnit' PostgreSQL s drugimi SUBD? Mozhet li PostgreSQL byt' + vstroennym? Suschestvuet neskol'ko metodov sravneniya programmnogo obespecheniya: vozmozhnosti, proizvoditel'nost', nadezhnost', podderzhka i cena. @@ -367,6 +385,44 @@ nash produkt bez ogranichenij, za isklyucheniem teh, chto opisyvayutsya v nashej licenzii stilya BSD, kotoraya privedena vyshe. + + PostgreSQL razrabatyvaetsya po arhitekture klient/server, kotoraya + trebuet otdel'nyh processov dlya kazhdogo klienta i servera, a takzhe + neskol'ko vspomogatel'nyh processov. Mnogie vstraivaemye arhitektury + mogut sootvetstvovat' takim trebovaniyam. Odnako, esli vasha + vstraivaemaya arhitektura trebuet server baz dannyh dlya zapuska + vnutri prikladnogo processa, vy ne mozhete ispol'zovat' Postgres i vam + luchshe by vybrat' dlya bazy dannyh kakoe-libo drugoe oblegchennoe + reshenie. + + 1.14) Budet li PostgreSQL rabotat' s poslednimi izmeneniyami, v raznyh + stranyh, kasayuschimisya dnevnogo vremeni? + + Izmeneniya v sohranenii dnevnogo vremeni v SSHA vklyucheny v + PostgreSQL versii 8.0.[4+] i vo vse sleduyuschie vypuski, naprimer v + 8.1. Izmeneniya po Kanade i Zapadnoj Avstralii vklyucheny v 8.0.[10+], + 8.1.[6+] i vse sleduyuschie vypuski. Vypuski PostgreSQL do 8.0 + ispol'zuyut informaciyu o sohranenii dnevnogo vremeni iz bazy dannyh + vremennyh zon v operacionnoj sisteme. + _________________________________________________________________ + + 1.15) Kak mne otpisat'sya ot spiskov rassylki PostgreSQL? Kak izbezhat' + polucheniya dubliruyuschih soobschenij? + + Stranica Majordomo na sajte PostgreSQL pozvolyaet podpisat'sya ili + otpisat'sya ot lyubogo iz spiskov rassylki PostgreSQL. (Vam mozhet + ponadobitsya vash parol' dlya Majordomo, kotoryj otpravlyaetsya na + vash E-mail, chtoby vojti v upravlenie vashimi podpiskami.) + + Vse spiski rassylki PostgreSQL nastarivayutsya tak, chtoby gruppovoj + otvet uhodil na adres spiska i na adres avtora soobscheniya. Tak + sdelano, chtoby pol'zovateli poluchali otvety na E-mail kak mozhno + bystree. Esli vy ne hotite poluchat' dubliruyuschie E-mail + soobscheniya iz spiska, v sluchayah kogda vy uzhe poluchili `eti + soobscheniya napryamuyu, ustanovite flazhok eliminatecc na stranice + Change Settings v Majordomo. Vy takzhe mozhete izbezhat' polucheniya + kopij svoih soobschenij dlya samogo sebya, esli snimite flazhok + selfcopy. _________________________________________________________________ Voprosy pol'zovatelej po klientskoj chasti @@ -381,8 +437,7 @@ Nekotorye yazyki programmirovaniya, takie kak PHP vklyuchayut v sebya interfejs k PostgreSQL. Interfejsy dlya takih yazykov kak Perl, TCL, - Python i mnogih drugih, dostupny na http://gborg.postgresql.org v - sekcii Drivers/Interfaces, a takzhe cherez poisk v Internet. + Python i mnogih drugih, dostupny na http://pgfoundry.org. 2.2) Kakie instrumenty suschestvuyut dlya ispol'zovaniya PostgreSQL cherez Web? @@ -400,7 +455,8 @@ Dlya PostgreSQL suschestvuet bol'shoe kolichestvo instrumentov s graficheskim interfejsom kak kommercheskih, tak i otkrytyh. - Podrobnosti mozhno najti v Dokumentacii soobschestva PostgreSQL + Podrobnosti mozhno najti v Dokumentacii soobschestva dlya GUI + istrumentov PostgreSQL _________________________________________________________________ Voprosy administrirovaniya @@ -415,7 +471,8 @@ mashine cherez sokety domena Unix ili TCP/IP soedineniya. Dlya togo, chtoby drugie mashiny smogli podklyuchit'sya k baze vy dolzhny izmenit' listen_addresses v postgresql.conf, razreshit' - host-avtorizaciya v fajle $PGDATA/pg_hba.conf i perestartovat' server. + host-avtorizaciya v fajle $PGDATA/pg_hba.conf i perestartovat' server + SUBD. 3.3) Kakie nastrojki mne nuzhno sdelat' dlya uluchsheniya proizvoditel'nosti? @@ -452,45 +509,34 @@ Vybor "zheleza" - apparatnogo obespecheniya Vliyanie "zheleza" na proizvoditel'nost' podrobno opisano v - http://candle.pha.pa.us/main/writings/pgsql/hw_performance/inde - x.html i http://www.powerpostgresql.com/PerfList/. + http://www.powerpostgresql.com/PerfList/ i + http://momjian.us/main/writings/pgsql/hw_performance/index.html + . 3.4) Kakie vozmozhnosti dlya otladki est' v nalichii? Est' mnozhestvo ustanovok v nastrojkah servera, nachinayuschihsya na - log_*, pozvolyayuschih protokolirovat' zaprosy i statistiku raboty + log_* na + http://www.postgresql.org/docs/current/interactive/runtime-config-logg + ing.html, pozvolyayuschih protokolirovat' zaprosy i statistiku raboty processa, kotoraya ochen' polezna dlya otladki i izmereniya proizvoditel'nosti. 3.5) Pochemu ya poluchayu soobschenie "Sorry, too many clients" kogda pytayus' podklyuchit'sya k baze? - Vy dostigli ustanovlennogo po umolchaniyu ogranicheniya na 100 sessij - podklyucheniya k baze dannyh. Vam neobhodimo uvelichit' dlya - postmaster limit na kolichestvo konkurentnyh backend processov, + Vy dostigli ustanovlennogo po umolchaniyu ogranicheniya v 100 sessij + podklyucheniya k baze dannyh. Vam neobhodimo uvelichit' limit na + kolichestvo konkurentnyh backend processov dlya vashego servera BD, izmeniv znachenie max_connections v fajle postgresql.conf i - perestartovat' postmaster. + perestartovat' server BD. 3.6) Kak vypolnit' obnovlenie PostgreSQL? - Mezhdu podvypuskami, razrabotchiki PostgreSQL delayut tol'ko - ispravleniya oshibok. Takim obrazom obnovlenie s versii 7.4.8 do 7.4.9 - ne trebuet vypolneniya dump i restore; dostatochno ostanovit' server, - ustanovit' obnovlionnye fajly SUBD i zapustit' server. - - Vse pol'zovateli dolzhny by obnovlyat'sya na naibolee svezhuyu - podversiyu kak tol'ko ona budet dostupna. V to vremya kak kazhdoe - obnovlenie podrazumevaet nekotoryj risk, podversii PostgreSQL - razrabytyvayutsya tol'ko dlya ispravleniya obschih oshibok s - minimal'nym riskom. Takim obrazom, vash risk svyazan tol'ko s samim - obnovleniem. - - Pri vyhode ocherednogo vypuska (t.e. pri obnovlenii naprimer, s 7.3 na - 7.4) chasto menyaetsya vnutrennij format sistemnyh tablic i fajlov - dannyh. `Eti izmeneniya chasto nosyat slozhnyj harakter, tak chto my - ne obsluzhivaem obratnuyu sovmestimost' dlya fajlov dannyh. V `etih - sluchayah dlya obnovleniya bazy dannyh trebuetsya vypolnit' - dump/restore. + Sm. informaciyu ob obnovlenii v + http://www.postgresql.org/support/versioning i special'nye instrukcii + v + http://www.postgresql.org/docs/current/static/install-upgrading.html. 3.7) Kakoe komp'yuternoe "zhelezo" ya dolzhen ispol'zovat'? @@ -602,8 +648,8 @@ kotoryh celoe chislo i tekstovoe opisanie. Pri `etom dlina teksta, v srednem, sostavlyaet 20 bajt. Razmer prostogo fajla sostavit 2.8 MB. Razmer bazy PostgreSQL, soderzhaschej `eti zhe dannye sostavit - priblizitel'no 5.6 MB iz kotoryh: - 28 bajt: na kazhdyj zagolovok stroki v tablice (priblizitel'no) + priblizitel'no 5.2 MB iz kotoryh: + 24 bajt: na kazhdyj zagolovok stroki v tablice (priblizitel'no) + 24 bajta: odno pole s celochislennym tipom i odno tekstovoe pole + 4 bajta: ukazatel' na stranice dlya vsej tablichnoj stroki ---------------------------------------- @@ -612,14 +658,14 @@ Razmer stranicy dannyh v PostgreSQL sostavlyaet 8192 bajt (8 KB), tak chto: 8192 bajt na stranicu - --------------------- = 146 strok v tablice na stranicu BD (okruglionno) - 56 bajt na stroku v tablice + --------------------- = 158 strok v tablice na stranicu BD (okruglionno) + 52 bajt na stroku v tablice 100000 strok dannyh - ----------------------- = 685 stranic v BD (okruglionno) - 146 strok v tablice na stranicu + ----------------------- = 633 stranic v BD (okruglionno) + 158 strok v tablice na stranicu - 685 stranic BD * 8192 bajt na stranicu = 5,611,520 bajt (5.6 MB) + 633 stranic BD * 8192 bajt na stranicu = 5,185,536 bajt (5.2 MB) Indeksy ne trebuyut tak mnogo, no poskol'ku oni sozdayutsya dlya bol'shogo kolichestva dannyh, oni takzhe mogut byt' veliki. @@ -674,12 +720,9 @@ potomu chto ne suschestvuet vozmozhnosti uznat' sleduyuschij naibol'shij simvol dlya ne-C lokali. Vy mozhete dlya takih sluchaev sozdat' special'nyj indeks text_pattern_ops kotoryj - rabotaet tol'ko dlya LIKE indeksirovaniya. + rabotaet tol'ko dlya LIKE indeksirovaniya. Dlya poiska slov takzhe + mozhno ispol'zovat' polnotekstovyj indeks. - V vypuskah do versii 8.0, indeksy chasto nel'zya bylo ispol'zovat', - esli tipy dannyh tochno ne sovpadali s indeksnymi tipami kolonok. `Eto - osobenno kasalos' int2, int8 i numeric indeksov kolonok. - 4.7) Kak posmotret' na to, kak optimizator vypolnyaet moj zapros? Smotrite stranicu rukovodstva posvyaschennuyu EXPLAIN. @@ -708,14 +751,20 @@ simvoly tol'ko v opredelionnom registre, ispol'zujte ogranichenie CHECK ili proverku cherez trigger. - 4.9) Kak mne opredelit', chto znachenie polya ravno NULL v kakom-libo - zaprose? Mogu ya otsortirovat' polya NULL ili net? + 4.9) Kak mne opredelit', chto znachenie polya v kakom-libo zaprose ravno + NULL? Kak mne soedinit' vozmozhnye NULL? Mogu ya sortirovat' polya NULL ili + net? Vy prosto sravnivaete znachenie s IS NULL i IS NOT NULL, kak zdes': SELECT * FROM tab WHERE col IS NULL; + CHtoby soedinit' s vozmozhnymi znacheniyami NULL, ispol'zujte + COALESCE() kak zdes': + SELECT COALESCE(col1, '') || COALESCE(col2, '') + FROM tab + CHtoby otsortirovat' dannye po znacheniyu ispol'zujte modifikatory IS NULL i IS NOT NULL v vyrazhenii ORDER BY. Kogda oni budut generirovat' znacheniya istina, to pri sortirovke oni budut vyshe, chem znacheniya @@ -771,31 +820,22 @@ name TEXT ); - Smotrite podrobnosti o posledovatel'nostyah na stranice rukovodstva + Avtomaticheski sozdannaya posledovatel'nost' imeet imya vida + __seq, gde tablica i kolonka_serial - `eto + sootvetstvenno imena tablicy i kolonki s tipom SERIAL. Smotrite + podrobnosti o posledovatel'nostyah na stranice rukovodstva posvyaschennoj create_sequence. 4.11.2) Kak mne poluchit' znachenie pri vstavke SERIAL? - Odin iz sposobov sostoit v poluchenii sleduyuschego znacheniya SERIAL - iz ob"ekta sequence s pomosch'yu funkcii nextval() pered vstavkoj i - zatem vstavlyat' `eto znachenie yavno. Ispol'zujte tablicu-primer v - 4.11.1, primer v psevdoyazyke pokazhet kak `eto delaetsya: - new_id = execute("SELECT nextval('person_id_seq')"); - execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')"); + Prostejshij sposob poluchit' naznachennoe znachenie SERIAL `eto + ispol'zovat' RETURNING. Ispol'zuya dlya primera tablicu v 4.11.1, `eto + mozhet vyglyadet' tak: + INSERT INTO person (name) VALUES ('Blaise Pascal') RETURNING id; - Zatem vy dolzhny takzhe sohranit' novoe znachenie v peremennoj new_id - dlya ego ispol'zovaniya v drugih zaprosah (naprimer takih kak vneshnij - klyuch dlya tablicy person). Zametim, chto imya avtomaticheski - sozdannogo ob"ekta SEQUENCE budet __seq, gde - table i serialcolumn yavlyayutsya sootvetstvenno imenami vashej - tablicy i vashej kolonki SERIAL. + Vy takzhe mozhete vyzvat' nextval() i ispol'zovat' `eto znachenie v + INSERT ili vyzvat' currval() posle INSERT. - V kachestve al'ternativy, vy mozhete poluchit' naznachennoe znachenie - SERIAL s pomosch'yu funkcii currval() posle provedeniya obychnoj - operacii vstavki, naprimer - execute("INSERT INTO person (name) VALUES ('Blaise Pascal')"); - new_id = execute("SELECT currval('person_id_seq')"); - 4.11.3) Ne mozhet li poluchit'sya tak, chto ispol'zovanie currval() i nextval() privedet k zaciklirovaniyu s drugimi pol'zovatelyami? @@ -813,15 +853,14 @@ 4.12) CHto takoe OID? CHto takoe CTID? - Kazhdaya, sozdavaemaya v PostgreSQL tablichnaya stroka, poluchaet - unikal'nyj indentifikator OID za isklyucheniem sluchaya kogda - ispol'zovalos' WITHOUT OIDS. OID - `eto avtomaticheski naznachaemoe - unikal'noe 4-h bajtovoe celoe chislo. Odnako, posle togo kak ego - znachenie prevysit 4 milliarda, znacheniya OID nachinayut - dublirovat'sya. PostgreSQL ispol'zuet OID dlya svyazyvaniya svoih - vnutrennih tablic. + Esli tablica sozdana s WITH OIDS, to kazhdaya stroka poluchaet + unikal'nyj indentifikator OID. OID - `eto avtomaticheski naznachaemoe + unikal'noe 4-h bajtovoe celoe chislo, kotoroe unikal'no dlya vsej + ustanovlennoj SUBD. Odnako, posle togo kak ego znachenie prevysit 4 + milliarda, znacheniya OID nachinayut dublirovat'sya. PostgreSQL + ispol'zuet OID dlya svyazyvaniya svoih vnutrennih tablic. - Dlya unikal'nyh znachenij v kolonkah tablicy pol'zovatelya, luchshim + Dlya unikal'nogo znacheniya v strokah tablicy pol'zovatelya, luchshim sposobom yavlyaetsya ispol'zovanie SERIAL vmesto OID, potomu chto posledovatel'nosti SERIAL unikal'ny tol'ko vnutri tablicy i takim obrazom men'she podverzheny perepolneniyu. Dlya hraneniya znachenij @@ -839,7 +878,7 @@ Predpolozhitel'no u vas zakonchilas' virtual'naya pamyat' ili chto vashe yadro imeet malen'kij limit na opredelennye resursy. Popytajtes' - pered zapuskom postmaster vypolnit' sleduyuschie komandy: + pered zapuskom servera BD vypolnit' sleduyuschie komandy: ulimit -d 262144 limit datasize 256m @@ -895,19 +934,23 @@ CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); 4.18) Kak mne vernut' iz funkcii neskol'ko strok tablicy? Vy mozhete legko ispol'zovat' funkcii, vozvraschayuschie spisok, - http://techdocs.postgresql.org/guides/SetReturningFunctions. + http://wiki.postgresql.org/wiki/Return_more_than_one_row_of_data_from_ + PL/pgSQL_functions. 4.19) Pochemu ya poluchayu oshibku "relation with OID #### ne suschestvuet", kogda obraschayuts' k vremennym tablicam v funkciyah PL/PgSQL? - PL/PgSQL k`eshiruet scenarii funkcii i odin iz negativnyh `effektov - `etogo sostoit v tom, chto esli funkciya PL/PgSQL obraschaetsya k - vremennoj tablice i `eta tablica pozdnee udalyaetsya i peresozdaetsya, - a funkciya zatem vyzyvaetsya snova, to ee vyzov privedet k oshibke, - potomu chto sk`eshirovannoe soderzhimoe funkcii soderzhit ukazatel' na - staruyu vremennuyu tablicu. CHtoby reshit' `etu problemu, ispol'zujte - EXECUTE dlya dostupa k vremennym tablicam v PL/PgSQL. Ispol'zovanie - `etogo operatora zastavit zapros peregenerirovat'sya kazhdyj raz. + V PostgreSQL do versii 8.3, PL/PgSQL k`eshiruet scenarii funkcii i + odin iz negativnyh `effektov `etogo sostoit v tom, chto esli funkciya + PL/PgSQL obraschaetsya k vremennoj tablice i `eta tablica pozdnee + udalyaetsya i peresozdaetsya, a funkciya zatem vyzyvaetsya snova, to + ee vyzov privedet k oshibke, potomu chto sk`eshirovannoe soderzhimoe + funkcii soderzhit ukazatel' na staruyu vremennuyu tablicu. CHtoby + reshit' `etu problemu, ispol'zujte EXECUTE dlya dostupa k vremennym + tablicam v PL/PgSQL. Ispol'zovanie `etogo operatora zastavit zapros + peregenerirovat'sya kazhdyj raz. + + V PostgreSQL 8.3 i pozdnee, `etoj problemy net. 4.20) Kakie est' resheniya dlya replikacii? @@ -926,15 +969,16 @@ CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); osobennost' takzhe privodit k potere proizvoditel'nosti, potomu chto neobhodima sinhronizaciya izmenenij mezhdu neskol'kimi serverami. Naibolee populyarnym resheniem dlya takoj replikacii v PostgreSQL - yavlyaetsya Pgcluster. + yavlyaetsya PGcluster. 4.21) Pochemu imena tablicy i kolonok ne raspoznayutsya v v moiom zaprose? + Pochemu ne sohranyayutsya zaglavnye bukvy? - Naibolee chasto `eto proishodit iz-za ispol'zovaniya dvojnyh kavychek - v imeni tablicy ili kolonki pri sozdanii tablicy. Pri ispol'zovanii - dvojnyh kavychek, imya tablicy i kolonki (kotorye nazyvayut - identifikatorami) sohranyayutsya v registro-zavisimom vide; `eto - oznachaet, chto vy dolzhny ispol'zovat' dvojnye kavychki, kogda + Naibolee chasto imena neraspoznayutsya iz-za ispol'zovaniya dvojnyh + kavychek v imeni tablicy ili kolonki pri sozdanii tablicy. Pri + ispol'zovanii dvojnyh kavychek, imya tablicy i kolonki (kotorye + nazyvayut identifikatorami) sohranyayutsya v registro-zavisimom vide; + `eto oznachaet, chto vy dolzhny ispol'zovat' dvojnye kavychki, kogda ukazyvaete `eti imena v zaprose. Nekotorye interfejsy, takie kak pgAdmin, vo vremya sozdaniya tablicy dobavlyayut dvojnye kavychki avtomaticheski. Takim obrazom, chtoby identifikatory raspoznavalis' vy diff --git a/doc/src/FAQ/FAQ_russian.html b/doc/src/FAQ/FAQ_russian.html index 0f9841c437..7c9db560d5 100644 --- a/doc/src/FAQ/FAQ_russian.html +++ b/doc/src/FAQ/FAQ_russian.html @@ -12,24 +12,27 @@

Ответы на часто задаваемые вопросы по PostgreSQL

-

Дата последнего обновления: Пятница 26 октября 14:59:45 EDT 2007

+

Дата последнего обновления: Среда 25 июня 23:54:14 EDT 2008

Английский вариант сопровождает: Брюс Момьян (Bruce Momjian) (pgman@candle.pha.pa.us)
+ "mailto:bruce@momjian.us">bruce@monjian.us)

Перевёл на русский: Виктор Вислобоков (admin@linuxshare.ru)
+ "mailto:admin@postgresql.ru.net">admin@postgresql.ru.net)

Самую свежую английскую версию документа можно найти на http://www.postgresql.org/files/documentation/faqs/FAQ.html.

+

Самую свежую русскую версию документа можно найти на + http://postgresql.ru.net/docs/FAQ_russian.html.

+

Ответы на вопросы специфичные для конкретных платформ можно найти на http://www.postgresql.org/docs/faq/.


Общие вопросы

- 1.1) Что такое PostgreSQL? Как произносится это название?
+ 1.1) Что такое PostgreSQL? Как произносится это название? Что такое Postgres?
1.2) Кто управляет PostgreSQL?
1.3) Каковы авторские права на PostgreSQL?
1.4) На каких платформах работает PostgreSQL?
@@ -43,9 +46,11 @@ 1.11) Как научиться SQL?
1.12) Как мне отправить исправление или присоединится к команде разработчиков?
1.13) Как сравнить PostgreSQL с другими - СУБД?
+ СУБД? Может ли PostgreSQL быть встроенной?
1.14) Будет ли PostgreSQL работать с последними изменениями, в разных страных, касающимися дневного времени?
+ 1.15) Как мне отписаться от списков рассылки PostgreSQL? + Как избежать получения дублирующихся сообщений?

Вопросы пользователей по клиентской части

2.1) Какие интерфейсы есть для PostgreSQL?
@@ -124,10 +129,9 @@

Общие вопросы

-

1.1) Что такое PostgreSQL? Как произносится это название?

+

1.1) Что такое PostgreSQL? Как произносится это название? Что такое Postgres?

-

PostgreSQL произносится Post-Gres-Q-L (Пост-Грес-Кью-Эл), - также говорят и просто Postgres, особенно при разговоре. +

PostgreSQL произносится Post-Gres-Q-L (Пост-Грес-Кью-Эл). (Для особо любопытствующих как произносить "PostgreSQL", существует аудио-файл).

@@ -146,6 +150,12 @@ http://www.postgresql.org/docs/faqs.FAQ_DEV.html

+

Postgres — это широко используемое сокращение для PostgreSQL. + Первоначальным именем проекта в Беркли было Postgres и этот ник теперь + наиболее популярен в разговорах о PostgreSQL по сравнению с другими. + Если вам трудно полностью проговаривать 'PostgreSQL', можно просто + говорить 'Postgres'.

+

1.2) Кто управляет PostgreSQL?

Если вы ищите какого-то особенного человека, центральный @@ -169,7 +179,7 @@

Система Управления Базами Данных PostgreSQL

-

Portions copyright (c) 1996-2007, PostgreSQL Global Development +

Portions copyright (c) 1996-2008, PostgreSQL Global Development Group Portions Copyright (c) 1994-1996 Regents of the University of California

@@ -204,13 +214,13 @@

PostgreSQL также работает на операционных системах Microsoft Windows, основанных на NT, таких как Win2000 SP4, WinXP и Win2003. Пакет инсталлятора доступен по адресу - - http://pgfoundry.org/projects/pginstaller. Версии Windows, + + http://www.postgresql.org/download/windows. Версии Windows, основанные на MS-DOS (Win95, Win98, WinMe) могут запускать PostgreSQL с помощью Cygwin.

Также существует версия спортированная под Novell Netware 6 на - http://forge.novell.com, + http://developer.novell.com/wiki/index.php/Postgresql, и версия для OS/2 (eComStation) на http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=postgreSQL&stype=all&sort=type&dir=%2F.

@@ -224,7 +234,7 @@

1.6) Какая версия наиболее свежая?

-

Последний выпуск PostgreSQL - это версия 8.2.5

+

Последний выпуск PostgreSQL - это версия 8.3.3

Мы планируем выпускать новые старшие версии каждый год, а младшие версии каждые несколько месяцев.

@@ -348,7 +358,7 @@ Одну из наиболее популярных написал Корри Дуглас (Korry Douglas). Список обзоров по этим книгам доступен по адресу http://www.postgresql.org/docs/books/. - Кроме того, по адресу http://www.postgresql.org/docs/techdocs + Кроме того, по адресу http://wiki.postgresql.org/wiki/Community_Generated_Articles%2C_Guides%2C_and_Documentation вы можете найти коллекцию технических статей, посвещенных PostgreSQL.

Клиент командной строки psql имеет несколько команд \d для @@ -386,7 +396,7 @@

1.13) Как сравнить PostgreSQL с другими - СУБД?

+ СУБД? Может ли PostgreSQL быть встроенным?

Существует несколько методов сравнения программного обеспечения: @@ -450,6 +460,14 @@
+ +

PostgreSQL разрабатывается по архитектуре клиент/сервер, которая + требует отдельных процессов для каждого клиента и сервера, а также + несколько вспомогательных процессов. Многие встраиваемые архитектуры + могут соответствовать таким требованиям. Однако, если ваша встраиваемая + архитектура требует сервер баз данных для запуска внутри прикладного + процесса, вы не можете использовать Postgres и вам лучше бы выбрать + для базы данных какое-либо другое облегченное решение.

1.14) Будет ли PostgreSQL работать с последними изменениями, в разных страных, касающимися дневного времени?

@@ -461,7 +479,26 @@ дневного времени из базы данных временных зон в операционной системе.


-

Вопросы пользователей по клиентской части

+

1.15) Как мне отписаться от списков рассылки PostgreSQL? + Как избежать получения дублирующих сообщений?

+ +

Страница Majordomo + на сайте PostgreSQL позволяет подписаться или отписаться от любого из списков + рассылки PostgreSQL. (Вам может понадобится ваш пароль для Majordomo, который + отправляется на ваш E-mail, чтобы войти в управление вашими подписками.)

+ +

Все списки рассылки PostgreSQL настариваются так, чтобы групповой ответ уходил + на адрес списка и на адрес автора сообщения. Так сделано, чтобы пользователи + получали ответы на E-mail как можно быстрее. Если вы не хотите получать дублирующие + E-mail сообщения из списка, в случаях когда вы уже получили эти сообщения напрямую, + установите флажок eliminatecc на странице Change Settings в + Majordomo. Вы также можете избежать получения копий своих сообщений для самого себя, + если снимите флажок selfcopy.

+ +
+ +

Вопросы пользователей по клиентской части

2.1) Какие интерфейсы есть для PostgreSQL?

@@ -474,9 +511,7 @@

Некоторые языки программирования, такие как PHP включают в себя интерфейс к PostgreSQL. Интерфейсы для таких языков как Perl, TCL, Python и многих других, доступны на - http://gborg.postgresql.org - в секции Drivers/Interfaces, а также через поиск в Интернет.

- + http://pgfoundry.org.

2.2) Какие инструменты существуют для использования PostgreSQL через Web?

@@ -495,8 +530,8 @@

Для PostgreSQL существует большое количество инструментов с графическим интерфейсом как коммерческих, так и открытых. Подробности - можно найти в - Документации сообщества PostgreSQL

+ можно найти в + Документации сообщества для GUI иструментов PostgreSQL


@@ -515,7 +550,7 @@ другие машины смогли подключиться к базе вы должны изменить listen_addresses в postgresql.conf, разрешить host-авторизация в файле $PGDATA/pg_hba.conf и перестартовать - сервер.

+ сервер СУБД.

3.3) Какие настройки мне нужно сделать для улучшения производительности?

@@ -574,9 +609,10 @@ наличии?

Есть множество установок в настройках сервера, начинающихся - на log_*, позволяющих протоколировать запросы - и статистику работы процесса, которая очень полезна для отладки - и измерения производительности.

+ на log_* на http://www.postgresql.org/docs/current/interactive/runtime-config-logging.html, + позволяющих протоколировать запросы и статистику работы процесса, + которая очень полезна для отладки и измерения производительности.

3.5) Почему я получаю сообщение "Sorry, too @@ -1101,9 +1137,8 @@ CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP );

4.18) Как мне вернуть из функции несколько строк таблицы?

Вы можете легко использовать функции, возвращающие список, - - http://www.postgresql.org/docs/techdocs.17.

- + + http://wiki.postgresql.org/wiki/Return_more_than_one_row_of_data_from_PL/pgSQL_functions.

4.19) Почему я получаю ошибку "relation with OID #### не существует", когда обращаютсь к временным таблицам в функциях PL/PgSQL?