|
1 | 1 | <Chapter Id="release">
|
2 | 2 | <Title>Release Notes</Title>
|
3 | 3 |
|
| 4 | +<Sect1> |
| 5 | +<Title>Release 6.5</Title> |
| 6 | +<!-- |
| 7 | +<docinfo> |
| 8 | +<authorgroup> |
| 9 | +<author> |
| 10 | +<firstname>Bruce</firstname> |
| 11 | +<surname>Momjian</surname> |
| 12 | +</author> |
| 13 | +</authorgroup> |
| 14 | +<date>1998-06-01</date> |
| 15 | +</docinfo> |
| 16 | +--> |
| 17 | + |
| 18 | +<para> |
| 19 | +This release marks the development team's final mastery of the source |
| 20 | +code we inherited from Berkeley. You will see we are now easily adding |
| 21 | +major features, thanks to the increasing size and experience of our |
| 22 | +world-wide development team: Here is a brief, incomplete summary: |
| 23 | + |
| 24 | +<itemizedlist spacing="compact"> |
| 25 | +<listitem> |
| 26 | +<para> |
| 27 | +Multi-version concurrency control(MVCC): This removes our old |
| 28 | +table-level locking, and replaces it with a locking system that is |
| 29 | +superior to most commercial database systems. In a traditional system, |
| 30 | +each row that is modified is locked until committed, preventing reads by |
| 31 | +other users. MVCC uses the natural multi-version nature of PostgreSQL |
| 32 | +to allow readers to continue reading consistent data during writer |
| 33 | +activity. Writers continue to use the compact pg_log transaction |
| 34 | +system. This is all preformed without having to allocate a lock for |
| 35 | +every row like traditional database systems. So, basically, we no |
| 36 | +longer have table-level locking, we have something better than row-level |
| 37 | +locking. |
| 38 | +</para> |
| 39 | +</listitem> |
| 40 | +<listitem> |
| 41 | +<para> |
| 42 | +Numeric data type: We now have a true numeric data type, with |
| 43 | +user-specified precision. |
| 44 | +</para> |
| 45 | +</listitem> |
| 46 | + |
| 47 | +<listitem> |
| 48 | +<para> |
| 49 | +Temporary tables: Temporary tables are guaranteed to have unique names |
| 50 | +within a database session, and are destroyed on session exit. |
| 51 | +</para> |
| 52 | +</listitem> |
| 53 | + |
| 54 | +<listitem> |
| 55 | +<para> |
| 56 | +New SQL features: We now have CASE, INTERSECT, and EXCEPT statement |
| 57 | +support. We have new LIMIT/OFFSET, SET TRANSACTION ISOLATION LEVEL, |
| 58 | +SELECT ... FOR UPDATE, and an improved LOCK command. |
| 59 | +</para> |
| 60 | +</listitem> |
| 61 | + |
| 62 | +<listitem> |
| 63 | +<para> |
| 64 | +Speedups: We continue to speed up PostgreSQL, thanks to the variety of |
| 65 | +talents within our team. We have sped up memory allocation, |
| 66 | +optimization, table joins, and row transfers routines. |
| 67 | +</para> |
| 68 | +</listitem> |
| 69 | + |
| 70 | +<listitem> |
| 71 | +<para> |
| 72 | +Other: We continue to expand our port list, this time including |
| 73 | +Win32/NT. Most interfaces have new versions, and existing functionality |
| 74 | +has been improved. |
| 75 | +</para> |
| 76 | +</listitem> |
| 77 | + |
| 78 | +</itemizedlist> |
| 79 | +</para> |
| 80 | + |
| 81 | +<sect2> |
| 82 | +<title>Migration to v6.5</title> |
| 83 | + |
| 84 | +<para> |
| 85 | +A dump/restore using <application>pg_dump</application> |
| 86 | +or <application>pg_dumpall</application> |
| 87 | +is required for those wishing to migrate data from any |
| 88 | +previous release of <productname>Postgres</productname>. |
| 89 | +</para> |
| 90 | +</sect2> |
| 91 | +<sect2> |
| 92 | +<title>Detailed Change List</title> |
| 93 | + |
| 94 | +<para> |
| 95 | +<programlisting> |
| 96 | +Bug Fixes |
| 97 | +--------- |
| 98 | +Fix text<->float8 and text<->float4 conversion functions(Thomas) |
| 99 | +Fix for creating tables with mixed-case constraints(Billy) |
| 100 | +Change exp()/pow() behavior to generate error on underflow/overflow(Jan) |
| 101 | +Fix bug in pg_dump -z |
| 102 | +Memory overrun cleanups(Tatsuo) |
| 103 | +Fix for lo_import crash(Tatsuo) |
| 104 | +Adjust handling of data type names to suppress double quotes(Thomas) |
| 105 | +Use type coersion for matching columns and DEFAULT(Thomas) |
| 106 | +Fix deadlock so it only checks once after one second of sleep(Bruce) |
| 107 | +Fixes for aggregates and PL/pgsql(Hiroshi) |
| 108 | +Fix for subquery crash(Vadim) |
| 109 | +Fix for libpq function PQfnumber and case-insensitive names(Bahman Rafatjoo) |
| 110 | +Fix for large object write-in-middle, no extra block, memory consumption(Tatsuo) |
| 111 | +Fix for pg_dump -d or -D and quote special characters in INSERT |
| 112 | +Repair serious problems with dynahash(Tom) |
| 113 | +Fix INET/CIDR portability problems |
| 114 | +Fix problem with selectivity error in ALTER TABLE ADD COLUMN(Bruce) |
| 115 | +Fix executor so mergejoin of different column types works(Tom) |
| 116 | +Fix for Alpha OR selectivity bug |
| 117 | +Fix OR index selectivity problem(Bruce) |
| 118 | +Fix so \d shows proper length for char()/varchar()(Ryan) |
| 119 | +Fix tutorial code(Clark) |
| 120 | +Improve destroyuser checking(Oliver) |
| 121 | +Fix for Kerberos(Rodney McDuff) |
| 122 | +Fix for dropping database while dirty buffers(Bruce) |
| 123 | +Fix so sequence nextval() can be case-sensitive(Bruce) |
| 124 | +Fix !!= operator |
| 125 | +Drop buffers before destroying database files(Bruce) |
| 126 | +Fix case where executor evaluates functions twice(Tatsuo) |
| 127 | +Allow sequence nextval actions to be case-sensitive(Bruce) |
| 128 | +Fix optimizer indexing not working for negative numbers(Bruce) |
| 129 | +Fix for memory leak in executor with fjIsNull |
| 130 | +Fix for aggregate memory leaks(Erik Riedel) |
| 131 | +Allow username containing a dash GRANT permissions |
| 132 | +Cleanup of NULL in inet types |
| 133 | +Clean up system�table bugs(Tom) |
| 134 | +Fix problems of PAGER and \? command(Masaaki Sakaida) |
| 135 | +Reduce default multi-segment file size limit to 1GB(Peter) |
| 136 | +Fix for dumping of CREATE OPERATOR(Tom) |
| 137 | +Fix for backward scanning of cursors(Hiroshi Inoue) |
| 138 | +Fix for COPY FROM STDIN when using \i(Tom) |
| 139 | +Fix for subselect is compared inside an expression(Jan) |
| 140 | +Fix handling of error reporting while returning rows(Tom) |
| 141 | +Fix problems with reference to array types(Tom,Jan) |
| 142 | +Prevent UPDATE SET oid(Jan) |
| 143 | +Fix pg_dump so -t option can handle case-sensitive tablenames |
| 144 | +Fixes for GROUP BY in special cases(Tom, Jan) |
| 145 | +Fix for memory leak in failed queries(Tom) |
| 146 | +DEFAULT now supports mixed-case identifiers(Tom) |
| 147 | +Fix for multi-segment uses of DROP/RENAME table, indexes(Ole Gjerde) |
| 148 | + |
| 149 | +Enhancements |
| 150 | +------------ |
| 151 | +Add "vacuumdb" utility |
| 152 | +Speed up libpq by allocating memory better(Tom) |
| 153 | +EXPLAIN all indices used(Tom) |
| 154 | +Implement CASE, COALESCE, NULLIF expression(Thomas) |
| 155 | +New pg_dump table output format(Constantin) |
| 156 | +Add string min()/max() functions(Thomas) |
| 157 | +Extend new type coersion techniques to aggregates(Thomas) |
| 158 | +New moddatetime contrib(Terry) |
| 159 | +Update to pgaccess 0.96(Constantin) |
| 160 | +Add routines for single-byte "char" type(Thomas) |
| 161 | +Improved substr() function(Thomas) |
| 162 | +Improved multi-byte handling(Tatsuo) |
| 163 | +Multi-version concurrency control/MVCC(Vadim) |
| 164 | +New Serialized mode(Vadim) |
| 165 | +Fix for tables over 2gigs(Peter) |
| 166 | +New SET TRANSACTION ISOLATION LEVEL(Vadim) |
| 167 | +New LOCK TABLE IN ... MODE(Vadim) |
| 168 | +Update ODBC driver(Byron) |
| 169 | +New NUMERIC data type(Jan) |
| 170 | +New SELECT FOR UPDATE(Vadim) |
| 171 | +Handle "NaN" and "Infinity" for input values(Jan) |
| 172 | +Improved date/year handling(Thomas) |
| 173 | +Improved handling of backend connections(Magnus) |
| 174 | +New options ELOG_TIMESTAMPS and USE_SYSLOG options for log files(Massimo) |
| 175 | +New TCL_ARRAYS option(Massimo) |
| 176 | +New INTERSECT and EXCEPT(Stefan) |
| 177 | +New pg_index.indisprimary for primary key tracking(D'Arcy) |
| 178 | +New pg_dump option to allow dropping of tables before creation(Brook) |
| 179 | +Speedup of row output routines(Tom) |
| 180 | +New READ COMMITTED isolation level(Vadim) |
| 181 | +New TEMP tables/indexes(Bruce) |
| 182 | +Prevent sorting if result is already sorted(Jan) |
| 183 | +New memory allocation optimization(Jan) |
| 184 | +Allow psql to do \p\g(Bruce) |
| 185 | +Allow multiple rule actions(Jan) |
| 186 | +Added LIMIT/OFFSET functionality(Jan) |
| 187 | +Improve optimizer when joining a large number of tables(Bruce) |
| 188 | +New intro to SQL from S. Simkovics' Master's Thesis (Stefan, Thomas) |
| 189 | +New intro to backend processing from S. Simkovics' Master's Thesis (Stefan) |
| 190 | +Improved int8 support(Ryan Bradetich, Thomas, Tom) |
| 191 | +New routines to convert between int8 and text/varchar types(Thomas) |
| 192 | +New bushy plans, where meta-tables are joined(Bruce) |
| 193 | +Enable right-hand queries by default(Bruce) |
| 194 | +Allow reliable maximum number of backends to be set at configure time |
| 195 | + (--with-maxbackends and postmaster switch (-N backends))(Tom) |
| 196 | +GEQO default now 10 tables because of optimizer speedups(Tom) |
| 197 | +Allow NULL=Var for MS-SQL portability(Michael, Bruce) |
| 198 | +Modify contrib check_primary_key() so either "automatic" or "dependent"(Anand) |
| 199 | +Allow psql \d on a view show query(Ryan) |
| 200 | +Speedup for LIKE(Bruce) |
| 201 | +Ecpg fixes/features, see src/interfaces/ecpg/ChangeLog file(Michael) |
| 202 | +JDBC fixes/features, see src/interfaces/jdbc/CHANGELOG(Peter) |
| 203 | +Make % operator have precedence like /(Bruce) |
| 204 | +Add new postgres -O option to allow system table structure changes(Bruce) |
| 205 | +Update contrib/pginterface/findoidjoins script(Tom) |
| 206 | +Major speedup in vacuum of deleted rows with indexes(Vadim) |
| 207 | +Allow non-SQL functions to run different versions based on arguments(Tom) |
| 208 | +Add -E option that shows actual queries sent by \dt and friends(Masaaki Sakaida) |
| 209 | +Add version number in startup banners for psql(Masaaki Sakaida) |
| 210 | +New contrib/vacuumlo removes large objects not referenced(Peter) |
| 211 | +New initialization for table sizes so non-vacuumed tables perform better(Tom) |
| 212 | +Improve error messages when a connection is rejected(Tom) |
| 213 | +Support for arrays of char() and varchar() fields(Massimo) |
| 214 | +Overhaul of hash code to increase reliability and performance(Tom) |
| 215 | +Update to PyGreSQL 2.4(D'Arcy) |
| 216 | +Changed debug options so -d4 and -d5 produce different node displays(Jan) |
| 217 | +New pg_options: pretty_plan, pretty_parse, pretty_rewritten(Jan) |
| 218 | +Better optimization statistics for system table access(Tom) |
| 219 | +Better handling of non-default block sizes(Massimo) |
| 220 | +Improve GEQO optimizer memory consumption(Tom) |
| 221 | +UNION now suppports ORDER BY of columns not in target list(Jan) |
| 222 | +Major libpq++ improvements(Vince Vielhaber) |
| 223 | + |
| 224 | +Source Tree Changes |
| 225 | +------------------- |
| 226 | +Improve port matching(Tom) |
| 227 | +Portability fixes for SunOS |
| 228 | +Add NT/Win32 backend port and enable dynamic loading(Magnus and Daniel Horak) |
| 229 | +New port to Cobalt Qube(Mips) running Linux(Tatsuo) |
| 230 | +Port to NetBSD/m68k(Mr. Mutsuki Nakajima) |
| 231 | +Port to NetBSD/sun3(Mr. Mutsuki Nakajima) |
| 232 | +Port to NetBSD/macppc(Toshimi Aoki) |
| 233 | +Fix for tcl/tk configuration(Vince) |
| 234 | +Removed CURRENT keyword for rule queries(Jan) |
| 235 | +NT dynamic loading now works(Daniel Horak) |
| 236 | +Add ARM32 support(Andrew McMurry) |
| 237 | +Better support for HPUX 11 and Unixware |
| 238 | +Improve file handling to be more uniform, prevent file descriptor leak(Tom) |
| 239 | +New install commands for plpgsql(Jan) |
| 240 | +</programlisting> |
| 241 | +</Para> |
| 242 | +</sect2> |
| 243 | +</Sect1> |
| 244 | + |
4 | 245 |
|
5 | 246 | <Sect1>
|
6 | 247 | <Title>Release 6.4.2</Title>
|
|
0 commit comments