|
1 | 1 |
|
2 | 2 | Otvety na chasto zadavaemye voprosy po PostgreSQL |
3 | 3 |
|
4 | | - Data poslednego obnovleniya:CHetverg 6 maya 23:28:03 EDT 2004 |
| 4 | + Data poslednego obnovleniya:Vtornik 31 avgusta 23:28:03 EDT 2004 |
5 | 5 |
|
6 | 6 | Anglijskij variant soprovozhdaet: Bryus Mom'yan (Bruce Momjian) |
7 | 7 | (pgman@candle.pha.pa.us) |
|
61 | 61 | 3.9) CHto nahoditsya v kataloge pgsql_tmp? |
62 | 62 | 3.10) Pochemu neobhodimo delat' dump i restore pri obnovlenii vypuskov |
63 | 63 | PostgreSQL? |
| 64 | + 3.11) Kakoe komp'yuternoe "zhelezo" ya dolzhen ispol'zovat'? |
64 | 65 |
|
65 | 66 | Voprosy `ekspluatacii |
66 | 67 |
|
|
204 | 205 |
|
205 | 206 | 1.4) Suschestvuyut li versii perenesennye ne na Unix sistemy? |
206 | 207 |
|
207 | | - Klient |
208 | | - |
209 | | - Dlya zapuska na platformah MS Windows vozmozhna kompilyaciya C |
210 | | - biblioteki libpq, psql, drugih interfesov i klientskih prilozhenij. V |
211 | | - `etom sluchae, klient zapuskaetsya na MS Windows i svyazyvaetsya po |
212 | | - TCP/IP s serverom, zapuschennym na odnoj iz podderzhivaemyh Unix |
213 | | - platform. V distributiv vklyuchaetsya fajl win32.mak dlya togo, chtoby |
214 | | - mozhno bylo provesti sborku biblioteki libpq i psql dlya Win32. |
215 | | - PostgreSQL takzhe rabotaet cherez ODBC. |
216 | | - |
217 | | - Server |
218 | | - |
219 | | - Server BD mozhet byt' zapuschen na Windows NT i Win2k, ispol'zuya |
220 | | - biblioteku Cygwin, razrabotannuyu kompaniej Cygnus dlya perenosa |
221 | | - programmnogo obespecheniya Unix v NT. Smotrite pgsql/doc/FAQ_MSWIN v |
222 | | - distributive ili MS Windows FAQ na |
223 | | - http://www.PostgreSQL.org/docs/faqs/text/FAQ_MSWIN. |
224 | | - |
225 | | - PostgreSQL, sportirovannyj special'no dlya MS Win NT/2000/XP v |
226 | | - nastoyaschij moment nachal rabotat'. Podrobnosti tekuschego |
227 | | - sostoyaniya PostgreSQL dlya Windows smotrite na |
228 | | - http://techdocs.postgresql.org/guides/Windows i |
229 | | - http://momjian.postgresql.org/main/writings/pgsql/win32.html. |
| 208 | + Nachinaya s versii 8.0, PostgreSQL bez vsyakih uhischrenij rabotaet na |
| 209 | + operacionnyh sistemah Microsoft Windows, osnovannyh na NT, takih kak |
| 210 | + Win2000, WinXP i Win2003. Paket installyatora dostupen po adresu |
| 211 | + http://pgfoundry.org/projects/pginstaller. |
230 | 212 |
|
231 | 213 | Takzhe suschestvuet versiya sportirovannaya pod Novell Netware 6 na |
232 | 214 | http://forge.novell.com. |
|
287 | 269 |
|
288 | 270 | 1.7) Kakaya poslednyaya versiya? |
289 | 271 |
|
290 | | - Poslednij vypusk PostgreSQL - `eto versiya 7.4.2 |
| 272 | + Poslednij vypusk PostgreSQL - `eto versiya 7.4.5 |
291 | 273 |
|
292 | 274 | My planiruem vypuskat' novye versii kazhdye 6-8 mesyacev. |
293 | 275 |
|
|
563 | 545 | 3.5) Kak mne upravlyat' soedineniyami s drugih komp'yuterov? |
564 | 546 |
|
565 | 547 | Po umolchaniyu, PostgreSQL razreshaet tol'ko soedineniya na lokal'noj |
566 | | - mashine cherez sokety domena Unix. Drugie mashiny ne smogut |
567 | | - podklyuchit'sya k baze poka ne budet vklyuchena opciya tcpip_sockets v |
568 | | - postgresql.conf i poka ne budet razreshena host-avtorizaciya v fajle |
569 | | - $PGDATA/pg_hba.conf. `Eti dejstviya delayut vozmozhnymi TCP/IP |
570 | | - soedineniya. |
| 548 | + mashine cherez sokety domena Unix ili TCP/IP soedineniya. Drugie |
| 549 | + mashiny ne smogut podklyuchit'sya k baze poka vy ne izmenite |
| 550 | + listen_addresses v postgresql.conf i poka ne budet razreshena |
| 551 | + host-avtorizaciya v fajle $PGDATA/pg_hba.conf. |
571 | 552 |
|
572 | 553 | 3.6) Kakie nastrojki mne nuzhno sdelat' dlya uluchsheniya |
573 | 554 | proizvoditel'nosti? |
|
714 | 695 | provedeniya obnovleniya mozhet byt' ispol'zovan scenarij pg_upgrade |
715 | 696 | bez ispol'zovaniya dump/restore. Kommentarii k vypusku govorit kogda |
716 | 697 | mozhno ispol'zovat' pg_upgrade dlya `etogo vypuska. |
| 698 | + |
| 699 | + 3.11) Kakoe komp'yuternoe "zhelezo" ya dolzhen ispol'zovat'? |
| 700 | + |
| 701 | + Poskol'ku "zhelezo" personal'nyh komp'yuterov yavlyaetsya naibolee |
| 702 | + sovmestimym, lyudi sklonny verit', chto takoe "zhelezo" imeet |
| 703 | + odinakovoe kachestvo. `Eto ne tak. Pamyat' ECC, SCSI i kachestvennye |
| 704 | + materinskie platy yavlyayutsya bolee nadiozhnymi i imeyut bolee |
| 705 | + luchshuyu proizvoditel'nost', chem menee dorogoe "zhelezo". PostgreSQL |
| 706 | + budet rabotat' na lyubom "zheleze", no esli dlya vas vazhny |
| 707 | + nadiozhnost' i proizvoditel'nost', to s vashej storony budet mudro |
| 708 | + postavit' sootvetstvuyuschee "zhelezo". Obsudit' raznoe "zhelezo" |
| 709 | + mozhno v nashih spiskah rassylki. |
717 | 710 | _________________________________________________________________ |
718 | 711 |
|
719 | 712 | Voprosy `ekspluatacii |
|
813 | 806 | srednem, sostavlyaet 20 bajt. Razmer prostogo fajla sostavit 2.8 MB. |
814 | 807 | Razmer bazy PostgreSQL, soderzhaschej `eti zhe dannye sostavit |
815 | 808 | priblizitel'no 6.4 MB iz kotoryh: |
816 | | -36 bajt: na kazhdyj zagolovok zapisi (priblizitel'no) |
| 809 | +32 bajt: na kazhdyj zagolovok zapisi (priblizitel'no) |
817 | 810 | + 24 bajta: odno pole s celochislennym tipom i odno tekstovoe pole |
818 | 811 | + 4 bajta: ukazatel' na stranice dlya vsej zapisi |
819 | 812 | ---------------------------------------- |
820 | | -64 bajt na zapis' |
| 813 | +60 bajt na zapis' |
821 | 814 |
|
822 | 815 | Razmer stranicy dannyh v PostgreSQL sostavlyaet 8192 bajt (8 KB), tak chto: |
823 | 816 |
|
824 | 817 | 8192 bajt na stranicu |
825 | | - --------------------- =128 zapisej na stranicu BD (s okrugleniem) |
826 | | -64 bajta na zapis' |
| 818 | + --------------------- =136 zapisej na stranicu BD (okruglionno) |
| 819 | +60 bajt na zapis' |
827 | 820 |
|
828 | 821 | 100000 strok dannyh |
829 | | - ----------------------- =782 stranicy v BD |
| 822 | + ----------------------- =735 stranic v BD (okruglionno) |
830 | 823 | 128 zapisej na stranicu |
831 | 824 |
|
832 | | -782 stranicy BD * 8192 bajt na stranicu = 6,406,144 bajt (6.4 MB) |
| 825 | +735 stranic BD * 8192 bajt na stranicu = 6,021,120 bajt (6 MB) |
833 | 826 |
|
834 | 827 | Indeksy ne trebuyut tak mnogo, no poskol'ku oni sozdayutsya dlya |
835 | 828 | bol'shogo kolichestva dannyh, oni takzhe mogut byt' veliki. |
|
902 | 895 | opisyvayutsya v sekcii 4.12. |
903 | 896 | * Vo vremya initdb dolzhna ispol'zovat'sya lokal' po umolchaniyu C. |
904 | 897 |
|
| 898 | + V vypuskah do versii 8.0, indeksy chasto nel'zya bylo ispol'zovat', |
| 899 | + esli tipy dannyh tochno ne sovpadali s indeksnymi tipami kolonok. `Eto |
| 900 | + osobenno kasalos' int2, int8 i numeric indeksov kolonok. |
| 901 | + |
905 | 902 | 4.9) Kak posmotret' na to, kak optimizator vypolnyaet moj zapros? |
906 | 903 |
|
907 | 904 | Smotrite stranicu rukovodstva posvyaschennuyu EXPLAIN. |
@@ -1085,11 +1082,11 @@ t' null-bajt bez opaski) |
1085 | 1082 | oblasti, kotorye ispol'zuyutsya vsemi vsemi bazami dannyh. Esli vy |
1086 | 1083 | hotite izmenit' OID na kakoe-libo drugoe znachenie ili esli vy hotite |
1087 | 1084 | sozdat' kopiyu tablicy s takimizhe OID, to `eto mozhno sdelat' tak: |
1088 | | - CREATE TABLE new_table(old_oid oid,mycol int); |
1089 | | - SELECT old_oid, mycol INTOnew FROMold; |
1090 | | - COPYnew TO '/tmp/pgtable'; |
1091 | | -DELETEFROMnew; |
1092 | | -COPY new WITH OIDS FROM '/tmp/pgtable'; |
| 1085 | + CREATE TABLE new_table(mycol int); |
| 1086 | + SELECToid ASold_oid, mycol INTOtmp_table FROMold_table; |
| 1087 | + COPYtmp_table TO '/tmp/pgtable'; |
| 1088 | +COPY new_table WITH OIDSFROM'/tmp/pgtable'; |
| 1089 | +DROP TABLE tmp_table; |
1093 | 1090 |
|
1094 | 1091 | OID hranitsya kak 4-h bajtnoe celoe i ne mozhet prevyshat' znachenie v |
1095 | 1092 | 4 milliarda. Odnako, esche nikto ne soobschil o tom, chto takoe |
|