|
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 INTO new FROM old; |
1090 |
| - COPY new TO '/tmp/pgtable'; |
1091 |
| - DELETE FROM new; |
1092 |
| - COPY new WITH OIDS FROM '/tmp/pgtable'; |
| 1085 | + CREATE TABLE new_table(mycol int); |
| 1086 | + SELECT oid AS old_oid, mycol INTO tmp_table FROM old_table; |
| 1087 | + COPY tmp_table TO '/tmp/pgtable'; |
| 1088 | + COPY new_table WITH OIDS FROM '/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
|
|
0 commit comments