~ubuntu-branches/ubuntu/hardy/postgresql-8.4/hardy-backports

« back to all changes in this revision

Viewing changes to doc/FAQ_chinese_trad

  • Committer: Bazaar Package Importer
  • Author(s): Martin Pitt
  • Date: 2009-03-20 12:00:13 UTC
  • Revision ID: james.westby@ubuntu.com-20090320120013-hogj7egc5mjncc5g
Tags: upstream-8.4~0cvs20090328
Import upstream version 8.4~0cvs20090328

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
                          PostgreSQL 常����FAQ�
 
3
                                       
 
4
   �����2007 年 2 � 8 � ��� 22:43:13 EST
 
5
   ��������2007 年 2 � 12 � ��� 12:00:04 CST
 
6
   
 
7
   ����人��Bruce Momjian (pgman@candle.pha.pa.us)
 
8
   �������人�����(ChaoYi, Kuo)�kuo.chaoyi@gmail.com�
 
9
   
 
10
   ���������以�
 
11
   http://www.postgresql.org/files/documentation/faqs/FAQ.html ���
 
12
   
 
13
   ���系統平�������� http://www.postgresql.org/docs/faq/
 
14
   裡�����
 
15
     _________________________________________________________________
 
16
   
 
17
常���
 
18
 
 
19
   1.1)PostgreSQL ��麼�該�麼���
 
20
   1.2)誰���管�PostgreSQL �
 
21
   1.3)PostgreSQL�����麼�
 
22
   1.4)PostgreSQL�以�������系統平���
 
23
   1.5)���裡���PostgreSQL�
 
24
   1.6)���� PostgreSQL ��麼�
 
25
   1.7)���裡���� PostgreSQL ����
 
26
   1.8)����交�� BUG � ���
 
27
   1.9)����解已�� BUG ��缺����
 
28
   1.10)�� �����������
 
29
   1.11)��該�樣�� SQL �
 
30
   1.12)���交����� ������
 
31
   1.13)PostgreSQL �����庫系統�起����
 
32
   1.14)PostgreSQL �以�������家��������
 
33
   
 
34
��客�端��
 
35
 
 
36
   2.1)���以��麼��� PostgreSQL �����
 
37
   2.2)��麼工��以� PostgreSQL �� Web � ��
 
38
   2.3)PostgreSQL ���形����(GUI)��
 
39
   
 
40
系統管���
 
41
 
 
42
   3.1)��樣��� PostgreSQL �� /usr/local/pgsql 以�����
 
43
   3.2)���������������
 
44
   3.3)��樣調���庫伺��以���好����
 
45
   3.4)PostgreSQL 裡�以���麼樣�調試���
 
46
   3.5)��麼�試���������Sorry, too many clients� ���
 
47
   3.6)PostgreSQL ���������容�
 
48
   3.7)(使� PostgreSQL )���使��麼��硬��
 
49
   
 
50
����
 
51
 
 
52
   4.1) ��������詢���� 幾����������
 
53
   4.2) ����表�索����庫以�����義����� psql
 
54
   裡����詢�令並顯示���
 
55
   4.3) ��������������
 
56
   4.4) �������表�����庫��大������
 
57
   4.5) ����������件裡���������空��
 
58
   4.6) ��麼���詢�����麼���詢����索��
 
59
   4.7) ��������詢�����樣�估�����詢��
 
60
   4.8) ��樣���表���索�大�寫����
 
61
   ��表������樣��索���大�寫�����
 
62
   4.9) ����詢裡���樣檢測�������
 
63
   NULL�������確�����������NULL��
 
64
   4.10) �種�符������麼���
 
65
   4.11.1) ��樣�建����������������
 
66
   4.11.2) ����������������
 
67
   4.11.3) ��使� currval() ���������������
 
68
   4.11.4) ��麼�����常������������麼���������中
 
69
   ������
 
70
   4.12) �麼� OID��麼� CTID �
 
71
   4.13) ��麼����誤���ERROR: Memory exhausted in
 
72
   AllocSetAlloc()��
 
73
   4.14) ����������� PostgreSQL ����
 
74
   4.15) ����建��� �����������
 
75
   4.16) ��������outer join��詢�
 
76
   4.17) ����������庫��詢�
 
77
   4.18) ���������������
 
78
   4.19) ��麼��使� PL/PgSQL ������表�����誤���relation
 
79
   with OID ##### does not exist��
 
80
   4.20) ��������寫(replication)�����
 
81
   4.21) ���詢��顯示�表��������詢��中
 
82
   ������大寫�������
 
83
     _________________________________________________________________
 
84
   
 
85
常���
 
86
 
 
87
  1.1) PostgreSQL ��麼�該�麼���
 
88
  
 
89
   PostgreSQL �� Post-Gres-Q-L�����簡稱�Postgres
 
90
   ���������人����裡�����件� MP3 � �� �
 
91
   
 
92
   PostgreSQL ����������庫系統�����統�業
 
93
   ��庫系統���������������代 DBMS
 
94
   系統�使���強���PostgreSQL
 
95
   ����費��並����代碼��以���
 
96
   
 
97
   PostgreSQL
 
98
   �����主��������������並����網���繫�����社����
 
99
    ����被任������
 
100
   ��� �����������人�常����FAQ�
 
101
   http://www.postgresql.org/files/documentation/faqs/FAQ_DEV.html
 
102
   
 
103
  1.2) 誰�� PostgreSQL �
 
104
  
 
105
   ��� ���PostgreSQL���人����麼中
 
106
   央�������麼�屬���� �����---� ������
 
107
   ������確��� � ������CVS管������工���設
 
108
   �主������管�工�����PostgreSQL��������PostgreSQL�
 
109
    ���任�人�
 
110
   ��� ���人�社����������� �����就����件�表�������
 
111
   �����PostgreSQL���詳� ��人�常�� (Developer's FAQ) ������
 
112
   
 
113
  1.3) PostgreSQL �����麼?
 
114
  
 
115
   PostgreSQL�������� BSD �����許�������使�
 
116
   PostgreSQL���� �以�� PostgreSQL
 
117
   ����代碼��以������就�� ��� ���身������追訴��
 
118
   責任���就������������ ��以������
 
119
   ��就����使��BSD�����容�
 
120
   
 
121
   PostgreSQL ��庫管�系統
 
122
   
 
123
   �����c�1996-2005�PostgreSQL ������������c�1994-1996
 
124
   � �大���
 
125
   
 
126
   �Portions copyright (c) 1996-2005,PostgreSQL Global Development Group
 
127
   Portions Copyright (c) 1994-6 Regents of the University of
 
128
   California�
 
129
   
 
130
   �許�任���使�����修�����������������任�費��
 
131
   並��� 簽署� ��������������������段以����段��
 
132
   ���������
 
133
   
 
134
   �Permission to use, copy, modify, and distribute this software and
 
135
   its documentation for any purpose, without fee, and without a written
 
136
   agreement is hereby granted, provided that the above copyright notice
 
137
   and this paragraph and the following two paragraphs appear in all
 
138
   copies.�
 
139
   
 
140
   �任������ �大������ 使��
 
141
   ������������任���人�����
 
142
   ���������� ����伴�����������失�責任��使� �大�
 
143
   �已�建�����失����������
 
144
   
 
145
   �IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY
 
146
   PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
 
147
   DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS
 
148
   SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA
 
149
   HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.�
 
150
   
 
151
   � �大��確��任�����������������������������
 
152
   �裡����份���������������� �� �大���責任��維
 
153
   ���������強��修�����
 
154
   
 
155
   �THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
 
156
   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 
157
   MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
 
158
   PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
 
159
   CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
 
160
   UPDATES, ENHANCEMENTS, OR MODIFICATIONS.�
 
161
   
 
162
  1.4) PostgreSQL �以�������系統平���
 
163
  
 
164
   ��說��任���� UNIX �容���系統������ PostgreSQL
 
165
   ������裡���������確測試�平��
 
166
   
 
167
   PostgreSQL ��以�������微� Windows-NT ���系統��
 
168
   Win2000 SP4�WinXP � Win2003�已製���������
 
169
   http://pgfoundry.org/projects/pginstaller�����MSDOS�Windows�業
 
170
   系統 �Win95�Win98�WinMe�����Cygwin模�����PostgreSQL�
 
171
   
 
172
   ������� Novell Netware 6 ������� http://forge.novell.com
 
173
   ����OS/2(eComStation)�������
 
174
   http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=postgre
 
175
   SQL&stype=all&sort=type&dir=%2F ���
 
176
   
 
177
  1.5) ���裡��� PostgreSQL�
 
178
  
 
179
   ���覽��� http://www.postgresql.org/ftp/ �������FTP��
 
180
   ftp://ftp.PostgreSQL.org/pub/ �����
 
181
   
 
182
  1.6) ���� PostgreSQL ��麼�
 
183
  
 
184
   PostgreSQL �������� 8.2.3 �
 
185
   
 
186
   �����年����主�������幾����������
 
187
   
 
188
  1.7) ���裡���� PostgreSQL ����
 
189
  
 
190
   PostgreSQL社����件�表��大������幫�����件�表�主��
 
191
   ��
 
192
   http://www.postgresql.org/community/lists/��������� �General �
 
193
   Bug�件�表����好����
 
194
   
 
195
   主��IRC� ����FreeNode(irc.freenode.net)�#postgresql������
 
196
   �� ����以使� UNIX �� irc���令� ��� irc -c '#postgresql'
 
197
   "$USER" irc.freenode.net ���使���IRC客�端�����網絡���
 
198
   ��� PostgreSQL �西��� ��(#postgersql-es)���� ��
 
199
   (#postgresql-fr)��樣��� EFNET ����� PostgreSQL �交�� ���
 
200
   
 
201
   �����������表�� http://techdocs.postgresql.org/companies.php
 
202
   �覽�
 
203
   
 
204
  1.8) ����交�� BUG � ���
 
205
  
 
206
   �訪� http://www.postgresql.org/support/submitbug�填寫 Bug
 
207
   �� �表� �����樣��訪� ftp �� ftp://ftp.PostgreSQL.org/pub/
 
208
   檢������PostgreSQL ������
 
209
   
 
210
   ��使� Bug �交表� ����� PostgreSQL �件�表� Bug
 
211
   �常��以������
 
212
     * ��交�容���� Bug ���� Bug ��� �
 
213
     * ��交�容���已�� Bug 並�已�� � TODO ���任��表�
 
214
     * ��交� Bug 已������被修��
 
215
     * ��交� Bug 已修�������� ����������
 
216
     * ���交����詳細����
 
217
          + ��系統
 
218
          + PostgreSQL ��
 
219
          + ��� Bug �測試��
 
220
          + 調試��
 
221
          + 調試�蹤輸�
 
222
     * ��交�容���� Bug����以�工��
 
223
          + �建�����並��� ����主�������������
 
224
          + � Bug ����修���被� � TODO ���任��表�
 
225
       
 
226
  1.9) ����解已�� BUG ��缺����
 
227
  
 
228
   PostgreSQL ������� SQL:2003 ��������� TODO �表��解已� Bug
 
229
   �表��缺������������
 
230
   
 
231
   ���� �������常���以�������
 
232
     * 該��已� � TODO ���任��表�
 
233
     * 該������ ��� ��
 
234
          + ������符� SQL ����������
 
235
          + 該����大大�� 代碼�������帶��好��微�足���
 
236
          + 該����������� ��
 
237
     * 該���被� � TODO ���任��表�
 
238
       
 
239
   PostgreSQL �使� Bug �蹤系統�� �������件�表中
 
240
   ����以��� TODO
 
241
   任��表總����������工����������實��Bug��������中
 
242
   ������� �影������Bug�總��快�被修�
 
243
   ���������������修����� CVS
 
244
   �������使���������������������������
 
245
   
 
246
  1.10) �� �����������
 
247
  
 
248
   PostgreSQL ��大�����主��詳細��������� ����測試�����
 
249
   /doc ����註��� $PGHOME/doc�� � ��以���覽 PostgreSQL
 
250
   �����網���http://www.PostgreSQL.org/docs�
 
251
   
 
252
   �����PostgreSQL��������
 
253
   http://www.postgresql.org/docs/books/awbook.html �
 
254
   http://www.commandprompt.com/ppbook/ � ��大�� PostgreSQL
 
255
   ����購買������������ Korry Douglas 編寫���
 
256
   http://techdocs.PostgreSQL.org/techdocs/bookreviews.php� ��大���
 
257
   PostgreSQL ���簡�� � http://techdocs.PostgreSQL.org/ ������
 
258
   PostgreSQL �大����� �
 
259
   
 
260
   客�端��令���psql���以 \d �� �
 
261
   ��令��顯示�������符����������使� \?
 
262
   �以顯示������令�
 
263
   
 
264
   ��� web ����������
 
265
   
 
266
  1.11) ��該�樣�� SQL �
 
267
  
 
268
   �����述����PostgreSQL����������� Teach Yourself SQL in
 
269
   21 Days, Second Edition��詳細�紹�網��
 
270
   http://members.tripod.com/er4ebus/sql/index.htm� ���許�����The
 
271
   Practical SQL Handbook� Bowman, Judith S.
 
272
   編寫�Addison-Wesley����������� The Complete Reference SQL,
 
273
   Groff 編寫�McGraw-Hill �����
 
274
   
 
275
   ���網�����好�������
 
276
     * http://www.intermedia.net/support/sql/sqltut.shtm
 
277
     * http://sqlcourse.com.
 
278
     * http://www.w3schools.com/sql/default.asp
 
279
     * http://mysite.verizon.net/Graeme_Birchall/id1.html
 
280
       
 
281
  1.12)���交����� ������
 
282
  
 
283
   詳� ��人�常��� (Developer's FAQ) �
 
284
   
 
285
  1.13) PostgreSQL �����庫系統�起����
 
286
  
 
287
   �����好幾種����������� ������� ��
 
288
   
 
289
   ��
 
290
          PostgreSQL ��大�����庫�������������
 
291
          �詢�觸���������������������
 
292
          ������������������義���繼��������並����
 
293
          ����������
 
294
          
 
295
   ��
 
296
          PostgreSQL�����������庫���似������������快��
 
297
          ����������� �����庫�����������常� +/-
 
298
          10%���
 
299
          
 
300
   �� �
 
301
          �������庫�� ��� �����就������������������
 
302
          �測試��缺����穩�代碼������������ beta
 
303
          測試���並�������
 
304
          ��顯示���以��穩������������使��������信��
 
305
          ����������庫�������
 
306
          
 
307
   ��
 
308
          ����件�表�����常大���人������以幫�解決�碰��
 
309
          任����������
 
310
          總��解決������������庫���並��總�� ���
 
311
          �決���
 
312
          �����人����群��������觸使PostgreSQL�������
 
313
          �庫��好������業
 
314
          ����������以給��給�����人����1.7 ���
 
315
          
 
316
   �� �
 
317
          ���任�����費������������
 
318
          � �以�� ����� ���裡� ����代碼�������������
 
319
          ��裡��� BSD������容�
 
320
          
 
321
  1.14) PostgreSQL �以�������家�������?
 
322
  
 
323
   PostgreSQL 8.0������使���系統������庫�����������
 
324
   8.0 ��以���� PostgreSQL ��身����������
 
325
     _________________________________________________________________
 
326
   
 
327
��客�端��
 
328
 
 
329
  2.1) ���以��麼��� PostgreSQL �����
 
330
  
 
331
   PostgreSQL (� ���)���� C ���� C
 
332
   ��������������� ���� ���������� ����好�
 
333
   ����以������������������
 
334
   
 
335
   ��編���� PHP ��訪� PostgreSQL ����Perl�TCL�Python
 
336
   以����������� http://gborg.postgresql.org 網���
 
337
   Drivers/Interfaces ������ 並��� Internet �容��索��
 
338
   
 
339
  2.2) ��麼工��以� PostgreSQL �� Web � ��
 
340
  
 
341
   ���紹以��庫������������http://www.webreview.com�
 
342
   
 
343
   �� Web ���PHP ���極好������ http://www.php.net/�
 
344
   
 
345
   �����任����人�� Perl ��� 使� CGI.pm � DBD::Pg � mod_perl
 
346
   �
 
347
   
 
348
  2.3)PostgreSQL ���形������
 
349
  
 
350
   ����������人��������� PostgreSQL�GUI �形工�����
 
351
   PostgreSQL社��� ���詳細��表�
 
352
     _________________________________________________________________
 
353
   
 
354
系統管���
 
355
 
 
356
  3.1)��樣�� PostgreSQL �� /usr/local/pgsql 以�����
 
357
  
 
358
   ��� configure �� � --prefix �� �
 
359
   
 
360
  3.2) ���������������
 
361
  
 
362
   � �����PostgreSQL ��許������� unix ����� TCP/IP
 
363
   ������ � ���修���置�件 postgresql.conf ��
 
364
   listen_addresses�����置�件 $PGDATA/pg_hba.conf ����
 
365
   ��� ���� host-based ��身份���並����
 
366
   PostgreSQL������������ � PostgreSQL 伺��������
 
367
   
 
368
  3.3) ��樣調���庫��以���好����
 
369
  
 
370
   ���主����以�� PostgreSQL ����
 
371
   
 
372
   �詢�����
 
373
          �主���修��詢��以���好���:
 
374
          
 
375
          + �建索����表�����索��
 
376
          + 使� COPY ��代��� Insert ���
 
377
          + ���SQL��������以���交������
 
378
          + ���索���������使� CLUSTER�
 
379
          + ����詢����������使� LIMIT�
 
380
          + 使�� 編���詢�Prepared Query)�
 
381
          + 使� ANALYZE 以��精確���統��
 
382
          + ��使� VACUUM � pg_autovacuum
 
383
          + ��大���������索�����建索��
 
384
            
 
385
   伺����置
 
386
          �置�件 postgres.conf ����設
 
387
          置��影����������表���
 
388
          管����/��庫伺������/��庫伺�����置�
 
389
          �����解����http://www.varlena.com/varlena/GeneralBits/Tidb
 
390
          its/annotated_conf_e.html �
 
391
          http://www.varlena.com/varlena/GeneralBits/Tidbits/perf.html�
 
392
          
 
393
   硬����
 
394
          ��硬�����影���覽
 
395
          http://candle.pha.pa.us/main/writings/pgsql/hw_performance/inde
 
396
          x.html � http://www.powerpostgresql.com/PerfList/�
 
397
          
 
398
  3.4)PostgreSQL 裡�以���麼樣�調試���
 
399
  
 
400
   PostgreSQL ����似 log_*
 
401
   �伺���置������詢������統�����工��調試���測試�
 
402
   ��幫��
 
403
   
 
404
  3.5) ��麼�試�������Sorry, too many
 
405
  clients�已�太����������
 
406
  
 
407
   �表示� 已��� � 100 �並�(��)���������� ����修�
 
408
   postgresql.conf �件�� max_connections �� ��  postmaster
 
409
   ���併�����修������� postmaster�
 
410
   
 
411
  3.6)PostgreSQL ���������容 �
 
412
  
 
413
   PostgreSQL �����次������主������ Bug 修�工��� ��
 
414
   7.4.8 ��� 7.4.9 ��� dump � restore������
 
415
   ���庫伺�����������������伺�����
 
416
   
 
417
   ��PostgreSQL����該������ �使��主������������快��
 
418
   ��管�次��������風��PostgreSQL��� ���������修�
 
419
   ��� Bug
 
420
   ����碼������以風�������PostgreSQL社������������
 
421
   風���������
 
422
   
 
423
   主��������� 7.3 � 7.4��常�修�系統表���表���� ���
 
424
   ������������ ���������件����容��� �����中
 
425
   �������dump�/������中
 
426
   �������reload��主�������� ��
 
427
   
 
428
  3.7)(使� PostgreSQL )���使��麼��硬� �
 
429
  
 
430
   ����硬�大����容��人�總�����信����硬�質����
 
431
   ����實���� ECC RAM�帶��� ��������SCSI
 
432
   �硬����質�主�����便�貨��� �� ����好����
 
433
   PostgreSQL 幾��以���任�硬���
 
434
   ����� ������ �系統����� 就������ 究��� �硬���
 
435
   �������件�表����� 硬��置��������
 
436
     _________________________________________________________________
 
437
   
 
438
����
 
439
 
 
440
  4.1) ��������詢���� 幾����������
 
441
  
 
442
   ��� �����幾����並�� ����詢中
 
443
   ��確������ �以使� LIMIT ��� �����索�� ORDER BY 中
 
444
   ��件���PostgreSQL ��就������� 幾����
 
445
   ��������詢��������������������詢������確�����
 
446
   �� �使�游�(cursor)�FETCH���
 
447
   
 
448
   �使�以�������������
 
449
       SELECT  cols
 
450
      FROM tab
 
451
      ORDER BY random()
 
452
      LIMIT 1 ;
 
453
 
 
454
  4.2)
 
455
  ����表�索����庫以�����義�����psql裡����詢�令並顯示�
 
456
  ���
 
457
  
 
458
   �psql�使� \dt �令�顯示��表��義���解 psql 中
 
459
   ����令�表�使� \? ����� ��以�� psql ��代碼 �件
 
460
   pgsql/src/bin/psql/describe.c������� psql ����令�輸���� SQL
 
461
   �令�� ��以帶 -E �� �� psql� �樣������ � psql 中
 
462
   �給���令������實�使�� SQL
 
463
   �詢���PostgreSQL�������容 SQL� INFORMATION SCHEMA ���
 
464
   � �以��裡������庫����
 
465
   
 
466
   �系統�����以 pg_ �� �系統表��述�表��義�
 
467
   
 
468
   使� psql -l �令�以�������庫�
 
469
   
 
470
   ��以�覽�� pgsql/src/tutorial/syscat.source
 
471
   �件�����������庫系統表������SELECT���
 
472
   
 
473
  4.3) ��������������
 
474
  
 
475
   �8.0��裡������������容���使� ALTER TABLE ALTER COLUMN
 
476
   TYPE �
 
477
   
 
478
   �以�������以�樣��
 
479
    BEGIN;
 
480
    ALTER TABLE tab ADD COLUMN new_col new_data_type;
 
481
    UPDATE tab SET new_col = CAST(old_col AS new_data_type);
 
482
    ALTER TABLE tab DROP COLUMN old_col;
 
483
    COMMIT;
 
484
 
 
485
   � ���以使� VACUUM FULL tab �令�使系統����������空��
 
486
   
 
487
  4.4) �������表�����庫��大������
 
488
  
 
489
   ��������
 
490
   
 
491
     ����庫�大尺寸�    ����已��� 32TB ���庫�
 
492
     ��表��大尺寸�      32 TB
 
493
     ������大尺寸�     1.6 TB
 
494
     ������大尺寸?      1 GB
 
495
     ��表裡�大���       ���
 
496
     ��表裡�大����    250-1600 ��������
 
497
     ��表裡��大索���� ���
 
498
   
 
499
   ���實�������������������空�������/交������
 
500
   �實����述�������常�大��系統������大影��
 
501
   
 
502
   �表��大大� 32 TB ����業
 
503
   系統����件���麼大����大表��� 1 GB ��件���� �
 
504
   ��件系統大����������
 
505
   
 
506
   ��� ���大���� 32K ��大��表大���大����以�� ����
 
507
   
 
508
   �����就����大���2000�
 
509
   ����建索��幸����樣�索�����������
 
510
   ����容��MD5����������索�������������
 
511
   並���檢索�許���������索�
 
512
   
 
513
  4.5) ����������件裡���������空��
 
514
  
 
515
   �� Postgres ��庫��
 
516
   ������件�����空���������������件�身大�5����空�
 
517
   �
 
518
   
 
519
   �������� 100,000 ���件��������������述� �設
 
520
   ��串�平��度�20���(Byte)����件�� 2.8 MB��
 
521
   ������PostgreSQL��庫�件大�� 5.2 MB:
 
522
     24 ���: ���� �大���
 
523
     24 ����: ���������������
 
524
   +  4 ����: � ���������
 
525
   ----------------------------------------
 
526
     52 �����
 
527
 
 
528
   PostgreSQL ��� �大�� 8192 ��� (8 KB)���
 
529
 
 
530
   8192 �����
 
531
   -------------------   =  158 �/��� ������
 
532
     52 �����
 
533
 
 
534
   100000 ���
 
535
   --------------------  =  633 ��� ������
 
536
      146 �/���
 
537
 
 
538
   633 ���  * 8192 ��/�   = 5,185,536 ���5.2 MB�
 
539
 
 
540
   索�����麼���������確實��被索������ �
 
541
   �������大�
 
542
   
 
543
   空� NULL �������� ������空��
 
544
   
 
545
  4.6) ��麼���詢�����麼���詢����索��
 
546
  
 
547
   並����詢����使�索�����表�大���������並��詢���
 
548
   ��表�������������索�� ��� �索����起������
 
549
   ���������表�� �������
 
550
   
 
551
   ������使�索��PostgreSQL
 
552
   �� ����表�統�����統���以使� VACUUM ANALYZE�� ANALYZE
 
553
   ��� 使�統��������表中
 
554
   �����就�� �好�������索��
 
555
   統���確������� ������������表��容�����������
 
556
   �統��������
 
557
   
 
558
   索��常��� ORDER BY
 
559
   ���������大表��次� ������次���常�索����快������
 
560
   � LIMIT � ORDER BY
 
561
   ����起使��話��常��使�索��� ������表���������
 
562
   
 
563
   ��� 確信PostgreSQL����使�� ������確��� �以使�SET
 
564
   enable_seqscan TO 'off'�令���� ����
 
565
   ���次���詢�� 就�以��使���索�����確實�快���
 
566
   
 
567
   �使���符����� LIKE � ~ ��索����������使��
 
568
     * �符串������� ����符串��就�說�
 
569
          + LIKE 模���以 % �� �
 
570
          + ~ ���表���模��� 以 ^ �� �
 
571
     * �符串��以�����符�模���� ��� [a-e]�
 
572
     * 大�寫������� ILIKE � ~* ��使�索����以� 4.8
 
573
       ��述�表��索��
 
574
     * �� initdb ��� ��� �����置 C
 
575
       locale�� �系統������� C locale �������大�符��麼�
 
576
       ��種����� �以�建����� text_pattern_ops 索����
 
577
       LIKE �索��
 
578
       
 
579
   � 8.0 �����中
 
580
   �����詢������索������������索��常��被������
 
581
   �� int2, int8 �����索��
 
582
   
 
583
  4.7) ��������詢�����樣�估�����詢�
 
584
  
 
585
   �� EXPLAIN ��� �
 
586
   
 
587
  4.8) ��樣���表���索�大�寫����
 
588
  ��表������樣��索���大�寫�����
 
589
  
 
590
   ��符 ~ ����表������ ~* ��大�寫�����表�����大�寫���
 
591
   LIKE �種�� ILIKE�
 
592
   
 
593
   大�寫��������常寫��
 
594
    SELECT *
 
595
    FROM tab
 
596
    WHERE lower(col) = 'abc';
 
597
 
 
598
   �樣���使����索�����以�建����種���使��表��索�
 
599
   :
 
600
    CREATE INDEX tabindex ON tab (lower(col));
 
601
 
 
602
   ���述索���建�� � UNIQUE �����索����身�容�以�
 
603
   �大�寫����容����� UNIQUE
 
604
   �������容�����大�寫������� ���������
 
605
   ����種����以使� CHECK ���件��觸�����������
 
606
   
 
607
  4.9) ����詢裡���樣檢測������� NULL
 
608
  �������確����������� NULL ��
 
609
  
 
610
   � IS NULL � IS NOT NULL 測試������������
 
611
   SELECT *
 
612
   FROM tab
 
613
   WHERE col IS NULL;
 
614
 
 
615
   ����� NULL ������� ORDER BY �件�使� IS NULL � IS NOT
 
616
   NULL 修飾符��件�� true ���件�� false ����������
 
617
   就��� NULL �������������
 
618
   SELECT *
 
619
   FROM tab
 
620
   ORDER BY (col IS NOT NULL)
 
621
 
 
622
  4.10) �種�符������麼���
 
623
  
 
624
   �� ���稱 說�
 
625
   VARCHAR(n) varchar ����大�度����
 
626
   符串��足�義�度������
 
627
   CHAR(n) bpchar ���符串�實����足�義�度��以空� ���
 
628
   TEXT text ���������������大�度���
 
629
   BYTEA bytea �������使�NULL�符���許��
 
630
   "char" char ���符
 
631
   
 
632
   �系統表�����誤��裡� ������稱�
 
633
   
 
634
   �������種��� "varlena"��������就�說��� ����
 
635
   ���度��������� ��實����空�����大������
 
636
   ��������義�����以被�縮���� �
 
637
   ���空������ �����
 
638
   
 
639
   VARCHAR(n) �������大�度����符串��好�� TEXT ����
 
640
   ��大�� 1G 左����義���度��符串�
 
641
   
 
642
   CHAR(n) �������度����符串�
 
643
   CHAR(n)�� ���給�����度以空� ��足��足����容�� �
 
644
   VARCHAR(n) ����給�����容� BYTEA ����������尤����
 
645
   NULL �����������差������
 
646
   
 
647
  4.11.1) ��樣�建���������������
 
648
  
 
649
   PostgreSQL �� SERIAL
 
650
   ���������義�SERIAL������建�����������
 
651
   CREATE TABLE person (
 
652
      id   SERIAL,
 
653
      name TEXT
 
654
   );
 
655
 
 
656
   ������以�SQL���
 
657
   CREATE SEQUENCE person_id_seq;
 
658
   CREATE TABLE person (
 
659
      id   INT4 NOT NULL DEFAULT nextval('person_id_seq'),
 
660
      name TEXT
 
661
   );
 
662
 
 
663
   �� create_sequence ��� ���������������
 
664
   
 
665
  4.11.2) ����������������
 
666
  
 
667
   �種������������ nextval() ����象裡檢索���� SERIAL
 
668
   ��������精確����使� 4.11.1 裡��表����碼�樣�述�
 
669
   new_id = execute("SELECT nextval('person_id_seq')");
 
670
   execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')");
 
671
 
 
672
   �樣������詢�使���� new_id 裡����������� person
 
673
   表����� 注����建� SEQUENCE �象��稱���
 
674
   <table>_<serialcolumn>_seq� �裡 table � serialcolumn
 
675
   ���� �表��稱�� � SERIAL ����稱�
 
676
   
 
677
   �似��� SERIAL �象� ����� �以��� currval() 檢索�賦��
 
678
   SERIAL �����
 
679
   execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");
 
680
   new_id = execute("SELECT currval('person_id_seq')");
 
681
 
 
682
  4.11.3) ��使� currval() ���������������
 
683
  
 
684
   ���currval() ����� �次�話���賦��������������
 
685
   
 
686
  4.11.4) ��麼�����常������������麼����������������
 
687
  
 
688
   ����併������������賦��
 
689
   ��������並�������������� �就����常中
 
690
   ���������������
 
691
   
 
692
  4.12) �麼� OID ��麼� CTID �
 
693
  
 
694
   PostgreSQL 裡�建��������������� OID�����建表�使�
 
695
   WITHOUT OIDS �� � OID �建�������� 4��������� OID ���
 
696
   PostgreSQL 伺��������� ������� 40���溢�� OID �
 
697
   ��������PostgreSQL �����系統表裡使� OID
 
698
   �表��建��繫�
 
699
   
 
700
   ������表���好�使� SERIAl �代� OID � � SERIAL ����
 
701
   ���表��������就�以���樣�溢�����就�常���
 
702
   SERIAL8 �����8���������
 
703
   
 
704
   CTID ����帶��������������移�������� CTID
 
705
   ���被�����������索���使���������
 
706
   
 
707
  4.13) ��麼����誤���ERROR: Memory exhausted in AllocSetAlloc()��
 
708
  
 
709
   �����系統������������� �����������������
 
710
   postmaster ��試試����令�
 
711
   ulimit -d 262144
 
712
   limit datasize 256m
 
713
 
 
714
   �決�� ��
 
715
   shell����令�������������� �����段��������
 
716
   � ��許���詢������令��������以�������令����建�
 
717
   ����
 
718
   ��� ����SQL客�端�� ������太��������������客��
 
719
   �������述�令�
 
720
   
 
721
  4.14) �����������PostgreSQL����
 
722
  
 
723
   � psql 裡�輸� SELECT version();�令�
 
724
   
 
725
  4.15) ����建��� �����������
 
726
  
 
727
   使� CURRENT_TIMESTAMP�
 
728
   CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
 
729
 
 
730
  4.16) ��樣�� outer join ������
 
731
  
 
732
   PostgreSQL ����� SQL ���������裡������
 
733
   SELECT *
 
734
   FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);
 
735
 
 
736
   ��
 
737
   SELECT *
 
738
   FROM t1 LEFT OUTER JOIN t2 USING (col);
 
739
 
 
740
   �������詢� t1.col � t2.col �����並��� t1 中
 
741
   ����������� t2 ��������� �[�]���RIGHT OUTER
 
742
   JOIN���� t2 ������� ������FULL OUTER JOIN���� t1 � t2
 
743
   ������� ��� OUTER �左[�]����[�]�����[�]��中
 
744
   ���������被稱�����INNER JOIN��
 
745
   
 
746
  4.17) ��使�������庫��詢�
 
747
  
 
748
   ��辦��詢����庫�����庫�
 
749
   � �PostgreSQL�� ����庫���系統���系統表��� �
 
750
   �跨��庫��詢���������
 
751
   
 
752
   �� ��模� contrib/dblink
 
753
   �許����調�實�跨庫�詢�������以����������庫��
 
754
   ��詢���客�端�併���
 
755
   
 
756
  4.18) ���������������
 
757
  
 
758
   ����������������容�使���詳����
 
759
   http://techdocs.postgresql.org/guides/SetReturningFunctions
 
760
   
 
761
  4.19) ��麼��使� PL/PgSQL ������表�����誤���relation with OID
 
762
  ##### does not exist��
 
763
  
 
764
   PL/PgSQL �緩�������容���帶�����好��������
 
765
   PL/PgSQL
 
766
   ��訪������表���該表被��並�建����次調�該����
 
767
   ��� � �緩�����容��������表�解決����� PL/PgSQL 中
 
768
   �EXECUTE ���表��訪���樣����詢����總�被��解��
 
769
   
 
770
  4.20) ��������寫(replication)�����
 
771
  
 
772
   ��寫���������好幾種�寫������種�����缺��
 
773
   
 
774
   主/���寫����許��主伺�����/寫��������伺������
 
775
   �/SELECT�詢���� �������費�主/�PostgreSQL�寫���
 
776
   Slony-I �
 
777
   
 
778
   ��主伺����寫���許��/寫�����給���主���種�����
 
779
   ����伺���������� ���帶��������失�Pgcluster
 
780
   ����種����好��並���以�費���
 
781
   
 
782
   ��������費���硬�����寫������述�種�寫模��
 
783
   
 
784
  4.21) ���詢��顯示�表��������詢���������大寫�������
 
785
  
 
786
   �常���� ���建表��表�����使�����( ' '
 
787
   )��使�������表�����稱���符������� 大�寫��
 
788
   ����� ��詢�表������使�������工����� pgAdmin
 
789
   �����建表��令���������符�� ���� � ������
 
790
   符�統��� �該�
 
791
     * ��建表������符使�����起��
 
792
     * ���符��使��寫���
 
793
     * ����已�����符�����詢�使�������符�起��