Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
<appendix id="glossary">
<title>Glossary</title>
<para>
This is a list of terms and their meaning in the context of
<productname>PostgreSQL</productname> and relational database
systems in general.
</para>
<glosslist>
<glossentry id="glossary-acid">
<glossterm>ACID</glossterm>
<glossdef>
<para>
<glossterm linkend="glossary-atomicity">Atomicity</glossterm>,
<glossterm linkend="glossary-consistency">Consistency</glossterm>,
<glossterm linkend="glossary-isolation">Isolation</glossterm>, and
<glossterm linkend="glossary-durability">Durability</glossterm>.
This set of properties of database transactions is intended to
guarantee validity in concurrent operation and even in event of
errors, power failures, etc.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-aggregate">
<glossterm>Aggregate function (routine)</glossterm>
<glossdef>
<para>
A <glossterm linkend="glossary-function">function</glossterm> that
combines (<firstterm>aggregates</firstterm>) multiple input values,
for example by counting, averaging or adding,
yielding a single output value.
</para>
<para>
For more information, see
<xref linkend="functions-aggregate"/>.
</para>
<glossseealso otherterm="glossary-window-function" />
</glossdef>
</glossentry>
<glossentry>
<glossterm>Analytic function</glossterm>
<glosssee otherterm="glossary-window-function" />
</glossentry>
<glossentry id="glossary-analyze">
<glossterm>Analyze (operation)</glossterm>
<glossdef>
<para>
The process of collecting statistics from data in
<glossterm linkend="glossary-table">tables</glossterm>
and other <glossterm linkend="glossary-relation">relations</glossterm>
to help the <glossterm linkend="glossary-planner">query planner</glossterm>
to make decisions about how to execute
<glossterm linkend="glossary-query">queries</glossterm>.
</para>
<para>
(Don't confuse this term with the <literal>ANALYZE</literal> option
to the <xref linkend="sql-explain"/> command.)
</para>
<para>
For more information, see
<xref linkend="sql-analyze"/>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-atomic">
<glossterm>Atomic</glossterm>
<glossdef>
<para>
In reference to a <glossterm linkend="glossary-datum">datum</glossterm>:
the fact that its value cannot be broken down into smaller
components.
</para>
</glossdef>
<glossdef>
<para>
In reference to a
<glossterm linkend="glossary-transaction">database transaction</glossterm>:
see <glossterm linkend="glossary-atomicity">atomicity</glossterm>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-atomicity">
<glossterm>Atomicity</glossterm>
<glossdef>
<para>
The property of a <glossterm linkend="glossary-transaction">transaction</glossterm>
that either all its operations complete as a single unit or none do.
In addition, if a system failure occurs during the execution of a
transaction, no partial results are visible after recovery.
This is one of the <acronym>ACID</acronym> properties.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-attribute">
<glossterm>Attribute</glossterm>
<glossdef>
<para>
An element with a certain name and data type found within a
<glossterm linkend="glossary-tuple">tuple</glossterm>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-autovacuum">
<glossterm>Autovacuum (process)</glossterm>
<glossdef>
<para>
A set of background processes that routinely perform
<glossterm linkend="glossary-vacuum">vacuum</glossterm>
and <glossterm linkend="glossary-analyze">analyze</glossterm>
operations.
</para>
<para>
For more information, see
<xref linkend="autovacuum"/>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-backend">
<glossterm>Backend (process)</glossterm>
<glossdef>
<para>
Process of an <glossterm linkend="glossary-instance">instance</glossterm>
which acts on behalf of a <glossterm linkend="glossary-session">client session</glossterm>
and handles its requests.
</para>
<para>
(Don't confuse this term with the similar terms
<glossterm linkend="glossary-background-worker">Background Worker</glossterm> or
<glossterm linkend="glossary-background-writer">Background Writer</glossterm>).
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-background-worker">
<glossterm>Background worker (process)</glossterm>
<glossdef>
<para>
Process within an <glossterm linkend="glossary-instance">instance</glossterm>,
which runs system- or user-supplied code.
Serves as infrastructure for several features in
<productname>PostgreSQL</productname>, such as
<glossterm linkend="glossary-replication">logical replication</glossterm>
and <glossterm linkend="glossary-parallel-query">parallel queries</glossterm>.
In addition, <glossterm linkend="glossary-extension">Extensions</glossterm> can add
custom background worker processes.
</para>
<para>
For more information, see
<xref linkend="bgworker"/>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-background-writer">
<glossterm>Background writer (process)</glossterm>
<glossdef>
<para>
A process that writes dirty
<glossterm linkend="glossary-data-page">data pages</glossterm> from
<glossterm linkend="glossary-shared-memory">shared memory</glossterm> to
the file system. It wakes up periodically, but works only for a short
period in order to distribute its expensive <acronym>I/O</acronym>
activity over time to avoid generating larger
<acronym>I/O</acronym> peaks which could block other processes.
</para>
<para>
For more information, see
<xref linkend="runtime-config-resource-background-writer"/>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-bloat">
<glossterm>Bloat</glossterm>
<glossdef>
<para>
Space in data pages which does not contain current row versions,
such as unused (free) space or outdated row versions.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-cast">
<glossterm>Cast</glossterm>
<glossdef>
<para>
A conversion of a <glossterm linkend="glossary-datum">datum</glossterm>
from its current data type to another data type.
</para>
<para>
For more information, see
<xref linkend="sql-createcast"/>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-catalog">
<glossterm>Catalog</glossterm>
<glossdef>
<para>
The <acronym>SQL</acronym> standard uses this term to
indicate what is called a
<glossterm linkend="glossary-database">database</glossterm> in
<productname>PostgreSQL</productname>'s terminology.
</para>
<para>
(Don't confuse this term with
<glossterm linkend="glossary-system-catalog">system catalog</glossterm>).
</para>
<para>
For more information, see
<xref linkend="manage-ag-overview"/>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-check-constraint">
<glossterm>Check constraint</glossterm>
<glossdef>
<para>
A type of <glossterm linkend="glossary-constraint">constraint</glossterm>
defined on a <glossterm linkend="glossary-relation">relation</glossterm>
which restricts the values allowed in one or more
<glossterm linkend="glossary-attribute">attributes</glossterm>. The
check constraint can make reference to any attribute of the same row in
the relation, but cannot reference other rows of the same relation or
other relations.
</para>
<para>
For more information, see
<xref linkend="ddl-constraints"/>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-checkpoint">
<glossterm>Checkpoint</glossterm>
<glossdef>
<para>
A point in the <glossterm linkend="glossary-wal">WAL</glossterm> sequence
at which it is guaranteed that the heap and index data files have been
updated with all information from
<glossterm linkend="glossary-shared-memory">shared memory</glossterm>
modified before that checkpoint;
a <firstterm>checkpoint record</firstterm> is written and flushed to WAL
to mark that point.
</para>
<para>
A checkpoint is also the act of carrying out all the actions that
are necessary to reach a checkpoint as defined above.
This process is initiated when predefined conditions are met,
such as a specified amount of time has passed, or a certain volume
of records has been written; or it can be invoked by the user
with the command <command>CHECKPOINT</command>.
</para>
<para>
For more information, see
<xref linkend="wal-configuration"/>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-checkpointer">
<glossterm>Checkpointer (process)</glossterm>
<glossdef>
<para>
A specialized process responsible for executing checkpoints.
</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>Class (archaic)</glossterm>
<glosssee otherterm="glossary-relation" />
</glossentry>
<glossentry id="glossary-client">
<glossterm>Client (process)</glossterm>
<glossdef>
<para>
Any process, possibly remote, that establishes a
<glossterm linkend="glossary-session">session</glossterm>
by <glossterm linkend="glossary-connection">connecting</glossterm> to an
<glossterm linkend="glossary-instance">instance</glossterm>
to interact with a <glossterm linkend="glossary-database">database</glossterm>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-column">
<glossterm>Column</glossterm>
<glossdef>
<para>
An <glossterm linkend="glossary-attribute">attribute</glossterm> found in
a <glossterm linkend="glossary-table">table</glossterm> or
<glossterm linkend="glossary-view">view</glossterm>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-commit">
<glossterm>Commit</glossterm>
<glossdef>
<para>
The act of finalizing a
<glossterm linkend="glossary-transaction">transaction</glossterm> within
the <glossterm linkend="glossary-database">database</glossterm>, which
makes it visible to other transactions and assures its
<glossterm linkend="glossary-durability">durability</glossterm>.
</para>
<para>
For more information, see
<xref linkend="sql-commit"/>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-concurrency">
<glossterm>Concurrency</glossterm>
<glossdef>
<para>
The concept that multiple independent operations happen within the
<glossterm linkend="glossary-database">database</glossterm> at the same time.
In <productname>PostgreSQL</productname>, concurrency is controlled by
the <glossterm linkend="glossary-mvcc">multiversion concurrency control</glossterm>
mechanism.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-connection">
<glossterm>Connection</glossterm>
<glossdef>
<para>
An established line of communication between a client process and a
<glossterm linkend="glossary-backend">backend</glossterm> process,
usually over a network, supporting a
<glossterm linkend="glossary-session">session</glossterm>. This term is
sometimes used as a synonym for session.
</para>
<para>
For more information, see
<xref linkend="runtime-config-connection"/>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-consistency">
<glossterm>Consistency</glossterm>
<glossdef>
<para>
The property that the data in the
<glossterm linkend="glossary-database">database</glossterm>
is always in compliance with
<glossterm linkend="glossary-constraint">integrity constraints</glossterm>.
Transactions may be allowed to violate some of the constraints
transiently before it commits, but if such violations are not resolved
by the time it commits, such a transaction is automatically
<glossterm linkend="glossary-rollback">rolled back</glossterm>.
This is one of the <acronym>ACID</acronym> properties.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-constraint">
<glossterm>Constraint</glossterm>
<glossdef>
<para>
A restriction on the values of data allowed within a
<glossterm linkend="glossary-table">table</glossterm>,
or in attributes of a
<!-- XXX Should have term "domain". Need term "type" for that. -->
<firstterm>domain</firstterm>.
</para>
<para>
For more information, see
<xref linkend="ddl-constraints"/>.
</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>Data area</glossterm>
<glosssee otherterm="glossary-data-directory" />
</glossentry>
<glossentry id="glossary-database">
<glossterm>Database</glossterm>
<glossdef>
<para>
A named collection of
<glossterm linkend="glossary-sql-object">local SQL objects</glossterm>.
</para>
<para>
For more information, see
<xref linkend="manage-ag-overview"/>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-db-cluster">
<glossterm>Database cluster</glossterm>
<glossdef>
<para>
A collection of databases and global SQL objects,
and their common static and dynamic metadata.
Sometimes referred to as a
<firstterm>cluster</firstterm>.
</para>
<para>
In <productname>PostgreSQL</productname>, the term
<firstterm>cluster</firstterm> is also sometimes used to refer to an instance.
(Don't confuse this term with the SQL command <command>CLUSTER</command>.)
</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>Database server</glossterm>
<glosssee otherterm="glossary-instance" />
</glossentry>
<glossentry id="glossary-data-directory">
<glossterm>Data directory</glossterm>
<glossdef>
<para>
The base directory on the file system of a
<glossterm linkend="glossary-server">server</glossterm> that contains all
data files and subdirectories associated with a
<glossterm linkend="glossary-db-cluster">database cluster</glossterm>
(with the exception of
<glossterm linkend="glossary-tablespace">tablespaces</glossterm>,
and optionally <glossterm linkend="glossary-wal">WAL</glossterm>).
The environment variable <literal>PGDATA</literal> is commonly used to
refer to the data directory.
</para>
<para>
A <glossterm linkend="glossary-db-cluster">cluster</glossterm>'s storage
space comprises the data directory plus any additional tablespaces.
</para>
<para>
For more information, see
<xref linkend="storage-file-layout"/>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-data-page">
<glossterm>Data page</glossterm>
<glossdef>
<para>
The basic structure used to store relation data.
All pages are of the same size.
Data pages are typically stored on disk, each in a specific file,
and can be read to <glossterm linkend="glossary-shared-memory">shared buffers</glossterm>
where they can be modified, becoming
<firstterm>dirty</firstterm>. They become clean when written
to disk. New pages, which initially exist in memory only, are also
dirty until written.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-datum">
<glossterm>Datum</glossterm>
<glossdef>
<para>
The internal representation of one value of an <acronym>SQL</acronym>
data type.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-delete">
<glossterm>Delete</glossterm>
<glossdef>
<para>
An <acronym>SQL</acronym> command which removes
<glossterm linkend="glossary-tuple">rows</glossterm> from a given
<glossterm linkend="glossary-table">table</glossterm>
or <glossterm linkend="glossary-relation">relation</glossterm>.
</para>
<para>
For more information, see
<xref linkend="sql-delete"/>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-durability">
<glossterm>Durability</glossterm>
<glossdef>
<para>
The assurance that once a
<glossterm linkend="glossary-transaction">transaction</glossterm> has
been <glossterm linkend="glossary-commit">committed</glossterm>, the
changes remain even after a system failure or crash.
This is one of the <acronym>ACID</acronym> properties.
</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>Epoch</glossterm>
<glosssee otherterm="glossary-xid" />
</glossentry>
<glossentry id="glossary-extension">
<glossterm>Extension</glossterm>
<glossdef>
<para>
A software add-on package that can be installed on an
<glossterm linkend="glossary-instance">instance</glossterm> to
get extra features.
</para>
<para>
For more information, see
<xref linkend="extend-extensions" />.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-file-segment">
<glossterm>File segment</glossterm>
<glossdef>
<para>
A physical file which stores data for a given
<glossterm linkend="glossary-relation">relation</glossterm>.
File segments are limited in size by a configuration value
(typically 1 gigabyte),
so if a relation exceeds that size, it is split into multiple segments.
</para>
<para>
For more information, see
<xref linkend="storage-file-layout"/>.
</para>
<para>
(Don't confuse this term with the similar term
<glossterm linkend="glossary-wal-file">WAL segment</glossterm>).
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-foreign-data-wrapper">
<glossterm>Foreign data wrapper</glossterm>
<glossdef>
<para>
A means of representing data that is not contained in the local
<glossterm linkend="glossary-database">database</glossterm> so that it appears as if were in local
<glossterm linkend="glossary-table">table(s)</glossterm>. With a foreign data wrapper it is
possible to define a <glossterm linkend="glossary-foreign-server">foreign server</glossterm> and
<glossterm linkend="glossary-foreign-table">foreign tables</glossterm>.
</para>
<para>
For more information, see
<xref linkend="sql-createforeigndatawrapper"/>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-foreign-key">
<glossterm>Foreign key</glossterm>
<glossdef>
<para>
A type of <glossterm linkend="glossary-constraint">constraint</glossterm>
defined on one or more <glossterm linkend="glossary-column">columns</glossterm>
in a <glossterm linkend="glossary-table">table</glossterm> which
requires the value(s) in those <glossterm linkend="glossary-column">columns</glossterm> to
identify zero or one <glossterm linkend="glossary-tuple">row</glossterm>
in another (or, infrequently, the same)
<glossterm linkend="glossary-table">table</glossterm>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-foreign-server">
<glossterm>Foreign server</glossterm>
<glossdef>
<para>
A named collection of
<glossterm linkend="glossary-foreign-table">foreign tables</glossterm> which
all use the same
<glossterm linkend="glossary-foreign-data-wrapper">foreign data wrapper</glossterm>
and have other configuration values in common.
</para>
<para>
For more information, see
<xref linkend="sql-createserver"/>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-foreign-table">
<glossterm>Foreign table (relation)</glossterm>
<glossdef>
<para>
A <glossterm linkend="glossary-relation">relation</glossterm> which appears to have
<glossterm linkend="glossary-tuple">rows</glossterm> and
<glossterm linkend="glossary-column">columns</glossterm> similar to a
regular <glossterm linkend="glossary-table">table</glossterm>, but will forward
requests for data through its
<glossterm linkend="glossary-foreign-data-wrapper">foreign data wrapper</glossterm>,
which will return <glossterm linkend="glossary-result-set">result sets</glossterm>
structured according to the definition of the
<glossterm linkend="glossary-foreign-table">foreign table</glossterm>.
</para>
<para>
For more information, see
<xref linkend="sql-createforeigntable"/>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-fork">
<glossterm>Fork</glossterm>
<glossdef>
<para>
Each of the separate segmented file sets in which a relation is stored.
The <firstterm>main fork</firstterm> is where the actual data resides.
There also exist two secondary forks for metadata:
the <glossterm linkend="glossary-fsm">free space map</glossterm>
and the <glossterm linkend="glossary-vm">visibility map</glossterm>.
<glossterm linkend="glossary-unlogged">Unlogged relations</glossterm>
also have an <firstterm>init fork</firstterm>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-fsm">
<glossterm>Free space map (fork)</glossterm>
<glossdef>
<para>
A storage structure that keeps metadata about each data page of a table's
main fork. The free space map entry for each page stores the
amount of free space that's available for future tuples, and is structured
to be efficiently searched for available space for a new tuple of a given
size.
</para>
<para>
For more information, see
<xref linkend="storage-fsm"/>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-function">
<glossterm>Function (routine)</glossterm>
<glossdef>
<para>
A type of routine that receives zero or more arguments, returns zero or more
output values, and is constrained to run within one transaction.
Functions are invoked as part of a query, for example via
<command>SELECT</command>.
Certain functions can return
<glossterm linkend="glossary-result-set">sets</glossterm>; those are
called <firstterm>set-returning functions</firstterm>.
</para>
<para>
Functions can also be used for
<glossterm linkend="glossary-trigger">triggers</glossterm> to invoke.
</para>
<para>
For more information, see
<xref linkend="sql-createfunction"/>.
</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>GMT</glossterm>
<glosssee otherterm="glossary-utc" />
</glossentry>
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<glossentry id="glossary-grant">
<glossterm>Grant</glossterm>
<glossdef>
<para>
An <acronym>SQL</acronym> command that is used to allow a
<glossterm linkend="glossary-user">user</glossterm> or
<glossterm linkend="glossary-role">role</glossterm> to access
specific objects within the <glossterm linkend="glossary-database">database</glossterm>.
</para>
<para>
For more information, see
<xref linkend="sql-grant"/>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-heap">
<glossterm>Heap</glossterm>
<glossdef>
<para>
Contains the values of <glossterm linkend="glossary-tuple">row</glossterm>
attributes (i.e., the data) for a
<glossterm linkend="glossary-relation">relation</glossterm>.
The heap is realized within one or more
<glossterm linkend="glossary-file-segment">file segments</glossterm>
in the relation's <glossterm linkend="glossary-fork">main fork</glossterm>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-host">
<glossterm>Host</glossterm>
<glossdef>
<para>
A computer that communicates with other computers over a network.
This is sometimes used as a synonym for
<glossterm linkend="glossary-server">server</glossterm>.
It is also used to refer to a computer where
<glossterm linkend="glossary-client">client processes</glossterm> run.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-index">
<glossterm>Index (relation)</glossterm>
<glossdef>
<para>
A <glossterm linkend="glossary-relation">relation</glossterm> that contains
data derived from a <glossterm linkend="glossary-table">table</glossterm>
or <glossterm linkend="glossary-materialized-view">materialized view</glossterm>.
Its internal structure supports fast retrieval of and access to the original
data.
</para>
<para>
For more information, see
<xref linkend="sql-createindex"/>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-insert">
<glossterm>Insert</glossterm>
<glossdef>
<para>
An <acronym>SQL</acronym> command used to add new data into a
<glossterm linkend="glossary-table">table</glossterm>.
</para>
<para>
For more information, see
<xref linkend="sql-insert"/>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-instance">
<glossterm>Instance</glossterm>
<glossdef>
<para>
A group of backend and auxiliary processes that communicate using
a common shared memory area. One
<glossterm linkend="glossary-postmaster">postmaster process</glossterm>
manages the instance; one instance manages exactly one
<glossterm linkend="glossary-db-cluster">database cluster</glossterm>
with all its databases. Many instances can run on the same
<glossterm linkend="glossary-server">server</glossterm>
as long as their <acronym>TCP</acronym> ports do not conflict.
</para>
<para>
The instance handles all key features of a <acronym>DBMS</acronym>:
read and write access to files and shared memory,
assurance of the <acronym>ACID</acronym> properties,
<glossterm linkend="glossary-connection">connections</glossterm> to
<glossterm linkend="glossary-client">client processes</glossterm>,
privilege verification, crash recovery, replication, etc.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-isolation">
<glossterm>Isolation</glossterm>
<glossdef>
<para>
The property that the effects of a transaction are not visible to
<glossterm linkend="glossary-concurrency">concurrent transactions</glossterm>
before it commits.
This is one of the <acronym>ACID</acronym> properties.
</para>
<para>
For more information, see <xref linkend="transaction-iso" />.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-join">
<glossterm>Join</glossterm>
<glossdef>
<para>
An operation and <acronym>SQL</acronym> keyword used in
<glossterm linkend="glossary-query">queries</glossterm>
for combining data from multiple
<glossterm linkend="glossary-relation">relations</glossterm>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-key">
<glossterm>Key</glossterm>
<glossdef>
<para>
A means of identifying a <glossterm linkend="glossary-tuple">row</glossterm> within a
<glossterm linkend="glossary-table">table</glossterm> or
other <glossterm linkend="glossary-relation">relation</glossterm> by
values contained within one or more
<glossterm linkend="glossary-attribute">attributes</glossterm>
in that relation.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-lock">
<glossterm>Lock</glossterm>
<glossdef>
<para>
A mechanism that allows a process to limit or prevent simultaneous
access to a resource.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-log-file">
<glossterm>Log file</glossterm>
<glossdef>
<para>
Log files contain human-readable text lines about events.
Examples include login failures, long-running queries, etc.
</para>
<para>
For more information, see
<xref linkend="logfile-maintenance"/>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-logged">
<glossterm>Logged</glossterm>
<glossdef>
<para>
A <glossterm linkend="glossary-table">table</glossterm> is considered
<glossterm linkend="glossary-logged">logged</glossterm> if changes to it are sent to the
<glossterm linkend="glossary-wal">WAL</glossterm>. By default, all regular
tables are logged. A table can be specified as
<glossterm linkend="glossary-unlogged">unlogged</glossterm> either at
creation time or via the <command>ALTER TABLE</command> command.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-logger">
<glossterm>Logger (process)</glossterm>
<glossdef>
<para>
If activated, the process
writes information about database events into the current
<glossterm linkend="glossary-log-file">log file</glossterm>.
When reaching certain time- or
volume-dependent criteria, a new log file is created.
Also called <firstterm>syslogger</firstterm>.
</para>
<para>
For more information, see
<xref linkend="runtime-config-logging"/>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-log-record">
<glossterm>Log record</glossterm>
<glossdef>
<para>
Archaic term for a <glossterm linkend="glossary-wal-record">WAL record</glossterm>.
</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>Master (server)</glossterm>
<glosssee otherterm="glossary-primary-server" />
</glossentry>
<glossentry id="glossary-materialized">
<glossterm>Materialized</glossterm>
<glossdef>
<para>
The property that some information has been pre-computed and stored
for later use, rather than computing it on-the-fly.
</para>
<para>
This term is used in
<glossterm linkend="glossary-materialized-view">materialized view</glossterm>,
to mean that the data derived from the view's query is stored on
disk separately from the sources of that data.
</para>
<para>
This term is also used to refer to some multi-step queries to mean that
the data resulting from executing a given step is stored in memory
(with the possibility of spilling to disk), so that it can be read multiple
times by another step.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-materialized-view">
<glossterm>Materialized view (relation)</glossterm>
<glossdef>
<para>
A <glossterm linkend="glossary-relation">relation</glossterm> that is
defined by a <command>SELECT</command> statement
(just like a <glossterm linkend="glossary-view">view</glossterm>),
but stores data in the same way that a
<glossterm linkend="glossary-table">table</glossterm> does. It cannot be
modified via <command>INSERT</command>, <command>UPDATE</command>, or
<command>DELETE</command> operations.
</para>
<para>
For more information, see
<xref linkend="sql-creatematerializedview"/>.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-mvcc">
<glossterm>Multi-version concurrency control (MVCC)</glossterm>
<glossdef>
<para>
A mechanism designed to allow several
<glossterm linkend="glossary-transaction">transactions</glossterm> to be
reading and writing the same rows without one process causing other
processes to stall.
In <productname>PostgreSQL</productname>, MVCC is implemented by
creating copies (<firstterm>versions</firstterm>) of
<glossterm linkend="glossary-tuple">tuples</glossterm> as they are
modified; after transactions that can see the old versions terminate,
those old versions need to be removed.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-null">
<glossterm>Null</glossterm>
<glossdef>
<para>
A concept of non-existence that is a central tenet of relational
database theory. It represents the absence of a definite value.
</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>Optimizer</glossterm>
<glosssee otherterm="glossary-planner" />
</glossentry>
<glossentry id="glossary-parallel-query">
<glossterm>Parallel query</glossterm>
<glossdef>
<para>
The ability to handle parts of executing a
<glossterm linkend="glossary-query">query</glossterm> to take advantage
of parallel processes on servers with multiple <acronym>CPU</acronym>s.
</para>
</glossdef>
</glossentry>
<glossentry id="glossary-partition">
<glossterm>Partition</glossterm>
<glossdef>
<para>
One of several disjoint (not overlapping) subsets of a larger set.
</para>
</glossdef>
<glossdef>
<para>
In reference to a
<glossterm linkend="glossary-partitioned-table">partitioned table</glossterm>:
One of the tables that each contain part of the data of the partitioned table,
which is said to be the <firstterm>parent</firstterm>.
The partition is itself a table, so it can also be queried directly;
at the same time, a partition can sometimes be a partitioned table,
allowing hierarchies to be created.
</para>
</glossdef>
<glossdef>
<para>
In reference to a <glossterm linkend="glossary-window-function">window function</glossterm>
in a <glossterm linkend="glossary-query">query</glossterm>,
a partition is a user-defined criterion that identifies which neighboring
<glossterm linkend="glossary-tuple">rows</glossterm>
of the <glossterm linkend="glossary-result-set">query's result set</glossterm>
can be considered by the function.