📄 release.sgml
字号:
</listitem> <listitem> <para> Add session start time and client IP address to <literal>pg_stat_activity</> (Magnus) </para> </listitem> <listitem> <para> Adjust <literal>pg_stat</> views for bitmap scans (Tom) </para> <para> The meanings of some of the fields have changed slightly. </para> </listitem> <listitem> <para> Enhance <literal>pg_locks</> view (Tom) </para> </listitem> <listitem> <para> Log queries for client-side <command>PREPARE</> and <command>EXECUTE</> (Simon) </para> </listitem> <listitem> <para> Allow Kerberos name and user name case sensitivity to be specified in <filename>postgresql.conf</> (Magnus) </para> </listitem> <listitem> <para> Add configuration parameter <varname>krb_server_hostname</> so that the server host name can be specified as part of service principal (Todd Kover) </para> <para> If not set, any service principal matching an entry in the keytab can be used. This is new Kerberos matching behavior in this release. </para> </listitem> <listitem> <para> Add <varname>log_line_prefix</> options for millisecond timestamps (<literal>%m</>) and remote host (<literal>%h</>) (Ed L.) </para> </listitem> <listitem> <para> Add WAL logging for GIST indexes (Teodor, Oleg) </para> <para> GIST indexes are now safe for crash and point-in-time recovery. </para> </listitem> <listitem> <para> Remove old <filename>*.backup</> files when we do <function>pg_stop_backup()</> (Bruce) </para> <para> This prevents a large number of <filename>*.backup</> files from existing in <filename>/pg_xlog</>. </para> </listitem> <listitem> <para> Add configuration parameters to control TCP/IP keep-alive times for idle, interval, and count (Oliver Jowett) </para> <para> These values can be changed to allow more rapid detection of lost client connections. </para> </listitem> <listitem> <para> Add per-user and per-database connection limits (Petr Jelinek) </para> <para> Using <command>ALTER USER</> and <command>ALTER DATABASE</>, limits can now be enforced on the maximum number of sessions that can concurrently connect as a specific user or to a specific database. Setting the limit to zero disables user or database connections. </para> </listitem> <listitem> <para> Allow more than two gigabytes of shared memory and per-backend work memory on 64-bit machines (Koichi Suzuki) </para> </listitem> <listitem> <para> New system catalog <structname>pg_pltemplate</> allows overriding obsolete procedural-language definitions in dump files (Tom) </para> </listitem> </itemizedlist> </sect3> <sect3> <title>Query Changes</title> <itemizedlist> <listitem> <para> Add temporary views (Koju Iijima, Neil) </para> </listitem> <listitem> <para> Fix <command>HAVING</> without any aggregate functions or <command>GROUP BY</> so that the query returns a single group (Tom) </para> <para> Previously, such a case would treat the <command>HAVING</> clause the same as a <command>WHERE</> clause. This was not per spec. </para> </listitem> <listitem> <para> Add <command>USING</> clause to allow additional tables to be specified to <command>DELETE</> (Euler Taveira de Oliveira, Neil) </para> <para> In prior releases, there was no clear method for specifying additional tables to be used for joins in a <command>DELETE</> statement. <command>UPDATE</> already has a <literal>FROM</> clause for this purpose. </para> </listitem> <listitem> <para> Add support for <literal>\x</> hex escapes in backend and ecpg strings (Bruce) </para> <para> This is just like the standard C <literal>\x</> escape syntax. Octal escapes were already supported. </para> </listitem> <listitem> <para> Add <command>BETWEEN SYMMETRIC</> query syntax (Pavel Stehule) </para> <para> This feature allows <command>BETWEEN</> comparisons without requiring the first value to be less than the second. For example, <command>2 BETWEEN [ASYMMETRIC] 3 AND 1</> returns false, while <command>2 BETWEEN SYMMETRIC 3 AND 1</> returns true. <command>BETWEEN ASYMMETRIC</> was already supported. </para> </listitem> <listitem> <para> Add <command>NOWAIT</> option to <command>SELECT ... FOR UPDATE/SHARE</> (Hans-Juergen Schoenig) </para> <para> While the <varname>statement_timeout</> configuration parameter allows a query taking more than a certain amount of time to be cancelled, the <command>NOWAIT</> option allows a query to be canceled as soon as a <command>SELECT ... FOR UPDATE/SHARE</> command cannot immediately acquire a row lock. </para> </listitem> </itemizedlist> </sect3> <sect3> <title>Object Manipulation Changes</title> <itemizedlist> <listitem> <para> Track dependencies of shared objects (Alvaro) </para> <para> <productname>PostgreSQL</productname> allows global tables (users, databases, tablespaces) to reference information in multiple databases. This addition adds dependency information for global tables, so, for example, user ownership can be tracked across databases, so a user who owns something in any database can no longer be removed. Dependency tracking already existed for database-local objects. </para> </listitem> <listitem> <para> Allow limited <command>ALTER OWNER</> commands to be performed by the object owner (Stephen Frost) </para> <para> Prior releases allowed only superusers to change object owners. Now, ownership can be transferred if the user executing the command owns the object and would be able to create it as the new owner (that is, the user is a member of the new owning role and that role has the CREATE permission that would be needed to create the object afresh). </para> </listitem> <listitem> <para> Add <command>ALTER</> object <command>SET SCHEMA</> capability for some object types (tables, functions, types) (Bernd Helmle) </para> <para> This allows objects to be moved to different schemas. </para> </listitem> <listitem> <para> Add <command>ALTER TABLE ENABLE/DISABLE TRIGGER</command> to disable triggers (Satoshi Nagayasu) </para> </listitem> </itemizedlist> </sect3> <sect3> <title>Utility Command Changes</title> <itemizedlist> <listitem> <para> Allow <command>TRUNCATE</> to truncate multiple tables in a single command (Alvaro) </para> <para> Because of referential integrity checks, it is not allowed to truncate a table that is part of a referential integrity constraint. Using this new functionality, <command>TRUNCATE</> can be used to truncate such tables, if both tables involved in a referential integrity constraint are truncated in a single <command>TRUNCATE</> command. </para> </listitem> <listitem> <para> Properly process carriage returns and line feeds in <command>COPY CSV</> mode (Andrew) </para> <para> In release 8.0, carriage returns and line feeds in <command>CSV COPY TO</> were processed in an inconsistent manner. (This was documented on the TODO list.) </para> </listitem> <listitem> <para> Add <command>COPY WITH CSV HEADER</> to allow a header line as the first line in <command>COPY</> (Andrew) </para> <para> This allows handling of the common <command>CSV</> usage of placing the column names on the first line of the data file. For <command>COPY TO</>, the first line contains the column names, and for <command>COPY FROM</>, the first line is ignored. </para> </listitem> <listitem> <para> On Windows, display better sub-second precision in <command>EXPLAIN ANALYZE</> (Magnus) </para> </listitem> <listitem> <para> Add trigger duration display to <command>EXPLAIN ANALYZE</> (Tom) </para> <para> Prior releases included trigger execution time as part of the total execution time, but did not show it separately. It is now possible to see how much time is spent in each trigger. </para> </listitem> <listitem> <para> Add support for <literal>\x</> hex escapes in <command>COPY</> (Sergey Ten) </para> <para> Previous releases only supported octal escapes. </para> </listitem> <listitem> <para> Make <command>SHOW ALL</> include variable descriptions (Matthias Schmidt) </para> <para> <command>SHOW</> varname still only displays the variable's value and does not include the description. </para> </listitem> <listitem> <para> Make <application>initdb</application> create a new standard database called <literal>postgres</>, and convert utilities to use <literal>postgres</> rather than <literal>template1</> for standard lookups (Dave) </para> <para> In prior releases, <literal>template1</> was used both as a default connection for utilities like <application>createuser</application>, and as a template for new databases. This caused <command>CREATE DATABASE</> to sometimes fail, because a new database cannot be created if anyone else is in the template database. With this change, the default connection database is now <literal>postgres</>, meaning it is much less likely someone will be using <literal>template1</> during <command>CREATE DATABASE</>. </para> </listitem> <listitem> <para> Create new <application>reindexdb</application> command-line utility by moving <filename>/contrib/reindexdb</> into the server (Euler Taveira de Oliveira) </para> </listitem> </itemizedlist> </sect3> <sect3> <title>Data Type and Function Changes</title> <itemizedlist> <listitem> <para> Add <function>MAX()</> and <function>MIN()</> aggregates for array types (Koju Iijima) </para> </listitem> <listitem> <para> Fix <function>to_date()</> and <function>to_timestamp()</> to behave reasonably when <literal>CC</> and <literal>YY</> fields are both used (Karel Zak) </para> <para> If the format specification contains <literal>CC</> and a year specification is <literal>YYY</> or longer, ignore the <literal>CC</>. If the year specification is <literal>YY</> or shorter, interpret <literal>CC</> as the previous century. </para> </listitem> <listitem>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -