~ubuntu-branches/ubuntu/oneiric/postgresql-9.1/oneiric-updates

« back to all changes in this revision

Viewing changes to doc/src/sgml/html/release-9-1.html

  • Committer: Package Import Robot
  • Author(s): Martin Pitt
  • Date: 2012-02-27 14:48:01 UTC
  • mfrom: (1.1.7) (10.1.3 oneiric-proposed)
  • Revision ID: package-import@ubuntu.com-20120227144801-7a94i4eksyukp22k
Tags: 9.1.3-0ubuntu0.11.10
* New upstream security/bug fix release: (LP: #941912)
  - Require execute permission on the trigger function for "CREATE
    TRIGGER".
    This missing check could allow another user to execute a trigger
    function with forged input data, by installing it on a table he
    owns. This is only of significance for trigger functions marked
    SECURITY DEFINER, since otherwise trigger functions run as the
    table owner anyway. (CVE-2012-0866)
  - Remove arbitrary limitation on length of common name in SSL
    certificates.
    Both libpq and the server truncated the common name extracted from
    an SSL certificate at 32 bytes. Normally this would cause nothing
    worse than an unexpected verification failure, but there are some
    rather-implausible scenarios in which it might allow one
    certificate holder to impersonate another. The victim would have to
    have a common name exactly 32 bytes long, and the attacker would
    have to persuade a trusted CA to issue a certificate in which the
    common name has that string as a prefix. Impersonating a server
    would also require some additional exploit to redirect client
    connections. (CVE-2012-0867)
  - Convert newlines to spaces in names written in pg_dump comments.
    pg_dump was incautious about sanitizing object names that are
    emitted within SQL comments in its output script. A name containing
    a newline would at least render the script syntactically incorrect.
    Maliciously crafted object names could present a SQL injection risk
    when the script is reloaded. (CVE-2012-0868)
  - Fix btree index corruption from insertions concurrent with
    vacuuming.
    An index page split caused by an insertion could sometimes cause a
    concurrently-running "VACUUM" to miss removing index entries that
    it should remove. After the corresponding table rows are removed,
    the dangling index entries would cause errors (such as "could not
    read block N in file ...") or worse, silently wrong query results
    after unrelated rows are re-inserted at the now-free table
    locations. This bug has been present since release 8.2, but occurs
    so infrequently that it was not diagnosed until now. If you have
    reason to suspect that it has happened in your database, reindexing
    the affected index will fix things.
  - Fix transient zeroing of shared buffers during WAL replay.
    The replay logic would sometimes zero and refill a shared buffer,
    so that the contents were transiently invalid. In hot standby mode
    this can result in a query that's executing in parallel seeing
    garbage data. Various symptoms could result from that, but the most
    common one seems to be "invalid memory alloc request size".
  - Fix handling of data-modifying WITH subplans in READ COMMITTED
    rechecking.
    A WITH clause containing "INSERT"/"UPDATE"/"DELETE" would crash if
    the parent "UPDATE" or "DELETE" command needed to be re-evaluated
    at one or more rows due to concurrent updates in READ COMMITTED
    mode.
  - Fix corner case in SSI transaction cleanup.
    When finishing up a read-write serializable transaction, a crash
    could occur if all remaining active serializable transactions are
    read-only.
  - Fix postmaster to attempt restart after a hot-standby crash.
    A logic error caused the postmaster to terminate, rather than
    attempt to restart the cluster, if any backend process crashed
    while operating in hot standby mode.
  - Fix "CLUSTER"/"VACUUM FULL" handling of toast values owned by
    recently-updated rows.
    This oversight could lead to "duplicate key value violates unique
    constraint" errors being reported against the toast table's index
    during one of these commands.
  - Update per-column permissions, not only per-table permissions, when
    changing table owner.
    Failure to do this meant that any previously granted column
    permissions were still shown as having been granted by the old
    owner. This meant that neither the new owner nor a superuser could
    revoke the now-untraceable-to-table-owner permissions.
  - Support foreign data wrappers and foreign servers in "REASSIGN
    OWNED".
    This command failed with "unexpected classid" errors if it needed
    to change the ownership of any such objects.
  - Allow non-existent values for some settings in "ALTER USER/DATABASE
    SET".
    Allow default_text_search_config, default_tablespace, and
    temp_tablespaces to be set to names that are not known. This is
    because they might be known in another database where the setting
    is intended to be used, or for the tablespace cases because the
    tablespace might not be created yet. The same issue was previously
    recognized for search_path, and these settings now act like that
    one.
  - Fix "unsupported node type" error caused by COLLATE in an "INSERT"
    expression.
  - Avoid crashing when we have problems deleting table files
    post-commit.
    Dropping a table should lead to deleting the underlying disk files
    only after the transaction commits. In event of failure then (for
    instance, because of wrong file permissions) the code is supposed
    to just emit a warning message and go on, since it's too late to
    abort the transaction. This logic got broken as of release 8.4,
    causing such situations to result in a PANIC and an unrestartable
    database.
  - Recover from errors occurring during WAL replay of "DROP
    TABLESPACE".
    Replay will attempt to remove the tablespace's directories, but
    there are various reasons why this might fail (for example,
    incorrect ownership or permissions on those directories). Formerly
    the replay code would panic, rendering the database unrestartable
    without manual intervention. It seems better to log the problem and
    continue, since the only consequence of failure to remove the
    directories is some wasted disk space.
  - Fix race condition in logging AccessExclusiveLocks for hot standby.
    Sometimes a lock would be logged as being held by "transaction
    zero". This is at least known to produce assertion failures on
    slave servers, and might be the cause of more serious problems.
  - Track the OID counter correctly during WAL replay, even when it
    wraps around.
  - Prevent emitting misleading "consistent recovery state reached" log
    message at the beginning of crash recovery.
  - Fix initial value of pg_stat_replication.replay_location.
  - Fix regular expression back-references with - attached.
    Rather than enforcing an exact string match, the code would
    effectively accept any string that satisfies the pattern
    sub-expression referenced by the back-reference symbol.
    A similar problem still afflicts back-references that are embedded
    in a larger quantified expression, rather than being the immediate
    subject of the quantifier. This will be addressed in a future
    PostgreSQL release.
  - Fix recently-introduced memory leak in processing of inet/cidr
    values.
  - Fix planner's ability to push down index-expression restrictions
    through UNION ALL.
  - Fix planning of WITH clauses referenced in "UPDATE"/"DELETE" on an
    inherited table.
    This bug led to "could not find plan for CTE" failures.
  - Fix GIN cost estimation to handle column IN (...) index conditions.
    This oversight would usually lead to crashes if such a condition
    could be used with a GIN index.
  - Fix dangling pointer after "CREATE TABLE AS"/"SELECT INTO" in a
    SQL-language function.
    In most cases this only led to an assertion failure in
    assert-enabled builds, but worse consequences seem possible.
  - Fix I/O-conversion-related memory leaks in plpgsql.
  - Work around bug in perl's SvPVutf8() function.
    This function crashes when handed a typeglob or certain read-only
    objects such as $^V. Make plperl avoid passing those to it.
  - In pg_dump, don't dump contents of an extension's configuration
    tables if the extension itself is not being dumped.
  - Improve pg_dump's handling of inherited table columns.
    pg_dump mishandled situations where a child column has a different
    default expression than its parent column. If the default is
    textually identical to the parent's default, but not actually the
    same (for instance, because of schema search path differences) it
    would not be recognized as different, so that after dump and
    restore the child would be allowed to inherit the parent's default.
    Child columns that are NOT NULL where their parent is not could
    also be restored subtly incorrectly.
  - Fix pg_restore's direct-to-database mode for INSERT-style table data.
    Direct-to-database restores from archive files made with
    "--inserts" or "--column-inserts" options fail when using
    pg_restore from a release dated September or December 2011, as a
    result of an oversight in a fix for another problem. The archive
    file itself is not at fault, and text-mode output is okay.
  - Teach pg_upgrade to handle renaming of plpython's shared library.
    Upgrading a pre-9.1 database that included plpython would fail
    because of this oversight.
  - Allow pg_upgrade to process tables containing regclass columns.
    Since pg_upgrade now takes care to preserve pg_class OIDs, there
    was no longer any reason for this restriction.
  - Make libpq ignore ENOTDIR errors when looking for an SSL client
    certificate file.
    This allows SSL connections to be established, though without a
    certificate, even when the user's home directory is set to
    something like /dev/null.
  - Fix some more field alignment issues in ecpg's SQLDA area.
  - Allow AT option in ecpg DEALLOCATE statements.
    The infrastructure to support this has been there for awhile, but
    through an oversight there was still an error check rejecting the
    case.
  - Do not use the variable name when defining a varchar structure in
    ecpg.
  - Fix "contrib/auto_explain"'s JSON output mode to produce valid JSON.
  - Fix error in "contrib/intarray"'s int[] & int[] operator.
    If the smallest integer the two input arrays have in common is 1,
    and there are smaller values in either array, then 1 would be
    incorrectly omitted from the result.
  - Fix error detection in "contrib/pgcrypto"'s encrypt_iv() and
    decrypt_iv().
    These functions failed to report certain types of invalid-input
    errors, and would instead return random garbage values for
    incorrect input.
  - Fix one-byte buffer overrun in "contrib/test_parser".
    The code would try to read one more byte than it should, which
    would crash in corner cases. Since "contrib/test_parser" is only
    example code, this is not a security issue in itself, but bad
    example code is still bad.
  - Use __sync_lock_test_and_set() for spinlocks on ARM, if available.
    This function replaces our previous use of the SWPB instruction,
    which is deprecated and not available on ARMv6 and later. Reports
    suggest that the old code doesn't fail in an obvious way on recent
    ARM boards, but simply doesn't interlock concurrent accesses,
    leading to bizarre failures in multiprocess operation.
  - Use "-fexcess-precision=standard" option when building with gcc
    versions that accept it.
    This prevents assorted scenarios wherein recent versions of gcc
    will produce creative results.
  - Allow use of threaded Python on FreeBSD (Chris Rees)
    Our configure script previously believed that this combination
    wouldn't work; but FreeBSD fixed the problem, so remove that error
    check.
* Drop 00git_inet_cidr_unpack.patch, 01-armel-tas.patch: Applied upstream.

Show diffs side-by-side

added added

removed removed

Lines of Context:
9
9
REV="MADE"
10
10
HREF="mailto:pgsql-docs@postgresql.org"><LINK
11
11
REL="HOME"
12
 
TITLE="PostgreSQL 9.1.1 Documentation"
 
12
TITLE="PostgreSQL 9.1.3 Documentation"
13
13
HREF="index.html"><LINK
14
14
REL="UP"
15
15
TITLE="Release Notes"
18
18
TITLE="Release 9.1.1"
19
19
HREF="release-9-1-1.html"><LINK
20
20
REL="NEXT"
21
 
TITLE="Release 9.0.5"
22
 
HREF="release-9-0-5.html"><LINK
 
21
TITLE="Release 9.0.7"
 
22
HREF="release-9-0-7.html"><LINK
23
23
REL="STYLESHEET"
24
24
TYPE="text/css"
25
25
HREF="stylesheet.css"><META
26
26
HTTP-EQUIV="Content-Type"
27
27
CONTENT="text/html; charset=ISO-8859-1"><META
28
28
NAME="creation"
29
 
CONTENT="2011-09-22T22:13:27"></HEAD
 
29
CONTENT="2012-02-23T23:09:00"></HEAD
30
30
><BODY
31
31
CLASS="SECT1"
32
32
><DIV
44
44
VALIGN="bottom"
45
45
><A
46
46
HREF="index.html"
47
 
>PostgreSQL 9.1.1 Documentation</A
 
47
>PostgreSQL 9.1.3 Documentation</A
48
48
></TH
49
49
></TR
50
50
><TR
63
63
ALIGN="left"
64
64
VALIGN="top"
65
65
><A
66
 
TITLE="Release Notes"
67
66
HREF="release.html"
68
 
>Fast Backward</A
 
67
ACCESSKEY="U"
 
68
>Up</A
69
69
></TD
70
70
><TD
71
71
WIDTH="60%"
73
73
VALIGN="bottom"
74
74
>Appendix E. Release Notes</TD
75
75
><TD
76
 
WIDTH="10%"
77
 
ALIGN="right"
78
 
VALIGN="top"
79
 
><A
80
 
TITLE="Release Notes"
81
 
HREF="release.html"
82
 
>Fast Forward</A
83
 
></TD
84
 
><TD
85
 
WIDTH="10%"
86
 
ALIGN="right"
87
 
VALIGN="top"
88
 
><A
89
 
TITLE="Release 9.0.5"
90
 
HREF="release-9-0-5.html"
 
76
WIDTH="20%"
 
77
ALIGN="right"
 
78
VALIGN="top"
 
79
><A
 
80
TITLE="Release 9.0.7"
 
81
HREF="release-9-0-7.html"
91
82
ACCESSKEY="N"
92
83
>Next</A
93
84
></TD
102
93
CLASS="SECT1"
103
94
><A
104
95
NAME="RELEASE-9-1"
105
 
>E.2. Release 9.1</A
 
96
>E.4. Release 9.1</A
106
97
></H1
107
98
><DIV
108
99
CLASS="NOTE"
119
110
><H2
120
111
CLASS="SECT2"
121
112
><A
122
 
NAME="AEN106479"
123
 
>E.2.1. Overview</A
 
113
NAME="AEN107012"
 
114
>E.4.1. Overview</A
124
115
></H2
125
116
><P
126
117
>    This release shows <SPAN
273
264
><H2
274
265
CLASS="SECT2"
275
266
><A
276
 
NAME="AEN106527"
277
 
>E.2.2. Migration to Version 9.1</A
 
267
NAME="AEN107060"
 
268
>E.4.2. Migration to Version 9.1</A
278
269
></H2
279
270
><P
280
271
>    A dump/restore using <SPAN
297
288
><H3
298
289
CLASS="SECT3"
299
290
><A
300
 
NAME="AEN106533"
301
 
>E.2.2.1. Strings</A
 
291
NAME="AEN107066"
 
292
>E.4.2.1. Strings</A
302
293
></H3
303
294
><P
304
295
></P
369
360
><H3
370
361
CLASS="SECT3"
371
362
><A
372
 
NAME="AEN106546"
373
 
>E.2.2.2. Casting</A
 
363
NAME="AEN107079"
 
364
>E.4.2.2. Casting</A
374
365
></H3
375
366
><P
376
367
></P
440
431
><H3
441
432
CLASS="SECT3"
442
433
><A
443
 
NAME="AEN106563"
444
 
>E.2.2.3. Arrays</A
 
434
NAME="AEN107096"
 
435
>E.4.2.3. Arrays</A
445
436
></H3
446
437
><P
447
438
></P
488
479
><H3
489
480
CLASS="SECT3"
490
481
><A
491
 
NAME="AEN106577"
492
 
>E.2.2.4. Object Modification</A
 
482
NAME="AEN107110"
 
483
>E.4.2.4. Object Modification</A
493
484
></H3
494
485
><P
495
486
></P
530
521
><H3
531
522
CLASS="SECT3"
532
523
><A
533
 
NAME="AEN106589"
534
 
>E.2.2.5. Server Settings</A
 
524
NAME="AEN107122"
 
525
>E.4.2.5. Server Settings</A
535
526
></H3
536
527
><P
537
528
></P
577
568
><H3
578
569
CLASS="SECT3"
579
570
><A
580
 
NAME="AEN106603"
581
 
>E.2.2.6. <A
 
571
NAME="AEN107136"
 
572
>E.4.2.6. <A
582
573
HREF="plpgsql.html"
583
574
>PL/pgSQL</A
584
575
> Server-Side Language</A
645
636
><H3
646
637
CLASS="SECT3"
647
638
><A
648
 
NAME="AEN106621"
649
 
>E.2.2.7. Contrib</A
 
639
NAME="AEN107154"
 
640
>E.4.2.7. Contrib</A
650
641
></H3
651
642
><P
652
643
></P
684
675
><H3
685
676
CLASS="SECT3"
686
677
><A
687
 
NAME="AEN106631"
688
 
>E.2.2.8. Other Incompatibilities</A
 
678
NAME="AEN107164"
 
679
>E.4.2.8. Other Incompatibilities</A
689
680
></H3
690
681
><P
691
682
></P
737
728
><H2
738
729
CLASS="SECT2"
739
730
><A
740
 
NAME="AEN106647"
741
 
>E.2.3. Changes</A
 
731
NAME="AEN107180"
 
732
>E.4.3. Changes</A
742
733
></H2
743
734
><P
744
735
>    Below you will find a detailed account of the changes between
753
744
><H3
754
745
CLASS="SECT3"
755
746
><A
756
 
NAME="AEN106651"
757
 
>E.2.3.1. Server</A
 
747
NAME="AEN107184"
 
748
>E.4.3.1. Server</A
758
749
></H3
759
750
><DIV
760
751
CLASS="SECT4"
761
752
><H4
762
753
CLASS="SECT4"
763
754
><A
764
 
NAME="AEN106653"
765
 
>E.2.3.1.1. Performance</A
 
755
NAME="AEN107186"
 
756
>E.4.3.1.1. Performance</A
766
757
></H4
767
758
><P
768
759
></P
875
866
><H4
876
867
CLASS="SECT4"
877
868
><A
878
 
NAME="AEN106686"
879
 
>E.2.3.1.2. Optimizer</A
 
869
NAME="AEN107219"
 
870
>E.4.3.1.2. Optimizer</A
880
871
></H4
881
872
><P
882
873
></P
921
912
><H4
922
913
CLASS="SECT4"
923
914
><A
924
 
NAME="AEN106700"
925
 
>E.2.3.1.3. Authentication</A
 
915
NAME="AEN107233"
 
916
>E.4.3.1.3. Authentication</A
926
917
></H4
927
918
><P
928
919
></P
1080
1071
><H4
1081
1072
CLASS="SECT4"
1082
1073
><A
1083
 
NAME="AEN106747"
1084
 
>E.2.3.1.4. Monitoring</A
 
1074
NAME="AEN107280"
 
1075
>E.4.3.1.4. Monitoring</A
1085
1076
></H4
1086
1077
><P
1087
1078
></P
1138
1129
><H4
1139
1130
CLASS="SECT4"
1140
1131
><A
1141
 
NAME="AEN106764"
1142
 
>E.2.3.1.5. Statistical Views</A
 
1132
NAME="AEN107297"
 
1133
>E.4.3.1.5. Statistical Views</A
1143
1134
></H4
1144
1135
><P
1145
1136
></P
1223
1214
><H4
1224
1215
CLASS="SECT4"
1225
1216
><A
1226
 
NAME="AEN106790"
1227
 
>E.2.3.1.6. Server Settings</A
 
1217
NAME="AEN107323"
 
1218
>E.4.3.1.6. Server Settings</A
1228
1219
></H4
1229
1220
><P
1230
1221
></P
1290
1281
><H3
1291
1282
CLASS="SECT3"
1292
1283
><A
1293
 
NAME="AEN106809"
1294
 
>E.2.3.2. Replication and Recovery</A
 
1284
NAME="AEN107342"
 
1285
>E.4.3.2. Replication and Recovery</A
1295
1286
></H3
1296
1287
><DIV
1297
1288
CLASS="SECT4"
1298
1289
><H4
1299
1290
CLASS="SECT4"
1300
1291
><A
1301
 
NAME="AEN106811"
1302
 
>E.2.3.2.1. Streaming Replication and Continuous Archiving</A
 
1292
NAME="AEN107344"
 
1293
>E.4.3.2.1. Streaming Replication and Continuous Archiving</A
1303
1294
></H4
1304
1295
><P
1305
1296
></P
1405
1396
><H4
1406
1397
CLASS="SECT4"
1407
1398
><A
1408
 
NAME="AEN106839"
1409
 
>E.2.3.2.2. Replication Monitoring</A
 
1399
NAME="AEN107372"
 
1400
>E.4.3.2.2. Replication Monitoring</A
1410
1401
></H4
1411
1402
><P
1412
1403
></P
1453
1444
><H4
1454
1445
CLASS="SECT4"
1455
1446
><A
1456
 
NAME="AEN106853"
1457
 
>E.2.3.2.3. Hot Standby</A
 
1447
NAME="AEN107386"
 
1448
>E.4.3.2.3. Hot Standby</A
1458
1449
></H4
1459
1450
><P
1460
1451
></P
1556
1547
><H4
1557
1548
CLASS="SECT4"
1558
1549
><A
1559
 
NAME="AEN106884"
1560
 
>E.2.3.2.4. Recovery Control</A
 
1550
NAME="AEN107417"
 
1551
>E.4.3.2.4. Recovery Control</A
1561
1552
></H4
1562
1553
><P
1563
1554
></P
1689
1680
><H3
1690
1681
CLASS="SECT3"
1691
1682
><A
1692
 
NAME="AEN106924"
1693
 
>E.2.3.3. Queries</A
 
1683
NAME="AEN107457"
 
1684
>E.4.3.3. Queries</A
1694
1685
></H3
1695
1686
><P
1696
1687
></P
1844
1835
><H4
1845
1836
CLASS="SECT4"
1846
1837
><A
1847
 
NAME="AEN106970"
1848
 
>E.2.3.3.1. Strings</A
 
1838
NAME="AEN107503"
 
1839
>E.4.3.3.1. Strings</A
1849
1840
></H4
1850
1841
><P
1851
1842
></P
1876
1867
><H3
1877
1868
CLASS="SECT3"
1878
1869
><A
1879
 
NAME="AEN106978"
1880
 
>E.2.3.4. Object Manipulation</A
 
1870
NAME="AEN107511"
 
1871
>E.4.3.4. Object Manipulation</A
1881
1872
></H3
1882
1873
><P
1883
1874
></P
1973
1964
><H4
1974
1965
CLASS="SECT4"
1975
1966
><A
1976
 
NAME="AEN107007"
1977
 
>E.2.3.4.1. <TT
 
1967
NAME="AEN107540"
 
1968
>E.4.3.4.1. <TT
1978
1969
CLASS="COMMAND"
1979
1970
>ALTER</TT
1980
1971
> Object</A
2062
2053
><H4
2063
2054
CLASS="SECT4"
2064
2055
><A
2065
 
NAME="AEN107032"
2066
 
>E.2.3.4.2. <A
 
2056
NAME="AEN107565"
 
2057
>E.4.3.4.2. <A
2067
2058
HREF="sql-createtable.html"
2068
2059
><TT
2069
2060
CLASS="COMMAND"
2181
2172
><H4
2182
2173
CLASS="SECT4"
2183
2174
><A
2184
 
NAME="AEN107066"
2185
 
>E.2.3.4.3. Object Permissions</A
 
2175
NAME="AEN107599"
 
2176
>E.4.3.4.3. Object Permissions</A
2186
2177
></H4
2187
2178
><P
2188
2179
></P
2210
2201
><H3
2211
2202
CLASS="SECT3"
2212
2203
><A
2213
 
NAME="AEN107074"
2214
 
>E.2.3.5. Utility Operations</A
 
2204
NAME="AEN107607"
 
2205
>E.4.3.5. Utility Operations</A
2215
2206
></H3
2216
2207
><P
2217
2208
></P
2253
2244
><H4
2254
2245
CLASS="SECT4"
2255
2246
><A
2256
 
NAME="AEN107086"
2257
 
>E.2.3.5.1. <A
 
2247
NAME="AEN107619"
 
2248
>E.4.3.5.1. <A
2258
2249
HREF="sql-copy.html"
2259
2250
><TT
2260
2251
CLASS="COMMAND"
2309
2300
><H4
2310
2301
CLASS="SECT4"
2311
2302
><A
2312
 
NAME="AEN107103"
2313
 
>E.2.3.5.2. <A
 
2303
NAME="AEN107636"
 
2304
>E.4.3.5.2. <A
2314
2305
HREF="sql-explain.html"
2315
2306
><TT
2316
2307
CLASS="COMMAND"
2340
2331
><H4
2341
2332
CLASS="SECT4"
2342
2333
><A
2343
 
NAME="AEN107112"
2344
 
>E.2.3.5.3. <A
 
2334
NAME="AEN107645"
 
2335
>E.4.3.5.3. <A
2345
2336
HREF="sql-vacuum.html"
2346
2337
><TT
2347
2338
CLASS="COMMAND"
2397
2388
><H4
2398
2389
CLASS="SECT4"
2399
2390
><A
2400
 
NAME="AEN107129"
2401
 
>E.2.3.5.4. <A
 
2391
NAME="AEN107662"
 
2392
>E.4.3.5.4. <A
2402
2393
HREF="sql-cluster.html"
2403
2394
><TT
2404
2395
CLASS="COMMAND"
2425
2416
><H4
2426
2417
CLASS="SECT4"
2427
2418
><A
2428
 
NAME="AEN107137"
2429
 
>E.2.3.5.5. Indexes</A
 
2419
NAME="AEN107670"
 
2420
>E.4.3.5.5. Indexes</A
2430
2421
></H4
2431
2422
><P
2432
2423
></P
2525
2516
><H3
2526
2517
CLASS="SECT3"
2527
2518
><A
2528
 
NAME="AEN107166"
2529
 
>E.2.3.6. Data Types</A
 
2519
NAME="AEN107699"
 
2520
>E.4.3.6. Data Types</A
2530
2521
></H3
2531
2522
><P
2532
2523
></P
2607
2598
><H4
2608
2599
CLASS="SECT4"
2609
2600
><A
2610
 
NAME="AEN107192"
2611
 
>E.2.3.6.1. Casting</A
 
2601
NAME="AEN107725"
 
2602
>E.4.3.6.1. Casting</A
2612
2603
></H4
2613
2604
><P
2614
2605
></P
2657
2648
><H4
2658
2649
CLASS="SECT4"
2659
2650
><A
2660
 
NAME="AEN107207"
2661
 
>E.2.3.6.2. <A
 
2651
NAME="AEN107740"
 
2652
>E.4.3.6.2. <A
2662
2653
HREF="functions-xml.html"
2663
2654
><ACRONYM
2664
2655
CLASS="ACRONYM"
2741
2732
><H3
2742
2733
CLASS="SECT3"
2743
2734
><A
2744
 
NAME="AEN107232"
2745
 
>E.2.3.7. Functions</A
 
2735
NAME="AEN107765"
 
2736
>E.4.3.7. Functions</A
2746
2737
></H3
2747
2738
><P
2748
2739
></P
2859
2850
><H4
2860
2851
CLASS="SECT4"
2861
2852
><A
2862
 
NAME="AEN107268"
2863
 
>E.2.3.7.1. Object Information Functions</A
 
2853
NAME="AEN107801"
 
2854
>E.4.3.7.1. Object Information Functions</A
2864
2855
></H4
2865
2856
><P
2866
2857
></P
2973
2964
><H4
2974
2965
CLASS="SECT4"
2975
2966
><A
2976
 
NAME="AEN107302"
2977
 
>E.2.3.7.2. Function and Trigger Creation</A
 
2967
NAME="AEN107835"
 
2968
>E.4.3.7.2. Function and Trigger Creation</A
2978
2969
></H4
2979
2970
><P
2980
2971
></P
3002
2993
><H3
3003
2994
CLASS="SECT3"
3004
2995
><A
3005
 
NAME="AEN107310"
3006
 
>E.2.3.8. Server-Side Languages</A
 
2996
NAME="AEN107843"
 
2997
>E.4.3.8. Server-Side Languages</A
3007
2998
></H3
3008
2999
><DIV
3009
3000
CLASS="SECT4"
3010
3001
><H4
3011
3002
CLASS="SECT4"
3012
3003
><A
3013
 
NAME="AEN107312"
3014
 
>E.2.3.8.1. <A
 
3004
NAME="AEN107845"
 
3005
>E.4.3.8.1. <A
3015
3006
HREF="plpgsql.html"
3016
3007
>PL/pgSQL</A
3017
3008
> Server-Side Language</A
3061
3052
><H4
3062
3053
CLASS="SECT4"
3063
3054
><A
3064
 
NAME="AEN107326"
3065
 
>E.2.3.8.2. <A
 
3055
NAME="AEN107859"
 
3056
>E.4.3.8.2. <A
3066
3057
HREF="plperl.html"
3067
3058
>PL/Perl</A
3068
3059
> Server-Side Language</A
3108
3099
><H4
3109
3100
CLASS="SECT4"
3110
3101
><A
3111
 
NAME="AEN107340"
3112
 
>E.2.3.8.3. <A
 
3102
NAME="AEN107873"
 
3103
>E.4.3.8.3. <A
3113
3104
HREF="plpython.html"
3114
3105
>PL/Python</A
3115
3106
> Server-Side Language</A
3214
3205
><H3
3215
3206
CLASS="SECT3"
3216
3207
><A
3217
 
NAME="AEN107374"
3218
 
>E.2.3.9. Client Applications</A
 
3208
NAME="AEN107907"
 
3209
>E.4.3.9. Client Applications</A
3219
3210
></H3
3220
3211
><P
3221
3212
></P
3246
3237
><H4
3247
3238
CLASS="SECT4"
3248
3239
><A
3249
 
NAME="AEN107383"
3250
 
>E.2.3.9.1. <A
 
3240
NAME="AEN107916"
 
3241
>E.4.3.9.1. <A
3251
3242
HREF="app-psql.html"
3252
3243
><SPAN
3253
3244
CLASS="APPLICATION"
3403
3394
><H4
3404
3395
CLASS="SECT4"
3405
3396
><A
3406
 
NAME="AEN107432"
3407
 
>E.2.3.9.2. <A
 
3397
NAME="AEN107965"
 
3398
>E.4.3.9.2. <A
3408
3399
HREF="app-pgdump.html"
3409
3400
><SPAN
3410
3401
CLASS="APPLICATION"
3467
3458
><H4
3468
3459
CLASS="SECT4"
3469
3460
><A
3470
 
NAME="AEN107451"
3471
 
>E.2.3.9.3. <A
 
3461
NAME="AEN107984"
 
3462
>E.4.3.9.3. <A
3472
3463
HREF="app-pg-ctl.html"
3473
3464
><SPAN
3474
3465
CLASS="APPLICATION"
3537
3528
><H3
3538
3529
CLASS="SECT3"
3539
3530
><A
3540
 
NAME="AEN107471"
3541
 
>E.2.3.10. <SPAN
 
3531
NAME="AEN108004"
 
3532
>E.4.3.10. <SPAN
3542
3533
CLASS="APPLICATION"
3543
3534
>Development Tools</SPAN
3544
3535
></A
3548
3539
><H4
3549
3540
CLASS="SECT4"
3550
3541
><A
3551
 
NAME="AEN107474"
3552
 
>E.2.3.10.1. <A
 
3542
NAME="AEN108007"
 
3543
>E.4.3.10.1. <A
3553
3544
HREF="libpq.html"
3554
3545
><SPAN
3555
3546
CLASS="APPLICATION"
3655
3646
><H4
3656
3647
CLASS="SECT4"
3657
3648
><A
3658
 
NAME="AEN107505"
3659
 
>E.2.3.10.2. <A
 
3649
NAME="AEN108038"
 
3650
>E.4.3.10.2. <A
3660
3651
HREF="ecpg.html"
3661
3652
><SPAN
3662
3653
CLASS="APPLICATION"
3697
3688
><H3
3698
3689
CLASS="SECT3"
3699
3690
><A
3700
 
NAME="AEN107517"
3701
 
>E.2.3.11. Build Options</A
 
3691
NAME="AEN108050"
 
3692
>E.4.3.11. Build Options</A
3702
3693
></H3
3703
3694
><P
3704
3695
></P
3722
3713
><H4
3723
3714
CLASS="SECT4"
3724
3715
><A
3725
 
NAME="AEN107524"
3726
 
>E.2.3.11.1. Makefiles</A
 
3716
NAME="AEN108057"
 
3717
>E.4.3.11.1. Makefiles</A
3727
3718
></H4
3728
3719
><P
3729
3720
></P
3806
3797
><H4
3807
3798
CLASS="SECT4"
3808
3799
><A
3809
 
NAME="AEN107549"
3810
 
>E.2.3.11.2. Windows</A
 
3800
NAME="AEN108082"
 
3801
>E.4.3.11.2. Windows</A
3811
3802
></H4
3812
3803
><P
3813
3804
></P
3857
3848
><H3
3858
3849
CLASS="SECT3"
3859
3850
><A
3860
 
NAME="AEN107564"
3861
 
>E.2.3.12. Source Code</A
 
3851
NAME="AEN108097"
 
3852
>E.4.3.12. Source Code</A
3862
3853
></H3
3863
3854
><P
3864
3855
></P
3988
3979
><H4
3989
3980
CLASS="SECT4"
3990
3981
><A
3991
 
NAME="AEN107605"
3992
 
>E.2.3.12.1. Server Hooks</A
 
3982
NAME="AEN108138"
 
3983
>E.4.3.12.1. Server Hooks</A
3993
3984
></H4
3994
3985
><P
3995
3986
></P
4019
4010
><H3
4020
4011
CLASS="SECT3"
4021
4012
><A
4022
 
NAME="AEN107614"
4023
 
>E.2.3.13. Contrib</A
 
4013
NAME="AEN108147"
 
4014
>E.4.3.13. Contrib</A
4024
4015
></H3
4025
4016
><P
4026
4017
></P
4241
4232
><H4
4242
4233
CLASS="SECT4"
4243
4234
><A
4244
 
NAME="AEN107681"
4245
 
>E.2.3.13.1. Security</A
 
4235
NAME="AEN108214"
 
4236
>E.4.3.13.1. Security</A
4246
4237
></H4
4247
4238
><P
4248
4239
></P
4311
4302
><H4
4312
4303
CLASS="SECT4"
4313
4304
><A
4314
 
NAME="AEN107702"
4315
 
>E.2.3.13.2. Performance</A
 
4305
NAME="AEN108235"
 
4306
>E.4.3.13.2. Performance</A
4316
4307
></H4
4317
4308
><P
4318
4309
></P
4394
4385
><H4
4395
4386
CLASS="SECT4"
4396
4387
><A
4397
 
NAME="AEN107728"
4398
 
>E.2.3.13.3. Fsync Testing</A
 
4388
NAME="AEN108261"
 
4389
>E.4.3.13.3. Fsync Testing</A
4399
4390
></H4
4400
4391
><P
4401
4392
></P
4462
4453
><H3
4463
4454
CLASS="SECT3"
4464
4455
><A
4465
 
NAME="AEN107749"
4466
 
>E.2.3.14. Documentation</A
 
4456
NAME="AEN108282"
 
4457
>E.4.3.14. Documentation</A
4467
4458
></H3
4468
4459
><P
4469
4460
></P
4642
4633
ALIGN="right"
4643
4634
VALIGN="top"
4644
4635
><A
4645
 
HREF="release-9-0-5.html"
 
4636
HREF="release-9-0-7.html"
4646
4637
ACCESSKEY="N"
4647
4638
>Next</A
4648
4639
></TD
4666
4657
WIDTH="33%"
4667
4658
ALIGN="right"
4668
4659
VALIGN="top"
4669
 
>Release 9.0.5</TD
 
4660
>Release 9.0.7</TD
4670
4661
></TR
4671
4662
></TABLE
4672
4663
></DIV