|
| 1 | +<Sect1> |
| 2 | +<Title>Release 6.4</Title> |
| 3 | +<!-- |
| 4 | +<docinfo> |
| 5 | +<authorgroup> |
| 6 | +<author> |
| 7 | +<firstname>Bruce</firstname> |
| 8 | +<surname>Momjian</surname> |
| 9 | +</author> |
| 10 | +</authorgroup> |
| 11 | +<date>1998-10-30</date> |
| 12 | +</docinfo> |
| 13 | +--> |
| 14 | + |
| 15 | +<para> |
| 16 | +There are <emphasis>many</emphasis> new features and improvements in this release. |
| 17 | +Thanks to our developers and maintainers, nearly every aspect of the system |
| 18 | +has received some attention since the previous release. |
| 19 | +Here is a brief, incomplete summary: |
| 20 | + |
| 21 | +<itemizedlist spacing="compact"> |
| 22 | +<listitem> |
| 23 | +<para> |
| 24 | +Views and rules are now functional thanks to extensive new code in the |
| 25 | +rewrite rules system from Jan Wieck. He also wrote a chapter on it |
| 26 | +for the <citetitle>Programmer's Guide</citetitle>. |
| 27 | + |
| 28 | +<listitem> |
| 29 | +<para> |
| 30 | +Jan also contributed a second procedural language, PL/pgSQL, to go with the |
| 31 | +original PL/pgTCL procedural language he contributed last release. |
| 32 | + |
| 33 | +<listitem> |
| 34 | +<para> |
| 35 | +We have optional multiple-byte character set support from Tatsuo Iishi |
| 36 | +to complement our existing locale support. |
| 37 | + |
| 38 | +<listitem> |
| 39 | +<para> |
| 40 | +Client/server communications has been cleaned up, with better support for |
| 41 | +asynchronous messages and interrupts thanks to Tom Lane. |
| 42 | + |
| 43 | +<listitem> |
| 44 | +<para> |
| 45 | +The parser will now perform automatic type coersion to match arguments |
| 46 | +to available operators and functions, and to match columns and expressions |
| 47 | +with target columns. This uses a generic mechanism which supports |
| 48 | +the type extensibility features of <productname>Postgres</productname>. |
| 49 | +There is a new chapter in the <citetitle>User's Guide</citetitle> |
| 50 | +which covers this topic. |
| 51 | + |
| 52 | +<listitem> |
| 53 | +<para> |
| 54 | +Three new data types have been added. |
| 55 | +Two types, <type>inet</type> and <type>cidr</type>, support various forms |
| 56 | +of IP network, subnet, and machine addressing. There is now an 8-byte integer |
| 57 | +type available on some platforms. See the chapter on data types |
| 58 | +in the <citetitle>User's Guide</citetitle> for details. |
| 59 | +A fourth type, <type>serial</type>, is now supported by the parser as an |
| 60 | +amalgam of the <type>int4</type> type, a sequence, and a unique index. |
| 61 | + |
| 62 | +<listitem> |
| 63 | +<para> |
| 64 | +Several more <acronym>SQL92</acronym>-compatible syntax features have been |
| 65 | +added, including <command>INSERT DEFAULT VALUES</command> |
| 66 | + |
| 67 | +<listitem> |
| 68 | +<para> |
| 69 | +The automatic configuration and installation system has received some |
| 70 | +attention, and should be more robust for more platforms than it has ever |
| 71 | +been. |
| 72 | + |
| 73 | +</itemizedlist> |
| 74 | + |
| 75 | + |
| 76 | +<sect2> |
| 77 | +<title>Migration to v6.4</title> |
| 78 | + |
| 79 | +<para> |
| 80 | +A dump/restore using <application>pg_dump</application> |
| 81 | +or <application>pg_dumpall</application> |
| 82 | +is required for those wishing to migrate data from any |
| 83 | +previous release of <productname>Postgres</productname>. |
| 84 | + |
| 85 | + |
| 86 | +<sect2> |
| 87 | +<title>Detailed Change List</title> |
| 88 | + |
| 89 | +<para> |
| 90 | +<programlisting> |
| 91 | +Bug Fixes |
| 92 | +--------- |
| 93 | +Fix for a tiny memory leak in PQsetdb/PQfinish(Bryan) |
| 94 | +Remove char2-16 data types, use char/varchar(Darren) |
| 95 | +Pqfn not handles a NOTICE message(Anders) |
| 96 | +Reduced busywaiting overhead for spinlocks with many backends (dg) |
| 97 | +Stuck spinlock detection (dg) |
| 98 | +Fix up "ISO-style" timespan decoding and encoding(Thomas) |
| 99 | +Fix problem with table drop after rollback of transaction(Vadim) |
| 100 | +Change error message and remove non-functional update message(Vadim) |
| 101 | +Fix for COPY array checking |
| 102 | +Fix for SELECT 1 UNION SELECT NULL |
| 103 | +Fix for buffer leaks in large object calls(Pascal) |
| 104 | +Change owner from oid to int4 type(Bruce) |
| 105 | +Fix a bug in the oracle compatibility functions btrim() ltrim() and rtrim() |
| 106 | +Fix for shared invalidation cache overflow(Massimo) |
| 107 | +Prevent file descriptor leaks in failed COPY's(Bruce) |
| 108 | +Fix memory leak in libpgtcl's pg_select(Constantin) |
| 109 | +Fix problems with username/passwords over 8 characters(Tom) |
| 110 | +Fix problems with handling of asynchronous NOTIFY in backend(Tom) |
| 111 | +Fix of many bad system table entries(Tom) |
| 112 | + |
| 113 | +Enhancements |
| 114 | +------------ |
| 115 | +Upgrade ecpg and ecpglib,see src/interfaces/ecpc/ChangeLog(Michael) |
| 116 | +Show the index used in an EXPLAIN(Zeugswetter) |
| 117 | +EXPLAIN invokes rule system and shows plan(s) for rewritten queries(Jan) |
| 118 | +Multi-byte awareness of many data types and functions, via configure(Tatsuo) |
| 119 | +New configure --with-mb option(Tatsuo) |
| 120 | +New initdb --pgencoding option(Tatsuo) |
| 121 | +New createdb -E multibyte option(Tatsuo) |
| 122 | +Select version(); now returns PostgreSQL version(Jeroen) |
| 123 | +Libpq now allows asynchronous clients(Tom) |
| 124 | +Allow cancel from client of backend query(Tom) |
| 125 | +Psql now cancels query with Control-C(Tom) |
| 126 | +Libpq users need not issue dummy queries to get NOTIFY messages(Tom) |
| 127 | +NOTIFY now sends sender's PID, so you can tell whether it was your own(Tom) |
| 128 | +PGresult struct now includes associated error message, if any(Tom) |
| 129 | +Define "tz_hour" and "tz_minute" arguments to date_part()(Thomas) |
| 130 | +Add routines to convert between varchar and bpchar(Thomas) |
| 131 | +Add routines to allow sizing of varchar and bpchar into target columns(Thomas) |
| 132 | +Add bit flags to support timezonehour and minute in data retrieval(Thomas) |
| 133 | +Allow more variations on valid floating point numbers (e.g. ".1", "1e6")(Thomas) |
| 134 | +Fixes for unary minus parsing with leading spaces(Thomas) |
| 135 | +Implement TIMEZONE_HOUR, TIMEZONE_MINUTE per SQL92 specs(Thomas) |
| 136 | +Check for and properly ignore FOREIGN KEY column constraints(Thomas) |
| 137 | +Define USER as synonym for CURRENT_USER per SQL92 specs(Thomas) |
| 138 | +Enable HAVING clause but no fixes elsewhere yet. |
| 139 | +Make "char" type a synonym for "char(1)" (actually implemented as bpchar)(Thomas) |
| 140 | +Save string type if specified for DEFAULT clause handling(Thomas) |
| 141 | +Coerce operations involving different data types(Thomas) |
| 142 | +Allow some index use for columns of different types(Thomas) |
| 143 | +Add capabilities for automatic type conversion(Thomas) |
| 144 | +Cleanups for large objects, so file is truncated on open(Peter) |
| 145 | +Readline cleanups(Tom) |
| 146 | +Allow psql \f \ to make spaces as delimiter(Bruce) |
| 147 | +Pass pg_attribute.atttypmod to the frontend for column field lengths(Tom,Bruce) |
| 148 | +Msql compatibility library in /contrib(Aldrin) |
| 149 | +Remove the requirement that ORDER/GROUP BY clause identifiers be |
| 150 | +included in the target list(David) |
| 151 | +Convert columns to match columns in UNION clauses(Thomas) |
| 152 | +Remove fork()/exec() and only do fork()(Bruce) |
| 153 | +Jdbc cleanups(Peter) |
| 154 | +Show backend status on ps command line(only works on some platforms)(Bruce) |
| 155 | +Pg_hba.conf now has a sameuser option in the database field |
| 156 | +Make lo_unlink take oid param, not int4 |
| 157 | +New DISABLE_COMPLEX_MACRO for compilers that can't handle our macros(Bruce) |
| 158 | +Libpgtcl now handles NOTIFY as a Tcl event, need not send dummy queries(Tom) |
| 159 | +libpgtcl cleanups(Tom) |
| 160 | +Add -error option to libpgtcl's pg_result command(Tom) |
| 161 | +New locale patch, see docs/README/locale(Oleg) |
| 162 | +Fix for pg_dump so CONSTRAINT and CHECK syntax is correct(ccb) |
| 163 | +New contrib/lo code for large object orphan removal(Peter) |
| 164 | +New psql command "SET CLIENT_ENCODING TO 'encoding'" for multi-bytes |
| 165 | +feature, see /doc/README.mb(Tatsuo) |
| 166 | +/contrib/noupdate code to revoke update permission on a column |
| 167 | +Libpq can now be compiled on win32(Magnus) |
| 168 | +Add PQsetdbLogin() in libpq |
| 169 | +New 8-byte integer type, checked by configure for OS support(Thomas) |
| 170 | +Better support for quoted table/column names(Thomas) |
| 171 | +Surround table and column names with double-quotes in pg_dump(Thomas) |
| 172 | +PQreset() now works with passwords(Tom) |
| 173 | +Handle case of GROUP BY target list column number out of range(David) |
| 174 | +Allow UNION in subselects |
| 175 | +Add auto-size to screen to \d? commands(Bruce) |
| 176 | +Use UNION to show all \d? results in one query(Bruce) |
| 177 | +Add \d? field search feature(Bruce) |
| 178 | +Pg_dump issues fewer \connect requests(Tom) |
| 179 | +Make pg_dump -z flag work better, document it in manual page(Tom) |
| 180 | +Add HAVING clause with full support for subselects and unions(Stephan) |
| 181 | +Full text indexing routines in contrib/fulltextindex(Maarten) |
| 182 | +Transaction ids now stored in shared memory(Vadim) |
| 183 | +New PGCLIENTENCODING when issuing COPY command(Tatsuo) |
| 184 | +Support for SQL92 syntax "SET NAMES"(Tatsuo) |
| 185 | +Support for LATIN2-5(Tatsuo) |
| 186 | +Add UNICODE regression test case(Tatsuo) |
| 187 | +Lock manager cleanup, new locking modes for LLL(Vadim) |
| 188 | +Allow index use with OR clauses(Bruce) |
| 189 | +Allows "SELECT NULL ORDER BY 1;" |
| 190 | +Explain VERBOSE prints the plan, and now pretty-prints the plan to |
| 191 | +the postmaster log file(Bruce) |
| 192 | +Add Indices display to \d command(Bruce) |
| 193 | +Allow GROUP BY on functions(David) |
| 194 | +New pg_class.relkind for large objects(Bruce) |
| 195 | +New way to send libpq NOTICE messages to a different location(Tom) |
| 196 | +New \w write command to psql(Bruce) |
| 197 | +New /contrib/findoidjoins scans oid columns to find join relationships(Bruce) |
| 198 | +Allow binary-compatible indices to be considered when checking for valid |
| 199 | +indices for restriction clauses containing a constant(Thomas) |
| 200 | +New ISBN/ISSN code in /contrib/isbn_issn |
| 201 | +Allow NOT LIKE, IN, NOT IN, BETWEEN, and NOT BETWEEN constraint(Thomas) |
| 202 | +New rewrite system fixes many problems with rules and views(Jan) |
| 203 | + * Rules on relations work |
| 204 | + * Event qualifications on insert/update/delete work |
| 205 | + * New OLD variable to reference CURRENT, CURRENT will be remove in future |
| 206 | + * Update rules can reference NEW and OLD in rule qualifications/actions |
| 207 | + * Insert/update/delete rules on views work |
| 208 | + * Multiple rule actions are now supported, surrounded by parentheses |
| 209 | + * Regular users can create views/rules on tables they have RULE permits |
| 210 | + * Rules and views inherit the permissions on the creator |
| 211 | + * No rules at the column level |
| 212 | + * No UPDATE NEW/OLD rules |
| 213 | + * New pg_tables, pg_indexes, pg_rules and pg_views system views |
| 214 | + * Only a single action on SELECT rules |
| 215 | + * Total rewrite overhaul, perhaps for 6.5 |
| 216 | + * handle subselects |
| 217 | + * handle aggregates on views |
| 218 | + * handle insert into select from view works |
| 219 | +System indexes are now multi-key(Bruce) |
| 220 | +Oidint2, oidint4, and oidname types are removed(Bruce) |
| 221 | +Use system cache for more system table lookups(Bruce) |
| 222 | +New backend programming language PL/pgSQL in backend/pl(Jan) |
| 223 | +New SERIAL data type, auto-creates sequence/index(Thomas) |
| 224 | +Enable assert checking without a recompile(Massimo) |
| 225 | +User lock enhancements(Massimo) |
| 226 | +New setval() command to set sequence value(Massimo) |
| 227 | +Auto-remove unix socket file on startup if no postmaster running(Massimo) |
| 228 | +Conditional trace package(Massimo) |
| 229 | +New UNLISTEN command(Massimo) |
| 230 | +Psql and libpq now compile under win32 using win32.mak(Magnus) |
| 231 | +Lo_read no longer stores trailing NULL(Bruce) |
| 232 | +Identifiers are now truncated to 31 characters internally(Bruce) |
| 233 | +Createuser options now availble on the command line |
| 234 | +Code for 64-bit integer supported added, configure tested, int8 type(Thomas) |
| 235 | +Prevent file descriptor leaf from failed COPY(Bruce) |
| 236 | +New pg_upgrade command(Bruce) |
| 237 | +Updated /contrib directories(Massimo) |
| 238 | +New CREATE TABLE DEFAULT VALUES statement available(Thomas) |
| 239 | +New INSERT INTO TABLE DEFAULT VALUES statement available(Thomas) |
| 240 | +New DECLARE and FETCH feature(Thomas) |
| 241 | +libpq's internal structures now not exported(Tom) |
| 242 | +Allow up to 8 key indexes(Bruce) |
| 243 | +Remove ARCHIVE keyword, that is no longer used(Thomas) |
| 244 | +pg_dump -n flag to supress quotes around indentifiers |
| 245 | +disable system columns for views(Jan) |
| 246 | +new INET and CIDR types for network addresses(TomH, Paul) |
| 247 | +no more double quotes in psql output |
| 248 | +pg_dump now dumps views(Terry) |
| 249 | +new SET QUERY_LIMIT(Tatsuo,Jan) |
| 250 | + |
| 251 | +Source Tree Changes |
| 252 | +------------------- |
| 253 | +/contrib cleanup(Jun) |
| 254 | +Inline some small functions called for every row(Bruce) |
| 255 | +Alpha/linux fixes |
| 256 | +Hp/UX cleanups(Tom) |
| 257 | +Multi-byte regression tests(Soonmyung.) |
| 258 | +Remove --disabled options from configure |
| 259 | +Define PGDOC to use POSTGRESDIR by default |
| 260 | +Make regression optional |
| 261 | +Remove extra braces code to pgindent(Bruce) |
| 262 | +Add bsdi shared library support(Bruce) |
| 263 | +New --without-CXX support configure option(Brook) |
| 264 | +New FAQ_CVS |
| 265 | +Update backend flowchart in tools/backend(Bruce) |
| 266 | +Change atttypmod from int16 to int32(Bruce, Tom) |
| 267 | +Getrusage() fix for platforms that do not have it(Tom) |
| 268 | +Add PQconnectdb, PGUSER, PGPASSWORD to libpq man page |
| 269 | +NS32K platform fixes(Phil Nelson, John Buller) |
| 270 | +Sco 7/UnixWare 2.x fixes(Billy,others) |
| 271 | +Sparc/Solaris 2.5 fixes(Ryan) |
| 272 | +Pgbuiltin.3 is obsolete, move to doc files(Thomas) |
| 273 | +Even more documention(Thomas) |
| 274 | +Nextstep support(Jacek) |
| 275 | +Aix support(David) |
| 276 | +pginterface manual page(Bruce) |
| 277 | +shared libraries all have version numbers |
| 278 | +merged all OS-specific shared library defines into one file |
| 279 | +smarter TCL/TK configuration checking(Billy) |
| 280 | +smarter perl configuration(Brook) |
| 281 | +configure uses supplied install-sh if no install script found(Tom) |
| 282 | +new Makefile.shlib for shared library configuration(Tom) |
| 283 | +</programlisting> |
| 284 | +</Para> |
| 285 | + |
| 286 | +</Sect1> |
| 287 | + |
0 commit comments