DB 문서들
DSN 갤러리
PostgreSQL News 5451 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 5451
PostgreSQL 8.0.0 Officially Goes Beta
2004-08-10 10:44ⓒ
2004-08-10 11:05ⓜ
7,826 의 내용입니다. 7.5가 8.0으로 버전 넘버링이 바뀌었답니다. 이건 히스토리 문서인데 앞으로 릴리즈까지 계속 바뀔수도 있습니다.

                               Release Notes

                                Release 8.0

     Release date: 2004-??-??, current as of 2004-08-06


   Major changes in this release:

   Win32 Native Server
          This is the first PostgreSQL release to natively run on
          Microsoft Windows as a server. It can run as a Windows service.
          This release supports NT-based Windows releases like NT4,
          Win2k, XP, Win2003. Older releases like Windows 95, 98, and ME
          are not supported because these operating systems do not have
          the infrastructure to support PostgreSQL. A separate installer
          project has been created to ease installation on Windows:

          Previous releases required the Unix emulation toolkit Cygwin
          for Win32 server support. PostgreSQL has always supported
          clients on Win32.

   Savepoints Improve Transaction Control
          Savepoints allow specific parts of a transaction to be aborted
          without affecting the remainder of the transaction. Prior
          releases had no such capability; there was no way to recover
          from a statement failure within a transaction except by
          aborting the whole transaction. This feature is valuable for
          application writers who require error recovery within a complex

   Point-In-Time Recovery Increases Reliability
          Though PostgreSQL is very reliable, in previous releases there
          was no way to recover from disk drive failure except to restore
          from a previous backup or use a standby replication server.
          Point-in-time recovery allows continuous backup of the server.
          You can recover either to the point of failure or to some
          transaction in the past.

   Tablespaces Simplify Disk Layout
          Tablespaces allow administrators to select the file systems
          used for storage of databases, schemas, tables, or indexes.
          This improves performance and control over disk space usage.
          Prior releases used initlocation and manual symlink management
          for such tasks.

   Improved Buffer Management, CHECKPOINT, VACUUM
          This release has a more intelligent buffer replacement
          strategy, which will make better use of available shared
          buffers and improve performance. The performance impact of
          vacuum and checkpoints is also lessened.

   Change Column Types
          A column's data type can now be changed with ALTER TABLE.

   New Perl Server-Side Language
          A new version of the plperl server-side language now supports a
          persistent shared storage area, triggers, returning records and
          arrays of records, and SPI calls to access the database.

   COPY Handles Comma-Separated-Value Files
          COPY can now read and write comma-separated-value (CSV) files.
          It has the flexibility to interpret non-standard quoting and
          separation characters too.

Migration to version 8.0

   A dump/restore using pg_dump is required for those wishing to migrate
   data from any previous release.

   Observe the following incompatibilities:

     * Server configuration parameters virtual_host and tcpip_socket have
       been replaced with a more general parameter listen_addresses.
       Also, the server now listens on localhost by default, which
       eliminates the need for the -i postmaster switch in many
     * Server configuration parameters SortMem and VacuumMem have been
       renamed to work_mem and maintenance_work_mem to better reflect
       their use. The original names are still supported in SET and SHOW.
     * Server configuration parameters log_pid, log_timestamp, and
       log_source_port have been removed now that a more flexible
       log_line_prefix has been added.
     * Server configuration parameter syslog has been removed and
       replaced with a more logical log_destination variable to control
       the log output destination.
     * Server configuration parameter log_statement has been changed so
       it can selectively log just database modification or data
       definition statements.
     * Server configuration parameter max_expr_depth parameter has been
       replaced with max_stack_depth which measures the physical stack
       size rather than the expression nesting depth. This helps prevent
       session termination due to stack overflow caused by recursive
     * The length() function no longer counts trailing spaces in CHAR(n)
     * Casting an integer to BIT(N) selects the rightmost N bits of the
       integer, not the leftmost N bits as before.
     * UPDATE-ing an element or slice of a NULL array value now produces
       a non-NULL array result, namely an array containing just the
       assigned-to positions.
     * The server now warns of empty strings passed to oid/float4/float8
       data types. In the next major release, doing this will generate an
     * The extract() function (also called date_part) now returns the
       proper year for BC dates. It previously returned one less than the
       current year. The function now also returns the proper values for
       millennium and century.
     * psql's \copy command now reads or writes the query stdin/stdout,
       rather than psql's stdin/stdout. The previous behavior can be
       accessed via new pstdin/pstdout parameters.
     * The JDBC client interface has been removed from the core
       distribution, and is now hosted at The
       TCL client interface has also been removed. There are several TCL
       interfaces now hosted at
     * The server now uses its own time zone database, rather than the
       one supplied by the operating system. This will provide consistent
       behavior across all platforms. In most cases, there should be
       little noticeable difference in time zone behavior, except that
       the time zone names used by SET/SHOW TimeZone may be different
       from what your platform provides.
     * EXECUTE now returns a completion tag that matches the executed
     * configure's threading option no longer requires users to run tests
       or edit configuration files; threading options are now detected
     * Now that tablespaces have been implemented, initlocation has been
     * Syntax checking of array input processing has been tighened up
       considerably. Junk that was previously allowed in odd places with
       odd results now causes an ERROR. Also changed behavior with
       respect to whitespace surrounding array elements; trailing
       whitespace is now ignored as well as leading whitespace (which has
       always been ignored).


   Below you will find a detailed account of the changes between release
   8.0 and the previous major release.

Performance Improvements

     * Support cross-data-type index usage (Tom)
       Before this change, many queries would not use an index if the
       data types did not match exactly. This improvement makes index
       usage more intuitive and consistent.
     * New buffer replacement strategy that improves caching (Jan)
       Prior releases used a least-recently-used (LRU) cache to keep
       recently referenced pages in memory. The LRU algorithm did not
       consider the number of times a specific cache entry was accessed,
       so large table scans could force out useful cache pages. The new
       cache algorithm uses four separate lists to track most recently
       used and most frequently used cache pages and dynamically optimize
       their replacement based on the work load. This should lead to much
       more efficient use of the shared buffer cache. Administrators who
       have tested shared buffer sizes in the past should retest with
       this new cache replacement policy.
     * Add subprocess to write dirty buffers periodically to reduce
       checkpoint writes (Jan)
       In previous releases, the checkpoint process, which runs every few
       minutes, would write all dirty buffers to the operating system's
       buffer cache then flush all dirty operating system buffers to
       disk. This often resulted in a periodic spike in disk usage that
       hurt performance. The new code uses a background writer to trickle
       disk writes at a steady pace so checkpoints have far fewer dirty
       pages to write to disk. Also, the new code does not issue a global
       sync() call, but instead fsync()s just the files written since the
       last checkpoint. This should improve performance and minimize
       degradation during checkpoints.
     * Add ability to prolong vacuum to reduce performance impact (Jan)
       On busy systems, VACUUM performs many I/O requests which can hurt
       performance for other users. This release allows you to slow down
       VACUUM to reduce its impact on other users, though this increases
       the total duration of VACUUM.
     * Improve btree index performance for duplicate keys (Dmitry Tkach,
       This improves the way indexes are scanned when many duplicate
       values exist in the index.
     * Improved index usage with OR clauses (Tom)
       This allows the optimizer to use indexes in statements with many
       OR clauses that would not have been indexed in the past. It can
       also use multi-column indexes where the first column is specified
       and the second column is part of an OR clause.
     * Improve matching of partial index clauses (Tom)
       The server is now smarter about using partial indexes in queries
       involving complex WHERE clauses.
     * Improve performance of the GEQO optimizer (Tom)
       The GEQO optimizer is used to plan queries involving many tables
       (by default, twelve or more). This release speeds up the way
       queries are analyzed to decrease time spent in optimization.
     * Miscellaneous optimizer improvements
       There is not room here to list all the minor improvements made,
       but numerous special cases work better than in prior releases.
     * Improve lookup speed for C functions (Tom)
       This release uses a hash table to lookup information for
       dynamically loaded C functions. This improves their speed so they
       perform nearly as quickly as functions that are built into the
       server executable.
     * Add type-specific ANALYZE statistics capability (Mark Cave-Ayland)
       This feature allows more flexibility in generating statistics for
       non-standard data types.
     * Allow collection of ANALYZE statistics for expression indexes
       Expression indexes (also called functional indexes) allow users to
       index not just columns but the results of expressions and function
       calls. With this release, the optimizer can gather and use
       statistics about the contents of expression indexes. This will
       greatly improve the quality of planning for queries in which an
       expression index is relevant.
     * New two-stage sampling method for ANALYZE (Manfred Koizar)
       This gives better statistics for asymmetric data distributions.
     * Speed up TRUNCATE (Tom)
       This buys back some of the performance loss observed in 7.4, while
       still keeping TRUNCATE transaction-safe.

Server Changes

     * Add WAL file archiving and point-in-time recovery (Simon Riggs)
     * Add tablespaces so admins can control disk layout (Gavin)
     * Add a built-in log rotation program (Andreas Pflug)
       It is now possible to log server messages conveniently without
       relying on either syslog or an external log rotation program.
     * Add new read-only server configuration parameters to query server
       compile-time settings: block_size, integer_datetimes,
       max_function_args, max_identifier_length, max_index_keys (Joe)
     * Make quoting of "sameuser", "samegroup", and "all" remove special
       meaning of these terms in pg_hba.conf (Andrew)
     * Use clearer IPv6 name ::1/128 for localhost in default pg_hba.conf
     * Rename server configuration parameters SortMem and VacuumMem to
       work_mem and maintenance_work_mem (Old names still supported)
       This change was made to clarify that bulk operations such as index
       and foreign key creation use maintenance_work_mem, while work_mem
       is for workspaces used during query execution.
     * Allow logging of session disconnections using server configuration
       log_disconnections (Andrew)
     * Add new server configuration parameter log_line_prefix to allow
       control of information emitted in each log line (Andrew)
       Available information includes user name, database name, remote IP
       address, and session start time.
     * Remove server configuration parameters log_pid, log_timestamp,
       log_source_port; functionality superseded by log_line_prefix
     * Replace the virtual_host and tcpip_socket parameters with a
       unified listen_addresses parameter (Andrew, Tom)
     * Listen on localhost by default, which eliminates the need for the
       -i postmaster switch in many scenarios (Andrew)
       Listening on localhost ( opens no new security holes but
       allows configurations like Win32 and JDBC, which do not support
       local sockets, to work without special adjustments.
     * Remove syslog server configuration parameter, and add more logical
       log_destination variable to control log output location (Magnus)
     * Change server configuration parameter log_statement to take values
       all, mod, ddl, or none to select which queries are logged (Bruce)
       This allows administrators to log only data definition changes or
       only data modification statements.
     * Allow configuration files to be placed outside the data directory
       By default, configuration files sit in the top server directory.
       With this addition, configuration files can be placed outside the
       data directory, easing administration.
     * Plan prepared queries only when first executed so constants can be
       used for statistics (Oliver Jowett)
       Prepared statements plan queries once and execute them many times.
       While prepared queries avoid the overhead of re-planning on each
       use, the quality of the plan suffers from not knowing the exact
       parameters to be used in the query. In this release, planning of
       unnamed prepared statements is delayed until the first execution,
       and the actual parameter values of that execution are used as
       optimization hints.
     * Allow DECLARE CURSOR to take parameters (Oliver Jowett)
       It is now useful to issue DECLARE CURSOR in a Parse message with
       parameters. The parameter values sent at Bind time will be
       substituted into the execution of the cursor's query.
     * Fix hash joins and aggregates of INET and CIDR data types (Tom)
       Release 7.4 handled hashing of mixed INET and CIDR values
       incorrectly. (This bug did not exist in prior releases because
       they wouldn't try to hash either datatype.)

Query Changes

     * Add savepoints (nested transactions) (Alvaro)
     * Unsupported isolation levels are now accepted and promoted to the
       nearest supported level (Peter)
       The SQL specification states that if a database doesn't support a
       specific isolation level, it should use the next more restrictive
       level. This change complies with that recommendation.
     * Allow BEGIN WORK to specify transaction isolation levels like
     * Fix table permission checking for cases in which rules generate a
       query type different from the originally submitted query (Tom)
     * Implement dollar quoting to simplify single-quote usage (Andrew,
       Tom, David Fetter)
       In previous releases, because single quotes had to be used to
       quote a function's body, the use of single quotes inside the
       function text required use of two single quotes or other
       error-prone notations. With this release we add the ability to use
       "dollar quoting" to quote a block of text. The ability to use
       different quoting delimiters at different nesting levels greatly
       simplifies the task of quoting correctly, especially in complex
       functions. Dollar quoting can be used anywhere quoted text is
     * Make CASE val WHEN compval1 THEN ... evaluate val only once (Tom)
       CASE no longer evaluates the test expression multiple times. This
       has benefits when the expression is complex or is volatile.
     * Test HAVING before computing target list of an aggregate query
       Fixes improper failure of cases such as SELECT SUM(win)/SUM(lose)
       ... GROUP BY ... HAVING SUM(lose) > 0. This should work but
       formerly could fail with divide-by-zero.
     * Replace max_expr_depth parameter with max_stack_depth parameter,
       measured in kilobytes of stack size (Tom)
       This gives us a fairly bulletproof defense against crashing due to
       runaway recursive functions. Instead of measuring the depth of
       expression nesting, we now directly measure the size of the
       execution stack.
     * Allow arbitrary row expressions (Tom)
       This release allows SQL expressions to contain arbitrary composite
       types, that is, row values. It also allows functions to more
       easily take rows as arguments and return row values.
     * Allow LIKE/ILIKE to be used as the operator in row and subselect
       comparisons (Fabien Coelho)
     * Avoid locale-specific case conversion of basic ASCII letters in
       identifiers and keywords (Tom)
       This solves the "Turkish problem" with mangling of words
       containing I and i. Folding of characters outside the 7-bit-ASCII
       set is still locale-aware.
     * Improve syntax error reporting (Fabien, Tom)
       Syntax error reports are more useful than before.
     * Change EXECUTE to return a completion tag matching the executed
       statement (Kris Jurka)
       Previous releases return an EXECUTE tag for any EXECUTE call. In
       this release, the tag returned will reflect the command executed.
     * Avoid emitting NATURAL CROSS JOIN in rule listings (Tom)
       Such a clause makes no logical sense, but in some cases the rule
       decompiler formerly produced this syntax.

Object Manipulation Changes

     * Add COMMENT ON casts, conversions, languages, operator classes,
       and large objects (Christopher)
     * Add new server configuration parameter default_with_oids to
       control whether tables are created with OIDs by default (Neil)
       This allows administrators to default all CREATE TABLE commands to
       create tables without OID columns.
     * Add WITH / WITHOUT OIDS clause to CREATE TABLE AS (Neil)
     * Allow ALTER TABLE DROP COLUMN to drop an OID column (ALTER TABLE
       SET WITHOUT OIDS still works) (Tom)
     * Allow composite types as table columns (Tom)
     * Allow ALTER ... ADD COLUMN with defaults and NOT NULL constraints;
       works per SQL spec (Rod)
       It is now possible for ADD COLUMN to create a column that is not
       initially filled with NULLs, but with a specified default value.
     * Add ALTER COLUMN TYPE to change column's type (Rod)
       It is now possible to alter a column's datatype without dropping
       and re-adding the column.
     * Allow multiple ALTER actions in a single ALTER TABLE command (Rod)
       This is particularly useful for ALTER commands that rewrite the
       table (which include ALTER COLUMN TYPE and ADD COLUMN with a
       default). By grouping ALTER commands together, the table need be
       rewritten only once.
     * Allow ALTER TABLE to add SERIAL columns (Tom)
       This is related to the new capability of adding defaults for new
     * Allow changing the owners of aggregates, conversions, databases,
       functions, operators, operator classes, schemas, types, and
       tablespaces (Christopher, Euler Taveira de Oliveira)
       Previously this required modifying the system tables directly.
     * Allow temporary object creation to be limited to SECURITY DEFINER
       functions (Sean Chittenden)
     * Add ALTER TABLE ... SET WITHOUT CLUSTER (Christopher)
       Prior to this release, there was no way to clear an auto-cluster
       specification except to modify the system tables.
     * Constraint/Index/SERIAL names are now table_column_type with
       numbers appended to guarantee uniqueness within the schema (Tom)
       The SQL specification states that such names should be unique
       within a schema.
     * Add pg_get_serial_sequence() to return a serial column's sequence
       name (Christopher)
       This allows automated scripts to reliabily find the serial
       sequence name.
     * Warn when primary/foreign key datatype mismatch requires costly

Utility Command Changes

     * Allow CREATE SCHEMA to create triggers, indexes, and sequences
     * Add ALSO keyword to CREATE RULE (Fabien Coelho)
       This allows ALSO to be added to rule creation to contrast it with
       INSTEAD rules.
     * Add NOWAIT option to LOCK command (Tatsuo)
       This allows the LOCK command to fail if it would have to wait for
       the requested lock.
     * Allow COPY to read and write comma-separated-value (CSV) files
       (Andrew, Bruce)
     * Generate error if the COPY delimiter and NULL string conflict
     * GRANT/REVOKE behavior follows the SQL spec more closely
     * Avoid locking conflict between CREATE INDEX and CHECKPOINT (Tom)
       In 7.3 and 7.4, a long-running btree index build could block
       concurrent CHECKPOINTs from completing, thereby causing WAL bloat
       because the WAL log could not be recycled.
     * Database-wide ANALYZE does not hold locks across tables (Tom)
       This reduces the potential for deadlocks against other backends
       that want exclusive locks on tables. To get the benefit of this
       change, do not execute database-wide ANALYZE inside a transaction
       block (BEGIN block); it must be able to commit and start a new
       transaction for each table.
     * Erase MD5 user passwords when a user is renamed (Bruce)
       PostgreSQL uses the user name as salt when encrypting passwords
       via MD5. When a user name is changed, their salt no longer matches
       the stored MD5 password, so the stored password becomes useless.
       In this release a notice is generated and the password is cleared.
       A new password must then be assigned.
     * New pg_ctl kill option for Win32 (Andrew)
       Win32 does not have a kill command to send signals to backends so
       this capability was added to pg_ctl.
     * Information schema improvements
     * Add --pwfile option to initdb so the initial password can be set
       by GUI tools (Magnus)
     * Detect locale/encoding mismatch in initdb (Peter)

Data Type and Function Changes

     * More complete support for composite types (row types) (Tom)
       Composite values can be used in many places where only scalar
       values worked before.
     * Reject non-rectangular array literals as erroneous (Joe)
       Formerly, array_in would silently build a surprising result.
     * Syntax checking of array input processing considerably tighened up
       Junk that was previously allowed in odd places with odd results
       now causes an ERROR.
     * Array element trailing whitespace is now ignored (Joe)
       Formerly leading whitespace was ignored, but trailing whitespace
       between an element and the delimiter or right brace was
       significant. Now trailing whitespace is also ignored.
     * Emit array literals with explicit array bounds when lower bound is
       not one (Joe)
     * Accept YYYY-monthname-DD as a date string (Tom)
     * Make netmask() and hostmask() functions return maximum-length
       masklen (Tom)
     * Change factorial function to return NUMERIC (Gavin)
       Returning NUMERIC allows the factorial function to work for a
       wider range of input values.
     * to_char/to_date date conversion improvements (Kurt Roeckx)
     * Make length() disregard trailing spaces in CHAR(n) (Gavin)
       This change was made to improve consistency: trailing spaces are
       semantically insignificant in CHAR(n) data, so they should not be
       counted by length().
     * Warn of empty string being passed to oid/float4/float8 data types
       8.1 will throw an error instead.
     * Allow int2/int4/int8/float4/float8 input routines to have leading
       or trailing whitespace (Neil)
     * Better support for IEEE Infinity and NaN values in float4, float8
       These should now work on all platforms that support IEEE-compliant
       floating point arithmetic.
     * Add "week" to date_trunc options (Robert Creager)
     * Fix to_char for 1 BC (previously it returned 1 AD) (Bruce)
     * Fix to_char(year) for BC dates (previously it returned one less
       than the correct year) (Bruce)
     * Fix date_part() to return the proper millennium and century
       (Fabien Coelho)
       In previous versions, the century and millennium results had a
       wrong number and started in the wrong year, as compared to
       standard reckoning of such things.
     * Add ceiling() as an alias for ceil(), and power() as an alias for
       pow() for standards compliance (Neil)
     * Change ln(), log(), power(), and sqrt() to emit the correct
       SQLSTATE error codes for certain error conditions, as specified by
       SQL2003 (Neil)
     * Add width_bucket() function as defined by SQL2003 (Neil)
     * Add generate_series() functions to simplify working with numeric
       sets (Joe)
     * Fix upper/lower/initcap functions to work with multibyte encodings
     * Add boolean and bitwise integer AND/OR aggregates (Fabien Coelho)
     * New session information functions to return network addresses for
       client and server (Sean Chittenden)
     * Add function to determine the area of a closed path (Sean
     * Add function to send cancel request to other backends (Magnus)
     * Add interval plus datetime operators (Tom)
       The reverse ordering, datetime plus interval, was already
       supported, but both are required by the SQL standard.
     * Casting an integer to BIT(N) selects the rightmost N bits of the
       integer (Tom)
       In prior releases, the leftmost N bits were selected, but this was
       deemed unhelpful, not to mention inconsistent with casting from
       bit to int.

Server-Side Language Changes

     * Allow function parameters to be declared with names (Dennis
       This allows better documentation of functions. Whether the names
       actually do anything depends on the specific function language
       being used.
     * Allow plpgsql parameter names to be referenced in the function
       (Dennis Bjorklund)
       This basically creates an automatic alias for each named
     * Do minimal syntax checking of plpgsql functions at creation time
       This allows us to catch simple syntax errors sooner.
     * More support for composite types (row and record variables) in
       For example, it now works to pass a rowtype variable to another
       function as a single variable.
     * Default values for plpgsql variables can now reference previously
       declared variables
     * Improve parsing of plpgsql FOR loops (Tom)
       Parsing is now driven by presence of ".." rather than datatype of
       FOR variable. This makes no difference for correct functions, but
       should result in more understandable error messages when a mistake
       is made.
     * New plperl server-side language (Command Prompt, Andrew Dunstan)

psql Changes

     * Improve psql information display about database objects
     * Allow psql to display group membership in \du and \dg (Markus
     * Prevent psql \dn from showing temporary schemas (Bruce)
     * Allow psql to handle tilde user expansion for file names (Zach
     * Allow psql to display fancy prompts, including color, via readline
       (Reece Hart, Chet Ramey)
     * Make psql \copy match COPY command syntax fully (Tom)
     * Show the location of syntax errors (Fabien Coelho, Tom)
     * Add CLUSTER information to psql \d display (Bruce)
     * Change psql \copy stdin/stdout to read from command input/output
     * Add pstdin/pstdout to read from psql's stdin/stdout (Mark Feit)
     * Add global psql config file, psqlrc.sample (Bruce)
       This allows a central file where global psql startup commands can
       be stored.
     * Have psql \d+ indicate if the table has an OID column (Neil)
     * On Windows, use binary mode in psql when reading files so
       control-Z is not seen as end-of-file
     * Have \dn+ show permissions and description for schemas (Dennis

pg_dump Changes

     * Use dependency information to improve the reliability of pg_dump
     * Have pg_dump output objects in alphabetical order if possible
       This should make it easier to identify changes between dump files.
     * Allow pg_restore to ignore some SQL errors (Fabien Coelho)
       This makes pg_restore's behavior similar to the results of feeding
       a pg_dump output script to psql. In most cases, ignoring errors
       and plowing ahead is the most useful thing to do.
     * New start/stop of dump markers in pg_dump (Bruce)
     * Add start/stop times for pg_dump/pg_dumpall in verbose mode
     * Allow most pg_dump options in pg_dumpall (Christopher)
     * Have pg_dump use ALTER OWNER rather than SET SESSION AUTHORIZATION
       by default (Christopher)

libpq Changes

     * Make libpq SIGPIPE thread-safe (Bruce)
     * Add PQmbdsplen() which returns the "display length" of a character
     * Add thread locking to SSL and Kerberos connections (Manfred
     * Allow PQoidValue(), PQcmdTuples(), and PQoidStatus() to work on
       EXECUTE commands (Neil)

Source Code Changes

     * Allow the database server to run natively on Win32 (Claudio,
       Magnus, Andrew)
     * Shell script commands converted to C versions for Win32 support
     * Create an extension makefile framework (Fabien Coelho, Peter)
       This simplifies the task of building extensions outside the
       original source tree.
     * Support relocatable installations (Bruce)
       Directory paths for installed files (such as the /share directory)
       are now computed relative to the actual location of the
       executables, so that an installation tree can be moved to another
       place without reconfiguring and rebuilding.
     * Use --with-docdir to choose installation location of
       documentation; also allow --infodir (Peter)
     * Add --without-docdir to prevent installation of documentation
     * Upgrade to DocBook V4.2 SGML (Peter)
     * New "PostgreSQL" CVS tag (Marc)
       This was done to make it easier for organizations to manage their
       own copies of the PostgreSQL CVS repository. File version stamps
       from the master repository will not get munged by checking into or
       out of a copied repository.
     * Clarify locking code (Manfred Koizar)
     * Buffer manager cleanup (Neil)
     * Decouple platform tests from cpu spinlock code (Bruce, Tom)
     * Add inlined test-and-set code on PA-RISC for gcc (ViSolve, Tom)
     * Improve i386 spinlock code (Manfred Spraul)
     * Clean up spinlock assembly code to avoid warnings from newer gcc
       releases (Tom)
     * Remove JDBC from source tree; now a separate project
     * Remove the libpgtcl client interface; now a separate project
     * More accurately estimate memory and file descriptor usage (Tom)
     * Improvements to the MAC OS-X startup scripts (Ray A.)
     * New fsync test program (Bruce)
     * Major documentation improvements (Neil, Peter)
     * Remove pg_encoding; not needed anymore
     * Remove pg_id; not needed anymore
     * Remove initlocation; not needed anymore
     * Auto detect thread flags (no more manual testing) (Bruce)
     * Use Olson's public domain timezone library (Magnus)
     * With threading enabled, use thread flags on Unixware for backend
       executables too (Bruce)
       Unixware can not mix threaded and non-threaded object files in the
       same executable, so everything must be compiled as threaded.
     * psql now uses a flex-generated lexical analyzer to process command
     * New linked list data structure implementation (Neil)
       This improves performance by allowing list append operations to be
       more efficient.
     * Allow dynamically loaded modules to create their own server
       configuration parameters (Thomas Hallgren)
     * New Brazilian version of FAQ (Euler Taveira de Oliveira)
     * Add French FAQ (Guillaume Lelarge)
     * New pgevent for Win32 logging
     * Make libpq and ecpg build as proper shared libraries on OS X (Tom)

Contrib Changes

     * Many ecpg fixes, including SET DESCRIPTOR (Michael)
     * Overhaul of /contrib/dblink (Joe)
     * /contrib/dbmirror improvements
     * New /contrib/xml2 (John Gray, Torchbox)
     * Update /contrib/mysql
     * New version of /contrib/btree_gist (Teodor)
     * New /contrib/trgm, trigram matching for PostgreSQL (Teodor)
     * Many /contrib/tsearch2 improvements (Teodor)
     * Add double metaphone to /contrib/fuzzystrmatch (Andrew)

이 글에 대한 댓글이 총 2건 있습니다.

7.5에서 win32 포팅 발표하고,

8.0에서 기타 새로운 기능들을 발표하겠다더니만, 두 일이 동시에 이루워지면서 8.0으로 가는 모양인가봅니다.


꽤 많은 기능이 확장되었으며, 속도 또한 빨라질듯 합니다. 특히나 대용량 자료에 대한 full scan select에 대해서.


아무튼 정식 발표가 되면, 차근하게 이 변경사항 문서를 한글로 옮겨 놓아야할 듯싶습니다. 너무 많이 바뀌네요.


이번에도 변화에 욕심을. 그래서 8.x 대가 되어야 실무에 쓸 수 있을 것같습니다. 너무 기대는 많이 하지 마시고요.


김상기(ioseph)님이 2004-08-10 11:06에 작성한 댓글입니다.

역시 그랬군요. 저도 왜 8.0이라고 안하고 7.5라고 하는지 궁금했습니다. 역사적인 버전이 될 것이 뻔한데 단순히 7.5라고 마이너 업하는 것은 너무 겸손한 것 아닌가 했거든요.

후지쯔에서 앞으로 postgresql을 얼마나 지원할지 모르지만... 자꾸 postgresql 지원 업체를 만드는 것이 가능한 시기가 다가오는 느낌이...

박성철(gyumee)님이 2004-08-10 14:04에 작성한 댓글입니다.
54807.4.4 릴리즈 소식
5453PostgreSQL 8.0.0 Officially Goes Beta [1]
5452PHP Tunisie Magazine
5451PostgreSQL 8.0.0 Officially Goes Beta [2]
5445Get your PostgreSQL t-shirts here! [3]
5438PostgreSQL Wins Linux Journal Editors Choice Award [3]
5431Join the PostgreSQL Distributed Computing Team
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2019 DSN, All rights reserved.
작업시간: 0.291초, 이곳 서비스는
	PostgreSQL v11.5로 자료를 관리합니다