1
1
2
2
Otvety na chasto zadavaemye voprosy po PostgreSQL
3
3
4
- Data poslednego obnovleniya: Subbota 7 fevralya 22:16:21 EDT 2004
4
+ Data poslednego obnovleniya: Voskresenie 11 aprelya 23:28:03 EDT 2004
5
5
6
6
Anglijskij variant soprovozhdaet: Bryus Mom'yan (Bruce Momjian)
7
7
(pgman@candle.pha.pa.us)
114
114
Rasshireniya PostgreSQL
115
115
116
116
5.1) YA napisal funkciyu opredelyaemuyu pol'zovatelem. Kogda ya
117
- zapuskayu ee v psql, pochemu ya poluchayu dump core?
117
+ zapuskayu ee v psql, pochemu ya poluchayu core dump ?
118
118
5.2) Kak ya mogu vnesti nekotorye klassnye novye tipy i funkcii v
119
119
PostgreSQL?
120
120
5.3) Kak mne napisat' C funkciyu, vozvraschayuschuyu zapis'?
138
138
139
139
Razrabotku PostgreSQL vypolnyaet komanda razrabotchikov, vse
140
140
uchastniki kotoroj podpisany na spisok rassylki razrabotchikov. V
141
- nastoyaschee vremya, ih koordinatorom yavlyaetsya Mark Fornaj (Marc G.
141
+ nastoyaschee vremya, ih koordinatorom yavlyaetsya Mark Furn'e (Marc G.
142
142
Fournier) (scrappy@PostgreSQL.org). (Sm. sekciyu 1.6 o tom, kak
143
143
podklyuchit'sya k razrabotke). `Eta komanda teper' otvechaet za vsyu
144
144
razrabotku PostgreSQL. Dannyj proekt yavlyaetsya obschestvennym i ne
286
286
287
287
1.7) Kakaya poslednyaya versiya?
288
288
289
- Poslednij vypusk PostgreSQL - `eto versiya 7.4.1
289
+ Poslednij vypusk PostgreSQL - `eto versiya 7.4.2
290
290
291
291
My planiruem vypuskat' novye versii kazhdye 6-8 mesyacev.
292
292
370
370
Vozmozhnosti
371
371
PostgreSQL imeet bol'shinstvo vozmozhnostej predstavlennyh v
372
372
bol'shih kommercheskih SUBD, takie kak: tranzakcii, podzaprosy,
373
- triggery, obzory (views), vneshnij klyuch ssylochnoj
374
- celostnosti i raznye blokirovki. U nas est' nekotorye
375
- vozmozhnosti, kotoryh net u nih: tipy, opredelyaemye
376
- pol'zovatelem, mehanizm nasledovaniya, pravila i konkuretnoe
377
- mnogoversionnoe upravlenie dlya raboty s soderzhimym
378
- blokirovok.
373
+ triggery, predstavleniya, ssylochnoj celostnosti vtorichnogo
374
+ klyucha i raznye blokirovki. U nas est' nekotorye vozmozhnosti,
375
+ kotoryh net u nih: tipy, opredelyaemye pol'zovatelem, mehanizm
376
+ nasledovaniya, pravila i konkuretnoe mnogoversionnoe upravlenie
377
+ dlya raboty s soderzhimym blokirovok.
379
378
380
379
Proizvoditel'nost'
381
380
PostgreSQL imeet proizvoditel'nost' shozhuyu s drugimi
382
381
kommercheskimi SUBD i s SUBD s otkrytym ishodnym kodom, v
383
382
kakih-to aspektah rabotaya bystree chem oni, v kakih-to
384
- medlenee. V sravnenii s MySQL ili linejnymi SUBD, my bystree,
383
+ medlenee. V sravnenii s MySQL ili obydennee SUBD, my bystree,
385
384
kogda pol'zovatelej mnogo, a takzhe na kompleksnyh zaprosah i
386
385
chtenii/zapisi zagruzki zaprosa. MySQL bystree dlya prostyh
387
386
SELECT zaprosov, vypolnyaemyh nebol'shim kolichestvom
432
431
433
432
PostgreSQL imeet odnorangovuyu infrastrukturu s togo samogo vremeni
434
433
kak my nachali razrabotku v 1996 godu. My dolzhny blagodarit' za `eto
435
- Marka Fonaya (Marc Fournier), kotoryj sozdal `etu infrastrukturu i
434
+ Marka Furn'e (Marc Fournier), kotoryj sozdal `etu infrastrukturu i
436
435
upravlyaet ej na protyazhenii `etih let.
437
436
438
437
Kachestvennaya infrastruktura ochen' vazhna dlya proektov s otkrytym
749
748
chtoby `eta programma vydavala zaprosy, kotorye ona ispol'zuet dlya
750
749
vypolneniya zadannyh vami komand.
751
750
752
- 4.4) Kak udalit' kolonku iz tablicy ili izmenit' ioio tip dannyh?
751
+ 4.4) Kak udalit' kolonku iz tablicy ili izmenit' eio tip dannyh?
753
752
754
753
DROP COLUMN funkcional'nost' byla dobavlena v vypusk 7.3 s operatorom
755
754
ALTER TABLE DROP COLUMN. V rannih versiyah, mozhno sdelat' tak:
@@ -773,15 +772,15 @@ dalit'
773
772
4.5) Kakovy maksimal'nye razmery dlya zapisej, tablic i bazy dannyh?
774
773
775
774
Suschestvuyut sleduyuschie ogranicheniya:
776
- Maksimal'nyj razmer bazy? neogranichen (suschestvuyut bazy na
777
- 32 TB)
778
- Maksimal'nyj razmer tablicy? 32 TB
779
- Maksimal'nyj razmer zapisi? 1.6 TB
780
- Maksimal'nyj razmer polya? 1 GB
781
- Maksimal'noe kolichestvo zapisej v tablice? neogranicheno
782
- Maksimal'noe kolichestvo kolonok v tablice? 250-1600 v zavisimosti ot ti
783
- pa
784
- Maksimal'noe kolichestvo indeksov v tablice? neogranicheno
775
+ Maksimal'nyj razmer bazy? neogranichen (suschestvuyut ba
776
+ zy na 32 TB)
777
+ Maksimal'nyj razmer tablicy? 32 TB
778
+ Maksimal'nyj razmer zapisi? 1.6 TB
779
+ Maksimal'nyj razmer polya? 1 GB
780
+ Maksimal'noe kolichestvo zapisej v tablice? neogranicheno
781
+ Maksimal'noe kolichestvo kolonok v tablice? 250-1600 v zavisimosti ot tip
782
+ a
783
+ Maksimal'noe kolichestvo indeksov v tablice? neogranicheno
785
784
786
785
Razumeetsya, ponyatie "neogranicheno" na samom dele ogranichivaetsya
787
786
dostupnym diskovym prostranistvom i razmerami pamyati/svoppinga. Kogda
810
809
priblizitel'no 6.4 MB iz kotoryh:
811
810
36 bajt: na kazhdyj zagolovok zapisi (priblizitel'no)
812
811
+ 24 bajta: odno pole s celochislennym tipom i odno tekstovoe pole
813
- + 4 bajta: ukazatel' na stranice dlya vsej zapisi
812
+ + 4 bajta: ukazatel' na stranice dlya vsej zapisi
814
813
----------------------------------------
815
814
64 bajt na zapis'
816
815
817
816
Razmer stranicy dannyh v PostgreSQL sostavlyaet 8192 bajt (8 KB), tak chto:
818
817
819
818
8192 bajt na stranicu
820
- ------------------- = 128 zapisej na stranicu BD (s okrugleniem)
821
- 64 bajt na zapis'
819
+ --------------------- = 128 zapisej na stranicu BD (s okrugleniem)
820
+ 64 bajta na zapis'
822
821
823
- 100000 strok dannyh
824
- -------------------- = 782 stranicy v BD
825
- 128 zapisej na stranicu
822
+ 100000 strok dannyh
823
+ ----------------------- = 782 stranicy v BD
824
+ 128 zapisej na stranicu
826
825
827
- 782 stranicy BD * 8192 bajt na stranicu = 6,406,144 bajt (6.4 MB)
826
+ 782 stranicy BD * 8192 bajt na stranicu = 6,406,144 bajt (6.4 MB)
828
827
829
828
Indeksy ne trebuyut tak mnogo, no poskol'ku oni sozdayutsya dlya
830
829
bol'shogo kolichestva dannyh, oni takzhe mogut byt' veliki.
831
830
832
- Znacheniya NULL hranyatsya kak bitovae karty i po`etomu oni zanimayut
831
+ Znacheniya NULL hranyatsya kak bitovye karty i po`etomu oni zanimayut
833
832
ochen' malo mesta.
834
833
835
834
4.7) Kak mne ubedit'sya, chto suschestvuyut nuzhnye mne tablicy, indeksy,
879
878
ORDER BY col [ DESC ]
880
879
LIMIT 1;
881
880
882
- Esli vam kazhetsya, chto optimizator nekorretno vybiraet
881
+ Esli vam kazhetsya, chto optimizator nekorrektno vybiraet
883
882
posledovatel'nyj perebor, ispol'zujte SET enable_seqscan TO 'off' i
884
883
zapustite testy, chtoby uvidet', ne stalo-li skanirovanie indeksov
885
884
bystree.
918
917
Searching." Proceedings of the 1984 ACM SIGMOD Int'l Conf on Mgmt of
919
918
Data, 45-57.
920
919
921
- Vy mozhete najti `etot dokument v knige Stonebraker'a "Readings in
920
+ Vy mozhete najti `etot dokument v knige Stounbrejkera "Readings in
922
921
Database Systems".
923
922
924
923
Vstroennnye R-tree mogut upravlyat' poligonami i boksami. V teorii,
@@ -1281,7 +1280,7 @@ CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP );
1281
1280
Rasshireniya PostgreSQL
1282
1281
1283
1282
5.1) YA napisal funkciyu opredelyaemuyu pol'zovatelem. Kogda ya zapuskayu
1284
- ee v psql, pochemu ya poluchayu dump core?
1283
+ ee v psql, pochemu ya poluchayu core dump ?
1285
1284
1286
1285
Problema mozhet zaklyuchat'sya v neskol'kih veschah. Popytajtes'
1287
1286
sperva protestirovat' vashu funkciyu v otdel'noj samostoyatel'noj
0 commit comments