📄 release.sgml
字号:
<para> Add <function>md5(bytea)</> (Abhijit Menon-Sen) </para> <para> <function>md5(text)</> already existed. </para> </listitem> <listitem> <para> Add support for <command>numeric ^ numeric</> based on <function>power(numeric, numeric)</> </para> <para> The function already existed, but there was no operator assigned to it. </para> </listitem> <listitem> <para> Fix <type>NUMERIC</> modulus by properly truncating the quotient during computation (Bruce) </para> <para> In previous releases, modulus for large values sometimes returned negative results due to rounding of the quotient. </para> </listitem> <listitem> <para> Add a function <function>lastval()</> (Dennis Björklund) </para> <para> <function>lastval()</> is a simplified version of <function>currval()</>. It automatically determines the proper sequence name based on the most recent <function>nextval()</> or <function>setval()</> call performed by the current session. </para> </listitem> <listitem> <para> Add <function>to_timestamp(DOUBLE PRECISION) (Michael Glaesemann)</> </para> <para> Converts Unix seconds since 1970 to a <type>TIMESTAMP WITH TIMEZONE</>. </para> </listitem> <listitem> <para> Add <function>pg_postmaster_start_time()</> function (Euler Taveira de Oliveira, Matthias Schmidt) </para> </listitem> <listitem> <para> Allow the full use of time zone names in <command>AT TIME ZONE</>, not just the short list previously available (Magnus) </para> <para> Previously, only a predefined list of time zone names were supported by <command>AT TIME ZONE</>. Now any supported time zone name can be used, e.g.: <programlisting> SELECT CURRENT_TIMESTAMP AT TIME ZONE 'Europe/London'; </programlisting> In the above query, the time zone used is adjusted based on the daylight saving time rules that were in effect on the supplied date. </para> </listitem> <listitem> <para> Add <function>GREATEST()</> and <function>LEAST()</> variadic functions (Pavel Stehule) </para> <para> These functions take a variable number of arguments and return the greatest or least value among the arguments. </para> </listitem> <listitem> <para> Add <function>pg_column_size()</> (Mark Kirkwood) </para> <para> This returns storage size of a column, which might be compressed. </para> </listitem> <listitem> <para> Add <function>regexp_replace()</> (Atsushi Ogawa) </para> <para> This allows regular expression replacement, like sed. An optional flag argument allows selection of global (replace all) and case-insensitive modes. </para> </listitem> <listitem> <para> Fix interval division and multiplication (Bruce) </para> <para> Previous versions sometimes returned unjustified results, like <command>'4 months'::interval / 5</> returning <command>'1 mon -6 days'</>. </para> </listitem> <listitem> <para> Fix roundoff behavior in timestamp, time, and interval output (Tom) </para> <para> This fixes some cases in which the seconds field would be shown as <literal>60</> instead of incrementing the higher-order fields. </para> </listitem> <listitem> <para> Add a separate day field to type <type>interval</> so a one day interval can be distinguished from a 24 hour interval (Michael Glaesemann) </para> <para> Days that contain a daylight saving time adjustment are not 24 hours long, but typically 23 or 25 hours. This change creates a conceptual distinction between intervals of <quote>so many days</> and intervals of <quote>so many hours</>. Adding <literal>1 day</> to a timestamp now gives the same local time on the next day even if a daylight saving time adjustment occurs between, whereas adding <literal>24 hours</> will give a different local time when this happens. For example, under US DST rules: <programlisting> '2005-04-03 00:00:00-05' + '1 day' = '2005-04-04 00:00:00-04' '2005-04-03 00:00:00-05' + '24 hours' = '2005-04-04 01:00:00-04' </programlisting> </para> </listitem> <listitem> <para> Add <function>justify_days()</> and <function>justify_hours()</> (Michael Glaesemann) </para> <para> These functions, respectively, adjust days to an appropriate number of full months and days, and adjust hours to an appropriate number of full days and hours. </para> </listitem> <listitem> <para> Move <filename>/contrib/dbsize</> into the backend, and rename some of the functions (Dave Page, Andreas Pflug) </para> <para> <itemizedlist> <listitem> <para> <function>pg_tablespace_size()</> </para> </listitem> <listitem> <para> <function>pg_database_size()</> </para> </listitem> <listitem> <para> <function>pg_relation_size()</> </para> </listitem> <listitem> <para> <function>pg_total_relation_size()</> </para> </listitem> <listitem> <para> <function>pg_size_pretty()</> </para> </listitem> </itemizedlist> </para> <para> <function>pg_total_relation_size()</> includes indexes and TOAST tables. </para> </listitem> <listitem> <para> Add functions for read-only file access to the cluster directory (Dave Page, Andreas Pflug) </para> <para> <itemizedlist> <listitem> <para> <function>pg_stat_file()</> </para> </listitem> <listitem> <para> <function>pg_read_file()</> </para> </listitem> <listitem> <para> <function>pg_ls_dir()</> </para> </listitem> </itemizedlist> </para> </listitem> <listitem> <para> Add <function>pg_reload_conf()</> to force reloading of the configuration files (Dave Page, Andreas Pflug) </para> </listitem> <listitem> <para> Add <function>pg_rotate_logfile()</> to force rotation of the server log file (Dave Page, Andreas Pflug) </para> </listitem> <listitem> <para> Change <literal>pg_stat_*</> views to include TOAST tables (Tom) </para> </listitem> </itemizedlist> </sect3> <sect3> <title>Encoding and Locale Changes</title> <itemizedlist> <listitem> <para> Rename some encodings to be more consistent and to follow international standards (Bruce) </para> <para> <itemizedlist> <listitem> <para> <literal>UNICODE</> is now <literal>UTF8</> </para> </listitem> <listitem> <para> <literal>ALT</> is now <literal>WIN866</> </para> </listitem> <listitem> <para> <literal>WIN</> is now <literal>WIN1251</> </para> </listitem> <listitem> <para> <literal>TCVN</> is now <literal>WIN1258</> </para> </listitem> </itemizedlist> </para> <para> The original names still work. </para> </listitem> <listitem> <para> Add support for <literal>WIN1252</> encoding (Roland Volkmann) </para> </listitem> <listitem> <para> Add support for four-byte <literal>UTF8</> characters (John Hansen) </para> <para> Previously only one, two, and three-byte <literal>UTF8</> characters were supported. This is particularly important for support for some Chinese character sets. </para> </listitem> <listitem> <para> Allow direct conversion between <literal>EUC_JP</> and <literal>SJIS</> to improve performance (Atsushi Ogawa) </para> </listitem> <listitem> <para> Allow the UTF8 encoding to work on Windows (Magnus) </para> <para> This is done by mapping UTF8 to the Windows-native UTF16 implementation. </para> </listitem> </itemizedlist> </sect3> <sect3> <title>General Server-Side Language Changes</title> <itemizedlist> <listitem> <para> Fix <command>ALTER LANGUAGE RENAME</> (Sergey Yatskevich) </para> </listitem> <listitem> <para> Allow function characteristics, like strictness and volatility, to be modified via <command>ALTER FUNCTION</> (Neil) </para> </listitem> <listitem> <para> Increase the maximum number of function arguments to 100 (Tom) </para> </listitem> <listitem> <para> Allow SQL and PL/PgSQL functions to use <command>OUT</> and <command>INOUT</> parameters (Tom) </para> <para> <command>OUT</> is an alternate way for a function to return values. Instead of using <command>RETURN</>, values can be returned by assigning to parameters declared as <command>OUT</> or <command>INOUT</>. This is notationally simpler in some cases, particularly so when multiple values need to be returned. While returning multiple values from a function was possible in previous releases, this greatly simplifies the process. (The feature will be extended to other server-side languages in future releases.) </para> </listitem> <listitem> <para> Move language handler functions into the <literal>pg_catal
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -