Skip to content

Commit 269df29

Browse files
committed
Release notes updates from Neil Conway.
1 parent 70f567d commit 269df29

File tree

2 files changed

+78
-182
lines changed

2 files changed

+78
-182
lines changed

HISTORY

+40-82
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,24 @@
22
Release Notes
33

44
Release 7.4
5-
_________________________________________________________________
6-
5+
76
Overview
87

98
Major changes in this release:
109

10+
Performance
11+
IN/NOT IN subqueries are now much more efficient
12+
13+
Improved GROUP BY processing by using hash buckets
14+
15+
New multi-key hash join capability
16+
17+
ANSI joins are now better optimized
18+
19+
Faster and more powerful regular expression code
20+
21+
Function-inlining for simple SQL functions
22+
1123
IPv6
1224
Full support for IPv6 connections and IPv6 address data types
1325

@@ -19,7 +31,9 @@
1931
and other free space management improvements.
2032

2133
Standards Compliance
22-
Implement information schema Support for read-only transactions
34+
Implement information schema
35+
36+
Support for read-only transactions
2337

2438
Make cursors comply more closely with the SQL standard
2539

@@ -28,19 +42,6 @@
2842
error codes, status information, a binary protocol, error
2943
reporting verbosity, and cleaner startup packets.
3044

31-
Performance
32-
IN/NOT IN subqueries now perform as efficiently as joins
33-
34-
Improved GROUP BY processing by using hash buckets
35-
36-
New multi-key hash join capability
37-
38-
ANSI joins are now better optimized
39-
40-
Faster and more powerful regular expression code
41-
42-
Function-inlining for simple SQL functions
43-
4445
Holdable Cursors
4546
Allow cursors to exist outside transactions
4647

@@ -67,8 +68,8 @@
6768
in client applications and languages.
6869
* Error message wording has changed substantially in this release,
6970
and error codes have been added.
70-
* ANSI joins may behave differently because they are now better
71-
optimized
71+
* ANSI inner joins may behave differently because they are now
72+
better optimized
7273
* A number of server variables have been renamed for clarity
7374
* MOVE/FETCH 0 now does nothing; return value of MOVE/FETCH 1/0
7475
varies based on the current offset in the cursor
@@ -144,11 +145,12 @@ Performance
144145
* Assume WHERE a.x = b.y and b.y = 42 also means a.x = 42 (Tom)
145146
* Allow hash/merge joins on complex joins (Tom)
146147
* Allow hash joins for more data types (Tom)
147-
* Allow join optimization of ANSI joins, disable with
148+
* Allow join optimization of ANSI inner joins, disable with
148149
join_collapse_limit (Tom)
149150
* Add from_collapse_limit to control conversion of subqueries to
150151
joins (Tom)
151-
* Use faster regular expression code from TCL (Henry Spencer, Tom)
152+
* Use faster and more powerful regular expression code from TCL
153+
(Henry Spencer, Tom)
152154
* Use bit-mapped relation sets in the optimizer (Tom)
153155
* Improve backend startup time (Tom)
154156
* Improve trigger/constraint performance (Stephan)
@@ -157,6 +159,8 @@ Performance
157159
* Improve hash index concurrency and speed (Tom)
158160
* Align shared buffers on 32-byte boundary for copy speed
159161
improvement (Manfred Spraul)
162+
* The NUMERIC datatype has been reimplemented for better performance
163+
(Tom)
160164
_________________________________________________________________
161165

162166
Server Configuration
@@ -182,11 +186,11 @@ Server Configuration
182186
* New is_superuser read-only variable (Tom)
183187
* New server-side parameter log_error_verbosity to control error
184188
detail (Tom)
185-
* postgres --help-config now dumps server config variables (Aizaz
186-
Ahmed)
189+
* postgres --describe-config now dumps server config variables
190+
(Aizaz Ahmed, Peter)
187191
* Make default shared_buffers 1000 and max_connections 100, if
188192
possible (Tom)
189-
* Add new columns in pg_settings: context, type, source , min_val,
193+
* Add new columns in pg_settings: context, type, source, min_val,
190194
max_val (Joe)
191195
* New pg_hba.conf 'hostnossl' to prevent SSL connections (Jon
192196
Jensen)
@@ -237,10 +241,10 @@ Object Manipulation
237241

238242
Utility Commands
239243

240-
* Add ON COMMIT PRESERVE ROWS for temp tables (Gavin)
244+
* Add ON COMMIT clause to CREATE TABLE for temp tables (Gavin)
241245
* Allow cursors outside transactions using WITH HOLD (Neil)
242246
* Make MOVE/FETCH 0 actually move/fetch 0 (Bruce)
243-
* Cause FETCH 1 to return the current cursor row, or zero if at
247+
* Cause FETCH 1 to return the next cursor row number, or zero if at
244248
beginning/end of cursor, per SQL spec (Bruce)
245249
* Have MOVE return 0 or 1 depending on cursor position (Bruce)
246250
* Properly handle SCROLL with cursors, or report an error (Neil)
@@ -277,7 +281,8 @@ Utility Commands
277281
* Improve VACUUM performance on indexes by reducing WAL traffic
278282
(Tom)
279283
* Allow pg_ctl to better handle non-standard ports (Greg)
280-
* Functional indexes now support indexes on column expressions (Tom)
284+
* Functional indexes have been generalized into expressional indexes
285+
(Tom)
281286
* Syntax errors now reported as 'syntax error' rather than 'parse
282287
error' (Tom)
283288
* Have SHOW TRANSACTION_ISOLATION match input to SET
@@ -289,6 +294,7 @@ Utility Commands
289294
indexes (Tom)
290295
* pg_dump --use-set-session-authorization and --no-reconnect now do
291296
nothing, all dumps use SET SESSION AUTHORIZATION
297+
* Long options for pg_dump are now available on all platforms
292298
_________________________________________________________________
293299

294300
Data Types and Functions
@@ -331,16 +337,14 @@ Data Types and Functions
331337
* Allow the creation of special LIKE indexes for non-C locales
332338
(Peter)
333339
* Disallow invalid timezone names (Tom)
334-
* Trim trailing spaces when CHAR() data is cast to VARCHAR or TEXT
335-
(Tom)
340+
* Trim trailing spaces when CHAR() is cast to VARCHAR or TEXT (Tom)
336341
* Make FLOAT(p) measure the precision p in bits, not decimal digits
337342
(Tom)
338343
* Add IPv6 support to the inet and cidr data types (Michael Graff)
339344
* Add family() function to report whether address is IPv4 or IPv6
340345
(Michael Graff)
341346
* Have SHOW DATESTYLE generate output similar to that used by SET
342347
DATESTYLE (Tom)
343-
* Change DATESTYLE to output its value in a more common format (Tom)
344348
* Make EXTRACT(TIMEZONE) and SET/SHOW TIMEZONE follow the SQL
345349
convention for the sign of timezone offsets, ie, positive is east
346350
from UTC (Tom)
@@ -387,7 +391,8 @@ Psql
387391
* Add "\pset pager always" to always use pager (Greg)
388392
* Improve tab completion (Rod, Ross Reedstrom, Ian Barwick)
389393
* Reorder \? help into groupings (Harald Armin Massa, Bruce)
390-
* Add schema, cast, and conversion backslash commands (Christopher)
394+
* Add backslash commands for listing schemas, casts, and conversions
395+
(Christopher)
391396
* \encoding now changes based on client_encoding server variable
392397
(Tom)
393398
* Save edit history into readline history (Ross)
@@ -396,6 +401,7 @@ Psql
396401
* New '\set AUTOCOMMIT off' capability (Tom)
397402
* New '\set VERBOSITY' to control error detail (Tom)
398403
* New %T prompt string to show transaction status (Tom)
404+
* Long options for psql are now available on all platforms
399405
_________________________________________________________________
400406

401407
Libpq
@@ -448,7 +454,7 @@ Source Code
448454
files (Tom)
449455
* Improved PPC locking primitive (Reinhard Max)
450456
* Embed LD_LIBRARY_PATH used for build process into binaries (Billy)
451-
* New palloc0 to allocate and clear memory (Bruce)
457+
* New palloc0 function to allocate and clear memory (Bruce)
452458
* Fix locking code for s390x CPU (64-bit) (Tom)
453459
* Allow OpenBSD to use local ident credentials (William Ahern)
454460
* Make query plan trees read-only to executor (Tom)
@@ -457,15 +463,16 @@ Source Code
457463
Karl Waclawek)
458464
* Use our own version of getopt_long() if needed (Peter)
459465
* Convert administration scripts to C (Peter)
460-
* Bison >=1.85 is now required for grammar changes
466+
* Bison >= 1.85 is now required to build the PostgreSQL grammar, if
467+
building from CVS
461468
* Merge documentation into one book (Peter)
462469
* Add Win32 compatibility functions (Bruce)
463470
* Allow client interfaces to compile under MinGW/Win32 (Bruce)
464471
* New ereport() function for error reporting (Tom)
465472
* Support Intel Linux compiler (Peter)
466473
* Improve Linux startup scripts (Slawomir Sudnik, Darko Prenosil)
467474
* Add support for AMD Opteron and Itanium (Jeffrey W. Baker, Bruce)
468-
* Remove configure --enable-recode
475+
* Remove --enable-recode option to configure
469476
* Generate a compile error if spinlock code is not found (Bruce)
470477
_________________________________________________________________
471478

@@ -500,60 +507,11 @@ Contrib
500507

501508
Other Uncategorized
502509

503-
* EXTRACT(TIMEZONE) and "SET/SHOW TIMEZONE " now follow SQL sign
504-
convention (positive = east of UTC)
505510
* "DATESTYLE" can now be set to DMY, YMD, or MDY to specify input
506511
field order
507512
* Input date order must now be YYYY-MM-DD (with 4-digit year) or
508513
match DATESTYLE
509-
* Output of "SHOW DATESTYLE" is now in the same format accepted by
510-
"SET DATESTYLE"
511-
* PL/Python is now an untrusted language, and is renamed to
512-
plpythonu
513-
* Dollar sign ($) is no longer allowed in operator names
514-
* Dollar sign ($) can be a non-first character in identifiers
515-
* Precision in FLOAT(p) is now interpreted as bits, not decimal
516-
digits
517-
* Functional indexes have been generalized into expressional indexes
518-
* CHAR(n) to TEXT conversion automatically strips trailing blanks
519514
* Pattern matching operations can use indexes regardless of locale
520-
* New frontend/backend protocol supports many long-requested
521-
features
522-
* "SET AUTOCOMMIT TO OFF" is no longer supported; psql has an
523-
AUTOCOMMIT variable
524-
* Reimplementation of NUMERIC datatype for more speed
525-
* New regular expression package, many more regexp features (most of
526-
Perl5)
527-
* Can now do " EXPLAIN" ... "EXECUTE" to see plan used for a
528-
prepared query
529-
* Explicit "JOIN"s no longer constrain query plan, unless
530-
"JOIN_COLLAPSE_LIMIT = 1"
531-
* Performance of "foo IN (SELECT ...)" queries has been considerably
532-
improved
533-
* "FETCH 0" now re-fetches cursor's current row, per SQL spec
534-
* Revised executor state representation; plan trees are read-only to
535-
executor now
536-
* Information schema
537-
* Domains now support "CHECK" constraints
538-
* psql backslash commands for listing conversions, casts, and
539-
schemas
540-
* "TRUNCATE TABLE" is transaction-safe
541-
* "CLUSTER" can re-cluster a previously clustered table, or all such
542-
tables
543-
* Statement-level triggers
544-
* System can use either hash- or sort-based strategy for grouped
545-
aggregation
546-
* "ON COMMIT" options for temp tables
547-
* extra_float_digits option allows pg_dump to dump float data
548-
accurately
549-
* Long options for psql and pg_dump are now available on all
550-
platforms
551-
* Read-only transactions
552-
* Object owners can allow grantees to grant the privilege to others
553-
(grant option)
554-
* Added "contrib" module for pg_autovacuum which monitors inserts
555-
and deletes, and does "ANALYZE" or " VACUUM ANALYZE " when
556-
quantities exceed specified thresholds.
557515
_________________________________________________________________
558516

559517
Release 7.3.4

0 commit comments

Comments
 (0)