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

« back to all changes in this revision

Viewing changes to HISTORY

  • Committer: Bazaar Package Importer
  • Author(s): Martin Pitt
  • Date: 2011-06-14 09:53:29 UTC
  • mto: (6.1.1 sid) (10.1.1 oneiric-proposed) (1.2.1)
  • mto: This revision was merged to the branch mainline in revision 5.
  • Revision ID: james.westby@ubuntu.com-20110614095329-71gfhjywyp2c27au
Tags: upstream-9.1~beta2
ImportĀ upstreamĀ versionĀ 9.1~beta2

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
 
22
22
     Release Date: 2011-??-??
23
23
 
24
 
   CURRENT AS OF 2011-03-15
 
24
   CURRENT AS OF 2011-06-09
25
25
     __________________________________________________________________
26
26
 
27
27
Overview
46
46
 
47
47
     * Change the default value of standard_conforming_strings to on
48
48
       (Robert Haas)
49
 
       This removes a long-standing incompatibility with the SQL standard;
 
49
       By default, backslashes are now ordinary characters in string
 
50
       literals, not escape characters. This change removes a
 
51
       long-standing incompatibility with the SQL standard.
50
52
       escape_string_warning has produced warnings about this usage for
51
 
       years. E'' strings are the proper way to embed escapes in strings
52
 
       and are unaffected by this change.
 
53
       years. E'' strings are the proper way to embed backslash escapes in
 
54
       strings and are unaffected by this change.
53
55
     __________________________________________________________________
54
56
 
55
57
Casting
57
59
     * Disallow function-style and attribute-style data type casts for
58
60
       composite types (Tom Lane)
59
61
       For example, disallow composite_value.text and
60
 
       text(composite_value). The CAST and :: syntaxes are still available
61
 
       for use when a cast of an entire composite value is actually
62
 
       intended.
 
62
       text(composite_value). Unintentional uses of this syntax have
 
63
       frequently resulted in bug reports; although it was not a bug, it
 
64
       seems better to go back to rejecting such expressions. The CAST and
 
65
       :: syntaxes are still available for use when a cast of an entire
 
66
       composite value is actually intended.
63
67
     * Tighten casting checks for domains based on arrays (Tom Lane)
64
68
       When a domain is based on an array type, it is allowed to "look
65
69
       through" the domain type to access the array elements, including
68
72
       UPDATE ... SET domaincol[5] = ..., will now result in rechecking
69
73
       the domain type's constraints, whereas before the checks were
70
74
       skipped.
71
 
       Also, such a domain type is no longer allowed to match an anyarray
72
 
       parameter of a polymorphic function, except by explicitly
73
 
       downcasting it to the base array type.
74
75
     __________________________________________________________________
75
76
 
76
77
Arrays
77
78
 
78
79
     * Change string_to_array() to return an empty array for a zero-length
79
80
       string (Pavel Stehule)
80
 
       Previously this returned NULL.
 
81
       Previously this returned a null value.
81
82
     * Change string_to_array() so a NULL separator splits the string into
82
83
       characters (Pavel Stehule)
83
 
       Previously this returned NULL.
 
84
       Previously this returned a null value.
84
85
     __________________________________________________________________
85
86
 
86
87
Object Modification
110
111
       by the attached exception block (Piyush Newe)
111
112
       Previously RAISE in a code block was always scoped to an attached
112
113
       exception block, so it was uncatchable at the same scope.
113
 
     * Adjust PL/pgSQL's error line reporting code to be consistent with
 
114
     * Adjust PL/pgSQL's error line numbering code to be consistent with
114
115
       other PLs (Pavel Stehule)
115
116
       Previously, PL/pgSQL would ignore (not count) an empty line at the
116
117
       start of the function body. Since this was inconsistent with all
117
118
       other languages, the special case was removed.
 
119
     * Make PL/pgSQL complain about conflicting IN and OUT parameter names
 
120
       (Tom Lane)
 
121
       Formerly, the collision was not detected, and the name would just
 
122
       silently refer to only the OUT parameter.
 
123
     * Type modifiers of PL/pgSQL variables are now visible to the SQL
 
124
       parser (Tom Lane)
 
125
       A type modifier (such as a varchar length limit) attached to a
 
126
       PL/pgSQL variable was formerly enforced during assignments, but was
 
127
       ignored for all other purposes. Such variables will now behave more
 
128
       like table columns declared with the same modifier. This is not
 
129
       expected to make any visible difference in most cases, but it could
 
130
       result in subtle changes for some SQL commands issued by PL/pgSQL
 
131
       functions.
118
132
     __________________________________________________________________
119
133
 
120
134
Other Incompatibilities
121
135
 
122
 
     * Have pg_stat_reset() reset all database-level statistics (Tomas
 
136
     * Make pg_stat_reset() reset all database-level statistics (Tomas
123
137
       Vondra)
124
138
       Some pg_stat_database counters were not being reset.
125
139
     * Fix some information_schema.triggers column names to match the new
136
150
 
137
151
Performance
138
152
 
139
 
     * Allow unlogged tables using UNLOGGED during "CREATE TABLE" (Robert
140
 
       Haas)
141
 
       These tables are optimized for performance but are cleared in case
142
 
       of a server crash.
 
153
     * Support unlogged tables using the UNLOGGED option in "CREATE TABLE"
 
154
       (Robert Haas)
 
155
       Such tables provide better update performance than regular tables,
 
156
       but are not crash-safe: their contents are automatically cleared in
 
157
       case of a server crash. Their contents do not propagate to
 
158
       replication slaves, either.
143
159
     * Allow FULL OUTER JOIN to be implemented as a hash join, and allow
144
160
       either side of a LEFT OUTER JOIN or RIGHT OUTER JOIN to be hashed
145
161
       (Tom Lane)
157
173
 
158
174
Optimizer
159
175
 
160
 
     * Allow inheritance table queries to return meaningfully-sorted
161
 
       results (Greg Stark, Hans-Jurgen Schonig, Robert Haas, Tom Lane)
162
 
       This allows optimization of ORDER BY and LIMIT clauses in
163
 
       inheritance table queries.
164
 
     * Allow optimizations of MIN/MAX for inheritance table queries (Tom
165
 
       Lane)
166
 
     * Support hashing array values (Tom Lane)
167
 
       This provides additional query optimization possibilities.
 
176
     * Allow inheritance table scans to return meaningfully-sorted results
 
177
       (Greg Stark, Hans-Jurgen Schonig, Robert Haas, Tom Lane)
 
178
       This allows better optimization of queries that use ORDER BY,
 
179
       LIMIT, or MIN/MAX with inherited tables.
168
180
     * Improve GIN index scan cost estimation (Teodor Sigaev)
 
181
     * Improve cost estimation for aggregates and window functions (Tom
 
182
       Lane)
169
183
     __________________________________________________________________
170
184
 
171
185
Authentication
173
187
     * Support host names and host suffixes (e.g. .example.com) in
174
188
       "pg_hba.conf" (Peter Eisentraut)
175
189
       Previously only host IP addresses and CIDR values were supported.
176
 
     * Support the keyword all in the host column of "pg_hba.conf" (Peter
 
190
     * Support the key word all in the host column of "pg_hba.conf" (Peter
177
191
       Eisentraut)
178
192
       Previously people used 0.0.0.0/0 or ::/0 for this.
 
193
     * Reject local lines in "pg_hba.conf" on platforms that don't support
 
194
       Unix-socket connections (Magnus Hagander)
 
195
       Formerly, such lines were silently ignored, which could be
 
196
       surprising. This makes the behavior more like other unsupported
 
197
       cases.
179
198
     * Allow GSSAPI to be used to authenticate to servers via SSPI
180
199
       (Christian Ullrich)
181
200
       Specifically this allows Unix-based GSSAPI clients to do SSPI
182
201
       authentication with Windows servers.
 
202
     * ident authentication over local sockets is now known as peer
 
203
       (Magnus Hagander)
 
204
       The old term is still accepted for backward compatibility.
 
205
     * Rewrite peer authentication to avoid use of credential control
 
206
       messages (Tom Lane)
 
207
       This change makes the peer authentication code simpler and
 
208
       better-performing. However, it requires the platform to provide the
 
209
       getpeereid function or an equivalent socket operation. So far as is
 
210
       known, the only platform for which peer authentication worked
 
211
       before and now will not is pre-5.0 NetBSD.
183
212
     __________________________________________________________________
184
213
 
185
214
Monitoring
188
217
       is controlled by log_checkpoints (Fujii Masao, Greg Smith)
189
218
       New details show WAL file and sync activity.
190
219
     * Add log_file_mode which controls the permissions on log files
191
 
       created by the logging_collector (Martin Pihlak)
 
220
       created by the logging collector (Martin Pihlak)
192
221
     __________________________________________________________________
193
222
 
194
223
Statistical Views
195
224
 
196
 
     * Add client_hostname field to pg_stat_activity (Peter Eisentraut)
 
225
     * Add client_hostname column to pg_stat_activity (Peter Eisentraut)
197
226
       Previously only the client address was reported.
198
227
     * Add pg_stat_xact_* statistics functions and views (Joel Jacobson)
199
228
       These are like the database-wide statistics counter views, but
202
231
       statistics views (Tomas Vondra)
203
232
     * Add columns showing the number of vacuum and analyze operations in
204
233
       pg_stat_*_tables views (Magnus Hagander)
205
 
     * Add buffers_backend_fsync field to pg_stat_bgwriter (Greg Smith)
206
 
       This new field counts the number of times a backend fsyncs a
 
234
     * Add buffers_backend_fsync column to pg_stat_bgwriter (Greg Smith)
 
235
       This new column counts the number of times a backend fsyncs a
207
236
       buffer.
208
237
     __________________________________________________________________
209
238
 
234
263
       using the streaming replication network connection (Magnus
235
264
       Hagander, Heikki Linnakangas)
236
265
       This avoids the requirement of manually transferring a file system
237
 
       backup when creating a standby server.
 
266
       backup when setting up a standby server.
 
267
     * Add replication_timeout setting (Fujii Masao, Heikki Linnakangas)
 
268
       Replication connections that are idle for more than the
 
269
       replication_timeout interval will be terminated automatically.
 
270
       Formerly, a failed connection was typically not detected until the
 
271
       TCP timeout elapsed, which is inconveniently long in many
 
272
       situations.
238
273
     * Add command-line tool pg_basebackup for creating a new standby
239
274
       server or database backup (Magnus Hagander)
240
275
     * Add replication permission for roles (Magnus Hagander)
241
 
       This is a read-only permission used for streaming replication and
242
 
       allows non-superusers to initiate replication connections.
 
276
       This is a read-only permission used for streaming replication. It
 
277
       allows a non-superuser role to be used for replication connections.
243
278
       Previously only superusers could initiate replication connections;
244
 
       superusers have this permission by default.
245
 
     * ident authentication over local sockets is now known as peer
246
 
       (Magnus Hagander)
247
 
       The old term is still accepted for backward compatibility.
 
279
       superusers still have this permission by default.
248
280
     __________________________________________________________________
249
281
 
250
282
Replication Monitoring
254
286
       This reports the status of all connected standby servers.
255
287
     * Add monitoring function pg_last_xact_replay_timestamp() (Fujii
256
288
       Masao)
257
 
       This returns the time on the primary that generated the most recent
258
 
       commit or abort record applied on the standby.
 
289
       This returns the time at which the primary generated the most
 
290
       recent commit or abort record applied on the standby.
259
291
     __________________________________________________________________
260
292
 
261
293
Hot Standby
262
294
 
263
 
     * Add variable hot_standby_feedback to enable standbys to postpone
264
 
       cleanup of old row versions on the primary (Simon Riggs)
 
295
     * Add configuration parameter hot_standby_feedback to enable standbys
 
296
       to postpone cleanup of old row versions on the primary (Simon
 
297
       Riggs)
265
298
       This helps avoid cancelling long-running queries on the standby.
266
299
     * Add the pg_stat_database_conflicts system view to show queries that
267
300
       have been canceled and the reason (Magnus Hagander)
286
319
       pg_is_xlog_replay_paused().
287
320
     * Add "recovery.conf" setting pause_at_recovery_target to pause
288
321
       recovery at target (Simon Riggs)
289
 
       This allows a recovery server to be queried to check if the
 
322
       This allows a recovery server to be queried to check whether the
290
323
       recovery point is the one desired.
291
324
     * Add the ability to create named restore points using
292
325
       pg_create_restore_point() (Jaime Casanova)
293
326
       These named restore points can be specified as recovery targets
294
 
       using the new "recovery.conf" setting recovery_target_name
 
327
       using the new "recovery.conf" setting recovery_target_name.
295
328
     * Allow standby recovery to switch to a new timeline automatically
296
329
       (Heikki Linnakangas)
297
330
       Now standby servers scan the archive directory for new timelines
298
331
       periodically.
299
 
     * Add restart_after_crash which disables server restart after a
300
 
       backend crash (Robert Haas)
 
332
     * Add restart_after_crash setting which disables automatic server
 
333
       restart after a backend crash (Robert Haas)
301
334
       This allows external cluster management software to take control of
302
335
       whether servers restart or not.
303
336
     * Allow "recovery.conf" to use the same quoting behavior as
323
356
       primary key is specified in the GROUP BY clause (Peter Eisentraut)
324
357
       Some other database system already allowed this behavior, and
325
358
       because of the primary key, the result is unambiguous.
326
 
     * Allow use of the keyword DISTINCT in UNION/INTERSECT/EXCEPT clauses
327
 
       (Tom Lane)
328
 
       DISTINCT is the default behavior so use of this keyword is
 
359
     * Allow use of the key word DISTINCT in UNION/INTERSECT/EXCEPT
 
360
       clauses (Tom Lane)
 
361
       DISTINCT is the default behavior so use of this key word is
329
362
       redundant, but the SQL standard allows it.
330
363
     * Fix ordinary queries with rules to use the same snapshot behavior
331
364
       as "EXPLAIN ANALYZE" (Marko Tiikkaja)
344
377
 
345
378
Object Manipulation
346
379
 
 
380
     * Add extensions which simplify packaging of additions to PostgreSQL
 
381
       (Dimitri Fontaine, Tom Lane)
 
382
       Extensions are controlled by the new "CREATE"/"ALTER"/"DROP
 
383
       EXTENSION" commands. This replaces ad-hoc methods of grouping
 
384
       objects that are added to a PostgreSQL installation.
347
385
     * Add support for foreign tables (Shigeru Hanada, Robert Haas, Jan
348
386
       Urbanski, Heikki Linnakangas)
349
387
       This allows data stored outside the database to be used like native
361
399
     * Add RESTRICT/CASCADE to "ALTER TYPE" operations on typed tables
362
400
       (Peter Eisentraut)
363
401
       This controls ADD/DROP/ALTER/RENAME ATTRIBUTE cascading behavior.
 
402
     * Support ALTER TABLE name {OF | NOT OF} type (Noah Misch)
 
403
       This syntax allows a standalone table to be made into a typed
 
404
       table, or a typed table to be made standalone.
364
405
     * Add support for more object types in "ALTER ... SET SCHEMA"
365
406
       commands (Dimitri Fontaine)
366
407
       This command is now supported for conversions, operators, operator
367
 
       classes, operator families, text search configurations, and text
368
 
       search dictionaries, text search parsers, and text search
369
 
       templates.
 
408
       classes, operator families, text search configurations, text search
 
409
       dictionaries, text search parsers, and text search templates.
370
410
     __________________________________________________________________
371
411
 
372
412
CREATE/ALTER TABLE
373
413
 
374
414
     * Add "ALTER TABLE ... ADD UNIQUE/PRIMARY KEY USING INDEX" (Gurjeet
375
415
       Singh)
376
 
       This allows a primary key or unique constraint to be added using an
377
 
       existing unique index, including a concurrently created unique
 
416
       This allows a primary key or unique constraint to be defined using
 
417
       an existing unique index, including a concurrently created unique
378
418
       index.
379
419
     * Allow "ALTER TABLE" to add foreign keys without validation (Simon
380
420
       Riggs)
381
421
       The new option is called NOT VALID, which can later be modified to
382
422
       VALIDATED and validation checks performed. Together these allow you
383
 
       to add a Foreign Key with minimal impact on read and write
 
423
       to add a foreign key with minimal impact on read and write
384
424
       operations.
385
425
     * Allow "ALTER TABLE ... SET DATA TYPE" to avoid table rewrites in
386
426
       appropriate cases (Noah Misch, Robert Haas)
390
430
     * Add "CREATE TABLE IF NOT EXISTS" syntax (Robert Haas)
391
431
       This allows table creation without causing an error if the table
392
432
       already exists.
393
 
     * Fix possible "tuple concurrently updated" error when two server
394
 
       backends attempted to add an inheritance parent to the same table
395
 
       at the same time (Robert Haas)
 
433
     * Fix possible "tuple concurrently updated" error when two backends
 
434
       attempted to add an inheritance child to the same table at the same
 
435
       time (Robert Haas)
396
436
       "ALTER TABLE" now takes a stronger lock on the parent table, so
397
437
       that both children do not try to update it simultaneously.
398
438
     __________________________________________________________________
468
508
 
469
509
Data Types
470
510
 
471
 
     * Allow numeric to use a more compact, two-byte header in many cases
472
 
       (Robert Haas)
 
511
     * Allow numeric to use a more compact, two-byte header in common
 
512
       cases (Robert Haas)
473
513
       Previously all numeric values had four-byte headers; this saves on
474
514
       disk storage.
475
515
     * Add support for dividing money by money (Andy Balholm)
477
517
     * Improve hypotenuse calculations for geometric operators (Paul
478
518
       Matthews)
479
519
       This avoids unnecessary overflows, and may also be more accurate.
 
520
     * Support hashing array values (Tom Lane)
 
521
       This provides additional query optimization possibilities.
 
522
     * Don't treat a composite type as sortable unless all its column
 
523
       types are sortable (Tom Lane)
 
524
       This avoids possible "could not identify a comparison function"
 
525
       failures at runtime, if it is possible to implement the query
 
526
       without sorting. Also, "ANALYZE" won't try to use inappropriate
 
527
       statistics-gathering methods for columns of such composite types.
480
528
     __________________________________________________________________
481
529
 
482
530
Casting
483
531
 
484
532
     * Add support for casting between money and numeric (Andy Balholm)
 
533
     * Add support for casting from int4 and int8 to numeric (Joey Adams)
485
534
     * Allow casting a table's row type to the table's supertype if it's a
486
535
       typed table (Peter Eisentraut)
487
536
       This is analogous to the existing facility that allows casting a
492
541
 
493
542
     * Add XML function XMLEXISTS and xpath_exists() functions (Mike
494
543
       Fowler)
495
 
       These are used for xpath matching.
 
544
       These are used for XPath matching.
496
545
     * Add XML functions xml_is_well_formed(),
497
546
       xml_is_well_formed_document(), xml_is_well_formed_content() (Mike
498
547
       Fowler)
515
564
     * Add a single-parameter version of function pg_read_file() to read
516
565
       an entire file (Dimitri Fontaine, Itagaki Takahiro)
517
566
     * Add three-parameter forms of array_to_string() and
518
 
       string_to_array() for NULL processing control (Pavel Stehule)
 
567
       string_to_array() for null value processing control (Pavel Stehule)
519
568
     __________________________________________________________________
520
569
 
521
570
Object Information Functions
523
572
     * Add the pg_describe_object() function (Alvaro Herrera)
524
573
       This function is used to obtain a human-readable string describing
525
574
       an object, based on the pg_class OID, object OID, and sub-object
526
 
       OID. It can be used to help interpret the contents of pg_depend.
 
575
       ID. It can be used to help interpret the contents of pg_depend.
527
576
     * Update comments for built-in operators and their underlying
528
577
       functions (Tom Lane)
 
578
       Functions that are meant to be used via an associated operator are
 
579
       now commented as such.
529
580
     * Add variable quote_all_identifiers to force the quoting of all
530
581
       identifiers in "EXPLAIN" and in system catalog functions like
531
582
       pg_get_viewdef() (Robert Haas)
532
583
       This makes exporting schemas to tools and other databases with
533
584
       different quoting rules easier.
534
 
     * Add fields to the information_schema.sequences system view (Peter
 
585
     * Add columns to the information_schema.sequences system view (Peter
535
586
       Eisentraut)
536
 
       Previously, though the view existed, all of these view fields were
537
 
       unimplemented.
 
587
       Previously, though the view existed, the columns about the sequence
 
588
       parameters were unimplemented.
538
589
     * Allow public as a pseudo-role name in has_table_privilege() and
539
590
       related functions (Alvaro Herrera)
540
591
       This allows checking for public permissions.
542
593
 
543
594
Function and Trigger Creation
544
595
 
545
 
     * Allow INSTEAD OF triggers on views (Dean Rasheed)
 
596
     * Support INSTEAD OF triggers on views (Dean Rasheed)
546
597
       This feature can be used to implement fully updatable views.
547
598
     * Minimize lock levels for "CREATE TRIGGER" and many "ALTER TABLE"
548
599
       and "CREATE RULE" operations (Simon Riggs)
592
643
     * Add PL/Python functions for quoting strings (Jan Urbanski)
593
644
       The functions are plpy.quote_ident, plpy.quote_literal, and
594
645
       plpy.quote_nullable.
 
646
     * Add traceback information to PL/Python errors (Jan Urbanski)
595
647
     * Report PL/Python errors from iterators with PLy_elog (Jan Urbanski)
596
 
     * plpy.Fatal now raises FATAL, rather than ERROR (Jan Urbanski)
597
 
       The old behavior was incorrect.
598
 
     * Overhaul of PL/Python (Jan Urbanski)
599
 
       This includes exception support for Python 3. **More detail?
 
648
     * Fix exception handling with Python 3 (Jan Urbanski)
 
649
       Exception classes were previously not available in plpy under
 
650
       Python 3.
600
651
     __________________________________________________________________
601
652
 
602
653
Client Applications
607
658
 
608
659
psql
609
660
 
610
 
     * Add the \conninfo command to psql, to show current connection
611
 
       information (David Christensen)
 
661
     * Add psql command \conninfo to show current connection information
 
662
       (David Christensen)
612
663
     * Add psql command \sf to show a function's definition (Pavel
613
664
       Stehule)
614
665
     * Add psql command \dL to list languages (Fernando Ike)
615
 
     * Add system table "S" option to psql \dn (schemas) (Tom Lane)
 
666
     * Add "S" ("system") option to psql's \dn (list schemas) command (Tom
 
667
       Lane)
616
668
       \dn without S now suppresses system schemas.
617
669
     * Allow psql's \e and \ef commands to accept a line number to be used
618
670
       to position the cursor in the editor (Pavel Stehule)
619
 
       This is passed to the editor using the EDITOR_LINENUMBER_SWITCH
620
 
       environment variable.
 
671
       This is passed to the editor according to the
 
672
       EDITOR_LINENUMBER_SWITCH psql variable.
621
673
     * Have psql set the client encoding from the operating system locale
622
674
       by default (Heikki Linnakangas)
623
675
       This only happens if the PGCLIENTENCODING environment variable is
624
676
       not set.
625
 
     * Make psql distinguish between unique indices and unique constraints
 
677
     * Make \d distinguish between unique indexes and unique constraints
626
678
       (Josh Kupershmidt)
 
679
     * Make \dt+ report pg_table_size instead of pg_relation_size when
 
680
       talking to 9.0 or later servers (Bernd Helmle)
 
681
       This is a more useful measure of table size, but note that it is
 
682
       not identical to what was previously reported in the same display.
627
683
     * Additional tab completion support (Itagaki Takahiro, Pavel Stehule,
628
684
       Andrey Popp, Christoph Berg, David Fetter, Josh Kupershmidt)
629
685
     __________________________________________________________________
643
699
       not running (Bruce Momjian)
644
700
       Previously this could happen if the server was running but pg_ctl
645
701
       could not authenticate.
646
 
     * Improve pg_ctl start's "wait" ("-w") mode to handle non-standard
647
 
       port numbers, non-standard Unix-domain socket locations, permission
648
 
       problems, and stale postmaster lock files (Bruce Momjian)
 
702
     * Improve pg_ctl start's "wait" ("-w") option (Bruce Momjian, Tom
 
703
       Lane)
 
704
       The wait mode is now significantly more robust. It will not get
 
705
       confused by non-default postmaster port numbers, non-default
 
706
       Unix-domain socket locations, permission problems, or stale
 
707
       postmaster lock files.
649
708
     * Add promote option to pg_ctl to switch a standby server to primary
650
709
       (Fujii Masao)
651
710
     __________________________________________________________________
662
721
       (Magnus Hagander)
663
722
       libpq already had PQserverVersion() which returns the server
664
723
       version.
665
 
     * Allow libpq database clients to use Unix-domain sockets to check
666
 
       the user name of the server process using requirepeer (Peter
667
 
       Eisentraut)
668
 
       PostgreSQL already allowed servers to determine the client user
669
 
       name via Unix-domain sockets.
 
724
     * Allow libpq database clients to check the user name of the server
 
725
       process using requirepeer when connecting via Unix-domain sockets
 
726
       (Peter Eisentraut)
 
727
       PostgreSQL already allowed servers to check the client user name
 
728
       when connecting via Unix-domain sockets.
670
729
     * Add PQping() and PQpingParams() to libpq (Bruce Momjian, Tom Lane)
671
 
       The allow detection of the server's status without creating a new
672
 
       session.
 
730
       These functions allow detection of the server's status without
 
731
       trying to open a new session.
673
732
     __________________________________________________________________
674
733
 
675
734
ECPG
676
735
 
677
 
     * Allow ecpg to accept dynamic cursor names even in WHERE CURRENT OF
 
736
     * Allow ECPG to accept dynamic cursor names even in WHERE CURRENT OF
678
737
       clauses
679
738
     __________________________________________________________________
680
739
 
681
740
Build Options
682
741
 
683
 
     * Add extensions which simplify packaging of additions to PostgreSQL
684
 
       (Dimitri Fontaine, Tom Lane)
685
 
       This is controlled by the new "CREATE"/"ALTER"/"DROP EXTENSION "
686
 
       command; this replaces a more manual method of adding features to
687
 
       PostgreSQL.
 
742
     * Use +Olibmerrno compile flag with HP-UX C compilers that accept it
 
743
       (Ibrar Ahmed)
 
744
       This avoids possible misbehavior of math library calls on recent HP
 
745
       platforms.
688
746
     __________________________________________________________________
689
747
 
690
748
Makefiles
691
749
 
692
750
     * Improved parallel make support (Peter Eisentraut)
693
 
       This allows for faster compiles. Also, make "-k" and make "-q" now
694
 
       work properly in a parallel build.
 
751
       This allows for faster compiles. Also, make -k now works more
 
752
       consistently.
695
753
     * Require GNU make 3.80 or newer (Peter Eisentraut)
696
754
       This is necessary because of the parallel-make improvements.
 
755
     * Add make maintainer-check target (Peter Eisentraut)
 
756
       This target performs various source code checks that are not
 
757
       appropriate for either the build or the regression tests.
 
758
       Currently: duplicate_oids, SGML syntax and tabs check, NLS syntax
 
759
       check.
 
760
     * Support make check in "contrib" (Peter Eisentraut)
 
761
       Formerly only make installcheck worked, but now there is support
 
762
       for testing in a temporary installation. The top-level make
 
763
       check-world target now includes testing "contrib" this way.
697
764
     __________________________________________________________________
698
765
 
699
766
Windows
704
771
       Magnus Hagander)
705
772
       minidumps can now be generated by non-debug Windows binaries and
706
773
       analyzed by standard debugging tools.
707
 
     * Enable building with the Mingw64 compiler (Andrew Dunstan)
 
774
     * Enable building with the MinGW64 compiler (Andrew Dunstan)
708
775
       This allows building 64-bit Windows binaries even on non-Windows
709
 
       platforms with cross-compiling.
 
776
       platforms via cross-compiling.
710
777
     __________________________________________________________________
711
778
 
712
779
Source Code
713
780
 
 
781
     * Revise the API for GUC variable assign hooks (Tom Lane)
 
782
       The previous functions of assign hooks are now split between check
 
783
       hooks and assign hooks, where the former can fail but the latter
 
784
       shouldn't. This change will impact add-on modules that define
 
785
       custom GUC parameters.
714
786
     * Add latches to the source code to wait for events (Heikki
715
787
       Linnakangas)
716
788
     * Centralize data modification permissions-checking logic (KaiGai
717
789
       Kohei)
718
 
     * Add missing get_{object}_oid() functions, for consistency (Robert
 
790
     * Add missing get_object_oid() functions, for consistency (Robert
719
791
       Haas)
720
 
     * Improve ability to use C++ compilers for backend compiles by
721
 
       removing conflicting keywords (Tom Lane)
 
792
     * Improve ability to use C++ compilers for compiling add-on modules
 
793
       by removing conflicting key words (Tom Lane)
722
794
     * Add support for DragonFly BSD (Rumko)
723
795
     * Expose quote_literal_cstr() for backend use (Robert Haas)
724
796
     * Run regression tests in the default encoding (Peter Eisentraut)
741
813
 
742
814
Contrib
743
815
 
744
 
     * Modify "/contrib" modules and stored procedure languages to install
 
816
     * Modify "contrib" modules and stored procedure languages to install
745
817
       via the new extension mechanism (Tom Lane, Dimitri Fontaine)
746
 
       This replaces a more manual method of installation.
747
818
     * Add "contrib/file_fdw" foreign-data wrapper (Shigeru Hanada)
748
819
       Foreign tables using this foreign data wrapper can read flat files
749
820
       in a manner very similar to "COPY".
751
822
       "contrib/btree_gist" (Teodor Sigaev)
752
823
     * Add "contrib/btree_gist" support for searching on not-equals (Jeff
753
824
       Davis)
754
 
     * Allow "contrib/fuzzystrmatch"'s levenshtein() function handle
755
 
       multi-byte characters (Alexander Korotkov)
 
825
     * Fix "contrib/fuzzystrmatch"'s levenshtein() function to handle
 
826
       multibyte characters (Alexander Korotkov)
756
827
     * Add ssl_cipher() and ssl_version() functions to "contrib/sslinfo"
757
828
       (Robert Haas)
758
829
     * Fix "contrib/intarray" and "contrib/hstore" to give consistent
759
830
       results with indexed empty arrays (Tom Lane)
760
831
       Previously an empty-array query that used an index might return
761
832
       different results from one that used a sequential scan.
762
 
     * Allow "contrib/intarray" to work properly on multi-dimensional
 
833
     * Allow "contrib/intarray" to work properly on multidimensional
763
834
       arrays (Tom Lane)
764
835
     * In "contrib/intarray", avoid errors complaining about the presence
765
836
       of nulls in cases where no nulls are actually present (Tom Lane)
821
892
     * Add documentation for exit_on_error (Robert Haas)
822
893
       This parameter causes sessions to exit on any error.
823
894
     * Add documentation for pg_options_to_table() (Josh Berkus)
824
 
       This parameter shows table storage options.
825
 
     * Document that it is possible to access all composite fields using
826
 
       (compositeval).* syntax (Peter Eisentraut)
 
895
       This function shows table storage options in a readable form.
 
896
     * Document that it is possible to access all composite type fields
 
897
       using (compositeval).* syntax (Peter Eisentraut)
827
898
     * Document that translate() removes characters in from that don't
828
899
       have a corresponding to character (Josh Kupershmidt)
829
900
     * Merge docs for "CREATE CONSTRAINT TRIGGER" and "CREATE TRIGGER"