📄 release.sgml
字号:
Certain CPU's perform faster data copies when addresses are 32-byte aligned. </para> </listitem> <listitem> <para>Data type <type>numeric</type> reimplemented for better performance (Tom)</para> <para> <type>numeric</type> used to be stored in base 100. The new code uses base 10000, for significantly better performance. </para> </listitem> </itemizedlist> </sect3> <sect3> <title>Server Configuration Changes</title> <itemizedlist> <listitem> <para>Rename server parameter <varname>server_min_messages</> to <varname>log_min_messages</> (Bruce)</para> <para> This was done so most parameters that control the server logs begin with <literal>log_</>. </para> </listitem> <listitem><para>Rename <varname>show_*_stats</> to <varname>log_*_stats</> (Bruce)</para></listitem> <listitem><para>Rename <varname>show_source_port</> to <varname>log_source_port</> (Bruce)</para></listitem> <listitem><para>Rename <varname>hostname_lookup</> to <varname>log_hostname</> (Bruce)</para></listitem> <listitem> <para>Add <varname>checkpoint_warning</> to warn of excessive checkpointing (Bruce)</para> <para> In prior releases, it was difficult to determine if checkpoint was happening too frequently. This feature adds a warning to the server logs when excessive checkpointing happens. </para> </listitem> <listitem><para>New read-only server parameters for localization (Tom)</para></listitem> <listitem> <para> Change debug server log messages to output as <literal>DEBUG</> rather than <literal>LOG</> (Bruce) </para> </listitem> <listitem> <para>Prevent server log variables from being turned off by non-superusers (Bruce)</para> <para> This is a security feature so non-superusers cannot disable logging that was enabled by the administrator. </para> </listitem> <listitem> <para> <varname>log_min_messages</>/<varname>client_min_messages</> now controls <varname>debug_*</> output (Bruce) </para> <para> This centralizes client debug information so all debug output can be sent to either the client or server logs. </para> </listitem> <listitem> <para>Add Mac OS X Rendezvous server support (Chris Campbell)</para> <para> This allows Mac OS X hosts to query the network for available <productname>PostgreSQL</productname> servers. </para> </listitem> <listitem> <para> Add ability to print only slow statements using <varname>log_min_duration_statement</varname> (Christopher) </para> <para> This is an often requested debugging feature that allows administrators to see only slow queries in their server logs. </para> </listitem> <listitem> <para>Allow <filename>pg_hba.conf</filename> to accept netmasks in CIDR format (Andrew Dunstan)</para> <para> This allows administrators to merge the host IP address and netmask fields into a single CIDR field in <filename>pg_hba.conf</filename>. </para> </listitem> <listitem><para>New read-only parameter <varname>is_superuser</varname> (Tom)</para></listitem> <listitem> <para>New parameter <varname>log_error_verbosity</varname> to control error detail (Tom)</para> <para> This works with the new error reporting feature to supply additional error information like hints, file names and line numbers. </para> </listitem> <listitem> <para><literal>postgres --describe-config</literal> now dumps server config variables (Aizaz Ahmed, Peter)</para> <para> This option is useful for administration tools that need to know the configuration variable names and their minimums, maximums, defaults, and descriptions. </para> </listitem> <listitem> <para> Add new columns in <literal>pg_settings</literal>: <literal>context</>, <literal>type</>, <literal>source</>, <literal>min_val</>, <literal>max_val</> (Joe) </para> </listitem> <listitem> <para> Make default <varname>shared_buffers</> 1000 and <varname>max_connections</> 100, if possible (Tom) </para> <para> Prior versions defaulted to 64 shared buffers so <productname>PostgreSQL</productname> would start on even very old systems. This release tests the amount of shared memory allowed by the platform and selects more reasonable default values if possible. Of course, users are still encouraged to evaluate their resource load and size <varname>shared_buffers</varname> accordingly. </para> </listitem> <listitem> <para> New <filename>pg_hba.conf</filename> record type <literal>hostnossl</> to prevent SSL connections (Jon Jensen) </para> <para> In prior releases, there was no way to prevent SSL connections if both the client and server supported SSL. This option allows that capability. </para> </listitem> <listitem> <para> Remove parameter <varname>geqo_random_seed</varname> (Tom) </para> </listitem> <listitem> <para> Add server parameter <varname>regex_flavor</varname> to control regular expression processing (Tom) </para> </listitem> <listitem> <para> Make <command>pg_ctl</command> better handle nonstandard ports (Greg) </para> </listitem> </itemizedlist> </sect3> <sect3> <title>Query Changes</title> <itemizedlist> <listitem><para>New SQL-standard information schema (Peter)</para></listitem> <listitem><para>Add read-only transactions (Peter)</para></listitem> <listitem><para>Print key name and value in foreign-key violation messages (Dmitry Tkach)</para></listitem> <listitem> <para>Allow users to see their own queries in <literal>pg_stat_activity</literal> (Kevin Brown)</para> <para> In prior releases, only the superuser could see query strings using <literal>pg_stat_activity</literal>. Now ordinary users can see their own query strings. </para> </listitem> <listitem> <para>Fix aggregates in subqueries to match SQL standard (Tom)</para> <para> The SQL standard says that an aggregate function appearing within a nested subquery belongs to the outer query if its argument contains only outer-query variables. Prior <productname>PostgreSQL</productname> releases did not handle this fine point correctly. </para> </listitem> <listitem> <para>Add option to prevent auto-addition of tables referenced in query (Nigel J. Andrews)</para> <para> By default, tables mentioned in the query are automatically added to the <literal>FROM</> clause if they are not already there. This is compatible with historic <productname>POSTGRES</productname> behavior but is contrary to the SQL standard. This option allows selecting standard-compatible behavior. </para> </listitem> <listitem> <para>Allow <literal>UPDATE ... SET col = DEFAULT</literal> (Rod)</para> <para> This allows <command>UPDATE</command> to set a column to its declared default value. </para> </listitem> <listitem> <para>Allow expressions to be used in <literal>LIMIT</>/<literal>OFFSET</> (Tom)</para> <para> In prior releases, <literal>LIMIT</>/<literal>OFFSET</> could only use constants, not expressions. </para> </listitem> <listitem> <para>Implement <literal>CREATE TABLE AS EXECUTE</literal> (Neil, Peter)</para> </listitem> </itemizedlist> </sect3> <sect3> <title>Object Manipulation Changes</title> <itemizedlist> <listitem> <para>Make <command>CREATE SEQUENCE</command> grammar more conforming to SQL 2003 (Neil)</para> </listitem> <listitem> <para>Add statement-level triggers (Neil)</para> <para> While this allows a trigger to fire at the end of a statement, it does not allow the trigger to access all rows modified by the statement. This capability is planned for a future release. </para> </listitem> <listitem> <para>Add check constraints for domains (Rod)</para> <para> This greatly increases the usefulness of domains by allowing them to use check constraints. </para> </listitem> <listitem> <para>Add <command>ALTER DOMAIN</command> (Rod)</para> <para> This allows manipulation of existing domains. </para> </listitem> <listitem> <para>Fix several zero-column table bugs (Tom)</para> <para> <productname>PostgreSQL</productname> supports zero-column tables. This fixes various bugs that occur when using such tables. </para> </listitem> <listitem> <para>Have <literal>ALTER TABLE ... ADD PRIMARY KEY</literal> add not-null constraint (Rod)</para> <para> In prior releases, <literal>ALTER TABLE ... ADD PRIMARY</literal> would add a unique index, but not a not-null constraint. That is fixed in this release. </para> </listitem> <listitem><para>Add <literal>ALTER TABLE ... WITHOUT OIDS</literal> (Rod)</para> <para> This allows control over whether new and updated rows will have an OID column. This is most useful for saving storage space. </para> </listitem> <listitem> <para> Add <literal>ALTER SEQUENCE</literal> to modify minimum, maximum, increment, cache, cycle values (Rod) </para> </listitem> <listitem> <para>Add <literal>ALTER TABLE ... CLUSTER ON</literal> (Alvaro Herrera)</para> <para> This command is used by <command>pg_dump</command> to record the cluster column for each table previously clustered. This information is used by database-wide cluster to cluster all previously clustered tables. </para> </listitem> <listitem><para>Improve automatic type casting for domains (Rod, Tom)</para></listitem> <listitem><para>Allow dollar signs in identifiers, except as first character (Tom)</para></listitem> <listitem><para>Disallow dollar signs in operator names, so <literal>x=$1</> works (Tom)</para></listitem> <listitem> <para> Allow copying table schema using <literal>LIKE <replaceable>subtable</replaceable></literal>, also SQL 2003 feature <literal>INCLUDING DEFAULTS</literal> (Rod) </para> </listitem> <listitem> <para> Add <literal>WITH GRANT OPTION</literal> clause to <command>GRANT</command> (Peter) </para> <para> This enabled <command>GRANT</command> to give other users the ability to grant privileges on a object. </para> </listitem> </itemizedlist> </sect3> <sect3> <title>Utility Command Changes</title> <itemizedlist> <listitem> <para>Add <literal>ON COMMIT</literal> clause to <command>CREATE TABLE</command> for temporary tables (Gavin)</para> <para> This adds the ability for a table to be dropped or all rows deleted on transaction commit. </para> </listitem> <listitem> <para>Allow cursors outside transactions using <literal>WITH HOLD</literal> (Neil)</para> <para> In previous releases, cursors were removed at the end of the transaction that created them. Cursors can now be created with the <literal>WITH HOLD</literal> option, which allows them to continue to be accessed after the creating transaction has committed. </para> </listitem> <listitem> <para><literal>FETCH 0</literal> and <literal>MOVE 0 </literal> now do nothing (Bruce)</para> <para> In previous releases, <literal>FETCH 0</literal> fetched all remaining rows, and <literal>MOVE 0</literal> moved to the end of the cursor. </para> </listitem> <listitem> <para> Cause <command>FETCH</command> and <command>MOVE</command> to return the number of rows fetched/moved, or zero if at the beginning/end of cursor, per SQL standard (Bruce) </para> <para> In prior releases, the row count returned by <command>FETCH</command> and <command>MOVE</command> did not accurately reflect the number of rows processed. </para> </listitem> <listitem> <para>Properly handle <literal>SCROLL</literal> with cursors, or report an error (Neil)</para> <para> Allowing random access (both forward and backward scrolling) to some kinds of queries cannot be done without some additional work. If <literal>SCROLL</literal> is specified when the cursor is created, this additional work will be performed. Furthermore, if the cursor has been created with <literal>NO SCROLL</literal>, no random access is allowed. </para> </listitem> <listitem> <para>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -