diff -Nru postgresql-9.6-9.6.5/configure postgresql-9.6-9.6.6/configure --- postgresql-9.6-9.6.5/configure 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/configure 2017-11-06 22:08:55.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for PostgreSQL 9.6.5. +# Generated by GNU Autoconf 2.69 for PostgreSQL 9.6.6. # # Report bugs to . # @@ -582,8 +582,8 @@ # Identity of this package. PACKAGE_NAME='PostgreSQL' PACKAGE_TARNAME='postgresql' -PACKAGE_VERSION='9.6.5' -PACKAGE_STRING='PostgreSQL 9.6.5' +PACKAGE_VERSION='9.6.6' +PACKAGE_STRING='PostgreSQL 9.6.6' PACKAGE_BUGREPORT='pgsql-bugs@postgresql.org' PACKAGE_URL='' @@ -1399,7 +1399,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures PostgreSQL 9.6.5 to adapt to many kinds of systems. +\`configure' configures PostgreSQL 9.6.6 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1464,7 +1464,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of PostgreSQL 9.6.5:";; + short | recursive ) echo "Configuration of PostgreSQL 9.6.6:";; esac cat <<\_ACEOF @@ -1616,7 +1616,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -PostgreSQL configure 9.6.5 +PostgreSQL configure 9.6.6 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2327,7 +2327,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by PostgreSQL $as_me 9.6.5, which was +It was created by PostgreSQL $as_me 9.6.6, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -12517,7 +12517,7 @@ LIBS_including_readline="$LIBS" LIBS=`echo "$LIBS" | sed -e 's/-ledit//g' -e 's/-lreadline//g'` -for ac_func in cbrt dlopen fdatasync getifaddrs getpeerucred getrlimit mbstowcs_l memmove poll pstat pthread_is_threaded_np readlink setproctitle setsid shm_open symlink sync_file_range towlower utime utimes wcstombs wcstombs_l +for ac_func in cbrt dlopen fdatasync getifaddrs getpeerucred getrlimit mbstowcs_l memmove poll posix_fallocate pstat pthread_is_threaded_np readlink setproctitle setsid shm_open symlink sync_file_range towlower utime utimes wcstombs wcstombs_l do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" @@ -13726,24 +13726,6 @@ _ACEOF - -if test x"$HAVE_LONG_LONG_INT_64" = xyes ; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#define INT64CONST(x) x##LL -long long int foo = INT64CONST(0x1234567890123456); - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -$as_echo "#define HAVE_LL_CONSTANTS 1" >>confdefs.h - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - - # If we found "long int" is 64 bits, assume snprintf handles it. If # we found we need to use "long long int", better check. We cope with # snprintfs that use %lld, %qd, or %I64d as the format. If none of these @@ -16477,7 +16459,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by PostgreSQL $as_me 9.6.5, which was +This file was extended by PostgreSQL $as_me 9.6.6, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -16547,7 +16529,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -PostgreSQL config.status 9.6.5 +PostgreSQL config.status 9.6.6 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -Nru postgresql-9.6-9.6.5/configure.in postgresql-9.6-9.6.6/configure.in --- postgresql-9.6-9.6.5/configure.in 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/configure.in 2017-11-06 22:08:55.000000000 +0000 @@ -17,7 +17,7 @@ dnl m4_pattern_forbid(^PGAC_)dnl to catch undefined macros -AC_INIT([PostgreSQL], [9.6.5], [pgsql-bugs@postgresql.org]) +AC_INIT([PostgreSQL], [9.6.6], [pgsql-bugs@postgresql.org]) m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required. Untested combinations of 'autoconf' and PostgreSQL versions are not @@ -1457,7 +1457,7 @@ LIBS_including_readline="$LIBS" LIBS=`echo "$LIBS" | sed -e 's/-ledit//g' -e 's/-lreadline//g'` -AC_CHECK_FUNCS([cbrt dlopen fdatasync getifaddrs getpeerucred getrlimit mbstowcs_l memmove poll pstat pthread_is_threaded_np readlink setproctitle setsid shm_open symlink sync_file_range towlower utime utimes wcstombs wcstombs_l]) +AC_CHECK_FUNCS([cbrt dlopen fdatasync getifaddrs getpeerucred getrlimit mbstowcs_l memmove poll posix_fallocate pstat pthread_is_threaded_np readlink setproctitle setsid shm_open symlink sync_file_range towlower utime utimes wcstombs wcstombs_l]) AC_REPLACE_FUNCS(fseeko) case $host_os in @@ -1751,18 +1751,6 @@ AC_DEFINE_UNQUOTED(PG_INT64_TYPE, $pg_int64_type, [Define to the name of a signed 64-bit integer type.]) -dnl If we need to use "long long int", figure out whether nnnLL notation works. - -if test x"$HAVE_LONG_LONG_INT_64" = xyes ; then - AC_COMPILE_IFELSE([AC_LANG_SOURCE([ -#define INT64CONST(x) x##LL -long long int foo = INT64CONST(0x1234567890123456); -])], - [AC_DEFINE(HAVE_LL_CONSTANTS, 1, [Define to 1 if constants of type 'long long int' should have the suffix LL.])], - []) -fi - - # If we found "long int" is 64 bits, assume snprintf handles it. If # we found we need to use "long long int", better check. We cope with # snprintfs that use %lld, %qd, or %I64d as the format. If none of these diff -Nru postgresql-9.6-9.6.5/contrib/start-scripts/freebsd postgresql-9.6-9.6.6/contrib/start-scripts/freebsd --- postgresql-9.6-9.6.5/contrib/start-scripts/freebsd 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/contrib/start-scripts/freebsd 2017-11-06 22:08:55.000000000 +0000 @@ -44,7 +44,7 @@ case $1 in start) - su -l $PGUSER -c "$DAEMON -D '$PGDATA' &" >>$PGLOG 2>&1 + su -l $PGUSER -c "$DAEMON -D '$PGDATA' >>$PGLOG 2>&1 &" echo -n ' postgresql' ;; stop) @@ -52,7 +52,7 @@ ;; restart) su -l $PGUSER -c "$PGCTL stop -D '$PGDATA' -s -m fast -w" - su -l $PGUSER -c "$DAEMON -D '$PGDATA' &" >>$PGLOG 2>&1 + su -l $PGUSER -c "$DAEMON -D '$PGDATA' >>$PGLOG 2>&1 &" ;; status) su -l $PGUSER -c "$PGCTL status -D '$PGDATA'" diff -Nru postgresql-9.6-9.6.5/contrib/start-scripts/linux postgresql-9.6-9.6.6/contrib/start-scripts/linux --- postgresql-9.6-9.6.5/contrib/start-scripts/linux 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/contrib/start-scripts/linux 2017-11-06 22:08:55.000000000 +0000 @@ -92,7 +92,7 @@ start) echo -n "Starting PostgreSQL: " test -e "$PG_OOM_ADJUST_FILE" && echo "$PG_MASTER_OOM_SCORE_ADJ" > "$PG_OOM_ADJUST_FILE" - su - $PGUSER -c "$DAEMON_ENV $DAEMON -D '$PGDATA' &" >>$PGLOG 2>&1 + su - $PGUSER -c "$DAEMON_ENV $DAEMON -D '$PGDATA' >>$PGLOG 2>&1 &" echo "ok" ;; stop) @@ -104,7 +104,7 @@ echo -n "Restarting PostgreSQL: " su - $PGUSER -c "$PGCTL stop -D '$PGDATA' -s -m fast -w" test -e "$PG_OOM_ADJUST_FILE" && echo "$PG_MASTER_OOM_SCORE_ADJ" > "$PG_OOM_ADJUST_FILE" - su - $PGUSER -c "$DAEMON_ENV $DAEMON -D '$PGDATA' &" >>$PGLOG 2>&1 + su - $PGUSER -c "$DAEMON_ENV $DAEMON -D '$PGDATA' >>$PGLOG 2>&1 &" echo "ok" ;; reload) diff -Nru postgresql-9.6-9.6.5/contrib/start-scripts/osx/PostgreSQL postgresql-9.6-9.6.6/contrib/start-scripts/osx/PostgreSQL --- postgresql-9.6-9.6.5/contrib/start-scripts/osx/PostgreSQL 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/contrib/start-scripts/osx/PostgreSQL 2017-11-06 22:08:55.000000000 +0000 @@ -81,9 +81,9 @@ if [ "${POSTGRESQL:=-NO-}" = "-YES-" ]; then ConsoleMessage "Starting PostgreSQL database server" if [ "${ROTATELOGS}" = "1" ]; then - sudo -u $PGUSER sh -c "${DAEMON} -D '${PGDATA}' &" 2>&1 | ${LOGUTIL} "${PGLOG}" ${ROTATESEC} & + sudo -u $PGUSER sh -c "${DAEMON} -D '${PGDATA}' 2>&1 | ${LOGUTIL} \"${PGLOG}\" ${ROTATESEC} &" else - sudo -u $PGUSER sh -c "${DAEMON} -D '${PGDATA}' &" >>"$PGLOG" 2>&1 + sudo -u $PGUSER sh -c "${DAEMON} -D '${PGDATA}' >>\"$PGLOG\" 2>&1 &" fi fi } @@ -100,9 +100,9 @@ sudo -u $PGUSER sh -c "$PGCTL stop -D '${PGDATA}' -s -m fast" # should match StartService: if [ "${ROTATELOGS}" = "1" ]; then - sudo -u $PGUSER sh -c "${DAEMON} -D '${PGDATA}' &" 2>&1 | ${LOGUTIL} "${PGLOG}" ${ROTATESEC} & + sudo -u $PGUSER sh -c "${DAEMON} -D '${PGDATA}' 2>&1 | ${LOGUTIL} \"${PGLOG}\" ${ROTATESEC} &" else - sudo -u $PGUSER sh -c "${DAEMON} -D '${PGDATA}' &" >>"$PGLOG" 2>&1 + sudo -u $PGUSER sh -c "${DAEMON} -D '${PGDATA}' >>\"$PGLOG\" 2>&1 &" fi else StopService diff -Nru postgresql-9.6-9.6.5/contrib/test_decoding/expected/decoding_into_rel.out postgresql-9.6-9.6.6/contrib/test_decoding/expected/decoding_into_rel.out --- postgresql-9.6-9.6.5/contrib/test_decoding/expected/decoding_into_rel.out 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/contrib/test_decoding/expected/decoding_into_rel.out 2017-11-06 22:08:55.000000000 +0000 @@ -59,6 +59,31 @@ DROP TABLE changeresult; DROP TABLE somechange; +-- check calling logical decoding from pl/pgsql +CREATE FUNCTION slot_changes_wrapper(slot_name name) RETURNS SETOF TEXT AS $$ +BEGIN + RETURN QUERY + SELECT data FROM pg_logical_slot_peek_changes(slot_name, NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1'); +END$$ LANGUAGE plpgsql; +SELECT * FROM slot_changes_wrapper('regression_slot'); + slot_changes_wrapper +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + BEGIN + table public.changeresult: INSERT: data[text]:'BEGIN' + table public.changeresult: INSERT: data[text]:'table public.changeresult: INSERT: data[text]:''BEGIN''' + table public.changeresult: INSERT: data[text]:'table public.changeresult: INSERT: data[text]:''table public.somechange: INSERT: id[integer]:1''' + table public.changeresult: INSERT: data[text]:'table public.changeresult: INSERT: data[text]:''COMMIT''' + table public.changeresult: INSERT: data[text]:'COMMIT' + table public.changeresult: INSERT: data[text]:'BEGIN' + table public.changeresult: INSERT: data[text]:'table public.changeresult: INSERT: data[text]:''BEGIN''' + table public.changeresult: INSERT: data[text]:'table public.changeresult: INSERT: data[text]:''table public.changeresult: INSERT: data[text]:''''BEGIN''''''' + table public.changeresult: INSERT: data[text]:'table public.changeresult: INSERT: data[text]:''table public.changeresult: INSERT: data[text]:''''table public.somechange: INSERT: id[integer]:1''''''' + table public.changeresult: INSERT: data[text]:'table public.changeresult: INSERT: data[text]:''table public.changeresult: INSERT: data[text]:''''COMMIT''''''' + table public.changeresult: INSERT: data[text]:'table public.changeresult: INSERT: data[text]:''COMMIT''' + table public.changeresult: INSERT: data[text]:'COMMIT' + COMMIT +(14 rows) + SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1'); data -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/contrib/test_decoding/expected/replorigin.out postgresql-9.6-9.6.6/contrib/test_decoding/expected/replorigin.out --- postgresql-9.6-9.6.5/contrib/test_decoding/expected/replorigin.out 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/contrib/test_decoding/expected/replorigin.out 2017-11-06 22:08:55.000000000 +0000 @@ -26,7 +26,14 @@ (1 row) SELECT pg_replication_origin_drop('test_decoding: temp'); -ERROR: cache lookup failed for replication origin 'test_decoding: temp' +ERROR: replication origin "test_decoding: temp" does not exist +-- various failure checks for undefined slots +select pg_replication_origin_advance('test_decoding: temp', '0/1'); +ERROR: replication origin "test_decoding: temp" does not exist +select pg_replication_origin_session_setup('test_decoding: temp'); +ERROR: replication origin "test_decoding: temp" does not exist +select pg_replication_origin_progress('test_decoding: temp', true); +ERROR: replication origin "test_decoding: temp" does not exist SELECT 'init' FROM pg_create_logical_replication_slot('regression_slot', 'test_decoding'); ?column? ---------- diff -Nru postgresql-9.6-9.6.5/contrib/test_decoding/sql/decoding_into_rel.sql postgresql-9.6-9.6.6/contrib/test_decoding/sql/decoding_into_rel.sql --- postgresql-9.6-9.6.5/contrib/test_decoding/sql/decoding_into_rel.sql 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/contrib/test_decoding/sql/decoding_into_rel.sql 2017-11-06 22:08:55.000000000 +0000 @@ -27,5 +27,16 @@ SELECT * FROM changeresult; DROP TABLE changeresult; DROP TABLE somechange; + +-- check calling logical decoding from pl/pgsql +CREATE FUNCTION slot_changes_wrapper(slot_name name) RETURNS SETOF TEXT AS $$ +BEGIN + RETURN QUERY + SELECT data FROM pg_logical_slot_peek_changes(slot_name, NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1'); +END$$ LANGUAGE plpgsql; + +SELECT * FROM slot_changes_wrapper('regression_slot'); + SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1'); + SELECT 'stop' FROM pg_drop_replication_slot('regression_slot'); diff -Nru postgresql-9.6-9.6.5/contrib/test_decoding/sql/replorigin.sql postgresql-9.6-9.6.6/contrib/test_decoding/sql/replorigin.sql --- postgresql-9.6-9.6.5/contrib/test_decoding/sql/replorigin.sql 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/contrib/test_decoding/sql/replorigin.sql 2017-11-06 22:08:55.000000000 +0000 @@ -13,6 +13,11 @@ SELECT pg_replication_origin_drop('test_decoding: temp'); SELECT pg_replication_origin_drop('test_decoding: temp'); +-- various failure checks for undefined slots +select pg_replication_origin_advance('test_decoding: temp', '0/1'); +select pg_replication_origin_session_setup('test_decoding: temp'); +select pg_replication_origin_progress('test_decoding: temp', true); + SELECT 'init' FROM pg_create_logical_replication_slot('regression_slot', 'test_decoding'); -- origin tx diff -Nru postgresql-9.6-9.6.5/debian/changelog postgresql-9.6-9.6.6/debian/changelog --- postgresql-9.6-9.6.5/debian/changelog 2017-08-30 11:12:50.000000000 +0000 +++ postgresql-9.6-9.6.6/debian/changelog 2017-11-07 13:33:52.000000000 +0000 @@ -1,3 +1,14 @@ +postgresql-9.6 (9.6.6-0ubuntu0.17.04) zesty-security; urgency=medium + + * New upstream release (LP: #1730661) + - Previously, a race condition allowed some table rows to be omitted from + the index. It may be necessary to reindex existing BRIN indexes to + recover from past occurrences of this problem. + - Details about other changes at full changelog: + https://www.postgresql.org/docs/9.6/static/release-9-6-6.html + + -- Christian Ehrhardt Tue, 07 Nov 2017 14:33:52 +0100 + postgresql-9.6 (9.6.5-0ubuntu0.17.04) zesty; urgency=medium * New upstream release (LP: #1713979) diff -Nru postgresql-9.6-9.6.5/doc/bug.template postgresql-9.6-9.6.6/doc/bug.template --- postgresql-9.6-9.6.5/doc/bug.template 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/bug.template 2017-11-06 22:08:55.000000000 +0000 @@ -27,7 +27,7 @@ Operating System (example: Linux 2.4.18) : - PostgreSQL version (example: PostgreSQL 9.6.5): PostgreSQL 9.6.5 + PostgreSQL version (example: PostgreSQL 9.6.6): PostgreSQL 9.6.6 Compiler used (example: gcc 3.3.5) : diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/backup.sgml postgresql-9.6-9.6.6/doc/src/sgml/backup.sgml --- postgresql-9.6-9.6.5/doc/src/sgml/backup.sgml 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/backup.sgml 2017-11-06 22:08:55.000000000 +0000 @@ -889,8 +889,11 @@ SELECT * FROM pg_stop_backup(false); - This terminates the backup mode and performs an automatic switch to - the next WAL segment. The reason for the switch is to arrange for + This terminates backup mode. On a primary, it also performs an automatic + switch to the next WAL segment. On a standby, it is not possible to + automatically switch WAL segments, so you may wish to run + pg_switch_xlog on the primary to perform a manual + switch. The reason for the switch is to arrange for the last WAL segment file written during the backup interval to be ready to archive. @@ -908,7 +911,7 @@ Once the WAL segment files active during the backup are archived, you are done. The file identified by pg_stop_backup's first return value is the last segment that is required to form a complete set of - backup files. If archive_mode is enabled, + backup files. On a primary, if archive_mode is enabled, pg_stop_backup does not return until the last segment has been archived. Archiving of these files happens automatically since you have @@ -924,6 +927,13 @@ pg_stop_backup terminates because of this your backup may not be valid. + + + Note that on a standby pg_stop_backup does not wait for + WAL segments to be archived so the backup process must ensure that all WAL + segments required for the backup are successfully archived. + + @@ -932,9 +942,9 @@ Making an exclusive low level backup The process for an exclusive backup is mostly the same as for a - non-exclusive one, but it differs in a few key steps. It does not allow - more than one concurrent backup to run, and there can be some issues on - the server if it crashes during the backup. Prior to PostgreSQL 9.6, this + non-exclusive one, but it differs in a few key steps. This type of backup + can only be taken on a primary and does not allow concurrent backups. + Prior to PostgreSQL 9.6, this was the only low-level method available, but it is now recommended that all users upgrade their scripts to use non-exclusive backups if possible. @@ -992,6 +1002,11 @@ for things to consider during this backup. + + Note that if the server crashes during the backup it may not be + possible to restart until the backup_label file has been + manually deleted from the PGDATA directory. + diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/event-trigger.sgml postgresql-9.6-9.6.6/doc/src/sgml/event-trigger.sgml --- postgresql-9.6-9.6.5/doc/src/sgml/event-trigger.sgml 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/event-trigger.sgml 2017-11-06 22:08:55.000000000 +0000 @@ -565,6 +565,7 @@ X - - + CREATE USER MAPPING diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/func.sgml postgresql-9.6-9.6.6/doc/src/sgml/func.sgml --- postgresql-9.6-9.6.5/doc/src/sgml/func.sgml 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/func.sgml 2017-11-06 22:08:55.000000000 +0000 @@ -6277,11 +6277,11 @@ 9 - value with the specified number of digits + digit position (can be dropped if insignificant) 0 - value with leading zeros + digit position (will not be dropped, even if insignificant) . (period) @@ -6289,7 +6289,7 @@ , (comma) - group (thousand) separator + group (thousands) separator PR @@ -6349,23 +6349,48 @@ + 0 specifies a digit position that will always be printed, + even if it contains a leading/trailing zero. 9 also + specifies a digit position, but if it is a leading zero then it will + be replaced by a space, while if it is a trailing zero and fill mode + is specified then it will be deleted. (For to_number(), + these two pattern characters are equivalent.) + + + + + + The pattern characters S, L, D, + and G represent the sign, currency symbol, decimal point, + and thousands separator characters defined by the current locale + (see + and ). The pattern characters period + and comma represent those exact characters, with the meanings of + decimal point and thousands separator, regardless of locale. + + + + + + If no explicit provision is made for a sign + in to_char()'s pattern, one column will be reserved for + the sign, and it will be anchored to (appear just left of) the + number. If S appears just left of some 9's, + it will likewise be anchored to the number. + + + + + A sign formatted using SG, PL, or MI is not anchored to the number; for example, to_char(-12, 'MI9999') produces '-  12' but to_char(-12, 'S9999') produces '  -12'. - The Oracle implementation does not allow the use of + (The Oracle implementation does not allow the use of MI before 9, but rather requires that 9 precede - MI. - - - - - - 9 results in a value with the same number of - digits as there are 9s. If a digit is - not available it outputs a space. + MI.) @@ -6412,8 +6437,8 @@ Certain modifiers can be applied to any template pattern to alter its - behavior. For example, FM9999 - is the 9999 pattern with the + behavior. For example, FM99.99 + is the 99.99 pattern with the FM modifier. shows the modifier patterns for numeric formatting. @@ -6432,8 +6457,8 @@ FM prefix - fill mode (suppress leading zeroes and padding blanks) - FM9999 + fill mode (suppress trailing zeroes and padding blanks) + FM99.99 TH suffix @@ -6481,6 +6506,10 @@ '-.1' + to_char(-0.1, 'FM90.99') + '-0.1' + + to_char(0.1, '0.9') ' 0.1' @@ -18041,11 +18070,22 @@ pg_start_backup. In a non-exclusive backup, the contents of the backup_label and tablespace_map are returned in the result of the function, and should be written to files in the - backup (and not in the data directory). + backup (and not in the data directory). When executed on a primary + pg_stop_backup will wait for WAL to be archived, provided that + archiving is enabled. + + + + On a standby pg_stop_backup will return immediately without + waiting, so it's important to verify that all required WAL segments have + been archived. If write activity on the primary is low, it may be useful + to run pg_switch_xlog on the primary in order to trigger a + segment switch. - The function also creates a backup history file in the transaction log + When executed on a primary, the function also creates a backup history file + in the write-ahead log archive area. The history file includes the label given to pg_start_backup, the starting and ending transaction log locations for the backup, and the starting and ending times of the backup. The return diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/html/acronyms.html postgresql-9.6-9.6.6/doc/src/sgml/html/acronyms.html --- postgresql-9.6-9.6.5/doc/src/sgml/html/acronyms.html 2017-08-28 21:39:18.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/html/acronyms.html 2017-11-06 22:28:26.000000000 +0000 @@ -9,7 +9,7 @@ REV="MADE" HREF="mailto:pgsql-docs@postgresql.org">
PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

This part covers topics that are of interest to a diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/html/adminpack.html postgresql-9.6-9.6.6/doc/src/sgml/html/adminpack.html --- postgresql-9.6-9.6.5/doc/src/sgml/html/adminpack.html 2017-08-28 21:39:13.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/html/adminpack.html 2017-11-06 22:28:21.000000000 +0000 @@ -9,7 +9,7 @@ REV="MADE" HREF="mailto:pgsql-docs@postgresql.org">

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Name

Synopsis

Description

Options

Environment

Diagnostics

Examples

See Also

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Name

Synopsis

Options

Environment

Diagnostics

Examples

See Also

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Name

Synopsis

Description

Options

Environment

Diagnostics

Notes

Examples

See Also

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Name

Synopsis

Description

Options

Environment

Diagnostics

Examples

See Also

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Name

Synopsis

Description

Options

Environment

Diagnostics

Examples

See Also

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Name

Synopsis

Options

Environment

Diagnostics

Notes

Examples

See Also

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Name

Synopsis

Description

Options

Environment

Diagnostics

Examples

See Also

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Name

Synopsis

Options

Notes

Examples

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
E.1. Release 9.6.6
E.2. Release 9.6.5
E.2. E.3. Release 9.6.4
E.3. E.4. Release 9.6.3
E.4. E.5. Release 9.6.2
E.5. E.6. Release 9.6.1
E.6. E.7. Release 9.6
E.7. E.8. Release 9.5.10
E.9. Release 9.5.9
E.8. E.10. Release 9.5.8
E.9. E.11. Release 9.5.7
E.10. E.12. Release 9.5.6
E.11. E.13. Release 9.5.5
E.12. E.14. Release 9.5.4
E.13. E.15. Release 9.5.3
E.14. E.16. Release 9.5.2
E.15. E.17. Release 9.5.1
E.16. E.18. Release 9.5
E.17. E.19. Release 9.4.15
E.20. Release 9.4.14
E.18. E.21. Release 9.4.13
E.19. E.22. Release 9.4.12
E.20. E.23. Release 9.4.11
E.21. E.24. Release 9.4.10
E.22. E.25. Release 9.4.9
E.23. E.26. Release 9.4.8
E.24. E.27. Release 9.4.7
E.25. E.28. Release 9.4.6
E.26. E.29. Release 9.4.5
E.27. E.30. Release 9.4.4
E.28. E.31. Release 9.4.3
E.29. E.32. Release 9.4.2
E.30. E.33. Release 9.4.1
E.31. E.34. Release 9.4
E.32. E.35. Release 9.3.20
E.36. Release 9.3.19
E.33. E.37. Release 9.3.18
E.34. E.38. Release 9.3.17
E.35. E.39. Release 9.3.16
E.36. E.40. Release 9.3.15
E.37. E.41. Release 9.3.14
E.38. E.42. Release 9.3.13
E.39. E.43. Release 9.3.12
E.40. E.44. Release 9.3.11
E.41. E.45. Release 9.3.10
E.42. E.46. Release 9.3.9
E.43. E.47. Release 9.3.8
E.44. E.48. Release 9.3.7
E.45. E.49. Release 9.3.6
E.46. E.50. Release 9.3.5
E.47. E.51. Release 9.3.4
E.48. E.52. Release 9.3.3
E.49. E.53. Release 9.3.2
E.50. E.54. Release 9.3.1
E.51. E.55. Release 9.3
E.52. E.56. Release 9.2.24
E.57. Release 9.2.23
E.53. E.58. Release 9.2.22
E.54. E.59. Release 9.2.21
E.55. E.60. Release 9.2.20
E.56. E.61. Release 9.2.19
E.57. E.62. Release 9.2.18
E.58. E.63. Release 9.2.17
E.59. E.64. Release 9.2.16
E.60. E.65. Release 9.2.15
E.61. E.66. Release 9.2.14
E.62. E.67. Release 9.2.13
E.63. E.68. Release 9.2.12
E.64. E.69. Release 9.2.11
E.65. E.70. Release 9.2.10
E.66. E.71. Release 9.2.9
E.67. E.72. Release 9.2.8
E.68. E.73. Release 9.2.7
E.69. E.74. Release 9.2.6
E.70. E.75. Release 9.2.5
E.71. E.76. Release 9.2.4
E.72. E.77. Release 9.2.3
E.73. E.78. Release 9.2.2
E.74. E.79. Release 9.2.1
E.75. E.80. Release 9.2
E.76. E.81. Release 9.1.24
E.77. E.82. Release 9.1.23
E.78. E.83. Release 9.1.22
E.79. E.84. Release 9.1.21
E.80. E.85. Release 9.1.20
E.81. E.86. Release 9.1.19
E.82. E.87. Release 9.1.18
E.83. E.88. Release 9.1.17
E.84. E.89. Release 9.1.16
E.85. E.90. Release 9.1.15
E.86. E.91. Release 9.1.14
E.87. E.92. Release 9.1.13
E.88. E.93. Release 9.1.12
E.89. E.94. Release 9.1.11
E.90. E.95. Release 9.1.10
E.91. E.96. Release 9.1.9
E.92. E.97. Release 9.1.8
E.93. E.98. Release 9.1.7
E.94. E.99. Release 9.1.6
E.95. E.100. Release 9.1.5
E.96. E.101. Release 9.1.4
E.97. E.102. Release 9.1.3
E.98. E.103. Release 9.1.2
E.99. E.104. Release 9.1.1
E.100. E.105. Release 9.1
E.101. E.106. Release 9.0.23
E.102. E.107. Release 9.0.22
E.103. E.108. Release 9.0.21
E.104. E.109. Release 9.0.20
E.105. E.110. Release 9.0.19
E.106. E.111. Release 9.0.18
E.107. E.112. Release 9.0.17
E.108. E.113. Release 9.0.16
E.109. E.114. Release 9.0.15
E.110. E.115. Release 9.0.14
E.111. E.116. Release 9.0.13
E.112. E.117. Release 9.0.12
E.113. E.118. Release 9.0.11
E.114. E.119. Release 9.0.10
E.115. E.120. Release 9.0.9
E.116. E.121. Release 9.0.8
E.117. E.122. Release 9.0.7
E.118. E.123. Release 9.0.6
E.119. E.124. Release 9.0.5
E.120. E.125. Release 9.0.4
E.121. E.126. Release 9.0.3
E.122. E.127. Release 9.0.2
E.123. E.128. Release 9.0.1
E.124. E.129. Release 9.0
E.125. E.130. Release 8.4.22
E.126. E.131. Release 8.4.21
E.127. E.132. Release 8.4.20
E.128. E.133. Release 8.4.19
E.129. E.134. Release 8.4.18
E.130. E.135. Release 8.4.17
E.131. E.136. Release 8.4.16
E.132. E.137. Release 8.4.15
E.133. E.138. Release 8.4.14
E.134. E.139. Release 8.4.13
E.135. E.140. Release 8.4.12
E.136. E.141. Release 8.4.11
E.137. E.142. Release 8.4.10
E.138. E.143. Release 8.4.9
E.139. E.144. Release 8.4.8
E.140. E.145. Release 8.4.7
E.141. E.146. Release 8.4.6
E.142. E.147. Release 8.4.5
E.143. E.148. Release 8.4.4
E.144. E.149. Release 8.4.3
E.145. E.150. Release 8.4.2
E.146. E.151. Release 8.4.1
E.147. E.152. Release 8.4
E.148. E.153. Release 8.3.23
E.149. E.154. Release 8.3.22
E.150. E.155. Release 8.3.21
E.151. E.156. Release 8.3.20
E.152. E.157. Release 8.3.19
E.153. E.158. Release 8.3.18
E.154. E.159. Release 8.3.17
E.155. E.160. Release 8.3.16
E.156. E.161. Release 8.3.15
E.157. E.162. Release 8.3.14
E.158. E.163. Release 8.3.13
E.159. E.164. Release 8.3.12
E.160. E.165. Release 8.3.11
E.161. E.166. Release 8.3.10
E.162. E.167. Release 8.3.9
E.163. E.168. Release 8.3.8
E.164. E.169. Release 8.3.7
E.165. E.170. Release 8.3.6
E.166. E.171. Release 8.3.5
E.167. E.172. Release 8.3.4
E.168. E.173. Release 8.3.3
E.169. E.174. Release 8.3.2
E.170. E.175. Release 8.3.1
E.171. E.176. Release 8.3
E.172. E.177. Release 8.2.23
E.173. E.178. Release 8.2.22
E.174. E.179. Release 8.2.21
E.175. E.180. Release 8.2.20
E.176. E.181. Release 8.2.19
E.177. E.182. Release 8.2.18
E.178. E.183. Release 8.2.17
E.179. E.184. Release 8.2.16
E.180. E.185. Release 8.2.15
E.181. E.186. Release 8.2.14
E.182. E.187. Release 8.2.13
E.183. E.188. Release 8.2.12
E.184. E.189. Release 8.2.11
E.185. E.190. Release 8.2.10
E.186. E.191. Release 8.2.9
E.187. E.192. Release 8.2.8
E.188. E.193. Release 8.2.7
E.189. E.194. Release 8.2.6
E.190. E.195. Release 8.2.5
E.191. E.196. Release 8.2.4
E.192. E.197. Release 8.2.3
E.193. E.198. Release 8.2.2
E.194. E.199. Release 8.2.1
E.195. E.200. Release 8.2
E.196. E.201. Release 8.1.23
E.197. E.202. Release 8.1.22
E.198. E.203. Release 8.1.21
E.199. E.204. Release 8.1.20
E.200. E.205. Release 8.1.19
E.201. E.206. Release 8.1.18
E.202. E.207. Release 8.1.17
E.203. E.208. Release 8.1.16
E.204. E.209. Release 8.1.15
E.205. E.210. Release 8.1.14
E.206. E.211. Release 8.1.13
E.207. E.212. Release 8.1.12
E.208. E.213. Release 8.1.11
E.209. E.214. Release 8.1.10
E.210. E.215. Release 8.1.9
E.211. E.216. Release 8.1.8
E.212. E.217. Release 8.1.7
E.213. E.218. Release 8.1.6
E.214. E.219. Release 8.1.5
E.215. E.220. Release 8.1.4
E.216. E.221. Release 8.1.3
E.217. E.222. Release 8.1.2
E.218. E.223. Release 8.1.1
E.219. E.224. Release 8.1
E.220. E.225. Release 8.0.26
E.221. E.226. Release 8.0.25
E.222. E.227. Release 8.0.24
E.223. E.228. Release 8.0.23
E.224. E.229. Release 8.0.22
E.225. E.230. Release 8.0.21
E.226. E.231. Release 8.0.20
E.227. E.232. Release 8.0.19
E.228. E.233. Release 8.0.18
E.229. E.234. Release 8.0.17
E.230. E.235. Release 8.0.16
E.231. E.236. Release 8.0.15
E.232. E.237. Release 8.0.14
E.233. E.238. Release 8.0.13
E.234. E.239. Release 8.0.12
E.235. E.240. Release 8.0.11
E.236. E.241. Release 8.0.10
E.237. E.242. Release 8.0.9
E.238. E.243. Release 8.0.8
E.239. E.244. Release 8.0.7
E.240. E.245. Release 8.0.6
E.241. E.246. Release 8.0.5
E.242. E.247. Release 8.0.4
E.243. E.248. Release 8.0.3
E.244. E.249. Release 8.0.2
E.245. E.250. Release 8.0.1
E.246. E.251. Release 8.0
E.247. E.252. Release 7.4.30
E.248. E.253. Release 7.4.29
E.249. E.254. Release 7.4.28
E.250. E.255. Release 7.4.27
E.251. E.256. Release 7.4.26
E.252. E.257. Release 7.4.25
E.253. E.258. Release 7.4.24
E.254. E.259. Release 7.4.23
E.255. E.260. Release 7.4.22
E.256. E.261. Release 7.4.21
E.257. E.262. Release 7.4.20
E.258. E.263. Release 7.4.19
E.259. E.264. Release 7.4.18
E.260. E.265. Release 7.4.17
E.261. E.266. Release 7.4.16
E.262. E.267. Release 7.4.15
E.263. E.268. Release 7.4.14
E.264. E.269. Release 7.4.13
E.265. E.270. Release 7.4.12
E.266. E.271. Release 7.4.11
E.267. E.272. Release 7.4.10
E.268. E.273. Release 7.4.9
E.269. E.274. Release 7.4.8
E.270. E.275. Release 7.4.7
E.271. E.276. Release 7.4.6
E.272. E.277. Release 7.4.5
E.273. E.278. Release 7.4.4
E.274. E.279. Release 7.4.3
E.275. E.280. Release 7.4.2
E.276. E.281. Release 7.4.1
E.277. E.282. Release 7.4
E.278. E.283. Release 7.3.21
E.279. E.284. Release 7.3.20
E.280. E.285. Release 7.3.19
E.281. E.286. Release 7.3.18
E.282. E.287. Release 7.3.17
E.283. E.288. Release 7.3.16
E.284. E.289. Release 7.3.15
E.285. E.290. Release 7.3.14
E.286. E.291. Release 7.3.13
E.287. E.292. Release 7.3.12
E.288. E.293. Release 7.3.11
E.289. E.294. Release 7.3.10
E.290. E.295. Release 7.3.9
E.291. E.296. Release 7.3.8
E.292. E.297. Release 7.3.7
E.293. E.298. Release 7.3.6
E.294. E.299. Release 7.3.5
E.295. E.300. Release 7.3.4
E.296. E.301. Release 7.3.3
E.297. E.302. Release 7.3.2
E.298. E.303. Release 7.3.1
E.299. E.304. Release 7.3
E.300. E.305. Release 7.2.8
E.301. E.306. Release 7.2.7
E.302. E.307. Release 7.2.6
E.303. E.308. Release 7.2.5
E.304. E.309. Release 7.2.4
E.305. E.310. Release 7.2.3
E.306. E.311. Release 7.2.2
E.307. E.312. Release 7.2.1
E.308. E.313. Release 7.2
E.309. E.314. Release 7.1.3
E.310. E.315. Release 7.1.2
E.311. E.316. Release 7.1.1
E.312. E.317. Release 7.1
E.313. E.318. Release 7.0.3
E.314. E.319. Release 7.0.2
E.315. E.320. Release 7.0.1
E.316. E.321. Release 7.0
E.317. E.322. Release 6.5.3
E.318. E.323. Release 6.5.2
E.319. E.324. Release 6.5.1
E.320. E.325. Release 6.5
E.321. E.326. Release 6.4.2
E.322. E.327. Release 6.4.1
E.323. E.328. Release 6.4
E.324. E.329. Release 6.3.2
E.325. E.330. Release 6.3.1
E.326. E.331. Release 6.3
E.327. E.332. Release 6.2.1
E.328. E.333. Release 6.2
E.329. E.334. Release 6.1.1
E.330. E.335. Release 6.1
E.331. E.336. Release 6.0
E.332. E.337. Release 1.09
E.333. E.338. Release 1.02
E.334. E.339. Release 1.01
E.335. E.340. Release 1.0
E.336. E.341. Release 0.03
E.337. E.342. Release 0.02
E.338. E.343.
PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Name

Synopsis

Options

Environment

Notes

See Also

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Name

Synopsis

Description @@ -270,7 +270,7 @@ >

Options

Environment

Notes

Examples

See Also

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Name

Synopsis

Description

Options

Notes

Example

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Name

Synopsis

Environment

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Name

Synopsis

Environment

Files

See Also

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Name

Synopsis

Options

Environment

Notes

See Also

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Name

Synopsis

Environment

See Also

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Name

Synopsis

Exit Status

Environment

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Name

Synopsis

Description @@ -220,7 +220,7 @@ >

Options

Environment

Notes

Examples

See Also

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Name

Synopsis

Description

Options

Environment

Examples

See Also

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Name

Synopsis

Options

Notes

See Also

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Name

Synopsis

Environment

See Also

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Name

Synopsis

Description

Options

Environment

Notes

How it works

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Name

Synopsis

Description

General Purpose

Semi-internal Options

Options for Single-User Mode

Environment

Diagnostics

Notes

See Also

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Name

Synopsis

Description

See Also

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Name

Synopsis

Description

Exit Status

Usage

psql testdb -psql (9.6.5) +psql (9.6.6) Type "help" for help. testdb=>

Advanced Features

Command-Line Editing

Files

Notes

Notes for Windows Users

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Name

Synopsis

Description

Options

Environment

Diagnostics

Notes

Examples

See Also

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Name

Synopsis

Description

Options

Environment

Diagnostics

Notes

Examples

See Also

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

F.2.1. Configuration Parameters

F.2.2. Author

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Users sometimes wonder why host names are handled diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/html/auth-username-maps.html postgresql-9.6-9.6.6/doc/src/sgml/html/auth-username-maps.html --- postgresql-9.6-9.6.5/doc/src/sgml/html/auth-username-maps.html 2017-08-28 21:38:06.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/html/auth-username-maps.html 2017-11-06 22:27:12.000000000 +0000 @@ -9,7 +9,7 @@ REV="MADE" HREF="mailto:pgsql-docs@postgresql.org">

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

F.3.1. Configuration Parameters

F.3.2. Example

F.3.3. Author

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

SQL

PostgreSQL-specific Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

F.4.1. Parameters

F.4.2. Examples

F.4.3. Operator Class Interface

F.4.4. Limitations

F.4.5. Authors

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

Symbols

A

akeys, hstore Operators and Functions
armor, armor(), dearmor()
Aggregate Functions, Functions
auth_delay.milliseconds configuration parameter, Configuration Parameters
auto_explain.log_analyze configuration parameter, Configuration Parameters
auto_explain.log_buffers configuration parameter, Configuration Parameters
auto_explain.log_format configuration parameter, Configuration Parameters
auto_explain.log_min_duration configuration parameter, Configuration Parameters
auto_explain.log_nested_statements configuration parameter, Configuration Parameters
auto_explain.log_timing configuration parameter, Configuration Parameters
auto_explain.log_triggers configuration parameter, Configuration Parameters
auto_explain.log_verbose configuration parameter, Configuration Parameters
auto_explain.sample_rate configuration parameter, Configuration Parameters
avals, hstore Operators and Functions

B

brin_metapage_info, Functions
brin_page_items, Functions
brin_page_type, Functions
brin_revmap_data, Functions
bt_metap, Functions
bt_page_items, Functions
bt_page_stats, Functions

C

cluster_name configuration parameter, Process Title
in SQL functions, SQL Functions with Collations
connectby, Functions Provided, connectby
in PL/pgSQL, CONTINUE
control file, Extension Files
crosstab, crosstab(text), crosstabN(text), crosstab(text, text)
crypt, crypt()
System Columns, View Rules in Non-SELECT Statements

D

dearmor, armor(), dearmor()
decrypt, Raw Encryption Functions
decrypt_iv, Raw Encryption Functions
defined, hstore Operators and Functions
DELETE, hstore Operators and Functions
difference, Soundex
digest, digest()
dmetaphone, Double Metaphone
dmetaphone_alt, Double Metaphone

E

each, hstore Operators and Functions
earth, Cube-based Earth Distances
earth_box, Cube-based Earth Distances
earth_distance, Cube-based Earth Distances
encrypt, Raw Encryption Functions
encrypt_iv, Raw Encryption Functions
exist, hstore Operators and Functions
in PL/pgSQL, EXIT

F

fsm_page_contents, Functions

G

gc_to_sec, Cube-based Earth Distances
gen_random_bytes, Random-Data Functions
gen_random_uuid, Random-Data Functions
gen_salt, gen_salt()
get_raw_page, Functions
gin_leafpage_items, Functions
gin_metapage_info, Functions
gin_page_opaque_info, Functions

H

heap_page_items, Functions
heap_page_item_attrs, Functions
hmac, hmac()
hstore, hstore Operators and Functions
hstore_to_array, hstore Operators and Functions
hstore_to_json, hstore Operators and Functions
hstore_to_jsonb, hstore Operators and Functions
hstore_to_jsonb_loose, hstore Operators and Functions
hstore_to_json_loose, hstore Operators and Functions
hstore_to_matrix, hstore Operators and Functions

I

icount, intarray Functions and Operators
idx, intarray Functions and Operators
Indexes, Operators and Functions
intset, intarray Functions and Operators
int_array_aggregate, Functions
int_array_enum, Functions
IS DOCUMENT, IS DOCUMENT
isn_weak, Functions and Operators
is_valid, Functions and Operators

J

K

L

latitude, Cube-based Earth Distances
lca, Operators and Functions
ldconfig, Shared Libraries
levenshtein, Levenshtein
levenshtein_less_equal, Levenshtein
and locales, Behavior
ll_to_earth, Cube-based Earth Distances
Logical Decoding, Logical Decoding
longitude, Cube-based Earth Distances
and locales, Behavior
ltree2text, Operators and Functions

M

make_valid, Functions and Operators
MANPATH, Environment Variables
metaphone, Metaphone

N

nlevel, Operators and Functions
normal_rand, normal_rand
in PL/Python, Null, None

O

and locales, Behavior

P

page_header, Functions
palloc, Writing Code
Geometric Functions and Operators, Environment Variables
pfree, Writing Code
pgp_armor_headers, pgp_armor_headers
pgp_key_id, pgp_key_id()
pgp_pub_decrypt, pgp_pub_decrypt()
pgp_pub_decrypt_bytea, pgp_pub_decrypt()
pgp_pub_encrypt, pgp_pub_encrypt()
pgp_pub_encrypt_bytea, pgp_pub_encrypt()
pgp_sym_decrypt, pgp_sym_decrypt()
pgp_sym_decrypt_bytea, pgp_sym_decrypt()
pgp_sym_encrypt, pgp_sym_encrypt()
pgp_sym_encrypt_bytea, pgp_sym_encrypt()
pgrowlocks, Overview
pgstatginindex, Functions
pgstatindex, Functions
pgstattuple, Functions
pgstattuple_approx, Functions
with user-defined C functions, Writing Code
pg_freespace, Functions
pg_notify, pg_notify
pg_relpages, Functions
function, Functions
pg_stat_statements_reset, Functions
pg_trgm.similarity_threshold configuration parameter, GUC Parameters
pg_trgm.word_similarity_threshold configuration parameter, GUC Parameters
populate_record, hstore Operators and Functions
in PL/Python, Database Access Functions

Q

R

and locales, Behavior
in PL/pgSQL, RETURN NEXT and RETURN QUERY
in PL/pgSQL, RETURN NEXT and RETURN QUERY

S

sec_to_gc, Cube-based Earth Distances
set_limit, Functions and Operators
shared library, Shared Libraries,
shared_preload_libraries, Shared Memory and LWLocks
show_limit, Functions and Operators
show_trgm, Functions and Operators
similarity, Functions and Operators
single-user mode, Options for Single-User Mode
skeys, hstore Operators and Functions
slice, hstore Operators and Functions
sort, intarray Functions and Operators
sort_asc, intarray Functions and Operators
sort_desc, intarray Functions and Operators
soundex, Soundex
ssl_cipher, Functions Provided
ssl_client_cert_present, Functions Provided
ssl_client_dn, Functions Provided
ssl_client_dn_field, Functions Provided
ssl_client_serial, Functions Provided
ssl_extension_info, Functions Provided
ssl_issuer_dn, Functions Provided
ssl_issuer_field, Functions Provided
ssl_is_used, Functions Provided
ssl_version, Functions Provided
subarray, intarray Functions and Operators
subltree, Operators and Functions
subpath, Operators and Functions
svals, hstore Operators and Functions

T

text2ltree, Operators and Functions
per-column storage settings, Description
and locales, Behavior
tuple_data_split, Functions

U

unaccent, Functions
uniq, intarray Functions and Operators
update_process_title configuration parameter, Process Title
and locales, Behavior
uuid_generate_v1, uuid-ossp Functions
uuid_generate_v1mc, uuid-ossp Functions
uuid_generate_v3, uuid-ossp Functions

V

W

in PL/pgSQL, WHILE
word_similarity, Functions and Operators

X

xmlcomment, xmlcomment
xmlconcat, xmlconcat
xmlelement, xmlelement
xmlforest, xmlforest
xmlpi, xmlpi
xmlroot, xmlroot
xpath_table, xpath_table
xslt_process, xslt_process

Y

Z

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

F.5.1. Example Usage

F.5.2. Authors

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

F.6.1. Example Usage

F.6.2. Authors

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

If your version is older than 9.6.5 we will almost certainly +> If your version is older than 9.6.6 we will almost certainly tell you to upgrade. There are many bug fixes and improvements in each new release, so it is quite possible that a bug you have encountered in an older release of

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
23.1.1. Overview
23.1.2. Behavior
23.1.3. Problems
23.2.1. Concepts
23.2.2. Managing Collations
23.3.2. Setting the Character Set
23.3.3. Automatic Character Set Conversion Between Server and Client
23.3.4. Further Reading
PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

F.7.1. Author

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

F.8.1. Rationale

F.8.2. How to Use It

F.8.3. String Comparison Behavior

F.8.4. Limitations

F.8.5. Author

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

This part describes the client programming interfaces distributed diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/html/collation.html postgresql-9.6-9.6.6/doc/src/sgml/html/collation.html --- postgresql-9.6-9.6.5/doc/src/sgml/html/collation.html 2017-08-28 21:38:06.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/html/collation.html 2017-11-06 22:27:12.000000000 +0000 @@ -9,7 +9,7 @@ REV="MADE" HREF="mailto:pgsql-docs@postgresql.org">

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

23.2.1. Concepts

23.2.2. Managing Collations

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

19.1.4. Parameter Interaction via the Shell

PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
SELECT * FROM pg_stop_backup(false);

- This terminates the backup mode and performs an automatic switch to - the next WAL segment. The reason for the switch is to arrange for + This terminates backup mode. On a primary, it also performs an automatic + switch to the next WAL segment. On a standby, it is not possible to + automatically switch WAL segments, so you may wish to run + pg_switch_xlog on the primary to perform a manual + switch. The reason for the switch is to arrange for the last WAL segment file written during the backup interval to be ready to archive.

pg_stop_backup's first return value is the last segment that is required to form a complete set of - backup files. If archive_mode is enabled, @@ -877,6 +883,14 @@ > terminates because of this your backup may not be valid.

Note that on a standby pg_stop_backup does not wait for + WAL segments to be archived so the backup process must ensure that all WAL + segments required for the backup are successfully archived. +

@@ -892,9 +906,12 @@ >

The process for an exclusive backup is mostly the same as for a - non-exclusive one, but it differs in a few key steps. It does not allow - more than one concurrent backup to run, and there can be some issues on - the server if it crashes during the backup. Prior to PostgreSQL 9.6, this + non-exclusive one, but it differs in a few key steps. This type of backup + can only be taken on a primary and does not allow concurrent backups. + Prior to PostgreSQL 9.6, this was the only low-level method available, but it is now recommended that all users upgrade their scripts to use non-exclusive backups if possible.

for things to consider during this backup.

Note that if the server crashes during the backup it may not be + possible to restart until the backup_label file has been + manually deleted from the PGDATA directory. +

  • PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
  • Name

    Synopsis

    Description

    Arguments

    Return Value

    Notes

    Examples

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    Notes

    Examples

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    Notes

    Examples

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    Examples

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    Notes

    Examples

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    Notes

    Examples

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    Examples

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    Examples

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    Examples

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    Notes

    Examples

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    Notes

    Examples

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Return Value

    Examples

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    Examples

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    Examples

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    Notes

    Examples

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    Examples

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    Notes

    Examples

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    Examples

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.36.1. refint — Functions for Implementing Referential Integrity

    F.36.2. timetravel — Functions for Implementing Time Travel

    F.36.3. autoinc — Functions for Autoincrementing Fields

    F.36.4. insert_username — Functions for Tracking Who Changed a Table

    F.36.5. moddatetime — Functions for Tracking Last Modification Time

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.9.1. Syntax

    F.9.2. Precision

    F.9.3. Usage

    F.9.4. Defaults

    F.9.5. Notes

    F.9.6. Credits

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.11.1. Configuration

    F.11.2. Usage

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.12.1. Configuration

    F.12.2. Usage

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    J.4.1. Emacs/PSGML

    J.4.2. Other Emacs Modes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    J.3.1. HTML

    J.3.2. Manpages

    J.3.3. Print Output via JadeTeX

    J.3.4. Overflow Text

    J.3.5. Print Output via RTF

    J.3.6. Plain Text Files

    J.3.7. Syntax Check

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    J.5.1. Reference Pages

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    J.2.1. Installation on Fedora, RHEL, and Derivatives

    J.2.2. Installation on FreeBSD

    J.2.3. Debian Packages

    J.2.4. OS X

    J.2.5. Manual Installation from Source

    J.2.5.1. Installing OpenJade

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.13.1. Cube-based Earth Distances

    F.13.2. Point-based Earth Distances

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    34.7.2.1. SQLDA Data Structure

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Compatibility

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    +1][b]bool[c]Section 34.4.4.2.
    b. declared in ecpglib.h
    c. declared in

    34.4.4.2.1. timestamp, date

    34.4.4.3.3. Typedefs

    34.4.4.3.4. Pointers

    34.4.5.1. Arrays

    34.4.5.2. Composite Types

    34.4.5.3. User-defined Base Types

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5. (Some are not actually +> 9.6.6. (Some are not actually used at present, but are defined by the SQL standard.) The error classes are also shown. For each error class there is a
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    errno. [1][1]
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    52.3.1. What Goes Where

    52.3.2. Formatting

    52.3.3. Quotation Marks

    52.3.4. Use of Quotes

    52.3.5. Grammar and Punctuation

    52.3.6. Upper Case vs. Lower Case

    52.3.7. Avoid Passive Voice

    52.3.8. Present vs. Past Tense

    52.3.9. Type of the Object

    52.3.10. Brackets

    52.3.11. Assembling Error Messages

    52.3.12. Reasons for Errors

    52.3.13. Function Names

    52.3.14. Tricky Words to Avoid

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    -
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    36.15.1. Extension Files

    36.15.4. Extension Updates

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    36.2.1. Base Types
    36.2.2. Composite Types
    36.2.4. Pseudo-Types
    36.4.10. Polymorphic SQL
    36.4.11. SQL
    36.9.3. Version 0 Calling Conventions
    36.9.4. Version 1 Calling Conventions
    36.9.5. Writing Code
    36.9.7. Composite-type Arguments
    36.9.8. Returning Rows (Composite Types)
    36.9.10. Polymorphic Arguments and Return Types
    36.9.12. Shared Memory and LWLocks
    36.13.1. COMMUTATOR
    36.13.2. NEGATOR
    36.13.3. RESTRICT
    36.13.4. JOIN
    36.13.5. HASHES
    36.13.6. MERGES
    36.15.1. Extension Files
    36.15.4. Extension Updates
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    36.2.1. Base Types

    36.2.2. Composite Types

    36.2.4. Pseudo-Types

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

     
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    tablespace_map are returned in the result of the function, and should be written to files in the - backup (and not in the data directory). + backup (and not in the data directory). When executed on a primary + pg_stop_backup will wait for WAL to be archived, provided that + archiving is enabled. +

    On a standby pg_stop_backup will return immediately without + waiting, so it's important to verify that all required WAL segments have + been archived. If write activity on the primary is low, it may be useful + to run pg_switch_xlog on the primary in order to trigger a + segment switch.

    The function also creates a backup history file in the transaction log +> When executed on a primary, the function also creates a backup history file + in the write-ahead log archive area. The history file includes the label given to

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    9.23.2. NOT IN

    9.23.3. ANY

    9.23.4. ALL
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    The seconds field, including fractional parts (0 - 59[1][1]

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    9digit position (can be dropped if insignificant)digit position (will not be dropped, even if insignificant)group (thousands) separatorfill mode (suppress trailing zeroes and padding blanks)
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    9.22.6. Single-row Comparison
    9.23.2. NOT IN
    9.23.3. ANY
    9.23.4. ALL
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    9.22.6. Single-row Comparison

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    9.14.1.1. xmlcomment

    9.14.1.2. xmlconcat

    9.14.1.3. xmlelement

    9.14.1.4. xmlforest

    9.14.1.5. xmlpi

    9.14.1.6. xmlroot

    9.14.2.1. IS DOCUMENT
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.15.1. Soundex

    F.15.2. Levenshtein

    F.15.3. Metaphone

    F.15.4. Double Metaphone

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    58.3.1. Generating Possible Plans with GEQO
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    value with the specified number of digits
    0value with leading zeros
    , (comma)group (thousand) separator

    • 0 specifies a digit position that will always be printed, + even if it contains a leading/trailing zero. 9 also + specifies a digit position, but if it is a leading zero then it will + be replaced by a space, while if it is a trailing zero and fill mode + is specified then it will be deleted. (For to_number(), + these two pattern characters are equivalent.) +

    • The pattern characters S, L, D, + and G represent the sign, currency symbol, decimal point, + and thousands separator characters defined by the current locale + (see lc_monetary + and lc_numeric). The pattern characters period + and comma represent those exact characters, with the meanings of + decimal point and thousands separator, regardless of locale. +

    • If no explicit provision is made for a sign + in to_char()'s pattern, one column will be reserved for + the sign, and it will be anchored to (appear just left of) the + number. If S appears just left of some 9's, + it will likewise be anchored to the number. +

    • A sign formatted using SG'  -12'. - The Oracle implementation does not allow the use of + (The Oracle implementation does not allow the use of MIMI. -

    • 9 results in a value with the same number of - digits as there are 9s. If a digit is - not available it outputs a space. +>.)

    • Certain modifiers can be applied to any template pattern to alter its behavior. For example, FM9999FM99.99 is the 999999.99 pattern with the FM prefix
    fill mode (suppress leading zeroes and padding blanks)FM9999FM99.99
    to_char(-0.1, 'FM90.99')'-0.1'
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    58.3.1. Generating Possible Plans with GEQO
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.16.1. hstore

    F.16.2. hstore

    F.16.3. Indexes

    F.16.4. Examples

    F.16.5. Statistics

    F.16.6. Compatibility

    F.16.7. Transforms

    F.16.8. Authors

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    16.5.1. Shared Libraries
    16.5.2. Environment Variables
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    16.7.1.1. GCC Issues

    16.7.1.2. Unix-Domain Sockets Broken

    16.7.1.3. Internet Address Issues

    16.7.1.4. Memory Management

    References and Resources

    The PostgreSQL 9.6.5 sources can be obtained from the +> 9.6.6 sources can be obtained from the download section of our website: . You should get a file named postgresql-9.6.5.tar.gzpostgresql-9.6.6.tar.gz or postgresql-9.6.5.tar.bz2postgresql-9.6.6.tar.bz2. After you have obtained the file, unpack it:

    gunzip postgresql-9.6.5.tar.gzgunzip postgresql-9.6.6.tar.gz
     tar xf postgresql-9.6.5.tartar xf postgresql-9.6.6.tar

    (Use postgresql-9.6.5postgresql-9.6.6 under the current directory with the

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    16.5.1. Shared Libraries

    16.5.2. Environment Variables

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    environment set up, the easiest ways are to use the compilers from Visual Studio Express 2015 +>Visual Studio Express 2017 for Windows Desktop or those in the Windows SDK - 7.1, which are both free downloads from Microsoft.

    to Visual Studio 2015Visual Studio 2017 (including Express editions), - as well as standalone Windows SDK releases 6.0 to 7.1. + as well as standalone Windows SDK releases 6.0 to 8.1. 64-bit PostgreSQL builds are supported with Microsoft Windows SDK version 6.0a to 7.1 or +> version 6.0a to 8.1 or Visual Studio 2008Windows Server 2008. + Building with Visual Studio 2017 is supported + down to Windows 7 SP1 and Windows Server 2008 R2 SP1.

    The tools for building using

    17.1.1. Requirements

    17.1.2. Special Considerations for 64-bit Windows

    17.1.3. Building

    17.1.4. Cleaning and Installing

    17.1.5. Running the Regression Tests

    17.1.6. Building the Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    17.1.1. Requirements
    17.1.2. Special Considerations for 64-bit Windows
    17.1.3. Building
    17.1.4. Cleaning and Installing
    17.1.5. Running the Regression Tests
    17.1.6. Building the Documentation
    . The simplest way to build with Microsoft tools is to install Visual Studio Express 2015 +>Visual Studio Express 2017 for Windows Desktop and use the included compiler. It is also possible to build with the full Microsoft Visual C++ 2005 to 2015Microsoft Visual C++ 2005 to 2017. In some cases that requires the installation of the
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    17.2.1. Generated Files

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.17.1. Functions

    F.17.2. Sample Uses

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.18.1. intarray

    F.18.2. Index Support

    F.18.3. Example

    F.18.4. Benchmark

    F.18.5. Authors

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    This part contains assorted information that might be of use to diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/html/intro-whatis.html postgresql-9.6-9.6.6/doc/src/sgml/html/intro-whatis.html --- postgresql-9.6-9.6.5/doc/src/sgml/html/intro-whatis.html 2017-08-28 21:37:55.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/html/intro-whatis.html 2017-11-06 22:27:01.000000000 +0000 @@ -9,7 +9,7 @@ REV="MADE" HREF="mailto:pgsql-docs@postgresql.org">

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.19.1. Data Types

    F.19.2. Casts

    F.19.3. Functions and Operators

    F.19.4. Examples

    F.19.5. Bibliography

    F.19.6. Author

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    18.4.2. Resource Limits

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    32.1.1.1. Keyword/Value Connection Strings

    32.1.1.2. Connection URIs

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Returns the number of rows (tuples) in the query result. Because - it returns an integer result, large result sets might overflow the - return value on 32-bit operating systems. +> Returns the number of rows (tuples) in the query result. + (Note that PGresult objects are limited to no more + than INT_MAX rows, so an int result is + sufficient.)

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    23.1.1. Overview

    23.1.2. Behavior

    23.1.3. Problems

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    is an external project that does sophisticated log file analysis.
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    view and the pg_stat_replication
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    47.2.1. Logical Decoding

    47.2.3. Output Plugins

    47.2.4. Exported Snapshots

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    47.2.1. Logical Decoding
    47.2.3. Output Plugins
    47.2.4. Exported Snapshots
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.20.1. Rationale

    F.20.2. How to Use It

    F.20.3. Limitations

    F.20.4. Author

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.21.1. Definitions

    F.21.2. Operators and Functions

    F.21.3. Indexes

    F.21.4. Example

    F.21.5. Transforms

    F.21.6. Authors

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    23.3.2. Setting the Character Set

    23.3.3. Automatic Character Set Conversion Between Server and Client

    23.3.4. Further Reading

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    53.1.1. Requirements
    53.1.2. Concepts
    53.1.3. Creating and Maintaining Message Catalogs
    53.1.4. Editing the PO Files
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    53.1.1. Requirements

    53.1.2. Concepts

    53.1.3. Creating and Maintaining Message Catalogs

    53.1.4. Editing the PO Files

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    and checkpoint_timeout ; this reduces the frequency +>; this reduces the frequency of checkpoints, but increases the storage requirements of
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Options

    Notes

    Examples

    Author

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    49.3.1. Parser
    49.3.2. Transformation Process
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.22.1. Functions

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    49.3.1. Parser

    49.3.2. Transformation Process

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Options

    Notes

    Examples

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Options

    Notes

    What is the

    Custom Scripts

    Per-Transaction Logging

    Aggregated Logging

    Per-Statement Latencies

    Good Practices

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.24.1. The pg_buffercache

    F.24.2. Sample Output

    F.24.3. Authors

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.25.1. General Hashing Functions

    F.25.1.1. digest()

    F.25.1.2. hmac()

    F.25.2. Password Hashing Functions

    F.25.2.1. crypt()

    F.25.2.2. gen_salt()

    F.25.3. PGP Encryption Functions

    F.25.3.1. pgp_sym_encrypt()

    F.25.3.2. pgp_sym_decrypt()

    F.25.3.3. pgp_pub_encrypt()

    F.25.3.4. pgp_pub_decrypt()

    F.25.3.5. pgp_key_id()

    F.25.3.6. armor()

    F.25.3.7. pgp_armor_headers

    F.25.3.8. Options for PGP Functions

    F.25.3.8.1. cipher-algo

    F.25.3.8.2. compress-algo

    F.25.3.8.3. compress-level

    F.25.3.8.4. convert-crlf

    F.25.3.8.5. disable-mdc

    F.25.3.8.6. sess-key

    F.25.3.8.7. s2k-mode

    F.25.3.8.8. s2k-count

    F.25.3.8.9. s2k-digest-algo

    F.25.3.8.10. s2k-cipher-algo

    F.25.3.8.11. unicode-mode

    F.25.3.9. Generating PGP Keys with GnuPG

    F.25.3.10. Limitations of PGP Code

    F.25.4. Raw Encryption Functions

    F.25.5. Random-Data Functions

    F.25.6. Notes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.26.1. Functions

    F.26.2. Sample Output

    F.26.3. Author

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.27.1. Functions

    F.27.2. Author

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.28.1. Overview

    F.28.2. Sample Output

    F.28.3. Author

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Options

    Notes

    Examples

    Author

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.29.1. The pg_stat_statements

    F.29.2. Functions

    F.29.3. Configuration Parameters

    F.29.4. Sample Output

    F.29.5. Authors

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.30.1. Functions

    F.30.2. Authors

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Options

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Options

    Usage

    Interpreting results

    Measuring executor timing overhead

    Changing time sources

    Clock hardware and timing accuracy

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.31.1. Trigram (or Trigraph) Concepts

    F.31.2. Functions and Operators

    F.31.3. GUC Parameters

    F.31.4. Index Support

    F.31.5. Text Search Integration

    F.31.6. References

    F.31.7. Authors

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Options

    Usage

    Prepare for standby server upgrades

    If you are upgrading standby servers (as outlined in section If you are upgrading standby servers using methods outlined in section step 10), verify that the old standby +>, verify that the old standby servers are caught up by running pg_controldata"Latest checkpoint location" values match in all clusters. (There will be a mismatch if old standby servers were shut down - before the old primary.) -

    Also, if upgrading standby servers, change wal_level - to to + replica in the postgresql.conf file on - the new master cluster. +> file on the + new primary cluster.

  • Upgrade Streaming Replication and Log-Shipping standby servers

    If you have Streaming Replication (see If you used link mode and have Streaming Replication (see Section 26.2.5) or Log-Shipping (see Section 26.2) standby servers, follow these steps to - upgrade them. You will not be running ) standby servers, you can follow these steps to + quickly upgrade them. You will not be running pg_upgrade - on the standby servers, but rather on + the standby servers, but rather rsync on the primary. + Do not start any servers yet. +

    If you did not use link mode, do not have or do not + want to use rsync. Do not - start any servers yet. +>, or want an easier solution, skip + the instructions in this section and simply recreate the standby + servers once pg_upgrade completes and the new primary + is running.

      initdb was run, delete - the standby server data directories. + the standby servers' new data directories.

    1. Install the same custom shared object files on the new standbys - that you installed in the new master cluster. + that you installed in the new primary cluster.

    2. Save configuration files

      Save any configuration files from the standbys you need to keep, - e.g. Save any configuration files from the old standbys' data + directories you need to keep, e.g. postgresql.conf, , + recovery.conf, - as these will be overwritten or removed in the next step. +>, because these will be overwritten or + removed in the next step.

    3. From a directory that is above the old and new database cluster - directories, run this for each slave: +> When using link mode, standby servers can be quickly upgraded using + rsync. To accomplish this, from a directory on + the primary server that is above the old and new database cluster + directories, run this on the primary for each standby + server:

      rsync --archive --delete --hard-links --size-only old_pgdata new_pgdata remote_dir
      rsync --archive --delete --hard-links --size-only --no-inc-recursive old_pgdata new_pgdata remote_dir

      where new_pgdata are relative - to the current directory, and remote_dir is - + is above the old and new cluster directories on - the standby server. The old and new relative cluster paths - must match on the master and standby server. Consult the +> the old and new cluster directories + on the standby. The directory structure under the specified + directories on the primary and standbys must match. Consult the rsync manual page for details on specifying the - remote directory, e.g. standbyhost:/opt/PostgreSQL/. + remote directory, e.g. + +

      rsync --archive --delete --hard-links --size-only --no-inc-recursive /opt/PostgreSQL/9.5/data \
      +      /opt/PostgreSQL/9.6/data standby.example.com:/opt/PostgreSQL

      + + You can verify what the command will do using rsync will be fast when 's --dry-run option. While + rsync must be run on the primary for at least one + standby, it is possible to run rsync on an upgraded + standby to upgrade other standbys, as long as the upgraded standby + has not been started. +

      What this does is to record the links created by + pg_upgrade's - --link mode is used because it will create hard links - on the remote server rather than transferring user data. - Unfortunately, 's link mode that connect files in the + old and new clusters on the primary server. It then finds matching + files in the standby's old cluster and creates links for them in the + standby's new cluster. Files that were not linked on the primary + are copied from the primary to the standby. (They are usually + small.) This provides rapid standby upgrades. Unfortunately, + rsync needlessly copies the - files associated with temporary and unlogged tables. +> needlessly copies files associated with + temporary and unlogged tables because these files don't normally + exist on standby servers.

      If you have tablespaces, you will need to run a similar rsync command for each tablespace directory. If you - have relocated command for each tablespace directory, e.g.: + +

      rsync --archive --delete --hard-links --size-only --no-inc-recursive /vol1/pg_tblsp/PG_9.5_201510051 \
      +      /vol1/pg_tblsp/PG_9.6_201608131 standby.example.com:/vol1/pg_tblsp

      + + If you have relocated pg_xlog outside the data directories, - outside the data + directories, rsync must be run on those directories too. +> must be run on those directories + too.

    4. pg_stop_backup() - or take a file system backup as the slaves are still synchronized - with the master.) + or take a file system backup as the standbys are still synchronized + with the primary.)

    Notes

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
  • F.32.1. Functions

    F.32.2. Author

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Options

    Notes

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    49.5.1. Generating Possible Plans

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    41.6.1.1. RETURN

    41.6.1.2. RETURN NEXT

    41.6.2.1. IF-THEN

    41.6.2.2. IF-THEN-ELSE

    41.6.2.3. IF-THEN-ELSIF

    41.6.2.4. Simple CASE

    41.6.2.5. Searched CASE

    41.6.3.1. LOOP

    41.6.3.2. EXIT

    41.6.3.3. CONTINUE

    41.6.3.4. WHILE
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    41.7.2.1. OPEN FOR

    41.7.2.2. OPEN FOR EXECUTE

    41.7.3.1. FETCH

    41.7.3.2. MOVE

    41.7.3.3. UPDATE/DELETE WHERE CURRENT OF

    41.7.3.4. CLOSE

    41.7.3.5. Returning Cursors

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    41.12.1. Porting Examples
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    41.12.1. Porting Examples

    41.12.2.2. EXECUTE
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    44.7.1. Database Access Functions

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    44.3.1. Data Type Mapping

    44.3.2. Null, None

    44.3.4. Composite Types

    44.3.5. Set-returning Functions

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    44.3.1. Data Type Mapping
    44.3.2. Null, None
    44.3.4. Composite Types
    44.3.5. Set-returning Functions
    44.7.1. Database Access Functions
    44.8.1. Subtransaction Context Managers
    44.8.2. Older Python Versions
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    44.8.1. Subtransaction Context Managers

    44.8.2. Older Python Versions

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    [1][1]
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.33.1. FDW Options of postgres_fdw

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PrevPostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    51.2.1. Start-up

    51.2.2. Simple Query

    51.2.4. Function Call

    51.2.7. Canceling Requests in Progress

    51.2.8. Termination

    51.2.9. SSL
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    51.2.1. Start-up
    51.2.2. Simple Query
    51.2.4. Function Call
    51.2.7. Canceling Requests in Progress
    51.2.8. Termination
    51.2.9. SSL
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    This part contains reference information for diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/html/reference.html postgresql-9.6-9.6.6/doc/src/sgml/html/reference.html --- postgresql-9.6-9.6.5/doc/src/sgml/html/reference.html 2017-08-28 21:38:25.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/html/reference.html 2017-11-06 22:27:31.000000000 +0000 @@ -9,7 +9,7 @@ REV="MADE" HREF="mailto:pgsql-docs@postgresql.org">

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    The entries in this Reference are meant to provide in reasonable diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/html/reference-server.html postgresql-9.6-9.6.6/doc/src/sgml/html/reference-server.html --- postgresql-9.6-9.6.5/doc/src/sgml/html/reference-server.html 2017-08-28 21:38:25.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/html/reference-server.html 2017-11-06 22:27:31.000000000 +0000 @@ -9,7 +9,7 @@ REV="MADE" HREF="mailto:pgsql-docs@postgresql.org">

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    This part contains reference information for diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/html/regress-coverage.html postgresql-9.6-9.6.6/doc/src/sgml/html/regress-coverage.html --- postgresql-9.6-9.6.5/doc/src/sgml/html/regress-coverage.html 2017-08-28 21:38:08.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/html/regress-coverage.html 2017-11-06 22:27:14.000000000 +0000 @@ -9,7 +9,7 @@ REV="MADE" HREF="mailto:pgsql-docs@postgresql.org">

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    31.2.1. Error Message Differences

    31.2.2. Locale Differences

    31.2.3. Date and Time Differences

    31.2.4. Floating-Point Differences

    31.2.5. Row Ordering Differences

    31.2.6. Insufficient Stack Depth

    31.2.7. The "random"

    31.2.8. Configuration Parameters

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    31.1.1. Running the Tests Against a Temporary Installation
    31.1.2. Running the Tests Against an Existing Installation
    31.1.3. Additional Test Suites
    31.1.4. Locale and Encoding
    31.1.5. Extra Tests
    31.1.6. Testing Hot Standby
    31.2.1. Error Message Differences
    31.2.2. Locale Differences
    31.2.3. Date and Time Differences
    31.2.4. Floating-Point Differences
    31.2.5. Row Ordering Differences
    31.2.6. Insufficient Stack Depth
    31.2.7. The "random"
    31.2.8. Configuration Parameters
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    31.1.1. Running the Tests Against a Temporary Installation

    31.1.2. Running the Tests Against an Existing Installation

    31.1.3. Additional Test Suites

    31.1.4. Locale and Encoding

    31.1.5. Extra Tests

    31.1.6. Testing Hot Standby

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.338. E.343. Postgres95 Release 0.01
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.337. E.342. Postgres95 Release 0.02

    E.337.1. ChangesE.342.1. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.336. E.341. Postgres95 Release 0.03

    E.336.1. ChangesE.341.1. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.334. Release 1.01E.339. Release 1.01

    E.334.1. Migration from version 1.0 to version 1.01E.339.1. Migration from version 1.0 to version 1.01

    The following notes are for the benefit of users who want to migrate @@ -313,8 +313,8 @@ >

    E.334.2. ChangesE.339.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.333. Release 1.02E.338. Release 1.02

    E.333.1. Migration from version 1.02 to version 1.02.1E.338.1. Migration from version 1.02 to version 1.02.1

    Here is a new migration file for 1.02.1. It includes the 'copy' change @@ -189,8 +189,8 @@ >

    E.333.2. Dump/Reload ProcedureE.338.2. Dump/Reload Procedure

    If you are trying to reload a pg_dump or text-mode,

    E.333.3. ChangesE.338.3. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.332. Release 1.09E.337. Release 1.09
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.335. Release 1.0E.340. Release 1.0

    E.335.1. ChangesE.340.1. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.331. Release 6.0E.336. Release 6.0

    E.331.1. Migration from version 1.09 to version 6.0E.336.1. Migration from version 1.09 to version 6.0

    This migration requires a complete dump of the 1.09 database and a @@ -125,8 +125,8 @@ >

    E.331.2. Migration from pre-1.09 to version 6.0E.336.2. Migration from pre-1.09 to version 6.0

    Those migrating from earlier 1.* releases should first upgrade to 1.09 @@ -137,8 +137,8 @@ >

    E.331.3. ChangesE.336.3. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.329. Release 6.1.1E.334. Release 6.1.1

    E.329.1. Migration from version 6.1 to version 6.1.1E.334.1. Migration from version 6.1 to version 6.1.1

    This is a minor bug-fix release. A dump/reload is not required from version 6.1, @@ -120,8 +120,8 @@ >

    E.329.2. ChangesE.334.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.330. Release 6.1E.335. Release 6.1

    E.330.1. Migration to Version 6.1E.335.1. Migration to Version 6.1

    This migration requires a complete dump of the 6.0 database and a @@ -208,8 +208,8 @@ >

    E.330.2. ChangesE.335.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.327. Release 6.2.1E.332. Release 6.2.1

    E.327.1. Migration from version 6.2 to version 6.2.1E.332.1. Migration from version 6.2 to version 6.2.1

    This is a minor bug-fix release. A dump/reload is not required from version 6.2, @@ -162,8 +162,8 @@ >

    E.327.2. ChangesE.332.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.328. Release 6.2E.333. Release 6.2

    E.328.1. Migration from version 6.1 to version 6.2E.333.1. Migration from version 6.1 to version 6.2

    This migration requires a complete dump of the 6.1 database and a @@ -134,8 +134,8 @@ >

    E.328.2. Migration from version 1.E.333.2. Migration from version 1.x

    E.328.3. ChangesE.333.3. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    E.325. Release 6.3.1E.330. Release 6.3.1

    E.325.1. ChangesE.330.1. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.324. Release 6.3.2E.329. Release 6.3.2

    E.324.1. ChangesE.329.1. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.326. Release 6.3E.331. Release 6.3

    E.326.1. Migration to Version 6.3E.331.1. Migration to Version 6.3

    A dump/restore using

    E.326.2. ChangesE.331.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.322. Release 6.4.1E.327. Release 6.4.1

    E.322.1. Migration to Version 6.4.1E.327.1. Migration to Version 6.4.1

    A dump/restore is

    E.322.2. ChangesE.327.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.321. Release 6.4.2E.326. Release 6.4.2

    E.321.1. Migration to Version 6.4.2E.326.1. Migration to Version 6.4.2

    A dump/restore is

    E.321.2. ChangesE.326.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.323. Release 6.4E.328. Release 6.4

    E.323.1. Migration to Version 6.4E.328.1. Migration to Version 6.4

    A dump/restore using

    E.323.2. ChangesE.328.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.319. Release 6.5.1E.324. Release 6.5.1

    E.319.1. Migration to Version 6.5.1E.324.1. Migration to Version 6.5.1

    A dump/restore is

    E.319.2. ChangesE.324.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.318. Release 6.5.2E.323. Release 6.5.2

    E.318.1. Migration to Version 6.5.2E.323.1. Migration to Version 6.5.2

    A dump/restore is

    E.318.2. ChangesE.323.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.317. Release 6.5.3E.322. Release 6.5.3

    E.317.1. Migration to Version 6.5.3E.322.1. Migration to Version 6.5.3

    A dump/restore is

    E.317.2. ChangesE.322.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.320. Release 6.5E.325. Release 6.5

    E.320.1. Migration to Version 6.5E.325.1. Migration to Version 6.5

    A dump/restore using

    E.320.1.1. Multiversion Concurrency ControlE.325.1.1. Multiversion Concurrency Control

    Because readers in 6.5 don't lock data, regardless of transaction @@ -415,8 +415,8 @@ >

    E.320.2. ChangesE.325.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.315. Release 7.0.1E.320. Release 7.0.1

    E.315.1. Migration to Version 7.0.1E.320.1. Migration to Version 7.0.1

    A dump/restore is

    E.315.2. ChangesE.320.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.314. Release 7.0.2E.319. Release 7.0.2

    E.314.1. Migration to Version 7.0.2E.319.1. Migration to Version 7.0.2

    A dump/restore is

    E.314.2. ChangesE.319.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.313. Release 7.0.3E.318. Release 7.0.3

    E.313.1. Migration to Version 7.0.3E.318.1. Migration to Version 7.0.3

    A dump/restore is

    E.313.2. ChangesE.318.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.316. Release 7.0E.321. Release 7.0

    E.316.1. Migration to Version 7.0E.321.1. Migration to Version 7.0

    A dump/restore using

    E.316.2. ChangesE.321.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.311. Release 7.1.1E.316. Release 7.1.1

    E.311.1. Migration to Version 7.1.1E.316.1. Migration to Version 7.1.1

    A dump/restore is

    E.311.2. ChangesE.316.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.310. Release 7.1.2E.315. Release 7.1.2

    E.310.1. Migration to Version 7.1.2E.315.1. Migration to Version 7.1.2

    A dump/restore is

    E.310.2. ChangesE.315.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.309. Release 7.1.3E.314. Release 7.1.3

    E.309.1. Migration to Version 7.1.3E.314.1. Migration to Version 7.1.3

    A dump/restore is

    E.309.2. ChangesE.314.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.312. Release 7.1E.317. Release 7.1

    E.312.1. Migration to Version 7.1E.317.1. Migration to Version 7.1

    A dump/restore using pg_dump is required for those wishing to migrate @@ -196,8 +196,8 @@ >

    E.312.2. ChangesE.317.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.307. Release 7.2.1E.312. Release 7.2.1

    E.307.1. Migration to Version 7.2.1E.312.1. Migration to Version 7.2.1

    A dump/restore is

    E.307.2. ChangesE.312.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.306. Release 7.2.2E.311. Release 7.2.2

    E.306.1. Migration to Version 7.2.2E.311.1. Migration to Version 7.2.2

    A dump/restore is

    E.306.2. ChangesE.311.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.305. Release 7.2.3E.310. Release 7.2.3

    E.305.1. Migration to Version 7.2.3E.310.1. Migration to Version 7.2.3

    A dump/restore is

    E.305.2. ChangesE.310.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.304. Release 7.2.4E.309. Release 7.2.4

    E.304.1. Migration to Version 7.2.4E.309.1. Migration to Version 7.2.4

    A dump/restore is

    E.304.2. ChangesE.309.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.303. Release 7.2.5E.308. Release 7.2.5

    E.303.1. Migration to Version 7.2.5E.308.1. Migration to Version 7.2.5

    A dump/restore is not required for those running 7.2.X. @@ -122,8 +122,8 @@ >

    E.303.2. ChangesE.308.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.302. Release 7.2.6E.307. Release 7.2.6

    E.302.1. Migration to Version 7.2.6E.307.1. Migration to Version 7.2.6

    A dump/restore is not required for those running 7.2.X. @@ -122,8 +122,8 @@ >

    E.302.2. ChangesE.307.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.301. Release 7.2.7E.306. Release 7.2.7

    E.301.1. Migration to Version 7.2.7E.306.1. Migration to Version 7.2.7

    A dump/restore is not required for those running 7.2.X. @@ -123,8 +123,8 @@ >

    E.301.2. ChangesE.306.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.300. Release 7.2.8E.305. Release 7.2.8

    E.300.1. Migration to Version 7.2.8E.305.1. Migration to Version 7.2.8

    A dump/restore is not required for those running 7.2.X. @@ -123,8 +123,8 @@ >

    E.300.2. ChangesE.305.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.308. Release 7.2E.313. Release 7.2

    E.308.1. OverviewE.313.1. Overview

    This release improves

    E.308.2. Migration to Version 7.2E.313.2. Migration to Version 7.2

    A dump/restore using

    E.308.3. ChangesE.313.3. Changes

    E.308.3.1. Server OperationE.313.3.1. Server Operation

    E.308.3.2. PerformanceE.313.3.2. Performance

    E.308.3.3. PrivilegesE.313.3.3. Privileges

    E.308.3.4. Client AuthenticationE.313.3.4. Client Authentication

    E.308.3.5. Server ConfigurationE.313.3.5. Server Configuration

    E.308.3.6. QueriesE.313.3.6. Queries

    E.308.3.7. Schema ManipulationE.313.3.7. Schema Manipulation

    E.308.3.8. Utility CommandsE.313.3.8. Utility Commands

    E.308.3.9. Data Types and FunctionsE.313.3.9. Data Types and Functions

    E.308.3.10. InternationalizationE.313.3.10. Internationalization

    E.308.3.11. E.313.3.11. PL/pgSQL

    E.308.3.12. PL/PerlE.313.3.12. PL/Perl

    E.308.3.13. PL/TclE.313.3.13. PL/Tcl

    E.308.3.14. PL/PythonE.313.3.14. PL/Python

    E.308.3.15. E.313.3.15. psql

    E.308.3.16. E.313.3.16. libpq

    E.308.3.17. JDBCE.313.3.17. JDBC

    E.308.3.18. ODBCE.313.3.18. ODBC

    E.308.3.19. E.313.3.19. ECPG

    E.308.3.20. Misc. InterfacesE.313.3.20. Misc. Interfaces

    E.308.3.21. Build and InstallE.313.3.21. Build and Install

    E.308.3.22. Source CodeE.313.3.22. Source Code

    E.308.3.23. ContribE.313.3.23. Contrib

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    E.289. Release 7.3.10E.294. Release 7.3.10

    E.289.1. Migration to Version 7.3.10E.294.1. Migration to Version 7.3.10

    A dump/restore is not required for those running 7.3.X. However, @@ -199,8 +199,8 @@ >

    E.289.2. ChangesE.294.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.288. Release 7.3.11E.293. Release 7.3.11

    E.288.1. Migration to Version 7.3.11E.293.1. Migration to Version 7.3.11

    A dump/restore is not required for those running 7.3.X. However, if you are upgrading from a version earlier than 7.3.10, see Section E.289Section E.294.

    E.288.2. ChangesE.293.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.287. Release 7.3.12E.292. Release 7.3.12

    E.287.1. Migration to Version 7.3.12E.292.1. Migration to Version 7.3.12

    A dump/restore is not required for those running 7.3.X. However, if you are upgrading from a version earlier than 7.3.10, see Section E.289Section E.294.

    E.287.2. ChangesE.292.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.286. Release 7.3.13E.291. Release 7.3.13

    E.286.1. Migration to Version 7.3.13E.291.1. Migration to Version 7.3.13

    A dump/restore is not required for those running 7.3.X. However, if you are upgrading from a version earlier than 7.3.10, see Section E.289Section E.294. Also, you might need to

    E.286.2. ChangesE.291.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.285. Release 7.3.14E.290. Release 7.3.14

    E.285.1. Migration to Version 7.3.14E.290.1. Migration to Version 7.3.14

    A dump/restore is not required for those running 7.3.X. However, if you are upgrading from a version earlier than 7.3.13, see Section E.286Section E.291.

    E.285.2. ChangesE.290.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.284. Release 7.3.15E.289. Release 7.3.15

    E.284.1. Migration to Version 7.3.15E.289.1. Migration to Version 7.3.15

    A dump/restore is not required for those running 7.3.X. However, if you are upgrading from a version earlier than 7.3.13, see Section E.286Section E.291.

    E.284.2. ChangesE.289.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.283. Release 7.3.16E.288. Release 7.3.16

    E.283.1. Migration to Version 7.3.16E.288.1. Migration to Version 7.3.16

    A dump/restore is not required for those running 7.3.X. However, if you are upgrading from a version earlier than 7.3.13, see Section E.286Section E.291.

    E.283.2. ChangesE.288.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.282. Release 7.3.17E.287. Release 7.3.17

    E.282.1. Migration to Version 7.3.17E.287.1. Migration to Version 7.3.17

    A dump/restore is not required for those running 7.3.X. However, if you are upgrading from a version earlier than 7.3.13, see Section E.286Section E.291.

    E.282.2. ChangesE.287.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.281. Release 7.3.18E.286. Release 7.3.18

    E.281.1. Migration to Version 7.3.18E.286.1. Migration to Version 7.3.18

    A dump/restore is not required for those running 7.3.X. However, if you are upgrading from a version earlier than 7.3.13, see Section E.286Section E.291.

    E.281.2. ChangesE.286.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.280. Release 7.3.19E.285. Release 7.3.19

    E.280.1. Migration to Version 7.3.19E.285.1. Migration to Version 7.3.19

    A dump/restore is not required for those running 7.3.X. However, if you are upgrading from a version earlier than 7.3.13, see Section E.286Section E.291.

    E.280.2. ChangesE.285.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.298. Release 7.3.1E.303. Release 7.3.1

    E.298.1. Migration to Version 7.3.1E.303.1. Migration to Version 7.3.1

    A dump/restore is

    E.298.2. ChangesE.303.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.279. Release 7.3.20E.284. Release 7.3.20

    E.279.1. Migration to Version 7.3.20E.284.1. Migration to Version 7.3.20

    A dump/restore is not required for those running 7.3.X. However, if you are upgrading from a version earlier than 7.3.13, see Section E.286Section E.291.

    E.279.2. ChangesE.284.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.278. Release 7.3.21E.283. Release 7.3.21

    E.278.1. Migration to Version 7.3.21E.283.1. Migration to Version 7.3.21

    A dump/restore is not required for those running 7.3.X. However, if you are upgrading from a version earlier than 7.3.13, see Section E.286Section E.291.

    E.278.2. ChangesE.283.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.297. Release 7.3.2E.302. Release 7.3.2

    E.297.1. Migration to Version 7.3.2E.302.1. Migration to Version 7.3.2

    A dump/restore is

    E.297.2. ChangesE.302.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.296. Release 7.3.3E.301. Release 7.3.3

    E.296.1. Migration to Version 7.3.3E.301.1. Migration to Version 7.3.3

    A dump/restore is

    E.296.2. ChangesE.301.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.295. Release 7.3.4E.300. Release 7.3.4

    E.295.1. Migration to Version 7.3.4E.300.1. Migration to Version 7.3.4

    A dump/restore is

    E.295.2. ChangesE.300.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.294. Release 7.3.5E.299. Release 7.3.5

    E.294.1. Migration to Version 7.3.5E.299.1. Migration to Version 7.3.5

    A dump/restore is

    E.294.2. ChangesE.299.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.293. Release 7.3.6E.298. Release 7.3.6

    E.293.1. Migration to Version 7.3.6E.298.1. Migration to Version 7.3.6

    A dump/restore is

    E.293.2. ChangesE.298.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.292. Release 7.3.7E.297. Release 7.3.7

    E.292.1. Migration to Version 7.3.7E.297.1. Migration to Version 7.3.7

    A dump/restore is not required for those running 7.3.X. @@ -122,8 +122,8 @@ >

    E.292.2. ChangesE.297.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.291. Release 7.3.8E.296. Release 7.3.8

    E.291.1. Migration to Version 7.3.8E.296.1. Migration to Version 7.3.8

    A dump/restore is not required for those running 7.3.X. @@ -122,8 +122,8 @@ >

    E.291.2. ChangesE.296.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.290. Release 7.3.9E.295. Release 7.3.9

    E.290.1. Migration to Version 7.3.9E.295.1. Migration to Version 7.3.9

    A dump/restore is not required for those running 7.3.X. @@ -123,8 +123,8 @@ >

    E.290.2. ChangesE.295.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.299. Release 7.3E.304. Release 7.3

    E.299.1. OverviewE.304.1. Overview

    Major changes in this release: @@ -264,8 +264,8 @@ >

    E.299.2. Migration to Version 7.3E.304.2. Migration to Version 7.3

    A dump/restore using

    E.299.3. ChangesE.304.3. Changes

    E.299.3.1. Server OperationE.304.3.1. Server Operation

    E.299.3.2. PerformanceE.304.3.2. Performance

    E.299.3.3. PrivilegesE.304.3.3. Privileges

    E.299.3.4. Server ConfigurationE.304.3.4. Server Configuration

    E.299.3.5. QueriesE.304.3.5. Queries

    E.299.3.6. Object ManipulationE.304.3.6. Object Manipulation

    E.299.3.7. Utility CommandsE.304.3.7. Utility Commands

    E.299.3.8. Data Types and FunctionsE.304.3.8. Data Types and Functions

    E.299.3.9. InternationalizationE.304.3.9. Internationalization

    E.299.3.10. Server-side LanguagesE.304.3.10. Server-side Languages

    E.299.3.11. psqlE.304.3.11. psql

    E.299.3.12. libpqE.304.3.12. libpq

    E.299.3.13. JDBCE.304.3.13. JDBC

    E.299.3.14. Miscellaneous InterfacesE.304.3.14. Miscellaneous Interfaces

    E.299.3.15. Source CodeE.304.3.15. Source Code

    E.299.3.16. ContribE.304.3.16. Contrib

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.267. Release 7.4.10E.272. Release 7.4.10
    Section E.277Section E.282.

    E.267.1. Migration to Version 7.4.10E.272.1. Migration to Version 7.4.10

    A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.8, see Section E.269Section E.274.

    E.267.2. ChangesE.272.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.266. Release 7.4.11E.271. Release 7.4.11
    Section E.277Section E.282.

    E.266.1. Migration to Version 7.4.11E.271.1. Migration to Version 7.4.11

    A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.8, see Section E.269Section E.274. Also, you might need to

    E.266.2. ChangesE.271.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.265. Release 7.4.12E.270. Release 7.4.12
    Section E.277Section E.282.

    E.265.1. Migration to Version 7.4.12E.270.1. Migration to Version 7.4.12

    A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, see Section E.266Section E.271.

    E.265.2. ChangesE.270.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.264. Release 7.4.13E.269. Release 7.4.13
    Section E.277Section E.282.

    E.264.1. Migration to Version 7.4.13E.269.1. Migration to Version 7.4.13

    A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, see Section E.266Section E.271.

    E.264.2. ChangesE.269.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.263. Release 7.4.14E.268. Release 7.4.14
    Section E.277Section E.282.

    E.263.1. Migration to Version 7.4.14E.268.1. Migration to Version 7.4.14

    A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, see Section E.266Section E.271.

    E.263.2. ChangesE.268.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.262. Release 7.4.15E.267. Release 7.4.15
    Section E.277Section E.282.

    E.262.1. Migration to Version 7.4.15E.267.1. Migration to Version 7.4.15

    A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, see Section E.266Section E.271.

    E.262.2. ChangesE.267.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.261. Release 7.4.16E.266. Release 7.4.16
    Section E.277Section E.282.

    E.261.1. Migration to Version 7.4.16E.266.1. Migration to Version 7.4.16

    A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, see Section E.266Section E.271.

    E.261.2. ChangesE.266.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.260. Release 7.4.17E.265. Release 7.4.17
    Section E.277Section E.282.

    E.260.1. Migration to Version 7.4.17E.265.1. Migration to Version 7.4.17

    A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, see Section E.266Section E.271.

    E.260.2. ChangesE.265.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.259. Release 7.4.18E.264. Release 7.4.18
    Section E.277Section E.282.

    E.259.1. Migration to Version 7.4.18E.264.1. Migration to Version 7.4.18

    A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, see Section E.266Section E.271.

    E.259.2. ChangesE.264.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.258. Release 7.4.19E.263. Release 7.4.19
    Section E.277Section E.282.

    E.258.1. Migration to Version 7.4.19E.263.1. Migration to Version 7.4.19

    A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, see Section E.266Section E.271.

    E.258.2. ChangesE.263.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.276. Release 7.4.1E.281. Release 7.4.1
    Section E.277Section E.282.

    E.276.1. Migration to Version 7.4.1E.281.1. Migration to Version 7.4.1

    A dump/restore is

    E.276.2. ChangesE.281.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.257. Release 7.4.20E.262. Release 7.4.20
    Section E.277Section E.282.

    E.257.1. Migration to Version 7.4.20E.262.1. Migration to Version 7.4.20

    A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, see Section E.266Section E.271.

    E.257.2. ChangesE.262.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.256. Release 7.4.21E.261. Release 7.4.21
    Section E.277Section E.282.

    E.256.1. Migration to Version 7.4.21E.261.1. Migration to Version 7.4.21

    A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, see Section E.266Section E.271.

    E.256.2. ChangesE.261.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.255. Release 7.4.22E.260. Release 7.4.22
    Section E.277Section E.282.

    E.255.1. Migration to Version 7.4.22E.260.1. Migration to Version 7.4.22

    A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, see Section E.266Section E.271.

    E.255.2. ChangesE.260.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.254. Release 7.4.23E.259. Release 7.4.23
    Section E.277Section E.282.

    E.254.1. Migration to Version 7.4.23E.259.1. Migration to Version 7.4.23

    A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, see Section E.266Section E.271.

    E.254.2. ChangesE.259.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.253. Release 7.4.24E.258. Release 7.4.24
    Section E.277Section E.282.

    E.253.1. Migration to Version 7.4.24E.258.1. Migration to Version 7.4.24

    A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, see Section E.266Section E.271.

    E.253.2. ChangesE.258.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.252. Release 7.4.25E.257. Release 7.4.25
    Section E.277Section E.282.

    E.252.1. Migration to Version 7.4.25E.257.1. Migration to Version 7.4.25

    A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.11, see Section E.266Section E.271.

    E.252.2. ChangesE.257.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.251. Release 7.4.26E.256. Release 7.4.26
    Section E.277Section E.282.

    E.251.1. Migration to Version 7.4.26E.256.1. Migration to Version 7.4.26

    A dump/restore is not required for those running 7.4.X. @@ -131,7 +131,7 @@ Also, if you are upgrading from a version earlier than 7.4.11, see Section E.266Section E.271.

    E.251.2. ChangesE.256.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.250. Release 7.4.27E.255. Release 7.4.27
    Section E.277Section E.282.

    E.250.1. Migration to Version 7.4.27E.255.1. Migration to Version 7.4.27

    A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.26, see Section E.251Section E.256.

    E.250.2. ChangesE.255.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.249. Release 7.4.28E.254. Release 7.4.28
    Section E.277Section E.282.

    E.249.1. Migration to Version 7.4.28E.254.1. Migration to Version 7.4.28

    A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.26, see Section E.251Section E.256.

    E.249.2. ChangesE.254.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.248. Release 7.4.29E.253. Release 7.4.29
    Section E.277Section E.282.

    E.248.1. Migration to Version 7.4.29E.253.1. Migration to Version 7.4.29

    A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.26, see Section E.251Section E.256.

    E.248.2. ChangesE.253.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.275. Release 7.4.2E.280. Release 7.4.2
    Section E.277Section E.282.

    E.275.1. Migration to Version 7.4.2E.280.1. Migration to Version 7.4.2

    A dump/restore is not required for those running 7.4.X. However, @@ -264,8 +264,8 @@ >

    E.275.2. ChangesE.280.2. Changes

    Release 7.4.2 incorporates all the fixes included in release 7.3.6, diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/html/release-7-4-30.html postgresql-9.6-9.6.6/doc/src/sgml/html/release-7-4-30.html --- postgresql-9.6-9.6.5/doc/src/sgml/html/release-7-4-30.html 2017-08-28 21:39:06.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/html/release-7-4-30.html 2017-11-06 22:28:14.000000000 +0000 @@ -9,7 +9,7 @@ REV="MADE" HREF="mailto:pgsql-docs@postgresql.org">

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.247. Release 7.4.30E.252. Release 7.4.30
    Section E.277Section E.282.

    E.247.1. Migration to Version 7.4.30E.252.1. Migration to Version 7.4.30

    A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.26, see Section E.251Section E.256.

    E.247.2. ChangesE.252.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.274. Release 7.4.3E.279. Release 7.4.3
    Section E.277Section E.282.

    E.274.1. Migration to Version 7.4.3E.279.1. Migration to Version 7.4.3

    A dump/restore is not required for those running 7.4.X. @@ -127,8 +127,8 @@ >

    E.274.2. ChangesE.279.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.273. Release 7.4.4E.278. Release 7.4.4
    Section E.277Section E.282.

    E.273.1. Migration to Version 7.4.4E.278.1. Migration to Version 7.4.4

    A dump/restore is not required for those running 7.4.X. @@ -127,8 +127,8 @@ >

    E.273.2. ChangesE.278.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.272. Release 7.4.5E.277. Release 7.4.5
    Section E.277Section E.282.

    E.272.1. Migration to Version 7.4.5E.277.1. Migration to Version 7.4.5

    A dump/restore is not required for those running 7.4.X. @@ -127,8 +127,8 @@ >

    E.272.2. ChangesE.277.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.271. Release 7.4.6E.276. Release 7.4.6
    Section E.277Section E.282.

    E.271.1. Migration to Version 7.4.6E.276.1. Migration to Version 7.4.6

    A dump/restore is not required for those running 7.4.X. @@ -127,8 +127,8 @@ >

    E.271.2. ChangesE.276.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.270. Release 7.4.7E.275. Release 7.4.7
    Section E.277Section E.282.

    E.270.1. Migration to Version 7.4.7E.275.1. Migration to Version 7.4.7

    A dump/restore is not required for those running 7.4.X. @@ -128,8 +128,8 @@ >

    E.270.2. ChangesE.275.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.269. Release 7.4.8E.274. Release 7.4.8
    Section E.277Section E.282.

    E.269.1. Migration to Version 7.4.8E.274.1. Migration to Version 7.4.8

    A dump/restore is not required for those running 7.4.X. However, @@ -256,8 +256,8 @@ >

    E.269.2. ChangesE.274.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.268. Release 7.4.9E.273. Release 7.4.9
    Section E.277Section E.282.

    E.268.1. Migration to Version 7.4.9E.273.1. Migration to Version 7.4.9

    A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.8, see Section E.269Section E.274.

    E.268.2. ChangesE.273.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.277. Release 7.4E.282. Release 7.4

    E.277.1. OverviewE.282.1. Overview

    Major changes in this release: @@ -378,8 +378,8 @@ >

    E.277.2. Migration to Version 7.4E.282.2. Migration to Version 7.4

    A dump/restore using

    E.277.3. ChangesE.282.3. Changes

    Below you will find a detailed account of the changes between @@ -658,8 +658,8 @@ >

    E.277.3.1. Server Operation ChangesE.282.3.1. Server Operation Changes

    E.277.3.2. Performance ImprovementsE.282.3.2. Performance Improvements

    E.277.3.3. Server Configuration ChangesE.282.3.3. Server Configuration Changes

    E.277.3.4. Query ChangesE.282.3.4. Query Changes

    E.277.3.5. Object Manipulation ChangesE.282.3.5. Object Manipulation Changes

    E.277.3.6. Utility Command ChangesE.282.3.6. Utility Command Changes

    E.277.3.7. Data Type and Function ChangesE.282.3.7. Data Type and Function Changes

    E.277.3.8. Server-Side Language ChangesE.282.3.8. Server-Side Language Changes

    E.277.3.9. psql ChangesE.282.3.9. psql Changes

    E.277.3.10. pg_dump ChangesE.282.3.10. pg_dump Changes

    E.277.3.11. libpq ChangesE.282.3.11. libpq Changes

    E.277.3.12. JDBC ChangesE.282.3.12. JDBC Changes

    E.277.3.13. Miscellaneous Interface ChangesE.282.3.13. Miscellaneous Interface Changes

    E.277.3.14. Source Code ChangesE.282.3.14. Source Code Changes

    E.277.3.15. Contrib ChangesE.282.3.15. Contrib Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.236. Release 8.0.10E.241. Release 8.0.10
    Section E.246Section E.251.

    E.236.1. Migration to Version 8.0.10E.241.1. Migration to Version 8.0.10

    A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, see Section E.240Section E.245.

    E.236.2. ChangesE.241.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.235. Release 8.0.11E.240. Release 8.0.11
    Section E.246Section E.251.

    E.235.1. Migration to Version 8.0.11E.240.1. Migration to Version 8.0.11

    A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, see Section E.240Section E.245.

    E.235.2. ChangesE.240.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.234. Release 8.0.12E.239. Release 8.0.12
    Section E.246Section E.251.

    E.234.1. Migration to Version 8.0.12E.239.1. Migration to Version 8.0.12

    A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, see Section E.240Section E.245.

    E.234.2. ChangesE.239.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.233. Release 8.0.13E.238. Release 8.0.13
    Section E.246Section E.251.

    E.233.1. Migration to Version 8.0.13E.238.1. Migration to Version 8.0.13

    A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, see Section E.240Section E.245.

    E.233.2. ChangesE.238.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.232. Release 8.0.14E.237. Release 8.0.14
    Section E.246Section E.251.

    E.232.1. Migration to Version 8.0.14E.237.1. Migration to Version 8.0.14

    A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, see Section E.240Section E.245.

    E.232.2. ChangesE.237.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.231. Release 8.0.15E.236. Release 8.0.15
    Section E.246Section E.251.

    E.231.1. Migration to Version 8.0.15E.236.1. Migration to Version 8.0.15

    A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, see Section E.240Section E.245.

    E.231.2. ChangesE.236.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.230. Release 8.0.16E.235. Release 8.0.16
    Section E.246Section E.251.

    E.230.1. Migration to Version 8.0.16E.235.1. Migration to Version 8.0.16

    A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, see Section E.240Section E.245.

    E.230.2. ChangesE.235.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.229. Release 8.0.17E.234. Release 8.0.17
    Section E.246Section E.251.

    E.229.1. Migration to Version 8.0.17E.234.1. Migration to Version 8.0.17

    A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, see Section E.240Section E.245.

    E.229.2. ChangesE.234.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.228. Release 8.0.18E.233. Release 8.0.18
    Section E.246Section E.251.

    E.228.1. Migration to Version 8.0.18E.233.1. Migration to Version 8.0.18

    A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, see Section E.240Section E.245.

    E.228.2. ChangesE.233.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.227. Release 8.0.19E.232. Release 8.0.19
    Section E.246Section E.251.

    E.227.1. Migration to Version 8.0.19E.232.1. Migration to Version 8.0.19

    A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, see Section E.240Section E.245.

    E.227.2. ChangesE.232.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.245. Release 8.0.1E.250. Release 8.0.1
    Section E.246Section E.251.

    E.245.1. Migration to Version 8.0.1E.250.1. Migration to Version 8.0.1

    A dump/restore is not required for those running 8.0.0. @@ -128,8 +128,8 @@ >

    E.245.2. ChangesE.250.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.226. Release 8.0.20E.231. Release 8.0.20
    Section E.246Section E.251.

    E.226.1. Migration to Version 8.0.20E.231.1. Migration to Version 8.0.20

    A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, see Section E.240Section E.245.

    E.226.2. ChangesE.231.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.225. Release 8.0.21E.230. Release 8.0.21
    Section E.246Section E.251.

    E.225.1. Migration to Version 8.0.21E.230.1. Migration to Version 8.0.21

    A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, see Section E.240Section E.245.

    E.225.2. ChangesE.230.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.224. Release 8.0.22E.229. Release 8.0.22
    Section E.246Section E.251.

    E.224.1. Migration to Version 8.0.22E.229.1. Migration to Version 8.0.22

    A dump/restore is not required for those running 8.0.X. @@ -131,7 +131,7 @@ Also, if you are upgrading from a version earlier than 8.0.6, see Section E.240Section E.245.

    E.224.2. ChangesE.229.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.223. Release 8.0.23E.228. Release 8.0.23
    Section E.246Section E.251.

    E.223.1. Migration to Version 8.0.23E.228.1. Migration to Version 8.0.23

    A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.22, see Section E.224Section E.229.

    E.223.2. ChangesE.228.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.222. Release 8.0.24E.227. Release 8.0.24
    Section E.246Section E.251.

    E.222.1. Migration to Version 8.0.24E.227.1. Migration to Version 8.0.24

    A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.22, see Section E.224Section E.229.

    E.222.2. ChangesE.227.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.221. Release 8.0.25E.226. Release 8.0.25
    Section E.246Section E.251.

    E.221.1. Migration to Version 8.0.25E.226.1. Migration to Version 8.0.25

    A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.22, see Section E.224Section E.229.

    E.221.2. ChangesE.226.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.220. Release 8.0.26E.225. Release 8.0.26
    Section E.246Section E.251.

    E.220.1. Migration to Version 8.0.26E.225.1. Migration to Version 8.0.26

    A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.22, see Section E.224Section E.229.

    E.220.2. ChangesE.225.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.244. Release 8.0.2E.249. Release 8.0.2
    Section E.246Section E.251.

    E.244.1. Migration to Version 8.0.2E.249.1. Migration to Version 8.0.2

    A dump/restore is not required for those running 8.0.*. @@ -134,8 +134,8 @@ >

    E.244.2. ChangesE.249.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.243. Release 8.0.3E.248. Release 8.0.3
    Section E.246Section E.251.

    E.243.1. Migration to Version 8.0.3E.248.1. Migration to Version 8.0.3

    A dump/restore is not required for those running 8.0.X. However, @@ -175,8 +175,8 @@ >

    E.243.2. ChangesE.248.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.242. Release 8.0.4E.247. Release 8.0.4
    Section E.246Section E.251.

    E.242.1. Migration to Version 8.0.4E.247.1. Migration to Version 8.0.4

    A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.3, see Section E.243Section E.248.

    E.242.2. ChangesE.247.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.241. Release 8.0.5E.246. Release 8.0.5
    Section E.246Section E.251.

    E.241.1. Migration to Version 8.0.5E.246.1. Migration to Version 8.0.5

    A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.3, see Section E.243Section E.248.

    E.241.2. ChangesE.246.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.240. Release 8.0.6E.245. Release 8.0.6
    Section E.246Section E.251.

    E.240.1. Migration to Version 8.0.6E.245.1. Migration to Version 8.0.6

    A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.3, see Section E.243Section E.248. Also, you might need to

    E.240.2. ChangesE.245.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.239. Release 8.0.7E.244. Release 8.0.7
    Section E.246Section E.251.

    E.239.1. Migration to Version 8.0.7E.244.1. Migration to Version 8.0.7

    A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, see Section E.240Section E.245.

    E.239.2. ChangesE.244.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.238. Release 8.0.8E.243. Release 8.0.8
    Section E.246Section E.251.

    E.238.1. Migration to Version 8.0.8E.243.1. Migration to Version 8.0.8

    A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, see Section E.240Section E.245.

    E.238.2. ChangesE.243.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.237. Release 8.0.9E.242. Release 8.0.9
    Section E.246Section E.251.

    E.237.1. Migration to Version 8.0.9E.242.1. Migration to Version 8.0.9

    A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.6, see Section E.240Section E.245.

    E.237.2. ChangesE.242.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.246. Release 8.0E.251. Release 8.0

    E.246.1. OverviewE.251.1. Overview

    Major changes in this release: @@ -296,8 +296,8 @@ >

    E.246.2. Migration to Version 8.0E.251.2. Migration to Version 8.0

    A dump/restore using

    E.246.3. Deprecated FeaturesE.251.3. Deprecated Features

    Some aspects of

    E.246.4. ChangesE.251.4. Changes

    Below you will find a detailed account of the changes between @@ -785,8 +785,8 @@ >

    E.246.4.1. Performance ImprovementsE.251.4.1. Performance Improvements

    E.246.4.2. Server ChangesE.251.4.2. Server Changes

    E.246.4.3. Query ChangesE.251.4.3. Query Changes

    E.246.4.4. Object Manipulation ChangesE.251.4.4. Object Manipulation Changes

    E.246.4.5. Utility Command ChangesE.251.4.5. Utility Command Changes

    E.246.4.6. Data Type and Function ChangesE.251.4.6. Data Type and Function Changes

    E.246.4.7. Server-Side Language ChangesE.251.4.7. Server-Side Language Changes

    E.246.4.8. E.251.4.8. psql Changes

    E.246.4.9. E.251.4.9. pg_dump Changes

    E.246.4.10. libpq ChangesE.251.4.10. libpq Changes

    E.246.4.11. Source Code ChangesE.251.4.11. Source Code Changes

    E.246.4.12. Contrib ChangesE.251.4.12. Contrib Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.209. Release 8.1.10E.214. Release 8.1.10
    Section E.219Section E.224.

    E.209.1. Migration to Version 8.1.10E.214.1. Migration to Version 8.1.10

    A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.2, see Section E.217Section E.222.

    E.209.2. ChangesE.214.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.208. Release 8.1.11E.213. Release 8.1.11
    Section E.219Section E.224.

    E.208.1. Migration to Version 8.1.11E.213.1. Migration to Version 8.1.11

    A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.2, see Section E.217Section E.222.

    E.208.2. ChangesE.213.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.207. Release 8.1.12E.212. Release 8.1.12
    Section E.219Section E.224.

    E.207.1. Migration to Version 8.1.12E.212.1. Migration to Version 8.1.12

    A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.2, see Section E.217Section E.222.

    E.207.2. ChangesE.212.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.206. Release 8.1.13E.211. Release 8.1.13
    Section E.219Section E.224.

    E.206.1. Migration to Version 8.1.13E.211.1. Migration to Version 8.1.13

    A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.2, see Section E.217Section E.222.

    E.206.2. ChangesE.211.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.205. Release 8.1.14E.210. Release 8.1.14
    Section E.219Section E.224.

    E.205.1. Migration to Version 8.1.14E.210.1. Migration to Version 8.1.14

    A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.2, see Section E.217Section E.222.

    E.205.2. ChangesE.210.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.204. Release 8.1.15E.209. Release 8.1.15
    Section E.219Section E.224.

    E.204.1. Migration to Version 8.1.15E.209.1. Migration to Version 8.1.15

    A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.2, see Section E.217Section E.222. Also, if you were running a previous 8.1.X release, it is recommended to

    E.204.2. ChangesE.209.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.203. Release 8.1.16E.208. Release 8.1.16
    Section E.219Section E.224.

    E.203.1. Migration to Version 8.1.16E.208.1. Migration to Version 8.1.16

    A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.15, see Section E.204Section E.209.

    E.203.2. ChangesE.208.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.202. Release 8.1.17E.207. Release 8.1.17
    Section E.219Section E.224.

    E.202.1. Migration to Version 8.1.17E.207.1. Migration to Version 8.1.17

    A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.15, see Section E.204Section E.209.

    E.202.2. ChangesE.207.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.201. Release 8.1.18E.206. Release 8.1.18
    Section E.219Section E.224.

    E.201.1. Migration to Version 8.1.18E.206.1. Migration to Version 8.1.18

    A dump/restore is not required for those running 8.1.X. @@ -131,7 +131,7 @@ Also, if you are upgrading from a version earlier than 8.1.15, see Section E.204Section E.209.

    E.201.2. ChangesE.206.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.200. Release 8.1.19E.205. Release 8.1.19
    Section E.219Section E.224.

    E.200.1. Migration to Version 8.1.19E.205.1. Migration to Version 8.1.19

    A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.18, see Section E.201Section E.206.

    E.200.2. ChangesE.205.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.218. Release 8.1.1E.223. Release 8.1.1
    Section E.219Section E.224.

    E.218.1. Migration to Version 8.1.1E.223.1. Migration to Version 8.1.1

    A dump/restore is not required for those running 8.1.X. @@ -127,8 +127,8 @@ >

    E.218.2. ChangesE.223.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.199. Release 8.1.20E.204. Release 8.1.20
    Section E.219Section E.224.

    E.199.1. Migration to Version 8.1.20E.204.1. Migration to Version 8.1.20

    A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.18, see Section E.201Section E.206.

    E.199.2. ChangesE.204.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.198. Release 8.1.21E.203. Release 8.1.21
    Section E.219Section E.224.

    E.198.1. Migration to Version 8.1.21E.203.1. Migration to Version 8.1.21

    A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.18, see Section E.201Section E.206.

    E.198.2. ChangesE.203.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.197. Release 8.1.22E.202. Release 8.1.22
    Section E.219Section E.224.

    E.197.1. Migration to Version 8.1.22E.202.1. Migration to Version 8.1.22

    A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.18, see Section E.201Section E.206.

    E.197.2. ChangesE.202.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.196. Release 8.1.23E.201. Release 8.1.23
    Section E.219Section E.224.

    E.196.1. Migration to Version 8.1.23E.201.1. Migration to Version 8.1.23

    A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.18, see Section E.201Section E.206.

    E.196.2. ChangesE.201.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.217. Release 8.1.2E.222. Release 8.1.2
    Section E.219Section E.224.

    E.217.1. Migration to Version 8.1.2E.222.1. Migration to Version 8.1.2

    A dump/restore is not required for those running 8.1.X. @@ -136,8 +136,8 @@ >

    E.217.2. ChangesE.222.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.216. Release 8.1.3E.221. Release 8.1.3
    Section E.219Section E.224.

    E.216.1. Migration to Version 8.1.3E.221.1. Migration to Version 8.1.3

    A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.2, see Section E.217Section E.222.

    E.216.2. ChangesE.221.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.215. Release 8.1.4E.220. Release 8.1.4
    Section E.219Section E.224.

    E.215.1. Migration to Version 8.1.4E.220.1. Migration to Version 8.1.4

    A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.2, see Section E.217Section E.222.

    E.215.2. ChangesE.220.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.214. Release 8.1.5E.219. Release 8.1.5
    Section E.219Section E.224.

    E.214.1. Migration to Version 8.1.5E.219.1. Migration to Version 8.1.5

    A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.2, see Section E.217Section E.222.

    E.214.2. ChangesE.219.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.213. Release 8.1.6E.218. Release 8.1.6
    Section E.219Section E.224.

    E.213.1. Migration to Version 8.1.6E.218.1. Migration to Version 8.1.6

    A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.2, see Section E.217Section E.222.

    E.213.2. ChangesE.218.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.212. Release 8.1.7E.217. Release 8.1.7
    Section E.219Section E.224.

    E.212.1. Migration to Version 8.1.7E.217.1. Migration to Version 8.1.7

    A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.2, see Section E.217Section E.222.

    E.212.2. ChangesE.217.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.211. Release 8.1.8E.216. Release 8.1.8
    Section E.219Section E.224.

    E.211.1. Migration to Version 8.1.8E.216.1. Migration to Version 8.1.8

    A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.2, see Section E.217Section E.222.

    E.211.2. ChangesE.216.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.210. Release 8.1.9E.215. Release 8.1.9
    Section E.219Section E.224.

    E.210.1. Migration to Version 8.1.9E.215.1. Migration to Version 8.1.9

    A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.2, see Section E.217Section E.222.

    E.210.2. ChangesE.215.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.219. Release 8.1E.224. Release 8.1

    E.219.1. OverviewE.224.1. Overview

    Major changes in this release: @@ -370,8 +370,8 @@ >

    E.219.2. Migration to Version 8.1E.224.2. Migration to Version 8.1

    A dump/restore using

    E.219.3. Additional ChangesE.224.3. Additional Changes

    Below you will find a detailed account of the additional changes @@ -923,8 +923,8 @@ >

    E.219.3.1. Performance ImprovementsE.224.3.1. Performance Improvements

    E.219.3.2. Server ChangesE.224.3.2. Server Changes

    E.219.3.3. Query ChangesE.224.3.3. Query Changes

    E.219.3.4. Object Manipulation ChangesE.224.3.4. Object Manipulation Changes

    E.219.3.5. Utility Command ChangesE.224.3.5. Utility Command Changes

    E.219.3.6. Data Type and Function ChangesE.224.3.6. Data Type and Function Changes

    E.219.3.7. Encoding and Locale ChangesE.224.3.7. Encoding and Locale Changes

    E.219.3.8. General Server-Side Language ChangesE.224.3.8. General Server-Side Language Changes

    E.219.3.9. PL/pgSQL Server-Side Language ChangesE.224.3.9. PL/pgSQL Server-Side Language Changes

    E.219.3.10. PL/Perl Server-Side Language ChangesE.224.3.10. PL/Perl Server-Side Language Changes

    E.219.3.11. E.224.3.11. psql Changes

    E.219.3.12. E.224.3.12. pg_dump Changes

    E.219.3.13. E.224.3.13. libpq Changes

    E.219.3.14. Source Code ChangesE.224.3.14. Source Code Changes

    E.219.3.15. Contrib ChangesE.224.3.15. Contrib Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.185. Release 8.2.10E.190. Release 8.2.10
    Section E.195Section E.200.

    E.185.1. Migration to Version 8.2.10E.190.1. Migration to Version 8.2.10

    A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.7, see Section E.188Section E.193.

    E.185.2. ChangesE.190.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.184. Release 8.2.11E.189. Release 8.2.11
    Section E.195Section E.200.

    E.184.1. Migration to Version 8.2.11E.189.1. Migration to Version 8.2.11

    A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.7, see Section E.188Section E.193. Also, if you were running a previous 8.2.X release, it is recommended to

    E.184.2. ChangesE.189.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.183. Release 8.2.12E.188. Release 8.2.12
    Section E.195Section E.200.

    E.183.1. Migration to Version 8.2.12E.188.1. Migration to Version 8.2.12

    A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.11, see Section E.184Section E.189.

    E.183.2. ChangesE.188.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.182. Release 8.2.13E.187. Release 8.2.13
    Section E.195Section E.200.

    E.182.1. Migration to Version 8.2.13E.187.1. Migration to Version 8.2.13

    A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.11, see Section E.184Section E.189.

    E.182.2. ChangesE.187.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.181. Release 8.2.14E.186. Release 8.2.14
    Section E.195Section E.200.

    E.181.1. Migration to Version 8.2.14E.186.1. Migration to Version 8.2.14

    A dump/restore is not required for those running 8.2.X. @@ -131,7 +131,7 @@ Also, if you are upgrading from a version earlier than 8.2.11, see Section E.184Section E.189.

    E.181.2. ChangesE.186.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.180. Release 8.2.15E.185. Release 8.2.15
    Section E.195Section E.200.

    E.180.1. Migration to Version 8.2.15E.185.1. Migration to Version 8.2.15

    A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.14, see Section E.181Section E.186.

    E.180.2. ChangesE.185.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.179. Release 8.2.16E.184. Release 8.2.16
    Section E.195Section E.200.

    E.179.1. Migration to Version 8.2.16E.184.1. Migration to Version 8.2.16

    A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.14, see Section E.181Section E.186.

    E.179.2. ChangesE.184.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.178. Release 8.2.17E.183. Release 8.2.17
    Section E.195Section E.200.

    E.178.1. Migration to Version 8.2.17E.183.1. Migration to Version 8.2.17

    A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.14, see Section E.181Section E.186.

    E.178.2. ChangesE.183.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.177. Release 8.2.18E.182. Release 8.2.18
    Section E.195Section E.200.

    E.177.1. Migration to Version 8.2.18E.182.1. Migration to Version 8.2.18

    A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.14, see Section E.181Section E.186.

    E.177.2. ChangesE.182.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.176. Release 8.2.19E.181. Release 8.2.19
    Section E.195Section E.200.

    E.176.1. Migration to Version 8.2.19E.181.1. Migration to Version 8.2.19

    A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.14, see Section E.181Section E.186.

    E.176.2. ChangesE.181.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.194. Release 8.2.1E.199. Release 8.2.1
    Section E.195Section E.200.

    E.194.1. Migration to Version 8.2.1E.199.1. Migration to Version 8.2.1

    A dump/restore is not required for those running 8.2. @@ -127,8 +127,8 @@ >

    E.194.2. ChangesE.199.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.175. Release 8.2.20E.180. Release 8.2.20
    Section E.195Section E.200.

    E.175.1. Migration to Version 8.2.20E.180.1. Migration to Version 8.2.20

    A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.14, see Section E.181Section E.186.

    E.175.2. ChangesE.180.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.174. Release 8.2.21E.179. Release 8.2.21
    Section E.195Section E.200.

    E.174.1. Migration to Version 8.2.21E.179.1. Migration to Version 8.2.21

    A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.14, see Section E.181Section E.186.

    E.174.2. ChangesE.179.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.173. Release 8.2.22E.178. Release 8.2.22
    Section E.195Section E.200.

    E.173.1. Migration to Version 8.2.22E.178.1. Migration to Version 8.2.22

    A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.14, see Section E.181Section E.186.

    E.173.2. ChangesE.178.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.172. Release 8.2.23E.177. Release 8.2.23
    Section E.195Section E.200.

    E.172.1. Migration to Version 8.2.23E.177.1. Migration to Version 8.2.23

    A dump/restore is not required for those running 8.2.X. @@ -142,7 +142,7 @@ > Also, if you are upgrading from a version earlier than 8.2.14, see Section E.181Section E.186.

    E.172.2. ChangesE.177.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.193. Release 8.2.2E.198. Release 8.2.2
    Section E.195Section E.200.

    E.193.1. Migration to Version 8.2.2E.198.1. Migration to Version 8.2.2

    A dump/restore is not required for those running 8.2.X. @@ -128,8 +128,8 @@ >

    E.193.2. ChangesE.198.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.192. Release 8.2.3E.197. Release 8.2.3
    Section E.195Section E.200.

    E.192.1. Migration to Version 8.2.3E.197.1. Migration to Version 8.2.3

    A dump/restore is not required for those running 8.2.X. @@ -127,8 +127,8 @@ >

    E.192.2. ChangesE.197.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.191. Release 8.2.4E.196. Release 8.2.4
    Section E.195Section E.200.

    E.191.1. Migration to Version 8.2.4E.196.1. Migration to Version 8.2.4

    A dump/restore is not required for those running 8.2.X. @@ -128,8 +128,8 @@ >

    E.191.2. ChangesE.196.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.190. Release 8.2.5E.195. Release 8.2.5
    Section E.195Section E.200.

    E.190.1. Migration to Version 8.2.5E.195.1. Migration to Version 8.2.5

    A dump/restore is not required for those running 8.2.X. @@ -127,8 +127,8 @@ >

    E.190.2. ChangesE.195.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.189. Release 8.2.6E.194. Release 8.2.6
    Section E.195Section E.200.

    E.189.1. Migration to Version 8.2.6E.194.1. Migration to Version 8.2.6

    A dump/restore is not required for those running 8.2.X. @@ -128,8 +128,8 @@ >

    E.189.2. ChangesE.194.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.188. Release 8.2.7E.193. Release 8.2.7
    Section E.195Section E.200.

    E.188.1. Migration to Version 8.2.7E.193.1. Migration to Version 8.2.7

    A dump/restore is not required for those running 8.2.X. @@ -133,8 +133,8 @@ >

    E.188.2. ChangesE.193.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.187. Release 8.2.8E.192. Release 8.2.8
    Section E.195Section E.200.

    E.187.1. Migration to Version 8.2.8E.192.1. Migration to Version 8.2.8

    A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.7, see Section E.188Section E.193.

    E.187.2. ChangesE.192.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.186. Release 8.2.9E.191. Release 8.2.9
    Section E.195Section E.200.

    E.186.1. Migration to Version 8.2.9E.191.1. Migration to Version 8.2.9

    A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.7, see Section E.188Section E.193.

    E.186.2. ChangesE.191.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.195. Release 8.2E.200. Release 8.2

    E.195.1. OverviewE.200.1. Overview

    This release adds many functionality and performance improvements that @@ -244,8 +244,8 @@ >

    E.195.2. Migration to Version 8.2E.200.2. Migration to Version 8.2

    A dump/restore using

    E.195.3. ChangesE.200.3. Changes

    Below you will find a detailed account of the @@ -796,8 +796,8 @@ >

    E.195.3.1. Performance ImprovementsE.200.3.1. Performance Improvements

    E.195.3.2. Server ChangesE.200.3.2. Server Changes

    E.195.3.3. Query ChangesE.200.3.3. Query Changes

    E.195.3.4. Object Manipulation ChangesE.200.3.4. Object Manipulation Changes

    E.195.3.5. Utility Command ChangesE.200.3.5. Utility Command Changes

    E.195.3.6. Date/Time ChangesE.200.3.6. Date/Time Changes

    E.195.3.7. Other Data Type and Function ChangesE.200.3.7. Other Data Type and Function Changes

    E.195.3.8. PL/pgSQL Server-Side Language ChangesE.200.3.8. PL/pgSQL Server-Side Language Changes

    E.195.3.9. PL/Perl Server-Side Language ChangesE.200.3.9. PL/Perl Server-Side Language Changes

    E.195.3.10. PL/Python Server-Side Language ChangesE.200.3.10. PL/Python Server-Side Language Changes

    E.195.3.11. E.200.3.11.

    E.195.3.12. E.200.3.12.

    E.195.3.13. E.200.3.13.

    E.195.3.14. E.200.3.14.

    E.195.3.15. E.200.3.15. Windows Port

    E.195.3.16. Source Code ChangesE.200.3.16. Source Code Changes

    E.195.3.17. Contrib ChangesE.200.3.17. Contrib Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    E.161. Release 8.3.10E.166. Release 8.3.10
    Section E.171Section E.176.

    E.161.1. Migration to Version 8.3.10E.166.1. Migration to Version 8.3.10

    A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.8, see Section E.163Section E.168.

    E.161.2. ChangesE.166.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.160. Release 8.3.11E.165. Release 8.3.11
    Section E.171Section E.176.

    E.160.1. Migration to Version 8.3.11E.165.1. Migration to Version 8.3.11

    A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.8, see Section E.163Section E.168.

    E.160.2. ChangesE.165.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.159. Release 8.3.12E.164. Release 8.3.12
    Section E.171Section E.176.

    E.159.1. Migration to Version 8.3.12E.164.1. Migration to Version 8.3.12

    A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.8, see Section E.163Section E.168.

    E.159.2. ChangesE.164.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.158. Release 8.3.13E.163. Release 8.3.13
    Section E.171Section E.176.

    E.158.1. Migration to Version 8.3.13E.163.1. Migration to Version 8.3.13

    A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.8, see Section E.163Section E.168.

    E.158.2. ChangesE.163.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.157. Release 8.3.14E.162. Release 8.3.14
    Section E.171Section E.176.

    E.157.1. Migration to Version 8.3.14E.162.1. Migration to Version 8.3.14

    A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.8, see Section E.163Section E.168.

    E.157.2. ChangesE.162.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.156. Release 8.3.15E.161. Release 8.3.15
    Section E.171Section E.176.

    E.156.1. Migration to Version 8.3.15E.161.1. Migration to Version 8.3.15

    A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.8, see Section E.163Section E.168.

    E.156.2. ChangesE.161.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.155. Release 8.3.16E.160. Release 8.3.16
    Section E.171Section E.176.

    E.155.1. Migration to Version 8.3.16E.160.1. Migration to Version 8.3.16

    A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.8, see Section E.163Section E.168.

    E.155.2. ChangesE.160.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.154. Release 8.3.17E.159. Release 8.3.17
    Section E.171Section E.176.

    E.154.1. Migration to Version 8.3.17E.159.1. Migration to Version 8.3.17

    A dump/restore is not required for those running 8.3.X. @@ -134,7 +134,7 @@ > Also, if you are upgrading from a version earlier than 8.3.8, see Section E.163Section E.168.

    E.154.2. ChangesE.159.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.153. Release 8.3.18E.158. Release 8.3.18
    Section E.171Section E.176.

    E.153.1. Migration to Version 8.3.18E.158.1. Migration to Version 8.3.18

    A dump/restore is not required for those running 8.3.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 8.3.17, see Section E.154Section E.159.

    E.153.2. ChangesE.158.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.152. Release 8.3.19E.157. Release 8.3.19
    Section E.171Section E.176.

    E.152.1. Migration to Version 8.3.19E.157.1. Migration to Version 8.3.19

    A dump/restore is not required for those running 8.3.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 8.3.17, see Section E.154Section E.159.

    E.152.2. ChangesE.157.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.170. Release 8.3.1E.175. Release 8.3.1
    Section E.171Section E.176.

    E.170.1. Migration to Version 8.3.1E.175.1. Migration to Version 8.3.1

    A dump/restore is not required for those running 8.3.X. @@ -133,8 +133,8 @@ >

    E.170.2. ChangesE.175.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.151. Release 8.3.20E.156. Release 8.3.20
    Section E.171Section E.176.

    E.151.1. Migration to Version 8.3.20E.156.1. Migration to Version 8.3.20

    A dump/restore is not required for those running 8.3.X. @@ -133,7 +133,7 @@ > However, if you are upgrading from a version earlier than 8.3.17, see Section E.154Section E.159.

    E.151.2. ChangesE.156.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.150. Release 8.3.21E.155. Release 8.3.21
    Section E.171Section E.176.

    E.150.1. Migration to Version 8.3.21E.155.1. Migration to Version 8.3.21

    A dump/restore is not required for those running 8.3.X. @@ -133,7 +133,7 @@ > However, if you are upgrading from a version earlier than 8.3.17, see Section E.154Section E.159.

    E.150.2. ChangesE.155.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.149. Release 8.3.22E.154. Release 8.3.22
    Section E.171Section E.176.

    E.149.1. Migration to Version 8.3.22E.154.1. Migration to Version 8.3.22

    A dump/restore is not required for those running 8.3.X. @@ -133,7 +133,7 @@ > However, if you are upgrading from a version earlier than 8.3.17, see Section E.154Section E.159.

    E.149.2. ChangesE.154.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.148. Release 8.3.23E.153. Release 8.3.23
    Section E.171Section E.176.

    E.148.1. Migration to Version 8.3.23E.153.1. Migration to Version 8.3.23

    A dump/restore is not required for those running 8.3.X. @@ -133,7 +133,7 @@ > However, if you are upgrading from a version earlier than 8.3.17, see Section E.154Section E.159.

    E.148.2. ChangesE.153.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.169. Release 8.3.2E.174. Release 8.3.2
    Section E.171Section E.176.

    E.169.1. Migration to Version 8.3.2E.174.1. Migration to Version 8.3.2

    A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.1, see Section E.170Section E.175.

    E.169.2. ChangesE.174.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.168. Release 8.3.3E.173. Release 8.3.3
    Section E.171Section E.176.

    E.168.1. Migration to Version 8.3.3E.173.1. Migration to Version 8.3.3

    A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.1, see Section E.170Section E.175.

    E.168.2. ChangesE.173.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.167. Release 8.3.4E.172. Release 8.3.4
    Section E.171Section E.176.

    E.167.1. Migration to Version 8.3.4E.172.1. Migration to Version 8.3.4

    A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.1, see Section E.170Section E.175.

    E.167.2. ChangesE.172.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.166. Release 8.3.5E.171. Release 8.3.5
    Section E.171Section E.176.

    E.166.1. Migration to Version 8.3.5E.171.1. Migration to Version 8.3.5

    A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.1, see Section E.170Section E.175. Also, if you were running a previous 8.3.X release, it is recommended to

    E.166.2. ChangesE.171.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.165. Release 8.3.6E.170. Release 8.3.6
    Section E.171Section E.176.

    E.165.1. Migration to Version 8.3.6E.170.1. Migration to Version 8.3.6

    A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.5, see Section E.166Section E.171.

    E.165.2. ChangesE.170.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.164. Release 8.3.7E.169. Release 8.3.7
    Section E.171Section E.176.

    E.164.1. Migration to Version 8.3.7E.169.1. Migration to Version 8.3.7

    A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.5, see Section E.166Section E.171.

    E.164.2. ChangesE.169.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.163. Release 8.3.8E.168. Release 8.3.8
    Section E.171Section E.176.

    E.163.1. Migration to Version 8.3.8E.168.1. Migration to Version 8.3.8

    A dump/restore is not required for those running 8.3.X. @@ -131,7 +131,7 @@ Also, if you are upgrading from a version earlier than 8.3.5, see Section E.166Section E.171.

    E.163.2. ChangesE.168.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.162. Release 8.3.9E.167. Release 8.3.9
    Section E.171Section E.176.

    E.162.1. Migration to Version 8.3.9E.167.1. Migration to Version 8.3.9

    A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.8, see Section E.163Section E.168.

    E.162.2. ChangesE.167.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.171. Release 8.3E.176. Release 8.3

    E.171.1. OverviewE.176.1. Overview

    With significant new functionality and performance enhancements, @@ -304,8 +304,8 @@ >

    E.171.2. Migration to Version 8.3E.176.2. Migration to Version 8.3

    A dump/restore using

    E.171.2.1. GeneralE.176.2.1. General

    E.171.2.2. Configuration ParametersE.176.2.2. Configuration Parameters

    E.171.2.3. Character EncodingsE.176.2.3. Character Encodings

    E.171.3. ChangesE.176.3. Changes

    Below you will find a detailed account of the @@ -987,8 +987,8 @@ >

    E.171.3.1. PerformanceE.176.3.1. Performance

    E.171.3.2. ServerE.176.3.2. Server

    E.171.3.3. MonitoringE.176.3.3. Monitoring

    E.171.3.4. AuthenticationE.176.3.4. Authentication

    E.171.3.5. Write-Ahead Log (E.176.3.5. Write-Ahead Log (WAL) and Continuous Archiving

    E.171.3.6. QueriesE.176.3.6. Queries

    E.171.3.7. Object ManipulationE.176.3.7. Object Manipulation

    E.171.3.8. Utility CommandsE.176.3.8. Utility Commands

    E.171.3.9. Data TypesE.176.3.9. Data Types

    E.171.3.10. FunctionsE.176.3.10. Functions

    E.171.3.11. PL/pgSQL Server-Side LanguageE.176.3.11. PL/pgSQL Server-Side Language

    E.171.3.12. Other Server-Side LanguagesE.176.3.12. Other Server-Side Languages

    E.171.3.13. E.176.3.13.

    E.171.3.14. E.176.3.14.

    E.171.3.15. Other Client ApplicationsE.176.3.15. Other Client Applications

    E.171.3.16. E.176.3.16.

    E.171.3.17. E.176.3.17.

    E.171.3.18. E.176.3.18. Windows Port

    E.171.3.19. Server Programming Interface (E.176.3.19. Server Programming Interface (SPI)

    E.171.3.20. Build OptionsE.176.3.20. Build Options

    E.171.3.21. Source CodeE.176.3.21. Source Code

    E.171.3.22. ContribE.176.3.22. Contrib

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    E.137. Release 8.4.10E.142. Release 8.4.10
    Section E.147Section E.152.

    E.137.1. Migration to Version 8.4.10E.142.1. Migration to Version 8.4.10

    A dump/restore is not required for those running 8.4.X. @@ -134,7 +134,7 @@ > Also, if you are upgrading from a version earlier than 8.4.8, see Section E.139Section E.144.

    E.137.2. ChangesE.142.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.136. Release 8.4.11E.141. Release 8.4.11
    Section E.147Section E.152.

    E.136.1. Migration to Version 8.4.11E.141.1. Migration to Version 8.4.11

    A dump/restore is not required for those running 8.4.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 8.4.10, see Section E.137Section E.142.

    E.136.2. ChangesE.141.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.135. Release 8.4.12E.140. Release 8.4.12
    Section E.147Section E.152.

    E.135.1. Migration to Version 8.4.12E.140.1. Migration to Version 8.4.12

    A dump/restore is not required for those running 8.4.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 8.4.10, see Section E.137Section E.142.

    E.135.2. ChangesE.140.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.134. Release 8.4.13E.139. Release 8.4.13
    Section E.147Section E.152.

    E.134.1. Migration to Version 8.4.13E.139.1. Migration to Version 8.4.13

    A dump/restore is not required for those running 8.4.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 8.4.10, see Section E.137Section E.142.

    E.134.2. ChangesE.139.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.133. Release 8.4.14E.138. Release 8.4.14
    Section E.147Section E.152.

    E.133.1. Migration to Version 8.4.14E.138.1. Migration to Version 8.4.14

    A dump/restore is not required for those running 8.4.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 8.4.10, see Section E.137Section E.142.

    E.133.2. ChangesE.138.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.132. Release 8.4.15E.137. Release 8.4.15
    Section E.147Section E.152.

    E.132.1. Migration to Version 8.4.15E.137.1. Migration to Version 8.4.15

    A dump/restore is not required for those running 8.4.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 8.4.10, see Section E.137Section E.142.

    E.132.2. ChangesE.137.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.131. Release 8.4.16E.136. Release 8.4.16
    Section E.147Section E.152.

    E.131.1. Migration to Version 8.4.16E.136.1. Migration to Version 8.4.16

    A dump/restore is not required for those running 8.4.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 8.4.10, see Section E.137Section E.142.

    E.131.2. ChangesE.136.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.130. Release 8.4.17E.135. Release 8.4.17
    Section E.147Section E.152.

    E.130.1. Migration to Version 8.4.17E.135.1. Migration to Version 8.4.17

    A dump/restore is not required for those running 8.4.X. @@ -134,7 +134,7 @@ > Also, if you are upgrading from a version earlier than 8.4.10, see Section E.137Section E.142.

    E.130.2. ChangesE.135.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.129. Release 8.4.18E.134. Release 8.4.18
    Section E.147Section E.152.

    E.129.1. Migration to Version 8.4.18E.134.1. Migration to Version 8.4.18

    A dump/restore is not required for those running 8.4.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 8.4.17, see Section E.130Section E.135.

    E.129.2. ChangesE.134.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.128. Release 8.4.19E.133. Release 8.4.19
    Section E.147Section E.152.

    E.128.1. Migration to Version 8.4.19E.133.1. Migration to Version 8.4.19

    A dump/restore is not required for those running 8.4.X. @@ -130,7 +130,7 @@ > Also, if you are upgrading from a version earlier than 8.4.17, see Section E.130Section E.135.

    E.128.2. ChangesE.133.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.146. Release 8.4.1E.151. Release 8.4.1
    Section E.147Section E.152.

    E.146.1. Migration to Version 8.4.1E.151.1. Migration to Version 8.4.1

    A dump/restore is not required for those running 8.4.X. @@ -127,8 +127,8 @@ >

    E.146.2. ChangesE.151.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.127. Release 8.4.20E.132. Release 8.4.20
    Section E.147Section E.152.

    E.127.1. Migration to Version 8.4.20E.132.1. Migration to Version 8.4.20

    A dump/restore is not required for those running 8.4.X. @@ -133,7 +133,7 @@ > However, if you are upgrading from a version earlier than 8.4.19, see Section E.128Section E.133.

    E.127.2. ChangesE.132.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.126. Release 8.4.21E.131. Release 8.4.21
    Section E.147Section E.152.

    E.126.1. Migration to Version 8.4.21E.131.1. Migration to Version 8.4.21

    A dump/restore is not required for those running 8.4.X. @@ -133,7 +133,7 @@ > However, if you are upgrading from a version earlier than 8.4.19, see Section E.128Section E.133.

    E.126.2. ChangesE.131.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.125. Release 8.4.22E.130. Release 8.4.22
    Section E.147Section E.152.

    E.125.1. Migration to Version 8.4.22E.130.1. Migration to Version 8.4.22

    A dump/restore is not required for those running 8.4.X. @@ -138,7 +138,7 @@ > Also, if you are upgrading from a version earlier than 8.4.19, see Section E.128Section E.133.

    E.125.2. ChangesE.130.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.145. Release 8.4.2E.150. Release 8.4.2
    Section E.147Section E.152.

    E.145.1. Migration to Version 8.4.2E.150.1. Migration to Version 8.4.2

    A dump/restore is not required for those running 8.4.X. @@ -133,8 +133,8 @@ >

    E.145.2. ChangesE.150.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.144. Release 8.4.3E.149. Release 8.4.3
    Section E.147Section E.152.

    E.144.1. Migration to Version 8.4.3E.149.1. Migration to Version 8.4.3

    A dump/restore is not required for those running 8.4.X. However, if you are upgrading from a version earlier than 8.4.2, see Section E.145Section E.150.

    E.144.2. ChangesE.149.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.143. Release 8.4.4E.148. Release 8.4.4
    Section E.147Section E.152.

    E.143.1. Migration to Version 8.4.4E.148.1. Migration to Version 8.4.4

    A dump/restore is not required for those running 8.4.X. However, if you are upgrading from a version earlier than 8.4.2, see Section E.145Section E.150.

    E.143.2. ChangesE.148.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.142. Release 8.4.5E.147. Release 8.4.5
    Section E.147Section E.152.

    E.142.1. Migration to Version 8.4.5E.147.1. Migration to Version 8.4.5

    A dump/restore is not required for those running 8.4.X. However, if you are upgrading from a version earlier than 8.4.2, see Section E.145Section E.150.

    E.142.2. ChangesE.147.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.141. Release 8.4.6E.146. Release 8.4.6
    Section E.147Section E.152.

    E.141.1. Migration to Version 8.4.6E.146.1. Migration to Version 8.4.6

    A dump/restore is not required for those running 8.4.X. However, if you are upgrading from a version earlier than 8.4.2, see Section E.145Section E.150.

    E.141.2. ChangesE.146.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.140. Release 8.4.7E.145. Release 8.4.7
    Section E.147Section E.152.

    E.140.1. Migration to Version 8.4.7E.145.1. Migration to Version 8.4.7

    A dump/restore is not required for those running 8.4.X. However, if you are upgrading from a version earlier than 8.4.2, see Section E.145Section E.150.

    E.140.2. ChangesE.145.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.139. Release 8.4.8E.144. Release 8.4.8
    Section E.147Section E.152.

    E.139.1. Migration to Version 8.4.8E.144.1. Migration to Version 8.4.8

    A dump/restore is not required for those running 8.4.X. @@ -146,7 +146,7 @@ > Also, if you are upgrading from a version earlier than 8.4.2, see Section E.145Section E.150.

    E.139.2. ChangesE.144.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.138. Release 8.4.9E.143. Release 8.4.9
    Section E.147Section E.152.

    E.138.1. Migration to Version 8.4.9E.143.1. Migration to Version 8.4.9

    A dump/restore is not required for those running 8.4.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 8.4.8, see Section E.139Section E.144.

    E.138.2. ChangesE.143.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.147. Release 8.4E.152. Release 8.4

    E.147.1. OverviewE.152.1. Overview

    After many years of development,

    E.147.2. Migration to Version 8.4E.152.2. Migration to Version 8.4

    A dump/restore using

    E.147.2.1. GeneralE.152.2.1. General

    E.147.2.2. Server SettingsE.152.2.2. Server Settings

    E.147.2.3. QueriesE.152.2.3. Queries

    E.147.2.4. Functions and OperatorsE.152.2.4. Functions and Operators

    E.147.2.4.1. Temporal Functions and OperatorsE.152.2.4.1. Temporal Functions and Operators

    E.147.3. ChangesE.152.3. Changes

    Below you will find a detailed account of the changes between @@ -824,8 +824,8 @@ >

    E.147.3.1. PerformanceE.152.3.1. Performance

    E.147.3.2. ServerE.152.3.2. Server

    E.147.3.2.1. SettingsE.152.3.2.1. Settings

    E.147.3.2.2. Authentication and securityE.152.3.2.2. Authentication and security

    E.147.3.2.3. E.152.3.2.3. pg_hba.conf

    E.147.3.2.4. Continuous ArchivingE.152.3.2.4. Continuous Archiving

    E.147.3.2.5. MonitoringE.152.3.2.5. Monitoring

    E.147.3.3. QueriesE.152.3.3. Queries

    E.147.3.3.1. E.152.3.3.1. TRUNCATE

    E.147.3.3.2. E.152.3.3.2. EXPLAIN

    E.147.3.3.3. E.152.3.3.3. LIMIT/

    E.147.3.4. Object ManipulationE.152.3.4. Object Manipulation

    E.147.3.4.1. E.152.3.4.1. ALTER

    E.147.3.4.2. Database ManipulationE.152.3.4.2. Database Manipulation

    E.147.3.5. Utility OperationsE.152.3.5. Utility Operations

    E.147.3.5.1. IndexesE.152.3.5.1. Indexes

    E.147.3.5.2. Full Text IndexesE.152.3.5.2. Full Text Indexes

    E.147.3.5.3. E.152.3.5.3. VACUUM

    E.147.3.6. Data TypesE.152.3.6. Data Types

    E.147.3.6.1. Temporal Data TypesE.152.3.6.1. Temporal Data Types

    E.147.3.6.2. ArraysE.152.3.6.2. Arrays

    E.147.3.6.3. Wide-Value Storage (E.152.3.6.3. Wide-Value Storage (TOAST)

    E.147.3.7. FunctionsE.152.3.7. Functions

    E.147.3.7.1. Object Information FunctionsE.152.3.7.1. Object Information Functions

    E.147.3.7.2. Function CreationE.152.3.7.2. Function Creation

    E.147.3.7.3. PL/pgSQL Server-Side LanguageE.152.3.7.3. PL/pgSQL Server-Side Language

    E.147.3.8. Client ApplicationsE.152.3.8. Client Applications

    E.147.3.8.1. E.152.3.8.1. psql

    E.147.3.8.2. E.152.3.8.2. psql \d* commands

    E.147.3.8.3. E.152.3.8.3. pg_dump

    E.147.3.9. Programming ToolsE.152.3.9. Programming Tools

    E.114. Release 9.0.10E.119. Release 9.0.10
    Section E.124Section E.129.

    E.114.1. Migration to Version 9.0.10E.119.1. Migration to Version 9.0.10

    A dump/restore is not required for those running 9.0.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.0.6, see Section E.118Section E.123.

    E.114.2. ChangesE.119.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.113. Release 9.0.11E.118. Release 9.0.11
    Section E.124Section E.129.

    E.113.1. Migration to Version 9.0.11E.118.1. Migration to Version 9.0.11

    A dump/restore is not required for those running 9.0.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.0.6, see Section E.118Section E.123.

    E.113.2. ChangesE.118.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.112. Release 9.0.12E.117. Release 9.0.12
    Section E.124Section E.129.

    E.112.1. Migration to Version 9.0.12E.117.1. Migration to Version 9.0.12

    A dump/restore is not required for those running 9.0.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.0.6, see Section E.118Section E.123.

    E.112.2. ChangesE.117.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.111. Release 9.0.13E.116. Release 9.0.13
    Section E.124Section E.129.

    E.111.1. Migration to Version 9.0.13E.116.1. Migration to Version 9.0.13

    A dump/restore is not required for those running 9.0.X. @@ -134,7 +134,7 @@ > Also, if you are upgrading from a version earlier than 9.0.6, see Section E.118Section E.123.

    E.111.2. ChangesE.116.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.110. Release 9.0.14E.115. Release 9.0.14
    Section E.124Section E.129.

    E.110.1. Migration to Version 9.0.14E.115.1. Migration to Version 9.0.14

    A dump/restore is not required for those running 9.0.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.0.13, see Section E.111Section E.116.

    E.110.2. ChangesE.115.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.109. Release 9.0.15E.114. Release 9.0.15
    Section E.124Section E.129.

    E.109.1. Migration to Version 9.0.15E.114.1. Migration to Version 9.0.15

    A dump/restore is not required for those running 9.0.X. @@ -130,7 +130,7 @@ > Also, if you are upgrading from a version earlier than 9.0.13, see Section E.111Section E.116.

    E.109.2. ChangesE.114.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.108. Release 9.0.16E.113. Release 9.0.16
    Section E.124Section E.129.

    E.108.1. Migration to Version 9.0.16E.113.1. Migration to Version 9.0.16

    A dump/restore is not required for those running 9.0.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.0.15, see Section E.109Section E.114.

    E.108.2. ChangesE.113.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.107. Release 9.0.17E.112. Release 9.0.17
    Section E.124Section E.129.

    E.107.1. Migration to Version 9.0.17E.112.1. Migration to Version 9.0.17

    A dump/restore is not required for those running 9.0.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.0.15, see Section E.109Section E.114.

    E.107.2. ChangesE.112.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.106. Release 9.0.18E.111. Release 9.0.18
    Section E.124Section E.129.

    E.106.1. Migration to Version 9.0.18E.111.1. Migration to Version 9.0.18

    A dump/restore is not required for those running 9.0.X. @@ -130,7 +130,7 @@ > Also, if you are upgrading from a version earlier than 9.0.15, see Section E.109Section E.114.

    E.106.2. ChangesE.111.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.105. Release 9.0.19E.110. Release 9.0.19
    Section E.124Section E.129.

    E.105.1. Migration to Version 9.0.19E.110.1. Migration to Version 9.0.19

    A dump/restore is not required for those running 9.0.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.0.18, see Section E.106Section E.111.

    E.105.2. ChangesE.110.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.123. Release 9.0.1E.128. Release 9.0.1
    Section E.124Section E.129.

    E.123.1. Migration to Version 9.0.1E.128.1. Migration to Version 9.0.1

    A dump/restore is not required for those running 9.0.X. @@ -127,8 +127,8 @@ >

    E.123.2. ChangesE.128.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.104. Release 9.0.20E.109. Release 9.0.20
    Section E.124Section E.129.

    E.104.1. Migration to Version 9.0.20E.109.1. Migration to Version 9.0.20

    A dump/restore is not required for those running 9.0.X. @@ -133,7 +133,7 @@ > However, if you are upgrading from a version earlier than 9.0.18, see Section E.106Section E.111.

    E.104.2. ChangesE.109.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.103. Release 9.0.21E.108. Release 9.0.21
    Section E.124Section E.129.

    E.103.1. Migration to Version 9.0.21E.108.1. Migration to Version 9.0.21

    A dump/restore is not required for those running 9.0.X. @@ -133,7 +133,7 @@ > However, if you are upgrading from a version earlier than 9.0.18, see Section E.106Section E.111.

    E.103.2. ChangesE.108.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.102. Release 9.0.22E.107. Release 9.0.22
    Section E.124Section E.129.

    E.102.1. Migration to Version 9.0.22E.107.1. Migration to Version 9.0.22

    A dump/restore is not required for those running 9.0.X. @@ -133,7 +133,7 @@ > However, if you are upgrading from a version earlier than 9.0.18, see Section E.106Section E.111.

    E.102.2. ChangesE.107.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.101. Release 9.0.23E.106. Release 9.0.23
    Section E.124Section E.129.

    E.101.1. Migration to Version 9.0.23E.106.1. Migration to Version 9.0.23

    A dump/restore is not required for those running 9.0.X. @@ -133,7 +133,7 @@ > However, if you are upgrading from a version earlier than 9.0.18, see Section E.106Section E.111.

    E.101.2. ChangesE.106.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.122. Release 9.0.2E.127. Release 9.0.2
    Section E.124Section E.129.

    E.122.1. Migration to Version 9.0.2E.127.1. Migration to Version 9.0.2

    A dump/restore is not required for those running 9.0.X. @@ -127,8 +127,8 @@ >

    E.122.2. ChangesE.127.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.121. Release 9.0.3E.126. Release 9.0.3
    Section E.124Section E.129.

    E.121.1. Migration to Version 9.0.3E.126.1. Migration to Version 9.0.3

    A dump/restore is not required for those running 9.0.X. @@ -127,8 +127,8 @@ >

    E.121.2. ChangesE.126.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.120. Release 9.0.4E.125. Release 9.0.4
    Section E.124Section E.129.

    E.120.1. Migration to Version 9.0.4E.125.1. Migration to Version 9.0.4

    A dump/restore is not required for those running 9.0.X. @@ -148,8 +148,8 @@ >

    E.120.2. ChangesE.125.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.119. Release 9.0.5E.124. Release 9.0.5
    Section E.124Section E.129.

    E.119.1. Migration to Version 9.0.5E.124.1. Migration to Version 9.0.5

    A dump/restore is not required for those running 9.0.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.0.4, see Section E.120Section E.125.

    E.119.2. ChangesE.124.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.118. Release 9.0.6E.123. Release 9.0.6
    Section E.124Section E.129.

    E.118.1. Migration to Version 9.0.6E.123.1. Migration to Version 9.0.6

    A dump/restore is not required for those running 9.0.X. @@ -134,7 +134,7 @@ > Also, if you are upgrading from a version earlier than 9.0.4, see Section E.120Section E.125.

    E.118.2. ChangesE.123.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.117. Release 9.0.7E.122. Release 9.0.7
    Section E.124Section E.129.

    E.117.1. Migration to Version 9.0.7E.122.1. Migration to Version 9.0.7

    A dump/restore is not required for those running 9.0.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.0.6, see Section E.118Section E.123.

    E.117.2. ChangesE.122.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.116. Release 9.0.8E.121. Release 9.0.8
    Section E.124Section E.129.

    E.116.1. Migration to Version 9.0.8E.121.1. Migration to Version 9.0.8

    A dump/restore is not required for those running 9.0.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.0.6, see Section E.118Section E.123.

    E.116.2. ChangesE.121.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.115. Release 9.0.9E.120. Release 9.0.9
    Section E.124Section E.129.

    E.115.1. Migration to Version 9.0.9E.120.1. Migration to Version 9.0.9

    A dump/restore is not required for those running 9.0.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.0.6, see Section E.118Section E.123.

    E.115.2. ChangesE.120.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.124. Release 9.0E.129. Release 9.0

    E.124.1. OverviewE.129.1. Overview

    This release of @@ -360,8 +360,8 @@ >

    E.124.2. Migration to Version 9.0E.129.2. Migration to Version 9.0

    A dump/restore using

    E.124.2.1. Server SettingsE.129.2.1. Server Settings

    E.124.2.2. QueriesE.129.2.2. Queries

    E.124.2.3. Data TypesE.129.2.3. Data Types

    E.124.2.4. Object RenamingE.129.2.4. Object Renaming

    E.124.2.5. PL/pgSQLE.129.2.5. PL/pgSQL

    E.124.2.6. Other IncompatibilitiesE.129.2.6. Other Incompatibilities

    E.124.3. ChangesE.129.3. Changes

    Version 9.0 has an unprecedented number of new major features, @@ -868,16 +868,16 @@ >

    E.124.3.1. ServerE.129.3.1. Server

    E.124.3.1.1. Continuous Archiving and Streaming ReplicationE.129.3.1.1. Continuous Archiving and Streaming Replication

    PostgreSQL's existing standby-server capability has been expanded both to @@ -971,8 +971,8 @@ >

    E.124.3.1.2. PerformanceE.129.3.1.2. Performance

    E.124.3.1.3. OptimizerE.129.3.1.3. Optimizer

    E.124.3.1.4. E.129.3.1.4. GEQO

    E.124.3.1.5. Optimizer StatisticsE.129.3.1.5. Optimizer Statistics

    E.124.3.1.6. AuthenticationE.129.3.1.6. Authentication

    E.124.3.1.7. MonitoringE.129.3.1.7. Monitoring

    E.124.3.1.8. Statistics CountersE.129.3.1.8. Statistics Counters

    E.124.3.1.9. Server SettingsE.129.3.1.9. Server Settings

    E.124.3.2. QueriesE.129.3.2. Queries

    E.124.3.2.1. Unicode StringsE.129.3.2.1. Unicode Strings

    E.124.3.3. Object ManipulationE.129.3.3. Object Manipulation

    E.124.3.3.1. E.129.3.3.1. ALTER TABLE

    E.124.3.3.2. E.129.3.3.2.

    E.124.3.3.3. ConstraintsE.129.3.3.3. Constraints

    E.124.3.3.4. Object PermissionsE.129.3.3.4. Object Permissions

    E.124.3.4. Utility OperationsE.129.3.4. Utility Operations

    E.124.3.4.1. E.129.3.4.1.

    E.124.3.4.2. E.129.3.4.2.

    E.124.3.4.3. E.129.3.4.3.

    E.124.3.4.4. IndexesE.129.3.4.4. Indexes

    E.124.3.5. Data TypesE.129.3.5. Data Types

    E.124.3.5.1. E.129.3.5.1. Full Text Search

    E.124.3.6. FunctionsE.129.3.6. Functions

    E.124.3.6.1. AggregatesE.129.3.6.1. Aggregates

    E.124.3.6.2. Bit StringsE.129.3.6.2. Bit Strings

    E.124.3.6.3. Object Information FunctionsE.129.3.6.3. Object Information Functions

    E.124.3.6.4. Function and Trigger CreationE.129.3.6.4. Function and Trigger Creation

    E.124.3.7. Server-Side LanguagesE.129.3.7. Server-Side Languages

    E.124.3.7.1. E.129.3.7.1. PL/pgSQL Server-Side @@ -3241,8 +3241,8 @@ >

    E.124.3.7.2. E.129.3.7.2. PL/Perl Server-Side Language

    E.124.3.7.3. E.129.3.7.3. PL/Python Server-Side Language

    E.124.3.8. Client ApplicationsE.129.3.8. Client Applications

    E.124.3.8.1. E.129.3.8.1.
    E.124.3.8.1.1. E.129.3.8.1.1. psql Display
    E.124.3.8.1.2. E.129.3.8.1.2. psql

    E.124.3.8.2. E.129.3.8.2.

    E.124.3.8.3. E.129.3.8.3.

    E.124.3.9. E.129.3.9. Development Tools

    E.124.3.9.1. E.129.3.9.1.

    E.124.3.9.2. E.129.3.9.2.
    E.124.3.9.2.1. E.129.3.9.2.1. ecpg Cursors

    E.124.3.10. Build OptionsE.129.3.10. Build Options

    E.124.3.10.1. MakefilesE.129.3.10.1. Makefiles

    E.124.3.10.2. WindowsE.129.3.10.2. Windows

    E.124.3.11. Source CodeE.129.3.11. Source Code

    E.124.3.11.1. New Build RequirementsE.129.3.11.1. New Build Requirements

    Note that these requirements do not apply when building from a @@ -4752,8 +4752,8 @@ >

    E.124.3.11.2. PortabilityE.129.3.11.2. Portability

    E.124.3.11.3. Server ProgrammingE.129.3.11.3. Server Programming

    E.124.3.11.4. Server HooksE.129.3.11.4. Server Hooks

    E.124.3.11.5. Binary Upgrade SupportE.129.3.11.5. Binary Upgrade Support

    E.124.3.12. ContribE.129.3.12. Contrib

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    E.90. Release 9.1.10E.95. Release 9.1.10
    Section E.100Section E.105.

    E.90.1. Migration to Version 9.1.10E.95.1. Migration to Version 9.1.10

    A dump/restore is not required for those running 9.1.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.1.9, see Section E.91Section E.96.

    E.90.2. ChangesE.95.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.89. Release 9.1.11E.94. Release 9.1.11
    Section E.100Section E.105.

    E.89.1. Migration to Version 9.1.11E.94.1. Migration to Version 9.1.11

    A dump/restore is not required for those running 9.1.X. @@ -130,7 +130,7 @@ > Also, if you are upgrading from a version earlier than 9.1.9, see Section E.91Section E.96.

    E.89.2. ChangesE.94.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.88. Release 9.1.12E.93. Release 9.1.12
    Section E.100Section E.105.

    E.88.1. Migration to Version 9.1.12E.93.1. Migration to Version 9.1.12

    A dump/restore is not required for those running 9.1.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.1.11, see Section E.89Section E.94.

    E.88.2. ChangesE.93.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.87. Release 9.1.13E.92. Release 9.1.13
    Section E.100Section E.105.

    E.87.1. Migration to Version 9.1.13E.92.1. Migration to Version 9.1.13

    A dump/restore is not required for those running 9.1.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.1.11, see Section E.89Section E.94.

    E.87.2. ChangesE.92.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.86. Release 9.1.14E.91. Release 9.1.14
    Section E.100Section E.105.

    E.86.1. Migration to Version 9.1.14E.91.1. Migration to Version 9.1.14

    A dump/restore is not required for those running 9.1.X. @@ -130,7 +130,7 @@ > Also, if you are upgrading from a version earlier than 9.1.11, see Section E.89Section E.94.

    E.86.2. ChangesE.91.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.85. Release 9.1.15E.90. Release 9.1.15
    Section E.100Section E.105.

    E.85.1. Migration to Version 9.1.15E.90.1. Migration to Version 9.1.15

    A dump/restore is not required for those running 9.1.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.1.14, see Section E.86Section E.91.

    E.85.2. ChangesE.90.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.84. Release 9.1.16E.89. Release 9.1.16
    Section E.100Section E.105.

    E.84.1. Migration to Version 9.1.16E.89.1. Migration to Version 9.1.16

    A dump/restore is not required for those running 9.1.X. @@ -136,7 +136,7 @@ > Also, if you are upgrading from a version earlier than 9.1.14, see Section E.86Section E.91.

    E.84.2. ChangesE.89.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.83. Release 9.1.17E.88. Release 9.1.17
    Section E.100Section E.105.

    E.83.1. Migration to Version 9.1.17E.88.1. Migration to Version 9.1.17

    A dump/restore is not required for those running 9.1.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.1.16, see Section E.84Section E.89.

    E.83.2. ChangesE.88.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.82. Release 9.1.18E.87. Release 9.1.18
    Section E.100Section E.105.

    E.82.1. Migration to Version 9.1.18E.87.1. Migration to Version 9.1.18

    A dump/restore is not required for those running 9.1.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.1.16, see Section E.84Section E.89.

    E.82.2. ChangesE.87.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.81. Release 9.1.19E.86. Release 9.1.19
    Section E.100Section E.105.

    E.81.1. Migration to Version 9.1.19E.86.1. Migration to Version 9.1.19

    A dump/restore is not required for those running 9.1.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.1.16, see Section E.84Section E.89.

    E.81.2. ChangesE.86.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.99. Release 9.1.1E.104. Release 9.1.1
    Section E.100Section E.105.

    E.99.1. Migration to Version 9.1.1E.104.1. Migration to Version 9.1.1

    A dump/restore is not required for those running 9.1.X. @@ -127,8 +127,8 @@ >

    E.99.2. ChangesE.104.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.80. Release 9.1.20E.85. Release 9.1.20
    Section E.100Section E.105.

    E.80.1. Migration to Version 9.1.20E.85.1. Migration to Version 9.1.20

    A dump/restore is not required for those running 9.1.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.1.16, see Section E.84Section E.89.

    E.80.2. ChangesE.85.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.79. Release 9.1.21E.84. Release 9.1.21
    Section E.100Section E.105.

    E.79.1. Migration to Version 9.1.21E.84.1. Migration to Version 9.1.21

    A dump/restore is not required for those running 9.1.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.1.16, see Section E.84Section E.89.

    E.79.2. ChangesE.84.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.78. Release 9.1.22E.83. Release 9.1.22
    Section E.100Section E.105.

    E.78.1. Migration to Version 9.1.22E.83.1. Migration to Version 9.1.22

    A dump/restore is not required for those running 9.1.X. @@ -133,7 +133,7 @@ > However, if you are upgrading from a version earlier than 9.1.16, see Section E.84Section E.89.

    E.78.2. ChangesE.83.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.77. Release 9.1.23E.82. Release 9.1.23
    Section E.100Section E.105.

    E.77.1. Migration to Version 9.1.23E.82.1. Migration to Version 9.1.23

    A dump/restore is not required for those running 9.1.X. @@ -133,7 +133,7 @@ > However, if you are upgrading from a version earlier than 9.1.16, see Section E.84Section E.89.

    E.77.2. ChangesE.82.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.76. Release 9.1.24E.81. Release 9.1.24
    Section E.100Section E.105.

    E.76.1. Migration to Version 9.1.24E.81.1. Migration to Version 9.1.24

    A dump/restore is not required for those running 9.1.X. @@ -133,7 +133,7 @@ > However, if you are upgrading from a version earlier than 9.1.16, see Section E.84Section E.89.

    E.76.2. ChangesE.81.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.98. Release 9.1.2E.103. Release 9.1.2
    Section E.100Section E.105.

    E.98.1. Migration to Version 9.1.2E.103.1. Migration to Version 9.1.2

    A dump/restore is not required for those running 9.1.X. @@ -165,8 +165,8 @@ >

    E.98.2. ChangesE.103.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.97. Release 9.1.3E.102. Release 9.1.3
    Section E.100Section E.105.

    E.97.1. Migration to Version 9.1.3E.102.1. Migration to Version 9.1.3

    A dump/restore is not required for those running 9.1.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.1.2, see Section E.98Section E.103.

    E.97.2. ChangesE.102.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.96. Release 9.1.4E.101. Release 9.1.4
    Section E.100Section E.105.

    E.96.1. Migration to Version 9.1.4E.101.1. Migration to Version 9.1.4

    A dump/restore is not required for those running 9.1.X. @@ -154,7 +154,7 @@ > Also, if you are upgrading from a version earlier than 9.1.2, see Section E.98Section E.103.

    E.96.2. ChangesE.101.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.95. Release 9.1.5E.100. Release 9.1.5
    Section E.100Section E.105.

    E.95.1. Migration to Version 9.1.5E.100.1. Migration to Version 9.1.5

    A dump/restore is not required for those running 9.1.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.1.4, see Section E.96Section E.101.

    E.95.2. ChangesE.100.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.94. Release 9.1.6E.99. Release 9.1.6
    Section E.100Section E.105.

    E.94.1. Migration to Version 9.1.6E.99.1. Migration to Version 9.1.6

    A dump/restore is not required for those running 9.1.X. @@ -133,7 +133,7 @@ > Also, if you are upgrading from a version earlier than 9.1.4, see Section E.96Section E.101.

    E.94.2. ChangesE.99.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.93. Release 9.1.7E.98. Release 9.1.7
    Section E.100Section E.105.

    E.93.1. Migration to Version 9.1.7E.98.1. Migration to Version 9.1.7

    A dump/restore is not required for those running 9.1.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.1.6, see Section E.94Section E.99.

    E.93.2. ChangesE.98.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.92. Release 9.1.8E.97. Release 9.1.8
    Section E.100Section E.105.

    E.92.1. Migration to Version 9.1.8E.97.1. Migration to Version 9.1.8

    A dump/restore is not required for those running 9.1.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.1.6, see Section E.94Section E.99.

    E.92.2. ChangesE.97.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.91. Release 9.1.9E.96. Release 9.1.9
    Section E.100Section E.105.

    E.91.1. Migration to Version 9.1.9E.96.1. Migration to Version 9.1.9

    A dump/restore is not required for those running 9.1.X. @@ -134,7 +134,7 @@ > Also, if you are upgrading from a version earlier than 9.1.6, see Section E.94Section E.99.

    E.91.2. ChangesE.96.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.100. Release 9.1E.105. Release 9.1

    E.100.1. OverviewE.105.1. Overview

    This release shows

    E.100.2. Migration to Version 9.1E.105.2. Migration to Version 9.1

    A dump/restore using

    E.100.2.1. StringsE.105.2.1. Strings

    E.100.2.2. CastingE.105.2.2. Casting

    E.100.2.3. ArraysE.105.2.3. Arrays

    E.100.2.4. Object ModificationE.105.2.4. Object Modification

    E.100.2.5. Server SettingsE.105.2.5. Server Settings

    E.100.2.6. E.105.2.6. PL/pgSQL Server-Side Language

    E.100.2.7. ContribE.105.2.7. Contrib

    E.100.2.8. Other IncompatibilitiesE.105.2.8. Other Incompatibilities

    E.100.3. ChangesE.105.3. Changes

    Below you will find a detailed account of the changes between @@ -741,16 +741,16 @@ >

    E.100.3.1. ServerE.105.3.1. Server

    E.100.3.1.1. PerformanceE.105.3.1.1. Performance

    E.100.3.1.2. OptimizerE.105.3.1.2. Optimizer

    E.100.3.1.3. AuthenticationE.105.3.1.3. Authentication

    E.100.3.1.4. MonitoringE.105.3.1.4. Monitoring

    E.100.3.1.5. Statistical ViewsE.105.3.1.5. Statistical Views

    E.100.3.1.6. Server SettingsE.105.3.1.6. Server Settings

    E.100.3.2. Replication and RecoveryE.105.3.2. Replication and Recovery

    E.100.3.2.1. Streaming Replication and Continuous ArchivingE.105.3.2.1. Streaming Replication and Continuous Archiving

    E.100.3.2.2. Replication MonitoringE.105.3.2.2. Replication Monitoring

    E.100.3.2.3. Hot StandbyE.105.3.2.3. Hot Standby

    E.100.3.2.4. Recovery ControlE.105.3.2.4. Recovery Control

    E.100.3.3. QueriesE.105.3.3. Queries

    E.100.3.3.1. StringsE.105.3.3.1. Strings

    E.100.3.4. Object ManipulationE.105.3.4. Object Manipulation

    E.100.3.4.1. E.105.3.4.1. ALTER Object

    E.100.3.4.2. E.105.3.4.2.

    E.100.3.4.3. Object PermissionsE.105.3.4.3. Object Permissions

    E.100.3.5. Utility OperationsE.105.3.5. Utility Operations

    E.100.3.5.1. E.105.3.5.1.

    E.100.3.5.2. E.105.3.5.2.

    E.100.3.5.3. E.105.3.5.3.

    E.100.3.5.4. E.105.3.5.4.

    E.100.3.5.5. IndexesE.105.3.5.5. Indexes

    E.100.3.6. Data TypesE.105.3.6. Data Types

    E.100.3.6.1. CastingE.105.3.6.1. Casting

    E.100.3.6.2. E.105.3.6.2.

    E.100.3.7. FunctionsE.105.3.7. Functions

    E.100.3.7.1. Object Information FunctionsE.105.3.7.1. Object Information Functions

    E.100.3.7.2. Function and Trigger CreationE.105.3.7.2. Function and Trigger Creation

    E.100.3.8. Server-Side LanguagesE.105.3.8. Server-Side Languages

    E.65. Release 9.2.10E.70. Release 9.2.10
    Section E.75Section E.80.

    E.65.1. Migration to Version 9.2.10E.70.1. Migration to Version 9.2.10

    A dump/restore is not required for those running 9.2.X. @@ -149,7 +149,7 @@ > Also, if you are upgrading from a version earlier than 9.2.9, see Section E.66Section E.71.

    E.65.2. ChangesE.70.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.64. Release 9.2.11E.69. Release 9.2.11
    Section E.75Section E.80.

    E.64.1. Migration to Version 9.2.11E.69.1. Migration to Version 9.2.11

    A dump/restore is not required for those running 9.2.X. @@ -136,7 +136,7 @@ > Also, if you are upgrading from a version earlier than 9.2.10, see Section E.65Section E.70.

    E.64.2. ChangesE.69.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.63. Release 9.2.12E.68. Release 9.2.12
    Section E.75Section E.80.

    E.63.1. Migration to Version 9.2.12E.68.1. Migration to Version 9.2.12

    A dump/restore is not required for those running 9.2.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.2.11, see Section E.64Section E.69.

    E.63.2. ChangesE.68.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.62. Release 9.2.13E.67. Release 9.2.13
    Section E.75Section E.80.

    E.62.1. Migration to Version 9.2.13E.67.1. Migration to Version 9.2.13

    A dump/restore is not required for those running 9.2.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.2.11, see Section E.64Section E.69.

    E.62.2. ChangesE.67.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.61. Release 9.2.14E.66. Release 9.2.14
    Section E.75Section E.80.

    E.61.1. Migration to Version 9.2.14E.66.1. Migration to Version 9.2.14

    A dump/restore is not required for those running 9.2.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.2.11, see Section E.64Section E.69.

    E.61.2. ChangesE.66.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.60. Release 9.2.15E.65. Release 9.2.15
    Section E.75Section E.80.

    E.60.1. Migration to Version 9.2.15E.65.1. Migration to Version 9.2.15

    A dump/restore is not required for those running 9.2.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.2.11, see Section E.64Section E.69.

    E.60.2. ChangesE.65.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.59. Release 9.2.16E.64. Release 9.2.16
    Section E.75Section E.80.

    E.59.1. Migration to Version 9.2.16E.64.1. Migration to Version 9.2.16

    A dump/restore is not required for those running 9.2.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.2.11, see Section E.64Section E.69.

    E.59.2. ChangesE.64.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.58. Release 9.2.17E.63. Release 9.2.17
    Section E.75Section E.80.

    E.58.1. Migration to Version 9.2.17E.63.1. Migration to Version 9.2.17

    A dump/restore is not required for those running 9.2.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.2.11, see Section E.64Section E.69.

    E.58.2. ChangesE.63.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.57. Release 9.2.18E.62. Release 9.2.18
    Section E.75Section E.80.

    E.57.1. Migration to Version 9.2.18E.62.1. Migration to Version 9.2.18

    A dump/restore is not required for those running 9.2.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.2.11, see Section E.64Section E.69.

    E.57.2. ChangesE.62.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.56. Release 9.2.19E.61. Release 9.2.19
    Section E.75Section E.80.

    E.56.1. Migration to Version 9.2.19E.61.1. Migration to Version 9.2.19

    A dump/restore is not required for those running 9.2.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.2.11, see Section E.64Section E.69.

    E.56.2. ChangesE.61.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.74. Release 9.2.1E.79. Release 9.2.1
    Section E.75Section E.80.

    E.74.1. Migration to Version 9.2.1E.79.1. Migration to Version 9.2.1

    A dump/restore is not required for those running 9.2.X. @@ -138,8 +138,8 @@ >

    E.74.2. ChangesE.79.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.55. Release 9.2.20E.60. Release 9.2.20
    Section E.75Section E.80.

    E.55.1. Migration to Version 9.2.20E.60.1. Migration to Version 9.2.20

    A dump/restore is not required for those running 9.2.X. @@ -130,7 +130,7 @@ > Also, if you are upgrading from a version earlier than 9.2.11, see Section E.64Section E.69.

    E.55.2. ChangesE.60.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.54. Release 9.2.21E.59. Release 9.2.21
    Section E.75Section E.80.

    E.54.1. Migration to Version 9.2.21E.59.1. Migration to Version 9.2.21

    A dump/restore is not required for those running 9.2.X. @@ -137,7 +137,7 @@ > Also, if you are upgrading from a version earlier than 9.2.20, see Section E.55Section E.60.

    E.54.2. ChangesE.59.2. Changes

    Section E.53Section E.58.

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.53. Release 9.2.22E.58. Release 9.2.22
    Section E.75Section E.80.

    E.53.1. Migration to Version 9.2.22E.58.1. Migration to Version 9.2.22

    A dump/restore is not required for those running 9.2.X. @@ -137,7 +137,7 @@ > Also, if you are upgrading from a version earlier than 9.2.20, see Section E.55Section E.60.

    E.53.2. ChangesE.58.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PrevE.52. Release 9.2.23E.57. Release 9.2.23
    Section E.75Section E.80.

    E.52.1. Migration to Version 9.2.23E.57.1. Migration to Version 9.2.23

    A dump/restore is not required for those running 9.2.X. @@ -133,7 +133,7 @@ > However, if you are upgrading from a version earlier than 9.2.22, see Section E.53Section E.58.

    E.52.2. ChangesE.57.2. Changes

    :

    BEGIN;
    -DROP SCHEMA information_schema CASCADE;
    -\i SHAREDIR/information_schema.sql
    -COMMIT;
    SET search_path TO information_schema; +CREATE OR REPLACE VIEW table_privileges AS + SELECT CAST(u_grantor.rolname AS sql_identifier) AS grantor, + CAST(grantee.rolname AS sql_identifier) AS grantee, + CAST(current_database() AS sql_identifier) AS table_catalog, + CAST(nc.nspname AS sql_identifier) AS table_schema, + CAST(c.relname AS sql_identifier) AS table_name, + CAST(c.prtype AS character_data) AS privilege_type, + CAST( + CASE WHEN + -- object owner always has grant options + pg_has_role(grantee.oid, c.relowner, 'USAGE') + OR c.grantable + THEN 'YES' ELSE 'NO' END AS yes_or_no) AS is_grantable, + CAST(CASE WHEN c.prtype = 'SELECT' THEN 'YES' ELSE 'NO' END AS yes_or_no) AS with_hierarchy + + FROM ( + SELECT oid, relname, relnamespace, relkind, relowner, (aclexplode(coalesce(relacl, acldefault('r', relowner)))).* FROM pg_class + ) AS c (oid, relname, relnamespace, relkind, relowner, grantor, grantee, prtype, grantable), + pg_namespace nc, + pg_authid u_grantor, + ( + SELECT oid, rolname FROM pg_authid + UNION ALL + SELECT 0::oid, 'PUBLIC' + ) AS grantee (oid, rolname) + + WHERE c.relnamespace = nc.oid + AND c.relkind IN ('r', 'v', 'f') + AND c.grantee = grantee.oid + AND c.grantor = u_grantor.oid + AND c.prtype IN ('INSERT', 'SELECT', 'UPDATE', 'DELETE', 'TRUNCATE', 'REFERENCES', 'TRIGGER') + AND (pg_has_role(u_grantor.oid, 'USAGE') + OR pg_has_role(grantee.oid, 'USAGE') + OR grantee.rolname = 'PUBLIC');

    - (Run pg_config --sharedir if you're uncertain - where SHAREDIR is.) This must be repeated in each - database to be fixed. +>template0.

  • PrevRelease 9.3Release 9.2.24
  • E.73. Release 9.2.2E.78. Release 9.2.2
    Section E.75Section E.80.

    E.73.1. Migration to Version 9.2.2E.78.1. Migration to Version 9.2.2

    A dump/restore is not required for those running 9.2.X. @@ -133,7 +133,7 @@ > Also, if you are upgrading from version 9.2.0, see Section E.74Section E.79.

    E.73.2. ChangesE.78.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.72. Release 9.2.3E.77. Release 9.2.3
    Section E.75Section E.80.

    E.72.1. Migration to Version 9.2.3E.77.1. Migration to Version 9.2.3

    A dump/restore is not required for those running 9.2.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.2.2, see Section E.73Section E.78.

    E.72.2. ChangesE.77.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.71. Release 9.2.4E.76. Release 9.2.4
    Section E.75Section E.80.

    E.71.1. Migration to Version 9.2.4E.76.1. Migration to Version 9.2.4

    A dump/restore is not required for those running 9.2.X. @@ -134,7 +134,7 @@ > Also, if you are upgrading from a version earlier than 9.2.2, see Section E.73Section E.78.

    E.71.2. ChangesE.76.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.70. Release 9.2.5E.75. Release 9.2.5
    Section E.75Section E.80.

    E.70.1. Migration to Version 9.2.5E.75.1. Migration to Version 9.2.5

    A dump/restore is not required for those running 9.2.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.2.4, see Section E.71Section E.76.

    E.70.2. ChangesE.75.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.69. Release 9.2.6E.74. Release 9.2.6
    Section E.75Section E.80.

    E.69.1. Migration to Version 9.2.6E.74.1. Migration to Version 9.2.6

    A dump/restore is not required for those running 9.2.X. @@ -130,7 +130,7 @@ > Also, if you are upgrading from a version earlier than 9.2.4, see Section E.71Section E.76.

    E.69.2. ChangesE.74.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.68. Release 9.2.7E.73. Release 9.2.7
    Section E.75Section E.80.

    E.68.1. Migration to Version 9.2.7E.73.1. Migration to Version 9.2.7

    A dump/restore is not required for those running 9.2.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.2.6, see Section E.69Section E.74.

    E.68.2. ChangesE.73.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.67. Release 9.2.8E.72. Release 9.2.8
    Section E.75Section E.80.

    E.67.1. Migration to Version 9.2.8E.72.1. Migration to Version 9.2.8

    A dump/restore is not required for those running 9.2.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.2.6, see Section E.69Section E.74.

    E.67.2. ChangesE.72.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.66. Release 9.2.9E.71. Release 9.2.9
    Section E.75Section E.80.

    E.66.1. Migration to Version 9.2.9E.71.1. Migration to Version 9.2.9

    A dump/restore is not required for those running 9.2.X. @@ -130,7 +130,7 @@ > Also, if you are upgrading from a version earlier than 9.2.6, see Section E.69Section E.74.

    E.66.2. ChangesE.71.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.75. Release 9.2E.80. Release 9.2

    E.75.1. OverviewE.80.1. Overview

    This release has been largely focused on performance improvements, though @@ -255,8 +255,8 @@ >

    E.75.2. Migration to Version 9.2E.80.2. Migration to Version 9.2

    A dump/restore using

    E.75.2.1. System CatalogsE.80.2.1. System Catalogs

    E.75.2.2. FunctionsE.80.2.2. Functions

    E.75.2.3. Object ModificationE.80.2.3. Object Modification

    E.75.2.4. Command-Line ToolsE.80.2.4. Command-Line Tools

    E.75.2.5. Server SettingsE.80.2.5. Server Settings

    E.75.2.6. MonitoringE.80.2.6. Monitoring

    E.75.3. ChangesE.80.3. Changes

    Below you will find a detailed account of the changes between @@ -935,16 +935,16 @@ >

    E.75.3.1. ServerE.80.3.1. Server

    E.75.3.1.1. PerformanceE.80.3.1.1. Performance

    E.75.3.1.2. Process ManagementE.80.3.1.2. Process Management

    E.75.3.1.3. OptimizerE.80.3.1.3. Optimizer

    E.75.3.1.4. AuthenticationE.80.3.1.4. Authentication

    E.75.3.1.5. MonitoringE.80.3.1.5. Monitoring

    E.75.3.1.6. Statistical ViewsE.80.3.1.6. Statistical Views

    E.75.3.1.7. Server SettingsE.80.3.1.7. Server Settings

    E.75.3.1.7.1. E.80.3.1.7.1. postgresql.conf

    E.75.3.2. Replication and RecoveryE.80.3.2. Replication and Recovery

    E.75.3.3. QueriesE.80.3.3. Queries

    E.75.3.4. Object ManipulationE.80.3.4. Object Manipulation

    E.75.3.4.1. ConstraintsE.80.3.4.1. Constraints

    E.75.3.4.2. E.80.3.4.2. ALTER

    E.75.3.4.3. E.80.3.4.3.

    E.75.3.4.4. Object PermissionsE.80.3.4.4. Object Permissions

    E.75.3.5. Utility OperationsE.80.3.5. Utility Operations

    E.75.3.6. Data TypesE.80.3.6. Data Types

    E.75.3.7. FunctionsE.80.3.7. Functions

    E.75.3.8. E.80.3.8. Information Schema

    E.75.3.9. Server-Side LanguagesE.80.3.9. Server-Side Languages

    E.41. Release 9.3.10E.45. Release 9.3.10
    Section E.51Section E.55.

    E.41.1. Migration to Version 9.3.10E.45.1. Migration to Version 9.3.10

    A dump/restore is not required for those running 9.3.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.3.9, see Section E.42Section E.46.

    E.41.2. ChangesE.45.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.40. Release 9.3.11E.44. Release 9.3.11
    Section E.51Section E.55.

    E.40.1. Migration to Version 9.3.11E.44.1. Migration to Version 9.3.11

    A dump/restore is not required for those running 9.3.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.3.9, see Section E.42Section E.46.

    E.40.2. ChangesE.44.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.39. Release 9.3.12E.43. Release 9.3.12
    Section E.51Section E.55.

    E.39.1. Migration to Version 9.3.12E.43.1. Migration to Version 9.3.12

    A dump/restore is not required for those running 9.3.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.3.9, see Section E.42Section E.46.

    E.39.2. ChangesE.43.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.38. Release 9.3.13E.42. Release 9.3.13
    Section E.51Section E.55.

    E.38.1. Migration to Version 9.3.13E.42.1. Migration to Version 9.3.13

    A dump/restore is not required for those running 9.3.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.3.9, see Section E.42Section E.46.

    E.38.2. ChangesE.42.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.37. Release 9.3.14E.41. Release 9.3.14
    Section E.51Section E.55.

    E.37.1. Migration to Version 9.3.14E.41.1. Migration to Version 9.3.14

    A dump/restore is not required for those running 9.3.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.3.9, see Section E.42Section E.46.

    E.37.2. ChangesE.41.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.36. Release 9.3.15E.40. Release 9.3.15
    Section E.51Section E.55.

    E.36.1. Migration to Version 9.3.15E.40.1. Migration to Version 9.3.15

    A dump/restore is not required for those running 9.3.X. @@ -130,7 +130,7 @@ > Also, if you are upgrading from a version earlier than 9.3.9, see Section E.42Section E.46.

    E.36.2. ChangesE.40.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.35. Release 9.3.16E.39. Release 9.3.16
    Section E.51Section E.55.

    E.35.1. Migration to Version 9.3.16E.39.1. Migration to Version 9.3.16

    A dump/restore is not required for those running 9.3.X. @@ -130,7 +130,7 @@ > Also, if you are upgrading from a version earlier than 9.3.15, see Section E.36Section E.40.

    E.35.2. ChangesE.39.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.34. Release 9.3.17E.38. Release 9.3.17
    Section E.51Section E.55.

    E.34.1. Migration to Version 9.3.17E.38.1. Migration to Version 9.3.17

    A dump/restore is not required for those running 9.3.X. @@ -129,7 +129,7 @@ > Also, if you are upgrading from a version earlier than 9.3.16, see Section E.35Section E.39.

    E.34.2. ChangesE.38.2. Changes

    Section E.33Section E.37.

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    E.33. Release 9.3.18E.37. Release 9.3.18
    Section E.51Section E.55.

    E.33.1. Migration to Version 9.3.18E.37.1. Migration to Version 9.3.18

    A dump/restore is not required for those running 9.3.X. @@ -129,7 +129,7 @@ > Also, if you are upgrading from a version earlier than 9.3.16, see Section E.35Section E.39.

    E.33.2. ChangesE.37.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PrevE.32. Release 9.3.19E.36. Release 9.3.19
    Section E.51Section E.55.

    E.32.1. Migration to Version 9.3.19E.36.1. Migration to Version 9.3.19

    A dump/restore is not required for those running 9.3.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.3.18, see Section E.33Section E.37.

    E.32.2. ChangesE.36.2. Changes

    :

    BEGIN;
    -DROP SCHEMA information_schema CASCADE;
    -\i SHAREDIR/information_schema.sql
    -COMMIT;
    SET search_path TO information_schema; +CREATE OR REPLACE VIEW table_privileges AS + SELECT CAST(u_grantor.rolname AS sql_identifier) AS grantor, + CAST(grantee.rolname AS sql_identifier) AS grantee, + CAST(current_database() AS sql_identifier) AS table_catalog, + CAST(nc.nspname AS sql_identifier) AS table_schema, + CAST(c.relname AS sql_identifier) AS table_name, + CAST(c.prtype AS character_data) AS privilege_type, + CAST( + CASE WHEN + -- object owner always has grant options + pg_has_role(grantee.oid, c.relowner, 'USAGE') + OR c.grantable + THEN 'YES' ELSE 'NO' END AS yes_or_no) AS is_grantable, + CAST(CASE WHEN c.prtype = 'SELECT' THEN 'YES' ELSE 'NO' END AS yes_or_no) AS with_hierarchy + + FROM ( + SELECT oid, relname, relnamespace, relkind, relowner, (aclexplode(coalesce(relacl, acldefault('r', relowner)))).* FROM pg_class + ) AS c (oid, relname, relnamespace, relkind, relowner, grantor, grantee, prtype, grantable), + pg_namespace nc, + pg_authid u_grantor, + ( + SELECT oid, rolname FROM pg_authid + UNION ALL + SELECT 0::oid, 'PUBLIC' + ) AS grantee (oid, rolname) + + WHERE c.relnamespace = nc.oid + AND c.relkind IN ('r', 'v', 'f') + AND c.grantee = grantee.oid + AND c.grantor = u_grantor.oid + AND c.prtype IN ('INSERT', 'SELECT', 'UPDATE', 'DELETE', 'TRUNCATE', 'REFERENCES', 'TRIGGER') + AND (pg_has_role(u_grantor.oid, 'USAGE') + OR pg_has_role(grantee.oid, 'USAGE') + OR grantee.rolname = 'PUBLIC');

    - (Run pg_config --sharedir if you're uncertain - where SHAREDIR is.) This must be repeated in each - database to be fixed. +>template0.

  • PrevRelease 9.4Release 9.3.20
  • E.50. Release 9.3.1E.54. Release 9.3.1
    Section E.51Section E.55.

    E.50.1. Migration to Version 9.3.1E.54.1. Migration to Version 9.3.1

    A dump/restore is not required for those running 9.3.X. @@ -134,8 +134,8 @@ >

    E.50.2. ChangesE.54.2. Changes

    +Release 9.3.20
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    +Release 9.2.24

    E.56. Release 9.2.24

    Release date: 2017-11-09

    This release contains a variety of fixes from 9.2.23. + For information about new features in the 9.2 major release, see + Section E.80. +

    This is expected to be the last PostgreSQL + release in the 9.2.X series. Users are encouraged to update to a newer + release branch soon. +

    E.56.1. Migration to Version 9.2.24

    A dump/restore is not required for those running 9.2.X. +

    However, if you are upgrading from a version earlier than 9.2.22, + see Section E.58. +

    E.56.2. Changes

    • Fix sample server-start scripts to become $PGUSER + before opening $PGLOG (Noah Misch) +

      Previously, the postmaster log file was opened while still running as + root. The database owner could therefore mount an attack against + another system user by making $PGLOG be a symbolic + link to some other file, which would then become corrupted by appending + log messages. +

      By default, these scripts are not installed anywhere. Users who have + made use of them will need to manually recopy them, or apply the same + changes to their modified versions. If the + existing $PGLOG file is root-owned, it will need to + be removed or renamed out of the way before restarting the server with + the corrected script. + (CVE-2017-12172) +

    • Properly reject attempts to convert infinite float values to + type numeric (Tom Lane, KaiGai Kohei) +

      Previously the behavior was platform-dependent. +

    • Fix corner-case crashes when columns have been added to the end of a + view (Tom Lane) +

    • Record proper dependencies when a view or rule + contains FieldSelect + or FieldStore expression nodes (Tom Lane) +

      Lack of these dependencies could allow a column or data + type DROP to go through when it ought to fail, + thereby causing later uses of the view or rule to get errors. + This patch does not do anything to protect existing views/rules, + only ones created in the future. +

    • Correctly detect hashability of range data types (Tom Lane) +

      The planner mistakenly assumed that any range type could be hashed + for use in hash joins or hash aggregation, but actually it must check + whether the range's subtype has hash support. This does not affect any + of the built-in range types, since they're all hashable anyway. +

    • Fix low-probability loss of NOTIFY messages due to + XID wraparound (Marko Tiikkaja, Tom Lane) +

      If a session executed no queries, but merely listened for + notifications, for more than 2 billion transactions, it started to miss + some notifications from concurrently-committing transactions. +

    • Prevent low-probability crash in processing of nested trigger firings + (Tom Lane) +

    • Correctly restore the umask setting when file creation fails + in COPY or lo_export() + (Peter Eisentraut) +

    • Give a better error message for duplicate column names + in ANALYZE (Nathan Bossart) +

    • Fix libpq to not require user's home + directory to exist (Tom Lane) +

      In v10, failure to find the home directory while trying to + read ~/.pgpass was treated as a hard error, + but it should just cause that file to not be found. Both v10 and + previous release branches made the same mistake when + reading ~/.pg_service.conf, though this was less + obvious since that file is not sought unless a service name is + specified. +

    • Fix libpq to guard against integer + overflow in the row count of a PGresult + (Michael Paquier) +

    • Sync our copy of the timezone library with IANA release tzcode2017c + (Tom Lane) +

      This fixes various issues; the only one likely to be user-visible + is that the default DST rules for a POSIX-style zone name, if + no posixrules file exists in the timezone data + directory, now match current US law rather than what it was a dozen + years ago. +

    • Update time zone data files to tzdata + release 2017c for DST law changes in Fiji, Namibia, Northern Cyprus, + Sudan, Tonga, and Turks & Caicos Islands, plus historical + corrections for Alaska, Apia, Burma, Calcutta, Detroit, Ireland, + Namibia, and Pago Pago. +


    PrevHomeNext
    Release 9.3UpRelease 9.2.23
    \ No newline at end of file diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/html/release-9-2-2.html postgresql-9.6-9.6.6/doc/src/sgml/html/release-9-2-2.html --- postgresql-9.6-9.6.5/doc/src/sgml/html/release-9-2-2.html 2017-08-28 21:38:48.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/html/release-9-2-2.html 2017-11-06 22:27:55.000000000 +0000 @@ -9,7 +9,7 @@ REV="MADE" HREF="mailto:pgsql-docs@postgresql.org">
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.6 Documentation
    PrevUpAppendix E. Release NotesNext

    E.35. Release 9.3.20

    Release date: 2017-11-09

    This release contains a variety of fixes from 9.3.19. + For information about new features in the 9.3 major release, see + Section E.55. +

    E.35.1. Migration to Version 9.3.20

    A dump/restore is not required for those running 9.3.X. +

    However, if you are upgrading from a version earlier than 9.3.18, + see Section E.37. +

    E.35.2. Changes

    • Fix crash due to rowtype mismatch + in json{b}_populate_recordset() + (Michael Paquier, Tom Lane) +

      These functions used the result rowtype specified in the FROM + ... AS clause without checking that it matched the actual + rowtype of the supplied tuple value. If it didn't, that would usually + result in a crash, though disclosure of server memory contents seems + possible as well. + (CVE-2017-15098) +

    • Fix sample server-start scripts to become $PGUSER + before opening $PGLOG (Noah Misch) +

      Previously, the postmaster log file was opened while still running as + root. The database owner could therefore mount an attack against + another system user by making $PGLOG be a symbolic + link to some other file, which would then become corrupted by appending + log messages. +

      By default, these scripts are not installed anywhere. Users who have + made use of them will need to manually recopy them, or apply the same + changes to their modified versions. If the + existing $PGLOG file is root-owned, it will need to + be removed or renamed out of the way before restarting the server with + the corrected script. + (CVE-2017-12172) +

    • Properly reject attempts to convert infinite float values to + type numeric (Tom Lane, KaiGai Kohei) +

      Previously the behavior was platform-dependent. +

    • Fix corner-case crashes when columns have been added to the end of a + view (Tom Lane) +

    • Record proper dependencies when a view or rule + contains FieldSelect + or FieldStore expression nodes (Tom Lane) +

      Lack of these dependencies could allow a column or data + type DROP to go through when it ought to fail, + thereby causing later uses of the view or rule to get errors. + This patch does not do anything to protect existing views/rules, + only ones created in the future. +

    • Correctly detect hashability of range data types (Tom Lane) +

      The planner mistakenly assumed that any range type could be hashed + for use in hash joins or hash aggregation, but actually it must check + whether the range's subtype has hash support. This does not affect any + of the built-in range types, since they're all hashable anyway. +

    • Fix low-probability loss of NOTIFY messages due to + XID wraparound (Marko Tiikkaja, Tom Lane) +

      If a session executed no queries, but merely listened for + notifications, for more than 2 billion transactions, it started to miss + some notifications from concurrently-committing transactions. +

    • Prevent low-probability crash in processing of nested trigger firings + (Tom Lane) +

    • Correctly restore the umask setting when file creation fails + in COPY or lo_export() + (Peter Eisentraut) +

    • Give a better error message for duplicate column names + in ANALYZE (Nathan Bossart) +

    • Fix mis-parsing of the last line in a + non-newline-terminated pg_hba.conf file + (Tom Lane) +

    • Fix libpq to not require user's home + directory to exist (Tom Lane) +

      In v10, failure to find the home directory while trying to + read ~/.pgpass was treated as a hard error, + but it should just cause that file to not be found. Both v10 and + previous release branches made the same mistake when + reading ~/.pg_service.conf, though this was less + obvious since that file is not sought unless a service name is + specified. +

    • Fix libpq to guard against integer + overflow in the row count of a PGresult + (Michael Paquier) +

    • Fix ecpg's handling of out-of-scope cursor + declarations with pointer or array variables (Michael Meskes) +

    • Make ecpglib's Informix-compatibility mode ignore fractional digits in + integer input strings, as expected (Gao Zengqi, Michael Meskes) +

    • Sync our copy of the timezone library with IANA release tzcode2017c + (Tom Lane) +

      This fixes various issues; the only one likely to be user-visible + is that the default DST rules for a POSIX-style zone name, if + no posixrules file exists in the timezone data + directory, now match current US law rather than what it was a dozen + years ago. +

    • Update time zone data files to tzdata + release 2017c for DST law changes in Fiji, Namibia, Northern Cyprus, + Sudan, Tonga, and Turks & Caicos Islands, plus historical + corrections for Alaska, Apia, Burma, Calcutta, Detroit, Ireland, + Namibia, and Pago Pago. +


    PrevHomeNext
    Release 9.4UpRelease 9.3.19
    \ No newline at end of file diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/html/release-9-3-2.html postgresql-9.6-9.6.6/doc/src/sgml/html/release-9-3-2.html --- postgresql-9.6-9.6.5/doc/src/sgml/html/release-9-3-2.html 2017-08-28 21:38:45.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/html/release-9-3-2.html 2017-11-06 22:27:52.000000000 +0000 @@ -9,7 +9,7 @@ REV="MADE" HREF="mailto:pgsql-docs@postgresql.org">
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.49. Release 9.3.2E.53. Release 9.3.2

    Section E.51Section E.55.

    E.49.1. Migration to Version 9.3.2E.53.1. Migration to Version 9.3.2

    A dump/restore is not required for those running 9.3.X. @@ -130,7 +130,7 @@ > Also, if you are upgrading from a version earlier than 9.3.1, see Section E.50Section E.54.

    E.49.2. ChangesE.53.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.48. Release 9.3.3E.52. Release 9.3.3

    Section E.51Section E.55.

    E.48.1. Migration to Version 9.3.3E.52.1. Migration to Version 9.3.3

    A dump/restore is not required for those running 9.3.X. @@ -140,7 +140,7 @@ > Also, if you are upgrading from a version earlier than 9.3.2, see Section E.49Section E.53.

    E.48.2. ChangesE.52.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.47. Release 9.3.4E.51. Release 9.3.4
    Section E.51Section E.55.

    E.47.1. Migration to Version 9.3.4E.51.1. Migration to Version 9.3.4

    A dump/restore is not required for those running 9.3.X. @@ -131,7 +131,7 @@ > Also, if you are upgrading from a version earlier than 9.3.3, see Section E.48Section E.52.

    E.47.2. ChangesE.51.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.46. Release 9.3.5E.50. Release 9.3.5
    Section E.51Section E.55.

    E.46.1. Migration to Version 9.3.5E.50.1. Migration to Version 9.3.5

    A dump/restore is not required for those running 9.3.X. @@ -135,7 +135,7 @@ > Also, if you are upgrading from a version earlier than 9.3.4, see Section E.47Section E.51.

    E.46.2. ChangesE.50.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.45. Release 9.3.6E.49. Release 9.3.6
    Section E.51Section E.55.

    E.45.1. Migration to Version 9.3.6E.49.1. Migration to Version 9.3.6

    A dump/restore is not required for those running 9.3.X. @@ -149,7 +149,7 @@ > Also, if you are upgrading from a version earlier than 9.3.5, see Section E.46Section E.50.

    E.45.2. ChangesE.49.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.44. Release 9.3.7E.48. Release 9.3.7
    Section E.51Section E.55.

    E.44.1. Migration to Version 9.3.7E.48.1. Migration to Version 9.3.7

    A dump/restore is not required for those running 9.3.X. @@ -136,7 +136,7 @@ > Also, if you are upgrading from a version earlier than 9.3.6, see Section E.45Section E.49.

    E.44.2. ChangesE.48.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.43. Release 9.3.8E.47. Release 9.3.8
    Section E.51Section E.55.

    E.43.1. Migration to Version 9.3.8E.47.1. Migration to Version 9.3.8

    A dump/restore is not required for those running 9.3.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.3.7, see Section E.44Section E.48.

    E.43.2. ChangesE.47.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.42. Release 9.3.9E.46. Release 9.3.9
    Section E.51Section E.55.

    E.42.1. Migration to Version 9.3.9E.46.1. Migration to Version 9.3.9

    A dump/restore is not required for those running 9.3.X. @@ -133,7 +133,7 @@ > Also, if you are upgrading from a version earlier than 9.3.7, see Section E.44Section E.48.

    E.42.2. ChangesE.46.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationNextE.51. Release 9.3E.55. Release 9.3

    E.51.1. OverviewE.55.1. Overview

    Major enhancements in

    E.51.2. Migration to Version 9.3E.55.2. Migration to Version 9.3

    A dump/restore using

    E.51.2.1. Server SettingsE.55.2.1. Server Settings

    E.51.2.2. OtherE.55.2.2. Other

    E.51.3. ChangesE.55.3. Changes

    Below you will find a detailed account of the changes between @@ -534,16 +534,16 @@ >

    E.51.3.1. ServerE.55.3.1. Server

    E.51.3.1.1. LockingE.55.3.1.1. Locking

    E.51.3.1.2. IndexesE.55.3.1.2. Indexes

    E.51.3.1.3. OptimizerE.55.3.1.3. Optimizer

    E.51.3.1.4. General PerformanceE.55.3.1.4. General Performance

    E.51.3.1.5. MonitoringE.55.3.1.5. Monitoring

    E.51.3.1.6. AuthenticationE.55.3.1.6. Authentication

    E.51.3.1.7. Server SettingsE.55.3.1.7. Server Settings

    E.51.3.2. Replication and RecoveryE.55.3.2. Replication and Recovery

    E.51.3.3. QueriesE.55.3.3. Queries

    E.51.3.4. Object ManipulationE.55.3.4. Object Manipulation

    E.51.3.4.1. E.55.3.4.1. ALTER

    E.51.3.4.2. E.55.3.4.2.

    E.51.3.5. Data TypesE.55.3.5. Data Types

    E.51.3.5.1. E.55.3.5.1.

    E.51.3.6. FunctionsE.55.3.6. Functions

    E.51.3.7. Server-Side LanguagesE.55.3.7. Server-Side Languages

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.21. Release 9.4.10E.24. Release 9.4.10

    Section E.31Section E.34.

    E.21.1. Migration to Version 9.4.10E.24.1. Migration to Version 9.4.10

    A dump/restore is not required for those running 9.4.X. @@ -130,7 +130,7 @@ > Also, if you are upgrading from a version earlier than 9.4.6, see Section E.25Section E.28.

    E.21.2. ChangesE.24.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.20. Release 9.4.11E.23. Release 9.4.11

    Section E.31Section E.34.

    E.20.1. Migration to Version 9.4.11E.23.1. Migration to Version 9.4.11

    A dump/restore is not required for those running 9.4.X. @@ -130,7 +130,7 @@ > Also, if you are upgrading from a version earlier than 9.4.10, see Section E.21Section E.24.

    E.20.2. ChangesE.23.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.19. Release 9.4.12E.22. Release 9.4.12
    Section E.31Section E.34.

    E.19.1. Migration to Version 9.4.12E.22.1. Migration to Version 9.4.12

    A dump/restore is not required for those running 9.4.X. @@ -136,7 +136,7 @@ > Also, if you are upgrading from a version earlier than 9.4.11, see Section E.20Section E.23.

    E.19.2. ChangesE.22.2. Changes

    Section E.18Section E.21.

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.18. Release 9.4.13E.21. Release 9.4.13
    Section E.31Section E.34.

    E.18.1. Migration to Version 9.4.13E.21.1. Migration to Version 9.4.13

    A dump/restore is not required for those running 9.4.X. @@ -129,7 +129,7 @@ > Also, if you are upgrading from a version earlier than 9.4.12, see Section E.19Section E.22.

    E.18.2. ChangesE.21.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationPrevE.17. Release 9.4.14E.20. Release 9.4.14
    Section E.31Section E.34.

    E.17.1. Migration to Version 9.4.14E.20.1. Migration to Version 9.4.14

    A dump/restore is not required for those running 9.4.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.4.13, see Section E.18Section E.21.

    E.17.2. ChangesE.20.2. Changes

    :

    BEGIN;
    -DROP SCHEMA information_schema CASCADE;
    -\i SHAREDIR/information_schema.sql
    -COMMIT;
    SET search_path TO information_schema; +CREATE OR REPLACE VIEW table_privileges AS + SELECT CAST(u_grantor.rolname AS sql_identifier) AS grantor, + CAST(grantee.rolname AS sql_identifier) AS grantee, + CAST(current_database() AS sql_identifier) AS table_catalog, + CAST(nc.nspname AS sql_identifier) AS table_schema, + CAST(c.relname AS sql_identifier) AS table_name, + CAST(c.prtype AS character_data) AS privilege_type, + CAST( + CASE WHEN + -- object owner always has grant options + pg_has_role(grantee.oid, c.relowner, 'USAGE') + OR c.grantable + THEN 'YES' ELSE 'NO' END AS yes_or_no) AS is_grantable, + CAST(CASE WHEN c.prtype = 'SELECT' THEN 'YES' ELSE 'NO' END AS yes_or_no) AS with_hierarchy + + FROM ( + SELECT oid, relname, relnamespace, relkind, relowner, (aclexplode(coalesce(relacl, acldefault('r', relowner)))).* FROM pg_class + ) AS c (oid, relname, relnamespace, relkind, relowner, grantor, grantee, prtype, grantable), + pg_namespace nc, + pg_authid u_grantor, + ( + SELECT oid, rolname FROM pg_authid + UNION ALL + SELECT 0::oid, 'PUBLIC' + ) AS grantee (oid, rolname) + + WHERE c.relnamespace = nc.oid + AND c.relkind IN ('r', 'v', 'f') + AND c.grantee = grantee.oid + AND c.grantor = u_grantor.oid + AND c.prtype IN ('INSERT', 'SELECT', 'UPDATE', 'DELETE', 'TRUNCATE', 'REFERENCES', 'TRIGGER') + AND (pg_has_role(u_grantor.oid, 'USAGE') + OR pg_has_role(grantee.oid, 'USAGE') + OR grantee.rolname = 'PUBLIC');

    - (Run pg_config --sharedir if you're uncertain - where SHAREDIR is.) This must be repeated in each - database to be fixed. +>template0.

  • PrevRelease 9.5Release 9.4.15 +Release 9.4.15

    E.19. Release 9.4.15

    Release date: 2017-11-09

    This release contains a variety of fixes from 9.4.14. + For information about new features in the 9.4 major release, see + Section E.34. +

    E.19.1. Migration to Version 9.4.15

    A dump/restore is not required for those running 9.4.X. +

    However, if you are upgrading from a version earlier than 9.4.13, + see Section E.21. +

    E.19.2. Changes

    • Fix crash due to rowtype mismatch + in json{b}_populate_recordset() + (Michael Paquier, Tom Lane) +

      These functions used the result rowtype specified in the FROM + ... AS clause without checking that it matched the actual + rowtype of the supplied tuple value. If it didn't, that would usually + result in a crash, though disclosure of server memory contents seems + possible as well. + (CVE-2017-15098) +

    • Fix sample server-start scripts to become $PGUSER + before opening $PGLOG (Noah Misch) +

      Previously, the postmaster log file was opened while still running as + root. The database owner could therefore mount an attack against + another system user by making $PGLOG be a symbolic + link to some other file, which would then become corrupted by appending + log messages. +

      By default, these scripts are not installed anywhere. Users who have + made use of them will need to manually recopy them, or apply the same + changes to their modified versions. If the + existing $PGLOG file is root-owned, it will need to + be removed or renamed out of the way before restarting the server with + the corrected script. + (CVE-2017-12172) +

    • Fix crash when logical decoding is invoked from a SPI-using function, + in particular any function written in a PL language + (Tom Lane) +

    • Fix json_build_array(), + json_build_object(), and their jsonb + equivalents to handle explicit VARIADIC arguments + correctly (Michael Paquier) +

    • Properly reject attempts to convert infinite float values to + type numeric (Tom Lane, KaiGai Kohei) +

      Previously the behavior was platform-dependent. +

    • Fix corner-case crashes when columns have been added to the end of a + view (Tom Lane) +

    • Record proper dependencies when a view or rule + contains FieldSelect + or FieldStore expression nodes (Tom Lane) +

      Lack of these dependencies could allow a column or data + type DROP to go through when it ought to fail, + thereby causing later uses of the view or rule to get errors. + This patch does not do anything to protect existing views/rules, + only ones created in the future. +

    • Correctly detect hashability of range data types (Tom Lane) +

      The planner mistakenly assumed that any range type could be hashed + for use in hash joins or hash aggregation, but actually it must check + whether the range's subtype has hash support. This does not affect any + of the built-in range types, since they're all hashable anyway. +

    • Fix low-probability loss of NOTIFY messages due to + XID wraparound (Marko Tiikkaja, Tom Lane) +

      If a session executed no queries, but merely listened for + notifications, for more than 2 billion transactions, it started to miss + some notifications from concurrently-committing transactions. +

    • Avoid SIGBUS crash on Linux when a DSM memory + request exceeds the space available in tmpfs + (Thomas Munro) +

    • Prevent low-probability crash in processing of nested trigger firings + (Tom Lane) +

    • Allow COPY's FREEZE option to + work when the transaction isolation level is REPEATABLE + READ or higher (Noah Misch) +

      This case was unintentionally broken by a previous bug fix. +

    • Correctly restore the umask setting when file creation fails + in COPY or lo_export() + (Peter Eisentraut) +

    • Give a better error message for duplicate column names + in ANALYZE (Nathan Bossart) +

    • Fix mis-parsing of the last line in a + non-newline-terminated pg_hba.conf file + (Tom Lane) +

    • Fix libpq to not require user's home + directory to exist (Tom Lane) +

      In v10, failure to find the home directory while trying to + read ~/.pgpass was treated as a hard error, + but it should just cause that file to not be found. Both v10 and + previous release branches made the same mistake when + reading ~/.pg_service.conf, though this was less + obvious since that file is not sought unless a service name is + specified. +

    • Fix libpq to guard against integer + overflow in the row count of a PGresult + (Michael Paquier) +

    • Fix ecpg's handling of out-of-scope cursor + declarations with pointer or array variables (Michael Meskes) +

    • In ecpglib, correctly handle backslashes in string literals depending + on whether standard_conforming_strings is set + (Tsunakawa Takayuki) +

    • Make ecpglib's Informix-compatibility mode ignore fractional digits in + integer input strings, as expected (Gao Zengqi, Michael Meskes) +

    • Sync our copy of the timezone library with IANA release tzcode2017c + (Tom Lane) +

      This fixes various issues; the only one likely to be user-visible + is that the default DST rules for a POSIX-style zone name, if + no posixrules file exists in the timezone data + directory, now match current US law rather than what it was a dozen + years ago. +

    • Update time zone data files to tzdata + release 2017c for DST law changes in Fiji, Namibia, Northern Cyprus, + Sudan, Tonga, and Turks & Caicos Islands, plus historical + corrections for Alaska, Apia, Burma, Calcutta, Detroit, Ireland, + Namibia, and Pago Pago. +


    PrevHomeNext
    Release 9.5UpRelease 9.4.14
    \ No newline at end of file diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/html/release-9-4-1.html postgresql-9.6-9.6.6/doc/src/sgml/html/release-9-4-1.html --- postgresql-9.6-9.6.5/doc/src/sgml/html/release-9-4-1.html 2017-08-28 21:38:43.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/html/release-9-4-1.html 2017-11-06 22:27:50.000000000 +0000 @@ -9,7 +9,7 @@ REV="MADE" HREF="mailto:pgsql-docs@postgresql.org">
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.30. Release 9.4.1E.33. Release 9.4.1
    Section E.31Section E.34.

    E.30.1. Migration to Version 9.4.1E.33.1. Migration to Version 9.4.1

    A dump/restore is not required for those running 9.4.X. @@ -155,8 +155,8 @@ >

    E.30.2. ChangesE.33.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.29. Release 9.4.2E.32. Release 9.4.2
    Section E.31Section E.34.

    E.29.1. Migration to Version 9.4.2E.32.1. Migration to Version 9.4.2

    A dump/restore is not required for those running 9.4.X. @@ -136,7 +136,7 @@ > Also, if you are upgrading from a version earlier than 9.4.1, see Section E.30Section E.33.

    E.29.2. ChangesE.32.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.28. Release 9.4.3E.31. Release 9.4.3
    Section E.31Section E.34.

    E.28.1. Migration to Version 9.4.3E.31.1. Migration to Version 9.4.3

    A dump/restore is not required for those running 9.4.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.4.2, see Section E.29Section E.32.

    E.28.2. ChangesE.31.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.27. Release 9.4.4E.30. Release 9.4.4
    Section E.31Section E.34.

    E.27.1. Migration to Version 9.4.4E.30.1. Migration to Version 9.4.4

    A dump/restore is not required for those running 9.4.X. @@ -133,7 +133,7 @@ > Also, if you are upgrading from a version earlier than 9.4.2, see Section E.29Section E.32.

    E.27.2. ChangesE.30.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.26. Release 9.4.5E.29. Release 9.4.5
    Section E.31Section E.34.

    E.26.1. Migration to Version 9.4.5E.29.1. Migration to Version 9.4.5

    A dump/restore is not required for those running 9.4.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.4.4, see Section E.27Section E.30.

    E.26.2. ChangesE.29.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.25. Release 9.4.6E.28. Release 9.4.6
    Section E.31Section E.34.

    E.25.1. Migration to Version 9.4.6E.28.1. Migration to Version 9.4.6

    A dump/restore is not required for those running 9.4.X. @@ -133,7 +133,7 @@ > Also, if you are upgrading from a version earlier than 9.4.4, see Section E.27Section E.30.

    E.25.2. ChangesE.28.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.24. Release 9.4.7E.27. Release 9.4.7
    Section E.31Section E.34.

    E.24.1. Migration to Version 9.4.7E.27.1. Migration to Version 9.4.7

    A dump/restore is not required for those running 9.4.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.4.6, see Section E.25Section E.28.

    E.24.2. ChangesE.27.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.23. Release 9.4.8E.26. Release 9.4.8
    Section E.31Section E.34.

    E.23.1. Migration to Version 9.4.8E.26.1. Migration to Version 9.4.8

    A dump/restore is not required for those running 9.4.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.4.6, see Section E.25Section E.28.

    E.23.2. ChangesE.26.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.22. Release 9.4.9E.25. Release 9.4.9
    Section E.31Section E.34.

    E.22.1. Migration to Version 9.4.9E.25.1. Migration to Version 9.4.9

    A dump/restore is not required for those running 9.4.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.4.6, see Section E.25Section E.28.

    E.22.2. ChangesE.25.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationNextE.31. Release 9.4E.34. Release 9.4

    E.31.1. OverviewE.34.1. Overview

    Major enhancements in

    E.31.2. Migration to Version 9.4E.34.2. Migration to Version 9.4

    A dump/restore using

    E.31.3. ChangesE.34.3. Changes

    Below you will find a detailed account of the changes between @@ -753,8 +753,8 @@ >

    E.31.3.1. ServerE.34.3.1. Server

    E.31.3.1.1. IndexesE.34.3.1.1. Indexes

    E.31.3.1.2. General PerformanceE.34.3.1.2. General Performance

    E.31.3.1.3. MonitoringE.34.3.1.3. Monitoring

    E.31.3.1.4. E.34.3.1.4. SSL

    E.31.3.1.5. Server SettingsE.34.3.1.5. Server Settings

    E.31.3.2. Replication and RecoveryE.34.3.2. Replication and Recovery

    E.31.3.2.1. E.34.3.2.1. Logical Decoding

    E.31.3.3. QueriesE.34.3.3. Queries

    E.31.3.4. Utility CommandsE.34.3.4. Utility Commands

    E.31.3.4.1. E.34.3.4.1. EXPLAIN

    E.31.3.4.2. ViewsE.34.3.4.2. Views

    E.31.3.5. Object ManipulationE.34.3.5. Object Manipulation

    E.31.3.6. Data TypesE.34.3.6. Data Types

    E.31.3.6.1. E.34.3.6.1.

    E.31.3.7. FunctionsE.34.3.7. Functions

    E.31.3.7.1. System Information FunctionsE.34.3.7.1. System Information Functions

    E.31.3.7.2. AggregatesE.34.3.7.2. Aggregates

    E.31.3.8. Server-Side LanguagesE.34.3.8. Server-Side Languages

    E.31.3.8.1. E.34.3.8.1. PL/pgSQL Server-Side Language

    E.31.3.9. E.34.3.9.

    E.31.3.10. Client ApplicationsE.34.3.10. Client Applications

    E.31.3.10.1. E.34.3.10.1.
    E.31.3.10.1.1. E.34.3.10.1.1. Backslash Commands

    E.31.3.10.2. E.34.3.10.2. pg_dump

    E.31.3.10.3. E.34.3.10.3. pg_basebackup

    E.31.3.11. Source CodeE.34.3.11. Source Code

    E.31.3.12. Additional ModulesE.34.3.12. Additional Modules

    E.31.3.12.1. E.34.3.12.1.

    E.31.3.12.2. E.34.3.12.2. pg_stat_statementsNextRelease 9.3.19Release 9.3.20

    +Release 9.5.10

    E.8. Release 9.5.10

    Release date: 2017-11-09

    This release contains a variety of fixes from 9.5.9. + For information about new features in the 9.5 major release, see + Section E.18. +

    E.8.1. Migration to Version 9.5.10

    A dump/restore is not required for those running 9.5.X. +

    However, if you use BRIN indexes, see the fourth changelog entry below. +

    Also, if you are upgrading from a version earlier than 9.5.8, + see Section E.10. +

    E.8.2. Changes

    • Ensure that INSERT ... ON CONFLICT DO UPDATE checks + table permissions and RLS policies in all cases (Dean Rasheed) +

      The update path of INSERT ... ON CONFLICT DO UPDATE + requires SELECT permission on the columns of the + arbiter index, but it failed to check for that in the case of an + arbiter specified by constraint name. + In addition, for a table with row level security enabled, it failed to + check updated rows against the table's SELECT + policies (regardless of how the arbiter index was specified). + (CVE-2017-15099) +

    • Fix crash due to rowtype mismatch + in json{b}_populate_recordset() + (Michael Paquier, Tom Lane) +

      These functions used the result rowtype specified in the FROM + ... AS clause without checking that it matched the actual + rowtype of the supplied tuple value. If it didn't, that would usually + result in a crash, though disclosure of server memory contents seems + possible as well. + (CVE-2017-15098) +

    • Fix sample server-start scripts to become $PGUSER + before opening $PGLOG (Noah Misch) +

      Previously, the postmaster log file was opened while still running as + root. The database owner could therefore mount an attack against + another system user by making $PGLOG be a symbolic + link to some other file, which would then become corrupted by appending + log messages. +

      By default, these scripts are not installed anywhere. Users who have + made use of them will need to manually recopy them, or apply the same + changes to their modified versions. If the + existing $PGLOG file is root-owned, it will need to + be removed or renamed out of the way before restarting the server with + the corrected script. + (CVE-2017-12172) +

    • Fix BRIN index summarization to handle concurrent table extension + correctly (Álvaro Herrera) +

      Previously, a race condition allowed some table rows to be omitted from + the index. It may be necessary to reindex existing BRIN indexes to + recover from past occurrences of this problem. +

    • Fix possible failures during concurrent updates of a BRIN index + (Tom Lane) +

      These race conditions could result in errors like "invalid index + offnum" or "inconsistent range map". +

    • Fix crash when logical decoding is invoked from a SPI-using function, + in particular any function written in a PL language + (Tom Lane) +

    • Fix json_build_array(), + json_build_object(), and their jsonb + equivalents to handle explicit VARIADIC arguments + correctly (Michael Paquier) +

    • Properly reject attempts to convert infinite float values to + type numeric (Tom Lane, KaiGai Kohei) +

      Previously the behavior was platform-dependent. +

    • Fix corner-case crashes when columns have been added to the end of a + view (Tom Lane) +

    • Record proper dependencies when a view or rule + contains FieldSelect + or FieldStore expression nodes (Tom Lane) +

      Lack of these dependencies could allow a column or data + type DROP to go through when it ought to fail, + thereby causing later uses of the view or rule to get errors. + This patch does not do anything to protect existing views/rules, + only ones created in the future. +

    • Correctly detect hashability of range data types (Tom Lane) +

      The planner mistakenly assumed that any range type could be hashed + for use in hash joins or hash aggregation, but actually it must check + whether the range's subtype has hash support. This does not affect any + of the built-in range types, since they're all hashable anyway. +

    • Correctly ignore RelabelType expression nodes + when determining relation distinctness (David Rowley) +

      This allows the intended optimization to occur when a subquery has + a result column of type varchar. +

    • Fix low-probability loss of NOTIFY messages due to + XID wraparound (Marko Tiikkaja, Tom Lane) +

      If a session executed no queries, but merely listened for + notifications, for more than 2 billion transactions, it started to miss + some notifications from concurrently-committing transactions. +

    • Avoid SIGBUS crash on Linux when a DSM memory + request exceeds the space available in tmpfs + (Thomas Munro) +

    • Prevent low-probability crash in processing of nested trigger firings + (Tom Lane) +

    • Allow COPY's FREEZE option to + work when the transaction isolation level is REPEATABLE + READ or higher (Noah Misch) +

      This case was unintentionally broken by a previous bug fix. +

    • Correctly restore the umask setting when file creation fails + in COPY or lo_export() + (Peter Eisentraut) +

    • Give a better error message for duplicate column names + in ANALYZE (Nathan Bossart) +

    • Fix mis-parsing of the last line in a + non-newline-terminated pg_hba.conf file + (Tom Lane) +

    • Fix pg_basebackup's matching of tablespace + paths to canonicalize both paths before comparing (Michael Paquier) +

      This is particularly helpful on Windows. +

    • Fix libpq to not require user's home + directory to exist (Tom Lane) +

      In v10, failure to find the home directory while trying to + read ~/.pgpass was treated as a hard error, + but it should just cause that file to not be found. Both v10 and + previous release branches made the same mistake when + reading ~/.pg_service.conf, though this was less + obvious since that file is not sought unless a service name is + specified. +

    • Fix libpq to guard against integer + overflow in the row count of a PGresult + (Michael Paquier) +

    • Fix ecpg's handling of out-of-scope cursor + declarations with pointer or array variables (Michael Meskes) +

    • In ecpglib, correctly handle backslashes in string literals depending + on whether standard_conforming_strings is set + (Tsunakawa Takayuki) +

    • Make ecpglib's Informix-compatibility mode ignore fractional digits in + integer input strings, as expected (Gao Zengqi, Michael Meskes) +

    • Fix missing temp-install prerequisites + for check-like Make targets (Noah Misch) +

      Some non-default test procedures that are meant to work + like make check failed to ensure that the temporary + installation was up to date. +

    • Sync our copy of the timezone library with IANA release tzcode2017c + (Tom Lane) +

      This fixes various issues; the only one likely to be user-visible + is that the default DST rules for a POSIX-style zone name, if + no posixrules file exists in the timezone data + directory, now match current US law rather than what it was a dozen + years ago. +

    • Update time zone data files to tzdata + release 2017c for DST law changes in Fiji, Namibia, Northern Cyprus, + Sudan, Tonga, and Turks & Caicos Islands, plus historical + corrections for Alaska, Apia, Burma, Calcutta, Detroit, Ireland, + Namibia, and Pago Pago. +


    PrevHomeNext
    Release 9.6UpRelease 9.5.9
    \ No newline at end of file diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/html/release-9-5-1.html postgresql-9.6-9.6.6/doc/src/sgml/html/release-9-5-1.html --- postgresql-9.6-9.6.5/doc/src/sgml/html/release-9-5-1.html 2017-08-28 21:38:41.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/html/release-9-5-1.html 2017-11-06 22:27:48.000000000 +0000 @@ -9,7 +9,7 @@ REV="MADE" HREF="mailto:pgsql-docs@postgresql.org">
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.15. Release 9.5.1E.17. Release 9.5.1
    Section E.16Section E.18.

    E.15.1. Migration to Version 9.5.1E.17.1. Migration to Version 9.5.1

    A dump/restore is not required for those running 9.5.X. @@ -127,8 +127,8 @@ >

    E.15.2. ChangesE.17.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.14. Release 9.5.2E.16. Release 9.5.2
    Section E.16Section E.18.

    E.14.1. Migration to Version 9.5.2E.16.1. Migration to Version 9.5.2

    A dump/restore is not required for those running 9.5.X. @@ -134,8 +134,8 @@ >

    E.14.2. ChangesE.16.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.13. Release 9.5.3E.15. Release 9.5.3
    Section E.16Section E.18.

    E.13.1. Migration to Version 9.5.3E.15.1. Migration to Version 9.5.3

    A dump/restore is not required for those running 9.5.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.5.2, see Section E.14Section E.16.

    E.13.2. ChangesE.15.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.12. Release 9.5.4E.14. Release 9.5.4
    Section E.16Section E.18.

    E.12.1. Migration to Version 9.5.4E.14.1. Migration to Version 9.5.4

    A dump/restore is not required for those running 9.5.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.5.2, see Section E.14Section E.16.

    E.12.2. ChangesE.14.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.11. Release 9.5.5E.13. Release 9.5.5
    Section E.16Section E.18.

    E.11.1. Migration to Version 9.5.5E.13.1. Migration to Version 9.5.5

    A dump/restore is not required for those running 9.5.X. @@ -130,7 +130,7 @@ > Also, if you are upgrading from a version earlier than 9.5.2, see Section E.14Section E.16.

    E.11.2. ChangesE.13.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.10. Release 9.5.6E.12. Release 9.5.6
    Section E.16Section E.18.

    E.10.1. Migration to Version 9.5.6E.12.1. Migration to Version 9.5.6

    A dump/restore is not required for those running 9.5.X. @@ -130,7 +130,7 @@ > Also, if you are upgrading from a version earlier than 9.5.5, see Section E.11Section E.13.

    E.10.2. ChangesE.12.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.9. Release 9.5.7E.11. Release 9.5.7
    Section E.16Section E.18.

    E.9.1. Migration to Version 9.5.7E.11.1. Migration to Version 9.5.7

    A dump/restore is not required for those running 9.5.X. @@ -136,7 +136,7 @@ > Also, if you are upgrading from a version earlier than 9.5.6, see Section E.10Section E.12.

    E.9.2. ChangesE.11.2. Changes

    Section E.8Section E.10.

  • PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.8. Release 9.5.8E.10. Release 9.5.8
    Section E.16Section E.18.

    E.8.1. Migration to Version 9.5.8E.10.1. Migration to Version 9.5.8

    A dump/restore is not required for those running 9.5.X. @@ -129,7 +129,7 @@ > Also, if you are upgrading from a version earlier than 9.5.7, see Section E.9Section E.11.

    E.8.2. ChangesE.10.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationPrevE.7. Release 9.5.9E.9. Release 9.5.9
    Section E.16Section E.18.

    E.7.1. Migration to Version 9.5.9E.9.1. Migration to Version 9.5.9

    A dump/restore is not required for those running 9.5.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.5.8, see Section E.8Section E.10.

    E.7.2. ChangesE.9.2. Changes

    :

    BEGIN;
    -DROP SCHEMA information_schema CASCADE;
    -\i SHAREDIR/information_schema.sql
    -COMMIT;
    SET search_path TO information_schema; +CREATE OR REPLACE VIEW table_privileges AS + SELECT CAST(u_grantor.rolname AS sql_identifier) AS grantor, + CAST(grantee.rolname AS sql_identifier) AS grantee, + CAST(current_database() AS sql_identifier) AS table_catalog, + CAST(nc.nspname AS sql_identifier) AS table_schema, + CAST(c.relname AS sql_identifier) AS table_name, + CAST(c.prtype AS character_data) AS privilege_type, + CAST( + CASE WHEN + -- object owner always has grant options + pg_has_role(grantee.oid, c.relowner, 'USAGE') + OR c.grantable + THEN 'YES' ELSE 'NO' END AS yes_or_no) AS is_grantable, + CAST(CASE WHEN c.prtype = 'SELECT' THEN 'YES' ELSE 'NO' END AS yes_or_no) AS with_hierarchy + + FROM ( + SELECT oid, relname, relnamespace, relkind, relowner, (aclexplode(coalesce(relacl, acldefault('r', relowner)))).* FROM pg_class + ) AS c (oid, relname, relnamespace, relkind, relowner, grantor, grantee, prtype, grantable), + pg_namespace nc, + pg_authid u_grantor, + ( + SELECT oid, rolname FROM pg_authid + UNION ALL + SELECT 0::oid, 'PUBLIC' + ) AS grantee (oid, rolname) + + WHERE c.relnamespace = nc.oid + AND c.relkind IN ('r', 'v', 'f') + AND c.grantee = grantee.oid + AND c.grantor = u_grantor.oid + AND c.prtype IN ('INSERT', 'SELECT', 'UPDATE', 'DELETE', 'TRUNCATE', 'REFERENCES', 'TRIGGER') + AND (pg_has_role(u_grantor.oid, 'USAGE') + OR pg_has_role(grantee.oid, 'USAGE') + OR grantee.rolname = 'PUBLIC');

    - (Run pg_config --sharedir if you're uncertain - where SHAREDIR is.) This must be repeated in each - database to be fixed. +>template0.

  • PrevRelease 9.6Release 9.5.10
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationNextE.16. Release 9.5E.18. Release 9.5

    E.16.1. OverviewE.18.1. Overview

    Major enhancements in

    E.16.2. Migration to Version 9.5E.18.2. Migration to Version 9.5

    A dump/restore using

    E.16.3. ChangesE.18.3. Changes

    Below you will find a detailed account of the changes between @@ -585,16 +585,16 @@ >

    E.16.3.1. ServerE.18.3.1. Server

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.5. Release 9.6.1E.6. Release 9.6.1
    Section E.6Section E.7.

    E.5.1. Migration to Version 9.6.1E.6.1. Migration to Version 9.6.1

    A dump/restore is not required for those running 9.6.X. @@ -133,8 +133,8 @@ >

    E.5.2. ChangesE.6.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.4. Release 9.6.2E.5. Release 9.6.2
    Section E.6Section E.7.

    E.4.1. Migration to Version 9.6.2E.5.1. Migration to Version 9.6.2

    A dump/restore is not required for those running 9.6.X. @@ -130,7 +130,7 @@ > Also, if you are upgrading from a version earlier than 9.6.1, see Section E.5Section E.6.

    E.4.2. ChangesE.5.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.3. Release 9.6.3E.4. Release 9.6.3
    Section E.6Section E.7.

    E.3.1. Migration to Version 9.6.3E.4.1. Migration to Version 9.6.3

    A dump/restore is not required for those running 9.6.X. @@ -136,7 +136,7 @@ > Also, if you are upgrading from a version earlier than 9.6.2, see Section E.4Section E.5.

    E.3.2. ChangesE.4.2. Changes

    Section E.2Section E.3.

  • PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationE.2. Release 9.6.4E.3. Release 9.6.4
    Section E.6Section E.7.

    E.2.1. Migration to Version 9.6.4E.3.1. Migration to Version 9.6.4

    A dump/restore is not required for those running 9.6.X. @@ -129,7 +129,7 @@ > Also, if you are upgrading from a version earlier than 9.6.3, see Section E.3Section E.4.

    E.2.2. ChangesE.3.2. Changes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationPrevE.1. Release 9.6.5E.2. Release 9.6.5
    Section E.6Section E.7.

    E.1.1. Migration to Version 9.6.5E.2.1. Migration to Version 9.6.5

    A dump/restore is not required for those running 9.6.X. @@ -125,7 +125,7 @@ > However, if you are upgrading from a version earlier than 9.6.4, see Section E.2Section E.3.

    E.1.2. ChangesE.2.2. Changes

    :

    BEGIN;
    -DROP SCHEMA information_schema CASCADE;
    -\i SHAREDIR/information_schema.sql
    -COMMIT;
    SET search_path TO information_schema; +CREATE OR REPLACE VIEW table_privileges AS + SELECT CAST(u_grantor.rolname AS sql_identifier) AS grantor, + CAST(grantee.rolname AS sql_identifier) AS grantee, + CAST(current_database() AS sql_identifier) AS table_catalog, + CAST(nc.nspname AS sql_identifier) AS table_schema, + CAST(c.relname AS sql_identifier) AS table_name, + CAST(c.prtype AS character_data) AS privilege_type, + CAST( + CASE WHEN + -- object owner always has grant options + pg_has_role(grantee.oid, c.relowner, 'USAGE') + OR c.grantable + THEN 'YES' ELSE 'NO' END AS yes_or_no) AS is_grantable, + CAST(CASE WHEN c.prtype = 'SELECT' THEN 'YES' ELSE 'NO' END AS yes_or_no) AS with_hierarchy + + FROM ( + SELECT oid, relname, relnamespace, relkind, relowner, (aclexplode(coalesce(relacl, acldefault('r', relowner)))).* FROM pg_class + ) AS c (oid, relname, relnamespace, relkind, relowner, grantor, grantee, prtype, grantable), + pg_namespace nc, + pg_authid u_grantor, + ( + SELECT oid, rolname FROM pg_authid + UNION ALL + SELECT 0::oid, 'PUBLIC' + ) AS grantee (oid, rolname) + + WHERE c.relnamespace = nc.oid + AND c.relkind IN ('r', 'v', 'f') + AND c.grantee = grantee.oid + AND c.grantor = u_grantor.oid + AND c.prtype IN ('INSERT', 'SELECT', 'UPDATE', 'DELETE', 'TRUNCATE', 'REFERENCES', 'TRIGGER') + AND (pg_has_role(u_grantor.oid, 'USAGE') + OR pg_has_role(grantee.oid, 'USAGE') + OR grantee.rolname = 'PUBLIC');

    - (Run pg_config --sharedir if you're uncertain - where SHAREDIR is.) This must be repeated in each - database to be fixed. +>template0.

  • PrevRelease NotesRelease 9.6.6 +Release 9.6.6

    E.1. Release 9.6.6

    Release date: 2017-11-09

    This release contains a variety of fixes from 9.6.5. + For information about new features in the 9.6 major release, see + Section E.7. +

    E.1.1. Migration to Version 9.6.6

    A dump/restore is not required for those running 9.6.X. +

    However, if you use BRIN indexes, see the fourth changelog entry below. +

    Also, if you are upgrading from a version earlier than 9.6.4, + see Section E.3. +

    E.1.2. Changes

    • Ensure that INSERT ... ON CONFLICT DO UPDATE checks + table permissions and RLS policies in all cases (Dean Rasheed) +

      The update path of INSERT ... ON CONFLICT DO UPDATE + requires SELECT permission on the columns of the + arbiter index, but it failed to check for that in the case of an + arbiter specified by constraint name. + In addition, for a table with row level security enabled, it failed to + check updated rows against the table's SELECT + policies (regardless of how the arbiter index was specified). + (CVE-2017-15099) +

    • Fix crash due to rowtype mismatch + in json{b}_populate_recordset() + (Michael Paquier, Tom Lane) +

      These functions used the result rowtype specified in the FROM + ... AS clause without checking that it matched the actual + rowtype of the supplied tuple value. If it didn't, that would usually + result in a crash, though disclosure of server memory contents seems + possible as well. + (CVE-2017-15098) +

    • Fix sample server-start scripts to become $PGUSER + before opening $PGLOG (Noah Misch) +

      Previously, the postmaster log file was opened while still running as + root. The database owner could therefore mount an attack against + another system user by making $PGLOG be a symbolic + link to some other file, which would then become corrupted by appending + log messages. +

      By default, these scripts are not installed anywhere. Users who have + made use of them will need to manually recopy them, or apply the same + changes to their modified versions. If the + existing $PGLOG file is root-owned, it will need to + be removed or renamed out of the way before restarting the server with + the corrected script. + (CVE-2017-12172) +

    • Fix BRIN index summarization to handle concurrent table extension + correctly (Álvaro Herrera) +

      Previously, a race condition allowed some table rows to be omitted from + the index. It may be necessary to reindex existing BRIN indexes to + recover from past occurrences of this problem. +

    • Fix possible failures during concurrent updates of a BRIN index + (Tom Lane) +

      These race conditions could result in errors like "invalid index + offnum" or "inconsistent range map". +

    • Fix crash when logical decoding is invoked from a SPI-using function, + in particular any function written in a PL language + (Tom Lane) +

    • Fix incorrect query results when multiple GROUPING + SETS columns contain the same simple variable (Tom Lane) +

    • Fix incorrect parallelization decisions for nested queries + (Amit Kapila, Kuntal Ghosh) +

    • Fix parallel query handling to not fail when a recently-used role is + dropped (Amit Kapila) +

    • Fix json_build_array(), + json_build_object(), and their jsonb + equivalents to handle explicit VARIADIC arguments + correctly (Michael Paquier) +

    • Properly reject attempts to convert infinite float values to + type numeric (Tom Lane, KaiGai Kohei) +

      Previously the behavior was platform-dependent. +

    • Fix corner-case crashes when columns have been added to the end of a + view (Tom Lane) +

    • Record proper dependencies when a view or rule + contains FieldSelect + or FieldStore expression nodes (Tom Lane) +

      Lack of these dependencies could allow a column or data + type DROP to go through when it ought to fail, + thereby causing later uses of the view or rule to get errors. + This patch does not do anything to protect existing views/rules, + only ones created in the future. +

    • Correctly detect hashability of range data types (Tom Lane) +

      The planner mistakenly assumed that any range type could be hashed + for use in hash joins or hash aggregation, but actually it must check + whether the range's subtype has hash support. This does not affect any + of the built-in range types, since they're all hashable anyway. +

    • Correctly ignore RelabelType expression nodes + when determining relation distinctness (David Rowley) +

      This allows the intended optimization to occur when a subquery has + a result column of type varchar. +

    • Prevent sharing transition states between ordered-set aggregates + (David Rowley) +

      This causes a crash with the built-in ordered-set aggregates, and + probably with user-written ones as well. v11 and later will include + provisions for dealing with such cases safely, but in released + branches, just disable the optimization. +

    • Prevent idle_in_transaction_session_timeout from + being ignored when a statement_timeout occurred + earlier (Lukas Fittl) +

    • Fix low-probability loss of NOTIFY messages due to + XID wraparound (Marko Tiikkaja, Tom Lane) +

      If a session executed no queries, but merely listened for + notifications, for more than 2 billion transactions, it started to miss + some notifications from concurrently-committing transactions. +

    • Avoid SIGBUS crash on Linux when a DSM memory + request exceeds the space available in tmpfs + (Thomas Munro) +

    • Reduce the frequency of data flush requests during bulk file copies to + avoid performance problems on macOS, particularly with its new APFS + file system (Tom Lane) +

    • Prevent low-probability crash in processing of nested trigger firings + (Tom Lane) +

    • Allow COPY's FREEZE option to + work when the transaction isolation level is REPEATABLE + READ or higher (Noah Misch) +

      This case was unintentionally broken by a previous bug fix. +

    • Correctly restore the umask setting when file creation fails + in COPY or lo_export() + (Peter Eisentraut) +

    • Give a better error message for duplicate column names + in ANALYZE (Nathan Bossart) +

    • Add missing cases in GetCommandLogLevel(), + preventing errors when certain SQL commands are used while + log_statement is set to ddl + (Michael Paquier) +

    • Fix mis-parsing of the last line in a + non-newline-terminated pg_hba.conf file + (Tom Lane) +

    • Fix AggGetAggref() to return the + correct Aggref nodes to aggregate final + functions whose transition calculations have been merged (Tom Lane) +

    • Fix pg_dump to ensure that it + emits GRANT commands in a valid order + (Stephen Frost) +

    • Fix pg_basebackup's matching of tablespace + paths to canonicalize both paths before comparing (Michael Paquier) +

      This is particularly helpful on Windows. +

    • Fix libpq to not require user's home + directory to exist (Tom Lane) +

      In v10, failure to find the home directory while trying to + read ~/.pgpass was treated as a hard error, + but it should just cause that file to not be found. Both v10 and + previous release branches made the same mistake when + reading ~/.pg_service.conf, though this was less + obvious since that file is not sought unless a service name is + specified. +

    • Fix libpq to guard against integer + overflow in the row count of a PGresult + (Michael Paquier) +

    • Fix ecpg's handling of out-of-scope cursor + declarations with pointer or array variables (Michael Meskes) +

    • In ecpglib, correctly handle backslashes in string literals depending + on whether standard_conforming_strings is set + (Tsunakawa Takayuki) +

    • Make ecpglib's Informix-compatibility mode ignore fractional digits in + integer input strings, as expected (Gao Zengqi, Michael Meskes) +

    • Fix ecpg's regression tests to work reliably + on Windows (Christian Ullrich, Michael Meskes) +

    • Fix missing temp-install prerequisites + for check-like Make targets (Noah Misch) +

      Some non-default test procedures that are meant to work + like make check failed to ensure that the temporary + installation was up to date. +

    • Sync our copy of the timezone library with IANA release tzcode2017c + (Tom Lane) +

      This fixes various issues; the only one likely to be user-visible + is that the default DST rules for a POSIX-style zone name, if + no posixrules file exists in the timezone data + directory, now match current US law rather than what it was a dozen + years ago. +

    • Update time zone data files to tzdata + release 2017c for DST law changes in Fiji, Namibia, Northern Cyprus, + Sudan, Tonga, and Turks & Caicos Islands, plus historical + corrections for Alaska, Apia, Burma, Calcutta, Detroit, Ireland, + Namibia, and Pago Pago. +


    PrevHomeNext
    Release NotesUpRelease 9.6.5
    \ No newline at end of file diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/html/release-9-6.html postgresql-9.6-9.6.6/doc/src/sgml/html/release-9-6.html --- postgresql-9.6-9.6.5/doc/src/sgml/html/release-9-6.html 2017-08-28 21:38:40.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/html/release-9-6.html 2017-11-06 22:27:47.000000000 +0000 @@ -9,7 +9,7 @@ REV="MADE" HREF="mailto:pgsql-docs@postgresql.org">
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationNextE.6. Release 9.6E.7. Release 9.6

    E.6.1. OverviewE.7.1. Overview

    Major enhancements in

    E.6.2. Migration to Version 9.6E.7.2. Migration to Version 9.6

    A dump/restore using

    E.6.3. ChangesE.7.3. Changes

    Below you will find a detailed account of the changes between @@ -586,16 +586,16 @@ >

    E.6.3.1. ServerE.7.3.1. Server

    E.6.3.1.1. Parallel QueriesE.7.3.1.1. Parallel Queries

    E.6.3.1.2. IndexesE.7.3.1.2. Indexes

    E.6.3.1.3. SortingE.7.3.1.3. Sorting

    E.6.3.1.4. LockingE.7.3.1.4. Locking

    E.6.3.1.5. Optimizer StatisticsE.7.3.1.5. Optimizer Statistics

    E.6.3.1.6. E.7.3.1.6. VACUUM

    E.6.3.1.7. General PerformanceE.7.3.1.7. General Performance

    E.6.3.1.8. MonitoringE.7.3.1.8. Monitoring

    E.6.3.1.9. E.7.3.1.9. Authentication

    E.6.3.1.10. Server ConfigurationE.7.3.1.10. Server Configuration

    E.6.3.1.11. ReliabilityE.7.3.1.11. Reliability

    E.6.3.2. Replication and RecoveryE.7.3.2. Replication and Recovery

    E.6.3.3. QueriesE.7.3.3. Queries

    E.6.3.4. Utility CommandsE.7.3.4. Utility Commands

    E.6.3.5. Permissions ManagementE.7.3.5. Permissions Management

    E.6.3.6. Data TypesE.7.3.6. Data Types

    E.6.3.7. FunctionsE.7.3.7. Functions

    E.6.3.8. Server-Side LanguagesE.7.3.8. Server-Side Languages

    E.6.3.9. Client InterfacesE.7.3.9. Client Interfaces

    E.6.3.10. Client ApplicationsE.7.3.10. Client Applications

    E.6.3.10.1. E.7.3.10.1.

    E.6.3.10.2. E.7.3.10.2.

    E.6.3.11. Server ApplicationsE.7.3.11. Server Applications

    E.6.3.12. Source CodeE.7.3.12. Source Code

    E.6.3.13. Additional ModulesE.7.3.13. Additional Modules

    E.6.3.13.1. E.7.3.13.1. NextRelease 9.5.9Release 9.5.10

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 DocumentationNext
  • E.1. Release 9.6.6
    E.2. Release 9.6.5
    E.2. E.3. Release 9.6.4
    E.3. E.4. Release 9.6.3
    E.4. E.5. Release 9.6.2
    E.5. E.6. Release 9.6.1
    E.6. E.7. Release 9.6
    E.7. E.8. Release 9.5.10
    E.9. Release 9.5.9
    E.8. E.10. Release 9.5.8
    E.9. E.11. Release 9.5.7
    E.10. E.12. Release 9.5.6
    E.11. E.13. Release 9.5.5
    E.12. E.14. Release 9.5.4
    E.13. E.15. Release 9.5.3
    E.14. E.16. Release 9.5.2
    E.15. E.17. Release 9.5.1
    E.16. E.18. Release 9.5
    E.17. E.19. Release 9.4.15
    E.20. Release 9.4.14
    E.18. E.21. Release 9.4.13
    E.19. E.22. Release 9.4.12
    E.20. E.23. Release 9.4.11
    E.21. E.24. Release 9.4.10
    E.22. E.25. Release 9.4.9
    E.23. E.26. Release 9.4.8
    E.24. E.27. Release 9.4.7
    E.25. E.28. Release 9.4.6
    E.26. E.29. Release 9.4.5
    E.27. E.30. Release 9.4.4
    E.28. E.31. Release 9.4.3
    E.29. E.32. Release 9.4.2
    E.30. E.33. Release 9.4.1
    E.31. E.34. Release 9.4
    E.32. E.35. Release 9.3.20
    E.36. Release 9.3.19
    E.33. E.37. Release 9.3.18
    E.34. E.38. Release 9.3.17
    E.35. E.39. Release 9.3.16
    E.36. E.40. Release 9.3.15
    E.37. E.41. Release 9.3.14
    E.38. E.42. Release 9.3.13
    E.39. E.43. Release 9.3.12
    E.40. E.44. Release 9.3.11
    E.41. E.45. Release 9.3.10
    E.42. E.46. Release 9.3.9
    E.43. E.47. Release 9.3.8
    E.44. E.48. Release 9.3.7
    E.45. E.49. Release 9.3.6
    E.46. E.50. Release 9.3.5
    E.47. E.51. Release 9.3.4
    E.48. E.52. Release 9.3.3
    E.49. E.53. Release 9.3.2
    E.50. E.54. Release 9.3.1
    E.51. E.55. Release 9.3
    E.52. E.56. Release 9.2.24
    E.57. Release 9.2.23
    E.53. E.58. Release 9.2.22
    E.54. E.59. Release 9.2.21
    E.55. E.60. Release 9.2.20
    E.56. E.61. Release 9.2.19
    E.57. E.62. Release 9.2.18
    E.58. E.63. Release 9.2.17
    E.59. E.64. Release 9.2.16
    E.60. E.65. Release 9.2.15
    E.61. E.66. Release 9.2.14
    E.62. E.67. Release 9.2.13
    E.63. E.68. Release 9.2.12
    E.64. E.69. Release 9.2.11
    E.65. E.70. Release 9.2.10
    E.66. E.71. Release 9.2.9
    E.67. E.72. Release 9.2.8
    E.68. E.73. Release 9.2.7
    E.69. E.74. Release 9.2.6
    E.70. E.75. Release 9.2.5
    E.71. E.76. Release 9.2.4
    E.72. E.77. Release 9.2.3
    E.73. E.78. Release 9.2.2
    E.74. E.79. Release 9.2.1
    E.75. E.80. Release 9.2
    E.76. E.81. Release 9.1.24
    E.77. E.82. Release 9.1.23
    E.78. E.83. Release 9.1.22
    E.79. E.84. Release 9.1.21
    E.80. E.85. Release 9.1.20
    E.81. E.86. Release 9.1.19
    E.82. E.87. Release 9.1.18
    E.83. E.88. Release 9.1.17
    E.84. E.89. Release 9.1.16
    E.85. E.90. Release 9.1.15
    E.86. E.91. Release 9.1.14
    E.87. E.92. Release 9.1.13
    E.88. E.93. Release 9.1.12
    E.89. E.94. Release 9.1.11
    E.90. E.95. Release 9.1.10
    E.91. E.96. Release 9.1.9
    E.92. E.97. Release 9.1.8
    E.93. E.98. Release 9.1.7
    E.94. E.99. Release 9.1.6
    E.95. E.100. Release 9.1.5
    E.96. E.101. Release 9.1.4
    E.97. E.102. Release 9.1.3
    E.98. E.103. Release 9.1.2
    E.99. E.104. Release 9.1.1
    E.100. E.105. Release 9.1
    E.101. E.106. Release 9.0.23
    E.102. E.107. Release 9.0.22
    E.103. E.108. Release 9.0.21
    E.104. E.109. Release 9.0.20
    E.105. E.110. Release 9.0.19
    E.106. E.111. Release 9.0.18
    E.107. E.112. Release 9.0.17
    E.108. E.113. Release 9.0.16
    E.109. E.114. Release 9.0.15
    E.110. E.115. Release 9.0.14
    E.111. E.116. Release 9.0.13
    E.112. E.117. Release 9.0.12
    E.113. E.118. Release 9.0.11
    E.114. E.119. Release 9.0.10
    E.115. E.120. Release 9.0.9
    E.116. E.121. Release 9.0.8
    E.117. E.122. Release 9.0.7
    E.118. E.123. Release 9.0.6
    E.119. E.124. Release 9.0.5
    E.120. E.125. Release 9.0.4
    E.121. E.126. Release 9.0.3
    E.122. E.127. Release 9.0.2
    E.123. E.128. Release 9.0.1
    E.124. E.129. Release 9.0
    E.125. E.130. Release 8.4.22
    E.126. E.131. Release 8.4.21
    E.127. E.132. Release 8.4.20
    E.128. E.133. Release 8.4.19
    E.129. E.134. Release 8.4.18
    E.130. E.135. Release 8.4.17
    E.131. E.136. Release 8.4.16
    E.132. E.137. Release 8.4.15
    E.133. E.138. Release 8.4.14
    E.134. E.139. Release 8.4.13
    E.135. E.140. Release 8.4.12
    E.136. E.141. Release 8.4.11
    E.137. E.142. Release 8.4.10
    E.138. E.143. Release 8.4.9
    E.139. E.144. Release 8.4.8
    E.140. E.145. Release 8.4.7
    E.141. E.146. Release 8.4.6
    E.142. E.147. Release 8.4.5
    E.143. E.148. Release 8.4.4
    E.144. E.149. Release 8.4.3
    E.145. E.150. Release 8.4.2
    E.146. E.151. Release 8.4.1
    E.147. E.152. Release 8.4
    E.148. E.153. Release 8.3.23
    E.149. E.154. Release 8.3.22
    E.150. E.155. Release 8.3.21
    E.151. E.156. Release 8.3.20
    E.152. E.157. Release 8.3.19
    E.153. E.158. Release 8.3.18
    E.154. E.159. Release 8.3.17
    E.155. E.160. Release 8.3.16
    E.156. E.161. Release 8.3.15
    E.157. E.162. Release 8.3.14
    E.158. E.163. Release 8.3.13
    E.159. E.164. Release 8.3.12
    E.160. E.165. Release 8.3.11
    E.161. E.166. Release 8.3.10
    E.162. E.167. Release 8.3.9
    E.163. E.168. Release 8.3.8
    E.164. E.169. Release 8.3.7
    E.165. E.170. Release 8.3.6
    E.166. E.171. Release 8.3.5
    E.167. E.172. Release 8.3.4
    E.168. E.173. Release 8.3.3
    E.169. E.174. Release 8.3.2
    E.170. E.175. Release 8.3.1
    E.171. E.176. Release 8.3
    E.172. E.177. Release 8.2.23
    E.173. E.178. Release 8.2.22
    E.174. E.179. Release 8.2.21
    E.175. E.180. Release 8.2.20
    E.176. E.181. Release 8.2.19
    E.177. E.182. Release 8.2.18
    E.178. E.183. Release 8.2.17
    E.179. E.184. Release 8.2.16
    E.180. E.185. Release 8.2.15
    E.181. E.186. Release 8.2.14
    E.182. E.187. Release 8.2.13
    E.183. E.188. Release 8.2.12
    E.184. E.189. Release 8.2.11
    E.185. E.190. Release 8.2.10
    E.186. E.191. Release 8.2.9
    E.187. E.192. Release 8.2.8
    E.188. E.193. Release 8.2.7
    E.189. E.194. Release 8.2.6
    E.190. E.195. Release 8.2.5
    E.191. E.196. Release 8.2.4
    E.192. E.197. Release 8.2.3
    E.193. E.198. Release 8.2.2
    E.194. E.199. Release 8.2.1
    E.195. E.200. Release 8.2
    E.196. E.201. Release 8.1.23
    E.197. E.202. Release 8.1.22
    E.198. E.203. Release 8.1.21
    E.199. E.204. Release 8.1.20
    E.200. E.205. Release 8.1.19
    E.201. E.206. Release 8.1.18
    E.202. E.207. Release 8.1.17
    E.203. E.208. Release 8.1.16
    E.204. E.209. Release 8.1.15
    E.205. E.210. Release 8.1.14
    E.206. E.211. Release 8.1.13
    E.207. E.212. Release 8.1.12
    E.208. E.213. Release 8.1.11
    E.209. E.214. Release 8.1.10
    E.210. E.215. Release 8.1.9
    E.211. E.216. Release 8.1.8
    E.212. E.217. Release 8.1.7
    E.213. E.218. Release 8.1.6
    E.214. E.219. Release 8.1.5
    E.215. E.220. Release 8.1.4
    E.216. E.221. Release 8.1.3
    E.217. E.222. Release 8.1.2
    E.218. E.223. Release 8.1.1
    E.219. E.224. Release 8.1
    E.220. E.225. Release 8.0.26
    E.221. E.226. Release 8.0.25
    E.222. E.227. Release 8.0.24
    E.223. E.228. Release 8.0.23
    E.224. E.229. Release 8.0.22
    E.225. E.230. Release 8.0.21
    E.226. E.231. Release 8.0.20
    E.227. E.232. Release 8.0.19
    E.228. E.233. Release 8.0.18
    E.229. E.234. Release 8.0.17
    E.230. E.235. Release 8.0.16
    E.231. E.236. Release 8.0.15
    E.232. E.237. Release 8.0.14
    E.233. E.238. Release 8.0.13
    E.234. E.239. Release 8.0.12
    E.235. E.240. Release 8.0.11
    E.236. E.241. Release 8.0.10
    E.237. E.242. Release 8.0.9
    E.238. E.243. Release 8.0.8
    E.239. E.244. Release 8.0.7
    E.240. E.245. Release 8.0.6
    E.241. E.246. Release 8.0.5
    E.242. E.247. Release 8.0.4
    E.243. E.248. Release 8.0.3
    E.244. E.249. Release 8.0.2
    E.245. E.250. Release 8.0.1
    E.246. E.251. Release 8.0
    E.247. E.252. Release 7.4.30
    E.248. E.253. Release 7.4.29
    E.249. E.254. Release 7.4.28
    E.250. E.255. Release 7.4.27
    E.251. E.256. Release 7.4.26
    E.252. E.257. Release 7.4.25
    E.253. E.258. Release 7.4.24
    E.254. E.259. Release 7.4.23
    E.255. E.260. Release 7.4.22
    E.256. E.261. Release 7.4.21
    E.257. E.262. Release 7.4.20
    E.258. E.263. Release 7.4.19
    E.259. E.264. Release 7.4.18
    E.260. E.265. Release 7.4.17
    E.261. E.266. Release 7.4.16
    E.262. E.267. Release 7.4.15
    E.263. E.268. Release 7.4.14
    E.264. E.269. Release 7.4.13
    E.265. E.270. Release 7.4.12
    E.266. E.271. Release 7.4.11
    E.267. E.272. Release 7.4.10
    E.268. E.273. Release 7.4.9
    E.269. E.274. Release 7.4.8
    E.270. E.275. Release 7.4.7
    E.271. E.276. Release 7.4.6
    E.272. E.277. Release 7.4.5
    E.273. E.278. Release 7.4.4
    E.274. E.279. Release 7.4.3
    E.275. E.280. Release 7.4.2
    E.276. E.281. Release 7.4.1
    E.277. E.282. Release 7.4
    E.278. E.283. Release 7.3.21
    E.279. E.284. Release 7.3.20
    E.280. E.285. Release 7.3.19
    E.281. E.286. Release 7.3.18
    E.282. E.287. Release 7.3.17
    E.283. E.288. Release 7.3.16
    E.284. E.289. Release 7.3.15
    E.285. E.290. Release 7.3.14
    E.286. E.291. Release 7.3.13
    E.287. E.292. Release 7.3.12
    E.288. E.293. Release 7.3.11
    E.289. E.294. Release 7.3.10
    E.290. E.295. Release 7.3.9
    E.291. E.296. Release 7.3.8
    E.292. E.297. Release 7.3.7
    E.293. E.298. Release 7.3.6
    E.294. E.299. Release 7.3.5
    E.295. E.300. Release 7.3.4
    E.296. E.301. Release 7.3.3
    E.297. E.302. Release 7.3.2
    E.298. E.303. Release 7.3.1
    E.299. E.304. Release 7.3
    E.300. E.305. Release 7.2.8
    E.301. E.306. Release 7.2.7
    E.302. E.307. Release 7.2.6
    E.303. E.308. Release 7.2.5
    E.304. E.309. Release 7.2.4
    E.305. E.310. Release 7.2.3
    E.306. E.311. Release 7.2.2
    E.307. E.312. Release 7.2.1
    E.308. E.313. Release 7.2
    E.309. E.314. Release 7.1.3
    E.310. E.315. Release 7.1.2
    E.311. E.316. Release 7.1.1
    E.312. E.317. Release 7.1
    E.313. E.318. Release 7.0.3
    E.314. E.319. Release 7.0.2
    E.315. E.320. Release 7.0.1
    E.316. E.321. Release 7.0
    E.317. E.322. Release 6.5.3
    E.318. E.323. Release 6.5.2
    E.319. E.324. Release 6.5.1
    E.320. E.325. Release 6.5
    E.321. E.326. Release 6.4.2
    E.322. E.327. Release 6.4.1
    E.323. E.328. Release 6.4
    E.324. E.329. Release 6.3.2
    E.325. E.330. Release 6.3.1
    E.326. E.331. Release 6.3
    E.327. E.332. Release 6.2.1
    E.328. E.333. Release 6.2
    E.329. E.334. Release 6.1.1
    E.330. E.335. Release 6.1
    E.331. E.336. Release 6.0
    E.332. E.337. Release 1.09
    E.333. E.338. Release 1.02
    E.334. E.339. Release 1.01
    E.335. E.340. Release 1.0
    E.336. E.341. Release 0.03
    E.337. E.342. Release 0.02
    E.338. E.343. NextRelease 9.6.5Release 9.6.6
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    39.2.2. View Rules in Non-SELECT
    39.2.3. The Power of Views in PostgreSQL
    39.4.1. How Update Rules Work
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    39.4.1. How Update Rules Work

    39.4.1.1. A First Rule Step by Step

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    39.2.2. View Rules in Non-SELECT

    39.2.3. The Power of Views in PostgreSQL
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    19.1.4. Parameter Interaction via the Shell
    19.8.5. Process Title
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    19.8.5. Process Title

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    18.4.2. Resource Limits
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.34.1. Rationale

    F.34.2. Syntax

    F.34.3. Precision

    F.34.4. Usage

    F.34.5. Notes

    F.34.6. Credits

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.35.5.1. Controlled Object Classes

    F.35.5.2. DML Permissions

    F.35.5.3. DDL Permissions

    F.35.5.4. Trusted Procedures

    F.35.5.5. Dynamic Domain Transitions

    F.35.5.6. Miscellaneous

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    This part is about extending the server functionality with diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/html/server-shutdown.html postgresql-9.6-9.6.6/doc/src/sgml/html/server-shutdown.html --- postgresql-9.6-9.6.5/doc/src/sgml/html/server-shutdown.html 2017-08-28 21:38:05.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/html/server-shutdown.html 2017-11-06 22:27:10.000000000 +0000 @@ -9,7 +9,7 @@ REV="MADE" HREF="mailto:pgsql-docs@postgresql.org">

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    52.4.1. C Standard

    52.4.2. Function-Like Macros and Inline Functions

    52.4.3. Writing Signal Handlers

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    52.3.1. What Goes Where
    52.3.2. Formatting
    52.3.3. Quotation Marks
    52.3.4. Use of Quotes
    52.3.5. Grammar and Punctuation
    52.3.6. Upper Case vs. Lower Case
    52.3.7. Avoid Passive Voice
    52.3.8. Present vs. Past Tense
    52.3.9. Type of the Object
    52.3.10. Brackets
    52.3.11. Assembling Error Messages
    52.3.12. Reasons for Errors
    52.3.13. Function Names
    52.3.14. Tricky Words to Avoid
    52.3.15. Proper Spelling
    52.3.16. Localization
    52.4.1. C Standard
    52.4.2. Function-Like Macros and Inline Functions
    52.4.3. Writing Signal Handlers
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    Notes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Notes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    Notes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    Notes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    Notes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    Notes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    Notes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    Notes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Arguments

    Return Value

    Notes

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Parameters

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    - [ GROUP ] role_name

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    - [ GROUP ] role_name

    Description

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Outputs

    Notes

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Compatibility

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    This part contains reference information for the diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/html/sql-comment.html postgresql-9.6-9.6.6/doc/src/sgml/html/sql-comment.html --- postgresql-9.6-9.6.5/doc/src/sgml/html/sql-comment.html 2017-08-28 21:38:19.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/html/sql-comment.html 2017-11-06 22:27:25.000000000 +0000 @@ -9,7 +9,7 @@ REV="MADE" HREF="mailto:pgsql-docs@postgresql.org">

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Outputs

    Notes

    File Formats

    Text Format

    CSV Format

    Binary Format

    File Header

    Tuples

    File Trailer

    Examples

    Compatibility

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Parameters

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Parameters

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Parameters

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Parameters

    Notes

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Parameters

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Policies can be applied for specific commands or for specific roles. The default for newly created policies is that they apply for all commands and - roles, unless otherwise specified. If multiple policies apply to a given - statement, they will be combined using OR (although ON CONFLICT DO - UPDATE and INSERT policies are not combined in this way, but - rather enforced as noted at each stage of ON CONFLICT execution). + roles, unless otherwise specified.

    For commands that can have both For policies that can have both USING and WITH CHECK policies ( expressions (ALL @@ -258,18 +246,18 @@ CLASS="LITERAL" >WITH CHECK - policy is defined, then the USING policy will be used - both for which rows are visible (normal expression will be + used both to determine which rows are visible (normal + USING case) - and for which rows will be allowed to be added ( case) and which new rows will be allowed to be + added (WITH - CHECKWITH CHECK case).

    Parameters

    Per-Command Policies

    ALL
    policy and the more - specific policy (or policies) will be combined using - OR, as usual for overlapping policies. + specific policy (or policies) will be applied. Additionally, ALLUPDATE
    commands (or auxiliary , ON - CONFLICT DO UPDATE clauses of SELECT FOR UPDATE + and SELECT FOR SHARE commands, as well as + auxiliary ON CONFLICT DO UPDATE clauses of + INSERT - commands). Since commands. Since UPDATE involves pulling an - existing record and then making changes to some portion (but - possibly not all) of the record, + involves pulling an existing record and replacing it with a new + modified record, UPDATE @@ -709,10 +703,30 @@ modified rows are allowed to be stored back into the relation.

    When an Any rows whose updated values do not pass the + WITH CHECK expression will cause an error, and the + entire command will be aborted. If only a USING + clause is specified, then that clause will be used for both + USING and WITH CHECK cases. +

    Typically an UPDATE command is used with a +> command also needs to read + data from columns in the relation being updated (e.g., in a WHERERETURNING - clause, SELECT rights are also required on the - relation being updated and the appropriate SET clause). In this case, + SELECT - and ALL policies will be combined (using OR for any - overlapping rights are also required on the relation + being updated, and the appropriate SELECT related policies found) with the +> or USING clause of the UPDATE policy - using AND. Therefore, in order for a user to be able to - ALL policies will be applied in addition to + the UPDATE specific rows, the user must have access - to the row(s) through a policies. Thus the user must have + access to the row(s) being updated through a SELECT or ALL policy and the row(s) must pass - the policy in addition to being granted + permission to update the row(s) via an UPDATE policy's USING - expression. -

    Any rows whose updated values do not pass the - WITH CHECK expression will cause an error, and the - entire command will be aborted. If only a USING - clause is specified, then that clause will be used for both - USING and WITH CHECK cases. +>ALL policy.

    Note, however, that When an INSERT with ON CONFLICT - DO UPDATE requires that an UPDATE policy +> command has an auxiliary USING expression always be enforced as a - WITH CHECK expression. This +>ON CONFLICT DO UPDATE clause, if the UPDATE policy must always pass when the - path is taken, the row to be updated is + first checked against the UPDATE path is taken. Any existing row that - necessitates that the USING expressions of + any UPDATE path be taken must - pass the ( policies, and then the new updated row + is checked against the UPDATE or WITH CHECK expressions. + Note, however, that unlike a standalone ALL) +>UPDATE + command, if the existing row does not pass the USING qualifications (combined using OR), which - are always enforced as WITH CHECK - options in this context. (The expressions, an error will be thrown (the + UPDATE path will - path will never be silently avoided; an error will be thrown - instead.) Finally, the final row appended to the relation must pass - any WITH CHECK options that a conventional - UPDATE is required to pass. +> be silently + avoided).

    policy.

    When a In most cases a DELETE command is used with a - command also needs to read + data from columns in the relation that it is deleting from (e.g., + in a WHERE clause or a clause or a + RETURNING - clause, SELECT rights are also required on the - relation being updated and the appropriate clause). In this case, + SELECT - and ALL policies will be combined (using OR for any - overlapping rights are also required on the relation, + and the appropriate SELECT related policies found) with the +> or USING clause of the DELETE policy - using AND. Therefore, in order for a user to be able to - ALL policies will be applied in addition to + the DELETE specific rows, the user must have access - to the row(s) through a policies. Thus the user must have + access to the row(s) being deleted through a SELECT or ALL policy and the row(s) must pass - the policy in addition to being granted + permission to delete the row(s) via a DELETE policy's or + USING - expression. +>ALL policy.

    A

    Application of Multiple Policies

    When multiple policies of different command types apply to the same command + (for example, SELECT and UPDATE + policies applied to an UPDATE command), then the user + must have both types of permissions (for example, permission to select rows + from the relation as well as permission to update them). Thus the + expressions for one type of policy are combined with the expressions for + the other type of policy using the AND operator. +

    When multiple policies of the same command type apply to the same command, + then at least one of the policies must grant access to the relation. Thus + the expressions from all the policies of that type are combined using the + OR operator. If there are no applicable policies, then + access is denied. +

    Note that, for the purposes of combining multiple policies, + ALL policies are treated as having the same type as + whichever other type of policy is being applied. +

    For example, in an UPDATE command requiring both + SELECT and UPDATE permissions, if + there are multiple applicable policies of each type, they will be combined + as follows: + +

    (
    +  expression from SELECT/ALL policy 1
    +  OR
    +  expression from SELECT/ALL policy 2
    +  OR
    +  ...
    +)
    +AND
    +(
    +  expression from UPDATE/ALL policy 1
    +  OR
    +  expression from UPDATE/ALL policy 2
    +  OR
    +  ...
    +)

    +

    Notes

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    - [ GROUP ] user_name

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Parameters

    Temporary Tables

    Non-deferred Uniqueness Constraints

    Column Check Constraints

    Inheritance

    Zero-column Tables

    Tablespaces

    Typed Tables

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Parameters

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Composite Types

    Base Types

    Array Types

    Parameters

    Examples

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Outputs

    Notes

    Examples

    Compatibility

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Compatibility

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Parameters

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Parameters

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Parameters

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Parameters

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Outputs

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Outputs

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Outputs

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    PUBLIC
    by default on tables, - columns, schemas or tablespaces. For other types, the default privileges +> by default on + tables, + table columns, + sequences, + foreign data wrappers, + foreign servers, + large objects, + schemas, + or tablespaces. + For other types of objects, the default privileges granted to PUBLICCONNECT
    and CREATE TEMP TABLE for - databases; TEMPORARY (create + temporary tables) privileges for databases; + EXECUTE privilege for functions; and USAGE privilege for languages. +> privilege for languages and data types + (including domains). The object owner can, of course, REVOKE

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Parameters

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Outputs

    Examples

    Compatibility

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL - 9.6.5. Background information can be found in Section 4.1.1. diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/html/sql-listen.html postgresql-9.6-9.6.6/doc/src/sgml/html/sql-listen.html --- postgresql-9.6-9.6.5/doc/src/sgml/html/sql-listen.html 2017-08-28 21:38:22.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/html/sql-listen.html 2017-11-06 22:27:29.000000000 +0000 @@ -9,7 +9,7 @@ REV="MADE" HREF="mailto:pgsql-docs@postgresql.org">
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Outputs

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    pg_notify

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    LISTEN
    or , UNLISTEN, or + NOTIFY. Those features are too tightly tied to the current session to be useful in a transaction to be prepared. @@ -372,7 +376,7 @@ >

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Examples

    Compatibility

    Omitted

    Empty

    Omitting the

    Function Calls in

    Namespace Available to

    Functional Dependencies

    Data-Modifying Statements in

    Nonstandard Clauses

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Notes

    Compatibility

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Notes

    Examples

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Outputs

    Notes

    Examples

    Compatibility

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Outputs

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Parameters

    Notes

    Examples

    Compatibility

    See Also

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.37.1. Functions Provided

    F.37.2. Author

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL tables and indexes.[1][1]
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.38.1. Functions Provided

    F.38.1.1. normal_rand

    F.38.1.2. crosstab(text)

    F.38.1.3. crosstab

    F.38.1.4. crosstab(text, text)

    F.38.1.5. connectby

    F.38.2. Author

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.41.1. Portability Issues

    F.41.2. Converting a pre-8.3 Installation

    F.41.3. References

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.42.1. Examples

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.43.1. Examples

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    psql (9.6.5)
    +>psql (9.6.6)
     Type "help" for help.
     
     mydb=>
    version ------------------------------------------------------------------------------------------ - PostgreSQL 9.6.5 on x86_64-pc-linux-gnu, compiled by gcc (Debian 4.9.2-10) 4.9.2, 64-bit + PostgreSQL 9.6.6 on x86_64-pc-linux-gnu, compiled by gcc (Debian 4.9.2-10) 4.9.2, 64-bit (1 row)
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    CAST specification. [1]

    [1]

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    If any input is of a domain type, treat it as being of the domain's base type for all subsequent steps. [1]

    [1]

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.44.1. Configuration

    F.44.2. Usage

    F.44.3. Functions

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5, +> 9.6.6, since this version contains bug fixes and improvements over older versions. While this advice might seem idiosyncratic since you haven't installed the new version yet, it is advisable to follow diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/html/user-manag.html postgresql-9.6-9.6.6/doc/src/sgml/html/user-manag.html --- postgresql-9.6-9.6.5/doc/src/sgml/html/user-manag.html 2017-08-28 21:38:06.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/html/user-manag.html 2017-11-06 22:27:12.000000000 +0000 @@ -9,7 +9,7 @@ REV="MADE" HREF="mailto:pgsql-docs@postgresql.org">
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.45.1. uuid-ossp

    F.45.2. Building uuid-ossp

    F.45.3. Author

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    Name

    Synopsis

    Description

    Options

    Notes

    Author

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    36.9.3. Version 0 Calling Conventions

    36.9.4. Version 1 Calling Conventions

    36.9.5. Writing Code

    36.9.7. Composite-type Arguments

    36.9.8. Returning Rows (Composite Types)

    36.9.10. Polymorphic Arguments and Return Types

    36.9.12. Shared Memory and LWLocks

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    36.4.10. Polymorphic SQL

    36.4.11. SQL
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    F.46.1. Deprecation Notice

    F.46.2. Description of Functions

    F.46.3. xpath_table

    F.46.3.1. Multivalued Results

    F.46.4. XSLT Functions

    F.46.4.1. xslt_process

    F.46.5. Author

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL. The ones described here are all - the ones that release 9.6.5 understands. + the ones that release 9.6.6 understands.

    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    PostgreSQL 9.6.5 DocumentationPostgreSQL 9.6.6 Documentation
    There are several different ways of building PostgreSQL on Windows. The simplest way to build with - Microsoft tools is to install Visual Studio Express 2015 + Microsoft tools is to install Visual Studio Express 2017 for Windows Desktop and use the included compiler. It is also possible to build with the full - Microsoft Visual C++ 2005 to 2015. + Microsoft Visual C++ 2005 to 2017. In some cases that requires the installation of the Windows SDK in addition to the compiler. @@ -77,19 +77,19 @@ Visual Studio Express or some versions of the Microsoft Windows SDK. If you do not already have a Visual Studio environment set up, the easiest - ways are to use the compilers from Visual Studio Express 2015 + ways are to use the compilers from Visual Studio Express 2017 for Windows Desktop or those in the Windows SDK - 7.1, which are both free downloads from Microsoft. + 8.1, which are both free downloads from Microsoft. Both 32-bit and 64-bit builds are possible with the Microsoft Compiler suite. 32-bit PostgreSQL builds are possible with Visual Studio 2005 to - Visual Studio 2015 (including Express editions), - as well as standalone Windows SDK releases 6.0 to 7.1. + Visual Studio 2017 (including Express editions), + as well as standalone Windows SDK releases 6.0 to 8.1. 64-bit PostgreSQL builds are supported with - Microsoft Windows SDK version 6.0a to 7.1 or + Microsoft Windows SDK version 6.0a to 8.1 or Visual Studio 2008 and above. Compilation is supported down to Windows XP and Windows Server 2003 when building with @@ -97,6 +97,8 @@ Visual Studio 2013. Building with Visual Studio 2015 is supported down to Windows Vista and Windows Server 2008. + Building with Visual Studio 2017 is supported + down to Windows 7 SP1 and Windows Server 2008 R2 SP1. diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/libpq.sgml postgresql-9.6-9.6.6/doc/src/sgml/libpq.sgml --- postgresql-9.6-9.6.5/doc/src/sgml/libpq.sgml 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/libpq.sgml 2017-11-06 22:08:55.000000000 +0000 @@ -3061,9 +3061,10 @@ - Returns the number of rows (tuples) in the query result. Because - it returns an integer result, large result sets might overflow the - return value on 32-bit operating systems. + Returns the number of rows (tuples) in the query result. + (Note that PGresult objects are limited to no more + than INT_MAX rows, so an int result is + sufficient.) int PQntuples(const PGresult *res); diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/logicaldecoding.sgml postgresql-9.6-9.6.6/doc/src/sgml/logicaldecoding.sgml --- postgresql-9.6-9.6.5/doc/src/sgml/logicaldecoding.sgml 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/logicaldecoding.sgml 2017-11-06 22:08:55.000000000 +0000 @@ -338,7 +338,7 @@ The pg_replication_slots view and the - pg_stat_replication + pg_stat_replication view provide information about the current state of replication slots and streaming replication connections respectively. These views apply to both physical and logical replication. diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/maintenance.sgml postgresql-9.6-9.6.6/doc/src/sgml/maintenance.sgml --- postgresql-9.6-9.6.5/doc/src/sgml/maintenance.sgml 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/maintenance.sgml 2017-11-06 22:08:55.000000000 +0000 @@ -46,7 +46,7 @@ check_postgres + url="https://bucardo.org/check_postgres/">check_postgres is available for monitoring database health and reporting unusual conditions. check_postgres integrates with Nagios and MRTG, but can be run standalone too. @@ -977,7 +977,7 @@ pgBadger is an external project that does sophisticated log file analysis. check_postgres + url="https://bucardo.org/check_postgres/">check_postgres provides Nagios alerts when important messages appear in the log files, as well as detection of many other extraordinary conditions. diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/clusterdb.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/clusterdb.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/clusterdb.1 2017-08-28 21:40:20.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/clusterdb.1 2017-11-06 22:29:27.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CLUSTERDB" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CLUSTERDB" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/createdb.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/createdb.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/createdb.1 2017-08-28 21:40:20.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/createdb.1 2017-11-06 22:29:27.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATEDB" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATEDB" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/createlang.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/createlang.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/createlang.1 2017-08-28 21:40:20.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/createlang.1 2017-11-06 22:29:28.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATELANG" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATELANG" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/createuser.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/createuser.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/createuser.1 2017-08-28 21:40:21.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/createuser.1 2017-11-06 22:29:28.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATEUSER" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATEUSER" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/dropdb.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/dropdb.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/dropdb.1 2017-08-28 21:40:21.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/dropdb.1 2017-11-06 22:29:28.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROPDB" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROPDB" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/droplang.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/droplang.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/droplang.1 2017-08-28 21:40:21.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/droplang.1 2017-11-06 22:29:29.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROPLANG" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROPLANG" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/dropuser.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/dropuser.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/dropuser.1 2017-08-28 21:40:21.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/dropuser.1 2017-11-06 22:29:29.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROPUSER" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROPUSER" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/ecpg.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/ecpg.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/ecpg.1 2017-08-28 21:40:22.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/ecpg.1 2017-11-06 22:29:29.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ECPG" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ECPG" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/initdb.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/initdb.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/initdb.1 2017-08-28 21:40:29.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/initdb.1 2017-11-06 22:29:37.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "INITDB" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "INITDB" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/oid2name.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/oid2name.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/oid2name.1 2017-08-28 21:40:36.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/oid2name.1 2017-11-06 22:29:43.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "OID2NAME" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "OID2NAME" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_archivecleanup.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_archivecleanup.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_archivecleanup.1 2017-08-28 21:40:29.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_archivecleanup.1 2017-11-06 22:29:37.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "PG_ARCHIVECLEANUP" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "PG_ARCHIVECLEANUP" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_basebackup.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_basebackup.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_basebackup.1 2017-08-28 21:40:22.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_basebackup.1 2017-11-06 22:29:30.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "PG_BASEBACKUP" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "PG_BASEBACKUP" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/pgbench.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/pgbench.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/pgbench.1 2017-08-28 21:40:23.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/pgbench.1 2017-11-06 22:29:31.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "PGBENCH" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "PGBENCH" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_config.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_config.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_config.1 2017-08-28 21:40:23.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_config.1 2017-11-06 22:29:31.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "PG_CONFIG" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "PG_CONFIG" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_controldata.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_controldata.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_controldata.1 2017-08-28 21:40:29.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_controldata.1 2017-11-06 22:29:37.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "PG_CONTROLDATA" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "PG_CONTROLDATA" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_ctl.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_ctl.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_ctl.1 2017-08-28 21:40:30.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_ctl.1 2017-11-06 22:29:38.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "PG_CTL" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "PG_CTL" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_dump.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_dump.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_dump.1 2017-08-28 21:40:24.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_dump.1 2017-11-06 22:29:32.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "PG_DUMP" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "PG_DUMP" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_dumpall.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_dumpall.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_dumpall.1 2017-08-28 21:40:24.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_dumpall.1 2017-11-06 22:29:32.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "PG_DUMPALL" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "PG_DUMPALL" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_isready.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_isready.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_isready.1 2017-08-28 21:40:25.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_isready.1 2017-11-06 22:29:33.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "PG_ISREADY" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "PG_ISREADY" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_receivexlog.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_receivexlog.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_receivexlog.1 2017-08-28 21:40:25.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_receivexlog.1 2017-11-06 22:29:33.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "PG_RECEIVEXLOG" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "PG_RECEIVEXLOG" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_recvlogical.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_recvlogical.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_recvlogical.1 2017-08-28 21:40:26.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_recvlogical.1 2017-11-06 22:29:34.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "PG_RECVLOGICAL" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "PG_RECVLOGICAL" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_resetxlog.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_resetxlog.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_resetxlog.1 2017-08-28 21:40:30.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_resetxlog.1 2017-11-06 22:29:38.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "PG_RESETXLOG" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "PG_RESETXLOG" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_restore.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_restore.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_restore.1 2017-08-28 21:40:26.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_restore.1 2017-11-06 22:29:34.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "PG_RESTORE" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "PG_RESTORE" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_rewind.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_rewind.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_rewind.1 2017-08-28 21:40:30.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_rewind.1 2017-11-06 22:29:38.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "PG_REWIND" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "PG_REWIND" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_standby.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_standby.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_standby.1 2017-08-28 21:40:36.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_standby.1 2017-11-06 22:29:44.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "PG_STANDBY" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "PG_STANDBY" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_test_fsync.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_test_fsync.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_test_fsync.1 2017-08-28 21:40:30.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_test_fsync.1 2017-11-06 22:29:38.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "PG_TEST_FSYNC" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "PG_TEST_FSYNC" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_test_timing.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_test_timing.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_test_timing.1 2017-08-28 21:40:30.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_test_timing.1 2017-11-06 22:29:39.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "PG_TEST_TIMING" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "PG_TEST_TIMING" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_upgrade.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_upgrade.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_upgrade.1 2017-08-28 21:40:31.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_upgrade.1 2017-11-06 22:29:39.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "PG_UPGRADE" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "PG_UPGRADE" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -356,20 +356,18 @@ .sp -1 .IP " 8." 4.2 .\} -Prepare for standby server upgrades: If you are upgrading standby servers (as outlined in section -Step 10), verify that the old standby servers are caught up by running +Prepare for standby server upgrades: If you are upgrading standby servers using methods outlined in section +Step 10, verify that the old standby servers are caught up by running pg_controldata against the old primary and standby clusters\&. Verify that the \(lqLatest checkpoint location\(rq -values match in all clusters\&. (There will be a mismatch if old standby servers were shut down before the old primary\&.) -.sp -Also, if upgrading standby servers, change +values match in all clusters\&. (There will be a mismatch if old standby servers were shut down before the old primary\&.) Also, change \fIwal_level\fR to replica in the postgresql\&.conf -file on the new master cluster\&. +file on the new primary cluster\&. .RE .sp .RS 4 @@ -468,30 +466,41 @@ .sp -1 .IP " 10." 4.2 .\} -Upgrade Streaming Replication and Log\-Shipping standby servers: If you have Streaming Replication (see +Upgrade Streaming Replication and Log\-Shipping standby servers: If you used link mode and have Streaming Replication (see Section 26.2.5, \(lqStreaming Replication\(rq, in the documentation) or Log\-Shipping (see -Section 26.2, \(lqLog-Shipping Standby Servers\(rq, in the documentation) standby servers, follow these steps to upgrade them\&. You will not be running +Section 26.2, \(lqLog-Shipping Standby Servers\(rq, in the documentation) standby servers, you can follow these steps to quickly upgrade them\&. You will not be running pg_upgrade on the standby servers, but rather -rsync\&. Do not start any servers yet\&. +rsync +on the primary\&. Do not start any servers yet\&. +.sp +If you did +\fInot\fR +use link mode, do not have or do not want to use +rsync, or want an easier solution, skip the instructions in this section and simply recreate the standby servers once +pg_upgrade +completes and the new primary is running\&. Install the new PostgreSQL binaries on standby servers: Make sure the new binaries and support files are installed on all standby servers\&. Make sure the new standby data directories do \fInot\fR exist: Make sure the new standby data directories do \fInot\fR exist or are empty\&. If initdb -was run, delete the standby server data directories\&. -Install custom shared object files: Install the same custom shared object files on the new standbys that you installed in the new master cluster\&. +was run, delete the standby servers\*(Aq new data directories\&. +Install custom shared object files: Install the same custom shared object files on the new standbys that you installed in the new primary cluster\&. Stop standby servers: If the standby servers are still running, stop them now using the above instructions\&. -Save configuration files: Save any configuration files from the standbys you need to keep, e\&.g\&. +Save configuration files: Save any configuration files from the old standbys\*(Aq data directories you need to keep, e\&.g\&. postgresql\&.conf, -recovery\&.conf, as these will be overwritten or removed in the next step\&. -Run rsync: From a directory that is above the old and new database cluster directories, run this for each slave: +recovery\&.conf, because these will be overwritten or removed in the next step\&. +Run rsync: When using link mode, standby servers can be quickly upgraded using +rsync\&. To accomplish this, from a directory on the primary server that is above the old and new database cluster directories, run this on the +\fIprimary\fR +for each standby server: .sp .if n \{\ .RS 4 .\} .nf -rsync \-\-archive \-\-delete \-\-hard\-links \-\-size\-only old_pgdata new_pgdata remote_dir +rsync \-\-archive \-\-delete \-\-hard\-links \-\-size\-only \-\-no\-inc\-recursive old_pgdata new_pgdata remote_dir .fi .if n \{\ .RE @@ -501,25 +510,55 @@ \fBold_pgdata\fR and \fBnew_pgdata\fR -are relative to the current directory, and +are relative to the current directory on the primary, and \fBremote_dir\fR is \fIabove\fR -the old and new cluster directories on the standby server\&. The old and new relative cluster paths must match on the master and standby server\&. Consult the +the old and new cluster directories on the standby\&. The directory structure under the specified directories on the primary and standbys must match\&. Consult the rsync manual page for details on specifying the remote directory, e\&.g\&. -standbyhost:/opt/PostgreSQL/\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +rsync \-\-archive \-\-delete \-\-hard\-links \-\-size\-only \-\-no\-inc\-recursive /opt/PostgreSQL/9\&.5/data \e + /opt/PostgreSQL/9\&.6/data standby\&.example\&.com:/opt/PostgreSQL +.fi +.if n \{\ +.RE +.\} +.sp +You can verify what the command will do using +rsync\*(Aqs +\fB\-\-dry\-run\fR +option\&. While rsync -will be fast when -pg_upgrade\*(Aqs -\fB\-\-link\fR -mode is used because it will create hard links on the remote server rather than transferring user data\&. Unfortunately, +must be run on the primary for at least one standby, it is possible to run +rsync +on an upgraded standby to upgrade other standbys, as long as the upgraded standby has not been started\&. +.sp +What this does is to record the links created by +pg_upgrade\*(Aqs link mode that connect files in the old and new clusters on the primary server\&. It then finds matching files in the standby\*(Aqs old cluster and creates links for them in the standby\*(Aqs new cluster\&. Files that were not linked on the primary are copied from the primary to the standby\&. (They are usually small\&.) This provides rapid standby upgrades\&. Unfortunately, rsync -needlessly copies the files associated with temporary and unlogged tables\&. +needlessly copies files associated with temporary and unlogged tables because these files don\*(Aqt normally exist on standby servers\&. .sp If you have tablespaces, you will need to run a similar rsync -command for each tablespace directory\&. If you have relocated +command for each tablespace directory, e\&.g\&.: +.sp +.if n \{\ +.RS 4 +.\} +.nf +rsync \-\-archive \-\-delete \-\-hard\-links \-\-size\-only \-\-no\-inc\-recursive /vol1/pg_tblsp/PG_9\&.5_201510051 \e + /vol1/pg_tblsp/PG_9\&.6_201608131 standby\&.example\&.com:/vol1/pg_tblsp +.fi +.if n \{\ +.RE +.\} +.sp +If you have relocated pg_xlog outside the data directories, rsync @@ -528,7 +567,7 @@ \fBpg_start_backup()\fR and \fBpg_stop_backup()\fR -or take a file system backup as the slaves are still synchronized with the master\&.) +or take a file system backup as the standbys are still synchronized with the primary\&.) .RE .sp .RS 4 diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_xlogdump.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_xlogdump.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/pg_xlogdump.1 2017-08-28 21:40:31.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/pg_xlogdump.1 2017-11-06 22:29:39.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "PG_XLOGDUMP" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "PG_XLOGDUMP" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/postgres.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/postgres.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/postgres.1 2017-08-28 21:40:32.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/postgres.1 2017-11-06 22:29:40.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "POSTGRES" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "POSTGRES" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/postmaster.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/postmaster.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/postmaster.1 2017-08-28 21:40:32.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/postmaster.1 2017-11-06 22:29:40.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "POSTMASTER" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "POSTMASTER" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/psql.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/psql.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/psql.1 2017-08-28 21:40:28.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/psql.1 2017-11-06 22:29:36.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "PSQL" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "PSQL" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -640,7 +640,7 @@ .\} .nf $ \fBpsql testdb\fR -psql (9\&.6\&.5) +psql (9\&.6\&.6) Type "help" for help\&. testdb=> diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/reindexdb.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/reindexdb.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/reindexdb.1 2017-08-28 21:40:28.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/reindexdb.1 2017-11-06 22:29:36.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "REINDEXDB" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "REINDEXDB" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/vacuumdb.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/vacuumdb.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/vacuumdb.1 2017-08-28 21:40:28.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/vacuumdb.1 2017-11-06 22:29:37.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "VACUUMDB" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "VACUUMDB" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man1/vacuumlo.1 postgresql-9.6-9.6.6/doc/src/sgml/man1/vacuumlo.1 --- postgresql-9.6-9.6.5/doc/src/sgml/man1/vacuumlo.1 2017-08-28 21:40:36.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man1/vacuumlo.1 2017-11-06 22:29:44.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "VACUUMLO" "1" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "VACUUMLO" "1" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink.3 2017-08-28 21:40:33.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink.3 2017-11-06 22:29:41.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DBLINK" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DBLINK" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_build_sql_delete.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_build_sql_delete.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_build_sql_delete.3 2017-08-28 21:40:35.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_build_sql_delete.3 2017-11-06 22:29:43.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DBLINK_BUILD_SQL_DELETE" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DBLINK_BUILD_SQL_DELETE" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_build_sql_insert.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_build_sql_insert.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_build_sql_insert.3 2017-08-28 21:40:35.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_build_sql_insert.3 2017-11-06 22:29:43.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DBLINK_BUILD_SQL_INSERT" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DBLINK_BUILD_SQL_INSERT" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_build_sql_update.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_build_sql_update.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_build_sql_update.3 2017-08-28 21:40:35.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_build_sql_update.3 2017-11-06 22:29:43.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DBLINK_BUILD_SQL_UPDATE" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DBLINK_BUILD_SQL_UPDATE" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_cancel_query.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_cancel_query.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_cancel_query.3 2017-08-28 21:40:35.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_cancel_query.3 2017-11-06 22:29:42.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DBLINK_CANCEL_QUERY" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DBLINK_CANCEL_QUERY" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_close.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_close.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_close.3 2017-08-28 21:40:33.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_close.3 2017-11-06 22:29:41.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DBLINK_CLOSE" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DBLINK_CLOSE" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_connect.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_connect.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_connect.3 2017-08-28 21:40:32.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_connect.3 2017-11-06 22:29:40.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DBLINK_CONNECT" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DBLINK_CONNECT" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_connect_u.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_connect_u.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_connect_u.3 2017-08-28 21:40:32.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_connect_u.3 2017-11-06 22:29:40.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DBLINK_CONNECT_U" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DBLINK_CONNECT_U" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_disconnect.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_disconnect.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_disconnect.3 2017-08-28 21:40:32.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_disconnect.3 2017-11-06 22:29:40.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DBLINK_DISCONNECT" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DBLINK_DISCONNECT" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_error_message.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_error_message.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_error_message.3 2017-08-28 21:40:34.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_error_message.3 2017-11-06 22:29:42.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DBLINK_ERROR_MESSAGE" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DBLINK_ERROR_MESSAGE" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_exec.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_exec.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_exec.3 2017-08-28 21:40:33.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_exec.3 2017-11-06 22:29:41.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DBLINK_EXEC" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DBLINK_EXEC" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_fetch.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_fetch.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_fetch.3 2017-08-28 21:40:33.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_fetch.3 2017-11-06 22:29:41.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DBLINK_FETCH" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DBLINK_FETCH" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_get_connections.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_get_connections.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_get_connections.3 2017-08-28 21:40:34.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_get_connections.3 2017-11-06 22:29:41.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DBLINK_GET_CONNECTIONS" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DBLINK_GET_CONNECTIONS" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_get_notify.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_get_notify.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_get_notify.3 2017-08-28 21:40:34.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_get_notify.3 2017-11-06 22:29:42.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DBLINK_GET_NOTIFY" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DBLINK_GET_NOTIFY" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_get_pkey.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_get_pkey.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_get_pkey.3 2017-08-28 21:40:35.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_get_pkey.3 2017-11-06 22:29:43.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DBLINK_GET_PKEY" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DBLINK_GET_PKEY" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_get_result.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_get_result.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_get_result.3 2017-08-28 21:40:34.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_get_result.3 2017-11-06 22:29:42.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DBLINK_GET_RESULT" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DBLINK_GET_RESULT" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_is_busy.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_is_busy.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_is_busy.3 2017-08-28 21:40:34.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_is_busy.3 2017-11-06 22:29:42.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DBLINK_IS_BUSY" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DBLINK_IS_BUSY" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_open.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_open.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_open.3 2017-08-28 21:40:33.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_open.3 2017-11-06 22:29:41.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DBLINK_OPEN" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DBLINK_OPEN" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_send_query.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_send_query.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/dblink_send_query.3 2017-08-28 21:40:34.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/dblink_send_query.3 2017-11-06 22:29:42.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DBLINK_SEND_QUERY" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DBLINK_SEND_QUERY" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_connect.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_connect.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_connect.3 2017-08-28 21:39:28.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_connect.3 2017-11-06 22:28:35.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_CONNECT" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_CONNECT" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_copytuple.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_copytuple.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_copytuple.3 2017-08-28 21:39:35.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_copytuple.3 2017-11-06 22:28:42.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_COPYTUPLE" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_COPYTUPLE" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_cursor_close.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_cursor_close.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_cursor_close.3 2017-08-28 21:39:32.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_cursor_close.3 2017-11-06 22:28:40.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_CURSOR_CLOSE" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_CURSOR_CLOSE" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_cursor_fetch.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_cursor_fetch.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_cursor_fetch.3 2017-08-28 21:39:32.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_cursor_fetch.3 2017-11-06 22:28:39.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_CURSOR_FETCH" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_CURSOR_FETCH" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_cursor_find.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_cursor_find.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_cursor_find.3 2017-08-28 21:39:31.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_cursor_find.3 2017-11-06 22:28:39.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_CURSOR_FIND" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_CURSOR_FIND" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_cursor_move.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_cursor_move.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_cursor_move.3 2017-08-28 21:39:32.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_cursor_move.3 2017-11-06 22:28:39.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_CURSOR_MOVE" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_CURSOR_MOVE" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_cursor_open.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_cursor_open.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_cursor_open.3 2017-08-28 21:39:31.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_cursor_open.3 2017-11-06 22:28:38.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_CURSOR_OPEN" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_CURSOR_OPEN" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_cursor_open_with_args.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_cursor_open_with_args.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_cursor_open_with_args.3 2017-08-28 21:39:31.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_cursor_open_with_args.3 2017-11-06 22:28:38.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_CURSOR_OPEN_WITH_ARGS" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_CURSOR_OPEN_WITH_ARGS" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_cursor_open_with_paramlist.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_cursor_open_with_paramlist.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_cursor_open_with_paramlist.3 2017-08-28 21:39:31.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_cursor_open_with_paramlist.3 2017-11-06 22:28:39.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_CURSOR_OPEN_WITH_PARAMLIST" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_CURSOR_OPEN_WITH_PARAMLIST" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_exec.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_exec.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_exec.3 2017-08-28 21:39:29.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_exec.3 2017-11-06 22:28:36.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_EXEC" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_EXEC" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_execp.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_execp.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_execp.3 2017-08-28 21:39:31.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_execp.3 2017-11-06 22:28:38.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_EXECP" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_EXECP" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_execute.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_execute.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_execute.3 2017-08-28 21:39:29.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_execute.3 2017-11-06 22:28:36.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_EXECUTE" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_EXECUTE" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_execute_plan.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_execute_plan.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_execute_plan.3 2017-08-28 21:39:30.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_execute_plan.3 2017-11-06 22:28:38.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_EXECUTE_PLAN" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_EXECUTE_PLAN" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_execute_plan_with_paramlist.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_execute_plan_with_paramlist.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_execute_plan_with_paramlist.3 2017-08-28 21:39:30.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_execute_plan_with_paramlist.3 2017-11-06 22:28:38.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_EXECUTE_PLAN_WITH_PARAMLIST" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_EXECUTE_PLAN_WITH_PARAMLIST" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_execute_with_args.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_execute_with_args.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_execute_with_args.3 2017-08-28 21:39:29.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_execute_with_args.3 2017-11-06 22:28:37.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_EXECUTE_WITH_ARGS" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_EXECUTE_WITH_ARGS" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_finish.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_finish.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_finish.3 2017-08-28 21:39:28.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_finish.3 2017-11-06 22:28:36.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_FINISH" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_FINISH" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_fname.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_fname.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_fname.3 2017-08-28 21:39:33.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_fname.3 2017-11-06 22:28:40.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_FNAME" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_FNAME" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_fnumber.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_fnumber.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_fnumber.3 2017-08-28 21:39:33.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_fnumber.3 2017-11-06 22:28:40.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_FNUMBER" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_FNUMBER" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_freeplan.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_freeplan.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_freeplan.3 2017-08-28 21:39:36.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_freeplan.3 2017-11-06 22:28:43.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_FREEPLAN" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_FREEPLAN" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_freetuple.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_freetuple.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_freetuple.3 2017-08-28 21:39:36.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_freetuple.3 2017-11-06 22:28:43.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_FREETUPLE" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_FREETUPLE" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_freetuptable.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_freetuptable.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_freetuptable.3 2017-08-28 21:39:36.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_freetuptable.3 2017-11-06 22:28:43.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_FREETUPTABLE" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_FREETUPTABLE" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_getargcount.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_getargcount.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_getargcount.3 2017-08-28 21:39:30.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_getargcount.3 2017-11-06 22:28:37.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_GETARGCOUNT" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_GETARGCOUNT" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_getargtypeid.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_getargtypeid.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_getargtypeid.3 2017-08-28 21:39:30.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_getargtypeid.3 2017-11-06 22:28:37.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_GETARGTYPEID" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_GETARGTYPEID" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_getbinval.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_getbinval.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_getbinval.3 2017-08-28 21:39:33.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_getbinval.3 2017-11-06 22:28:41.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_GETBINVAL" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_GETBINVAL" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_getnspname.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_getnspname.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_getnspname.3 2017-08-28 21:39:34.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_getnspname.3 2017-11-06 22:28:41.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_GETNSPNAME" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_GETNSPNAME" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_getrelname.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_getrelname.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_getrelname.3 2017-08-28 21:39:34.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_getrelname.3 2017-11-06 22:28:41.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_GETRELNAME" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_GETRELNAME" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_gettype.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_gettype.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_gettype.3 2017-08-28 21:39:34.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_gettype.3 2017-11-06 22:28:41.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_GETTYPE" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_GETTYPE" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_gettypeid.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_gettypeid.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_gettypeid.3 2017-08-28 21:39:34.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_gettypeid.3 2017-11-06 22:28:41.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_GETTYPEID" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_GETTYPEID" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_getvalue.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_getvalue.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_getvalue.3 2017-08-28 21:39:33.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_getvalue.3 2017-11-06 22:28:41.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_GETVALUE" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_GETVALUE" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_is_cursor_plan.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_is_cursor_plan.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_is_cursor_plan.3 2017-08-28 21:39:30.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_is_cursor_plan.3 2017-11-06 22:28:38.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_IS_CURSOR_PLAN" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_IS_CURSOR_PLAN" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_keepplan.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_keepplan.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_keepplan.3 2017-08-28 21:39:33.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_keepplan.3 2017-11-06 22:28:40.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_KEEPPLAN" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_KEEPPLAN" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_modifytuple.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_modifytuple.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_modifytuple.3 2017-08-28 21:39:35.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_modifytuple.3 2017-11-06 22:28:42.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_MODIFYTUPLE" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_MODIFYTUPLE" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_palloc.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_palloc.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_palloc.3 2017-08-28 21:39:34.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_palloc.3 2017-11-06 22:28:42.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_PALLOC" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_PALLOC" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_pfree.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_pfree.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_pfree.3 2017-08-28 21:39:35.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_pfree.3 2017-11-06 22:28:42.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_PFREE" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_PFREE" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_pop.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_pop.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_pop.3 2017-08-28 21:39:28.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_pop.3 2017-11-06 22:28:36.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_POP" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_POP" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_prepare.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_prepare.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_prepare.3 2017-08-28 21:39:29.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_prepare.3 2017-11-06 22:28:37.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_PREPARE" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_PREPARE" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_prepare_cursor.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_prepare_cursor.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_prepare_cursor.3 2017-08-28 21:39:29.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_prepare_cursor.3 2017-11-06 22:28:37.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_PREPARE_CURSOR" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_PREPARE_CURSOR" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_prepare_params.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_prepare_params.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_prepare_params.3 2017-08-28 21:39:30.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_prepare_params.3 2017-11-06 22:28:37.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_PREPARE_PARAMS" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_PREPARE_PARAMS" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_push.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_push.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_push.3 2017-08-28 21:39:28.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_push.3 2017-11-06 22:28:36.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_PUSH" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_PUSH" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_repalloc.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_repalloc.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_repalloc.3 2017-08-28 21:39:35.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_repalloc.3 2017-11-06 22:28:42.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_REPALLOC" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_REPALLOC" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_returntuple.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_returntuple.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_returntuple.3 2017-08-28 21:39:35.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_returntuple.3 2017-11-06 22:28:42.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_RETURNTUPLE" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_RETURNTUPLE" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_saveplan.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_saveplan.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_saveplan.3 2017-08-28 21:39:33.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_saveplan.3 2017-11-06 22:28:40.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_SAVEPLAN" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_SAVEPLAN" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_scroll_cursor_fetch.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_scroll_cursor_fetch.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_scroll_cursor_fetch.3 2017-08-28 21:39:32.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_scroll_cursor_fetch.3 2017-11-06 22:28:39.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_SCROLL_CURSOR_FETCH" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_SCROLL_CURSOR_FETCH" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_scroll_cursor_move.3 postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_scroll_cursor_move.3 --- postgresql-9.6-9.6.5/doc/src/sgml/man3/SPI_scroll_cursor_move.3 2017-08-28 21:39:32.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man3/SPI_scroll_cursor_move.3 2017-11-06 22:28:39.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SPI_SCROLL_CURSOR_MOVE" "3" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SPI_SCROLL_CURSOR_MOVE" "3" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ABORT.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ABORT.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ABORT.7 2017-08-28 21:39:36.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ABORT.7 2017-11-06 22:28:43.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ABORT" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ABORT" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_AGGREGATE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_AGGREGATE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_AGGREGATE.7 2017-08-28 21:39:36.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_AGGREGATE.7 2017-11-06 22:28:43.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER AGGREGATE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER AGGREGATE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_COLLATION.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_COLLATION.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_COLLATION.7 2017-08-28 21:39:36.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_COLLATION.7 2017-11-06 22:28:43.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER COLLATION" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER COLLATION" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_CONVERSION.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_CONVERSION.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_CONVERSION.7 2017-08-28 21:39:37.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_CONVERSION.7 2017-11-06 22:28:44.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER CONVERSION" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER CONVERSION" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_DATABASE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_DATABASE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_DATABASE.7 2017-08-28 21:39:37.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_DATABASE.7 2017-11-06 22:28:44.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER DATABASE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER DATABASE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_DEFAULT_PRIVILEGES.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_DEFAULT_PRIVILEGES.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_DEFAULT_PRIVILEGES.7 2017-08-28 21:39:37.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_DEFAULT_PRIVILEGES.7 2017-11-06 22:28:44.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER DEFAULT PRIVILEGES" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER DEFAULT PRIVILEGES" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_DOMAIN.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_DOMAIN.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_DOMAIN.7 2017-08-28 21:39:37.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_DOMAIN.7 2017-11-06 22:28:44.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER DOMAIN" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER DOMAIN" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_EVENT_TRIGGER.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_EVENT_TRIGGER.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_EVENT_TRIGGER.7 2017-08-28 21:39:37.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_EVENT_TRIGGER.7 2017-11-06 22:28:44.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER EVENT TRIGGER" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER EVENT TRIGGER" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_EXTENSION.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_EXTENSION.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_EXTENSION.7 2017-08-28 21:39:38.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_EXTENSION.7 2017-11-06 22:28:45.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER EXTENSION" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER EXTENSION" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_FOREIGN_DATA_WRAPPER.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_FOREIGN_DATA_WRAPPER.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_FOREIGN_DATA_WRAPPER.7 2017-08-28 21:39:38.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_FOREIGN_DATA_WRAPPER.7 2017-11-06 22:28:45.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER FOREIGN DATA WRAPPER" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER FOREIGN DATA WRAPPER" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_FOREIGN_TABLE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_FOREIGN_TABLE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_FOREIGN_TABLE.7 2017-08-28 21:39:38.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_FOREIGN_TABLE.7 2017-11-06 22:28:45.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER FOREIGN TABLE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER FOREIGN TABLE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_FUNCTION.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_FUNCTION.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_FUNCTION.7 2017-08-28 21:39:38.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_FUNCTION.7 2017-11-06 22:28:45.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER FUNCTION" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER FUNCTION" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_GROUP.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_GROUP.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_GROUP.7 2017-08-28 21:39:39.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_GROUP.7 2017-11-06 22:28:45.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER GROUP" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER GROUP" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_INDEX.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_INDEX.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_INDEX.7 2017-08-28 21:39:39.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_INDEX.7 2017-11-06 22:28:45.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER INDEX" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER INDEX" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_LANGUAGE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_LANGUAGE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_LANGUAGE.7 2017-08-28 21:39:39.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_LANGUAGE.7 2017-11-06 22:28:46.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER LANGUAGE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER LANGUAGE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_LARGE_OBJECT.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_LARGE_OBJECT.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_LARGE_OBJECT.7 2017-08-28 21:39:39.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_LARGE_OBJECT.7 2017-11-06 22:28:46.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER LARGE OBJECT" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER LARGE OBJECT" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_MATERIALIZED_VIEW.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_MATERIALIZED_VIEW.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_MATERIALIZED_VIEW.7 2017-08-28 21:39:39.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_MATERIALIZED_VIEW.7 2017-11-06 22:28:46.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER MATERIALIZED VIEW" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER MATERIALIZED VIEW" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_OPERATOR.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_OPERATOR.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_OPERATOR.7 2017-08-28 21:39:40.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_OPERATOR.7 2017-11-06 22:28:46.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER OPERATOR" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER OPERATOR" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_OPERATOR_CLASS.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_OPERATOR_CLASS.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_OPERATOR_CLASS.7 2017-08-28 21:39:40.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_OPERATOR_CLASS.7 2017-11-06 22:28:46.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER OPERATOR CLASS" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER OPERATOR CLASS" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_OPERATOR_FAMILY.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_OPERATOR_FAMILY.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_OPERATOR_FAMILY.7 2017-08-28 21:39:40.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_OPERATOR_FAMILY.7 2017-11-06 22:28:47.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER OPERATOR FAMILY" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER OPERATOR FAMILY" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_POLICY.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_POLICY.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_POLICY.7 2017-08-28 21:39:40.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_POLICY.7 2017-11-06 22:28:47.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER POLICY" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER POLICY" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_ROLE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_ROLE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_ROLE.7 2017-08-28 21:39:41.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_ROLE.7 2017-11-06 22:28:47.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER ROLE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER ROLE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -56,7 +56,7 @@ where \fIrole_specification\fR can be: - [ GROUP ] \fIrole_name\fR + \fIrole_name\fR | CURRENT_USER | SESSION_USER .fi diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_RULE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_RULE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_RULE.7 2017-08-28 21:39:41.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_RULE.7 2017-11-06 22:28:47.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER RULE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER RULE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_SCHEMA.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_SCHEMA.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_SCHEMA.7 2017-08-28 21:39:41.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_SCHEMA.7 2017-11-06 22:28:47.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER SCHEMA" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER SCHEMA" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_SEQUENCE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_SEQUENCE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_SEQUENCE.7 2017-08-28 21:39:41.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_SEQUENCE.7 2017-11-06 22:28:48.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER SEQUENCE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER SEQUENCE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_SERVER.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_SERVER.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_SERVER.7 2017-08-28 21:39:41.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_SERVER.7 2017-11-06 22:28:48.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER SERVER" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER SERVER" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_SYSTEM.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_SYSTEM.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_SYSTEM.7 2017-08-28 21:39:42.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_SYSTEM.7 2017-11-06 22:28:48.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER SYSTEM" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER SYSTEM" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_TABLE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_TABLE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_TABLE.7 2017-08-28 21:39:42.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_TABLE.7 2017-11-06 22:28:49.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER TABLE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER TABLE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_TABLESPACE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_TABLESPACE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_TABLESPACE.7 2017-08-28 21:39:42.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_TABLESPACE.7 2017-11-06 22:28:49.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER TABLESPACE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER TABLESPACE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_TEXT_SEARCH_CONFIGURATION.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_TEXT_SEARCH_CONFIGURATION.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_TEXT_SEARCH_CONFIGURATION.7 2017-08-28 21:39:43.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_TEXT_SEARCH_CONFIGURATION.7 2017-11-06 22:28:49.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER TEXT SEARCH CONFIGURATION" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER TEXT SEARCH CONFIGURATION" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_TEXT_SEARCH_DICTIONARY.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_TEXT_SEARCH_DICTIONARY.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_TEXT_SEARCH_DICTIONARY.7 2017-08-28 21:39:43.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_TEXT_SEARCH_DICTIONARY.7 2017-11-06 22:28:49.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER TEXT SEARCH DICTIONARY" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER TEXT SEARCH DICTIONARY" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_TEXT_SEARCH_PARSER.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_TEXT_SEARCH_PARSER.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_TEXT_SEARCH_PARSER.7 2017-08-28 21:39:43.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_TEXT_SEARCH_PARSER.7 2017-11-06 22:28:49.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER TEXT SEARCH PARSER" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER TEXT SEARCH PARSER" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_TEXT_SEARCH_TEMPLATE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_TEXT_SEARCH_TEMPLATE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_TEXT_SEARCH_TEMPLATE.7 2017-08-28 21:39:43.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_TEXT_SEARCH_TEMPLATE.7 2017-11-06 22:28:49.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER TEXT SEARCH TEMPLATE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER TEXT SEARCH TEMPLATE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_TRIGGER.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_TRIGGER.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_TRIGGER.7 2017-08-28 21:39:43.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_TRIGGER.7 2017-11-06 22:28:50.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER TRIGGER" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER TRIGGER" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_TYPE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_TYPE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_TYPE.7 2017-08-28 21:39:44.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_TYPE.7 2017-11-06 22:28:50.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER TYPE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER TYPE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_USER.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_USER.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_USER.7 2017-08-28 21:39:44.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_USER.7 2017-11-06 22:28:50.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER USER" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER USER" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -56,7 +56,7 @@ where \fIrole_specification\fR can be: - [ GROUP ] \fIrole_name\fR + \fIrole_name\fR | CURRENT_USER | SESSION_USER .fi diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_USER_MAPPING.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_USER_MAPPING.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_USER_MAPPING.7 2017-08-28 21:39:44.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_USER_MAPPING.7 2017-11-06 22:28:50.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER USER MAPPING" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER USER MAPPING" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_VIEW.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_VIEW.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ALTER_VIEW.7 2017-08-28 21:39:44.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ALTER_VIEW.7 2017-11-06 22:28:50.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ALTER VIEW" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ALTER VIEW" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ANALYZE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ANALYZE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ANALYZE.7 2017-08-28 21:39:45.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ANALYZE.7 2017-11-06 22:28:51.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ANALYZE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ANALYZE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/BEGIN.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/BEGIN.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/BEGIN.7 2017-08-28 21:39:45.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/BEGIN.7 2017-11-06 22:28:51.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "BEGIN" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "BEGIN" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CHECKPOINT.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CHECKPOINT.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CHECKPOINT.7 2017-08-28 21:39:45.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CHECKPOINT.7 2017-11-06 22:28:51.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CHECKPOINT" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CHECKPOINT" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CLOSE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CLOSE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CLOSE.7 2017-08-28 21:39:45.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CLOSE.7 2017-11-06 22:28:51.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CLOSE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CLOSE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CLUSTER.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CLUSTER.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CLUSTER.7 2017-08-28 21:39:46.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CLUSTER.7 2017-11-06 22:28:52.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CLUSTER" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CLUSTER" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/COMMENT.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/COMMENT.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/COMMENT.7 2017-08-28 21:39:46.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/COMMENT.7 2017-11-06 22:28:52.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "COMMENT" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "COMMENT" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/COMMIT.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/COMMIT.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/COMMIT.7 2017-08-28 21:39:46.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/COMMIT.7 2017-11-06 22:28:52.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "COMMIT" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "COMMIT" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/COMMIT_PREPARED.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/COMMIT_PREPARED.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/COMMIT_PREPARED.7 2017-08-28 21:39:46.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/COMMIT_PREPARED.7 2017-11-06 22:28:52.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "COMMIT PREPARED" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "COMMIT PREPARED" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/COPY.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/COPY.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/COPY.7 2017-08-28 21:39:47.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/COPY.7 2017-11-06 22:28:52.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "COPY" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "COPY" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_ACCESS_METHOD.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_ACCESS_METHOD.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_ACCESS_METHOD.7 2017-08-28 21:39:47.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_ACCESS_METHOD.7 2017-11-06 22:28:53.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE ACCESS METHOD" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE ACCESS METHOD" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_AGGREGATE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_AGGREGATE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_AGGREGATE.7 2017-08-28 21:39:47.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_AGGREGATE.7 2017-11-06 22:28:53.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE AGGREGATE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE AGGREGATE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_CAST.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_CAST.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_CAST.7 2017-08-28 21:39:48.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_CAST.7 2017-11-06 22:28:53.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE CAST" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE CAST" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_COLLATION.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_COLLATION.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_COLLATION.7 2017-08-28 21:39:48.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_COLLATION.7 2017-11-06 22:28:54.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE COLLATION" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE COLLATION" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_CONVERSION.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_CONVERSION.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_CONVERSION.7 2017-08-28 21:39:48.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_CONVERSION.7 2017-11-06 22:28:54.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE CONVERSION" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE CONVERSION" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_DATABASE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_DATABASE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_DATABASE.7 2017-08-28 21:39:48.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_DATABASE.7 2017-11-06 22:28:54.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE DATABASE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE DATABASE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_DOMAIN.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_DOMAIN.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_DOMAIN.7 2017-08-28 21:39:49.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_DOMAIN.7 2017-11-06 22:28:54.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE DOMAIN" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE DOMAIN" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_EVENT_TRIGGER.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_EVENT_TRIGGER.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_EVENT_TRIGGER.7 2017-08-28 21:39:49.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_EVENT_TRIGGER.7 2017-11-06 22:28:54.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE EVENT TRIGGER" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE EVENT TRIGGER" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_EXTENSION.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_EXTENSION.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_EXTENSION.7 2017-08-28 21:39:50.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_EXTENSION.7 2017-11-06 22:28:55.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE EXTENSION" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE EXTENSION" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_FOREIGN_DATA_WRAPPER.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_FOREIGN_DATA_WRAPPER.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_FOREIGN_DATA_WRAPPER.7 2017-08-28 21:39:50.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_FOREIGN_DATA_WRAPPER.7 2017-11-06 22:28:55.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE FOREIGN DATA WRAPPER" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE FOREIGN DATA WRAPPER" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_FOREIGN_TABLE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_FOREIGN_TABLE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_FOREIGN_TABLE.7 2017-08-28 21:39:50.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_FOREIGN_TABLE.7 2017-11-06 22:28:55.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE FOREIGN TABLE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE FOREIGN TABLE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_FUNCTION.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_FUNCTION.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_FUNCTION.7 2017-08-28 21:39:51.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_FUNCTION.7 2017-11-06 22:28:56.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE FUNCTION" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE FUNCTION" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_GROUP.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_GROUP.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_GROUP.7 2017-08-28 21:39:51.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_GROUP.7 2017-11-06 22:28:56.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE GROUP" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE GROUP" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_INDEX.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_INDEX.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_INDEX.7 2017-08-28 21:39:52.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_INDEX.7 2017-11-06 22:28:57.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE INDEX" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE INDEX" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_LANGUAGE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_LANGUAGE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_LANGUAGE.7 2017-08-28 21:39:52.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_LANGUAGE.7 2017-11-06 22:28:58.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE LANGUAGE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE LANGUAGE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_MATERIALIZED_VIEW.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_MATERIALIZED_VIEW.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_MATERIALIZED_VIEW.7 2017-08-28 21:39:52.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_MATERIALIZED_VIEW.7 2017-11-06 22:28:58.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE MATERIALIZED VIEW" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE MATERIALIZED VIEW" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_OPERATOR.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_OPERATOR.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_OPERATOR.7 2017-08-28 21:39:53.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_OPERATOR.7 2017-11-06 22:28:59.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE OPERATOR" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE OPERATOR" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_OPERATOR_CLASS.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_OPERATOR_CLASS.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_OPERATOR_CLASS.7 2017-08-28 21:39:53.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_OPERATOR_CLASS.7 2017-11-06 22:28:59.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE OPERATOR CLASS" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE OPERATOR CLASS" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_OPERATOR_FAMILY.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_OPERATOR_FAMILY.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_OPERATOR_FAMILY.7 2017-08-28 21:39:54.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_OPERATOR_FAMILY.7 2017-11-06 22:28:59.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE OPERATOR FAMILY" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE OPERATOR FAMILY" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_POLICY.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_POLICY.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_POLICY.7 2017-08-28 21:39:54.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_POLICY.7 2017-11-06 22:29:00.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE POLICY" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE POLICY" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -73,27 +73,21 @@ .PP Policy names are per\-table\&. Therefore, one policy name can be used for many different tables and have a definition for each table which is appropriate to that table\&. .PP -Policies can be applied for specific commands or for specific roles\&. The default for newly created policies is that they apply for all commands and roles, unless otherwise specified\&. If multiple policies apply to a given statement, they will be combined using OR (although -ON CONFLICT DO UPDATE -and -INSERT -policies are not combined in this way, but rather enforced as noted at each stage of -ON CONFLICT -execution)\&. +Policies can be applied for specific commands or for specific roles\&. The default for newly created policies is that they apply for all commands and roles, unless otherwise specified\&. .PP -For commands that can have both +For policies that can have both USING and WITH CHECK -policies (ALL +expressions (ALL and UPDATE), if no WITH CHECK -policy is defined, then the +expression is defined, then the USING -policy will be used both for which rows are visible (normal +expression will be used both to determine which rows are visible (normal USING -case) and for which rows will be allowed to be added (WITH CHECK +case) and which new rows will be allowed to be added (WITH CHECK case)\&. .PP If row\-level security is enabled for a table, but no applicable policies exist, a @@ -164,7 +158,7 @@ ALL policy exists and more specific policies exist, then both the ALL -policy and the more specific policy (or policies) will be combined using OR, as usual for overlapping policies\&. Additionally, +policy and the more specific policy (or policies) will be applied\&. Additionally, ALL policies will be applied to both the selection side of a query and the modification side, using the USING @@ -251,14 +245,17 @@ Using UPDATE for a policy means that it will apply to -UPDATE -commands (or auxiliary +UPDATE, +SELECT FOR UPDATE +and +SELECT FOR SHARE +commands, as well as auxiliary ON CONFLICT DO UPDATE clauses of INSERT -commands)\&. Since +commands\&. Since UPDATE -involves pulling an existing record and then making changes to some portion (but possibly not all) of the record, +involves pulling an existing record and replacing it with a new modified record, UPDATE policies accept both a USING @@ -272,77 +269,63 @@ WITH CHECK expression defines which modified rows are allowed to be stored back into the relation\&. .sp -When an +Any rows whose updated values do not pass the +WITH CHECK +expression will cause an error, and the entire command will be aborted\&. If only a +USING +clause is specified, then that clause will be used for both +USING +and +WITH CHECK +cases\&. +.sp +Typically an UPDATE -command is used with a +command also needs to read data from columns in the relation being updated (e\&.g\&., in a WHERE clause or a RETURNING -clause, +clause, or in an expression on the right hand side of the +SET +clause)\&. In this case, SELECT -rights are also required on the relation being updated and the appropriate +rights are also required on the relation being updated, and the appropriate SELECT -and +or ALL -policies will be combined (using OR for any overlapping -SELECT -related policies found) with the -USING -clause of the -UPDATE -policy using AND\&. Therefore, in order for a user to be able to +policies will be applied in addition to the UPDATE -specific rows, the user must have access to the row(s) through a +policies\&. Thus the user must have access to the row(s) being updated through a SELECT or ALL -policy and the row(s) must pass the +policy in addition to being granted permission to update the row(s) via an UPDATE -policy\*(Aqs -USING -expression\&. -.sp -Any rows whose updated values do not pass the -WITH CHECK -expression will cause an error, and the entire command will be aborted\&. If only a -USING -clause is specified, then that clause will be used for both -USING -and -WITH CHECK -cases\&. +or +ALL +policy\&. .sp -Note, however, that +When an INSERT -with +command has an auxiliary ON CONFLICT DO UPDATE -requires that an +clause, if the UPDATE -policy +path is taken, the row to be updated is first checked against the USING -expression always be enforced as a -WITH CHECK -expression\&. This -UPDATE -policy must always pass when the +expressions of any UPDATE -path is taken\&. Any existing row that necessitates that the +policies, and then the new updated row is checked against the +WITH CHECK +expressions\&. Note, however, that unlike a standalone UPDATE -path be taken must pass the (UPDATE -or -ALL) +command, if the existing row does not pass the USING -qualifications (combined using OR), which are always enforced as -WITH CHECK -options in this context\&. (The +expressions, an error will be thrown (the UPDATE path will \fInever\fR -be silently avoided; an error will be thrown instead\&.) Finally, the final row appended to the relation must pass any -WITH CHECK -options that a conventional -UPDATE -is required to pass\&. +be silently avoided)\&. .RE .PP DELETE @@ -361,35 +344,29 @@ DELETE policy\&. .sp -When a +In most cases a DELETE -command is used with a +command also needs to read data from columns in the relation that it is deleting from (e\&.g\&., in a WHERE clause or a RETURNING -clause, +clause)\&. In this case, SELECT -rights are also required on the relation being updated and the appropriate +rights are also required on the relation, and the appropriate SELECT -and +or ALL -policies will be combined (using OR for any overlapping -SELECT -related policies found) with the -USING -clause of the -DELETE -policy using AND\&. Therefore, in order for a user to be able to +policies will be applied in addition to the DELETE -specific rows, the user must have access to the row(s) through a +policies\&. Thus the user must have access to the row(s) being deleted through a SELECT or ALL -policy and the row(s) must pass the +policy in addition to being granted permission to delete the row(s) via a DELETE -policy\*(Aqs -USING -expression\&. +or +ALL +policy\&. .sp A DELETE @@ -397,6 +374,58 @@ WITH CHECK expression, as it only applies in cases where records are being deleted from the relation, so that there is no new row to check\&. .RE +.SS "Application of Multiple Policies" +.PP +When multiple policies of different command types apply to the same command (for example, +SELECT +and +UPDATE +policies applied to an +UPDATE +command), then the user must have both types of permissions (for example, permission to select rows from the relation as well as permission to update them)\&. Thus the expressions for one type of policy are combined with the expressions for the other type of policy using the +AND +operator\&. +.PP +When multiple policies of the same command type apply to the same command, then at least one of the policies must grant access to the relation\&. Thus the expressions from all the policies of that type are combined using the +OR +operator\&. If there are no applicable policies, then access is denied\&. +.PP +Note that, for the purposes of combining multiple policies, +ALL +policies are treated as having the same type as whichever other type of policy is being applied\&. +.PP +For example, in an +UPDATE +command requiring both +SELECT +and +UPDATE +permissions, if there are multiple applicable policies of each type, they will be combined as follows: +.sp +.if n \{\ +.RS 4 +.\} +.nf +( + \fIexpression\fR from SELECT/ALL policy 1 + OR + \fIexpression\fR from SELECT/ALL policy 2 + OR + \&.\&.\&. +) +AND +( + \fIexpression\fR from UPDATE/ALL policy 1 + OR + \fIexpression\fR from UPDATE/ALL policy 2 + OR + \&.\&.\&. +) +.fi +.if n \{\ +.RE +.\} +.sp .SH "NOTES" .PP You must be the owner of a table to create or change policies for it\&. diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_ROLE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_ROLE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_ROLE.7 2017-08-28 21:39:54.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_ROLE.7 2017-11-06 22:29:00.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE ROLE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE ROLE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_RULE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_RULE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_RULE.7 2017-08-28 21:39:54.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_RULE.7 2017-11-06 22:29:00.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE RULE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE RULE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_SCHEMA.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_SCHEMA.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_SCHEMA.7 2017-08-28 21:39:55.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_SCHEMA.7 2017-11-06 22:29:00.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE SCHEMA" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE SCHEMA" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -39,7 +39,7 @@ where \fIrole_specification\fR can be: - [ GROUP ] \fIuser_name\fR + \fIuser_name\fR | CURRENT_USER | SESSION_USER .fi diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_SEQUENCE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_SEQUENCE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_SEQUENCE.7 2017-08-28 21:39:55.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_SEQUENCE.7 2017-11-06 22:29:01.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE SEQUENCE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE SEQUENCE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_SERVER.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_SERVER.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_SERVER.7 2017-08-28 21:39:55.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_SERVER.7 2017-11-06 22:29:01.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE SERVER" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE SERVER" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_TABLE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_TABLE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_TABLE.7 2017-08-28 21:39:56.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_TABLE.7 2017-11-06 22:29:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE TABLE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE TABLE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_TABLE_AS.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_TABLE_AS.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_TABLE_AS.7 2017-08-28 21:39:56.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_TABLE_AS.7 2017-11-06 22:29:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE TABLE AS" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE TABLE AS" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_TABLESPACE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_TABLESPACE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_TABLESPACE.7 2017-08-28 21:39:57.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_TABLESPACE.7 2017-11-06 22:29:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE TABLESPACE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE TABLESPACE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_TEXT_SEARCH_CONFIGURATION.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_TEXT_SEARCH_CONFIGURATION.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_TEXT_SEARCH_CONFIGURATION.7 2017-08-28 21:39:57.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_TEXT_SEARCH_CONFIGURATION.7 2017-11-06 22:29:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE TEXT SEARCH CONFIGURATION" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE TEXT SEARCH CONFIGURATION" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_TEXT_SEARCH_DICTIONARY.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_TEXT_SEARCH_DICTIONARY.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_TEXT_SEARCH_DICTIONARY.7 2017-08-28 21:39:57.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_TEXT_SEARCH_DICTIONARY.7 2017-11-06 22:29:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE TEXT SEARCH DICTIONARY" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE TEXT SEARCH DICTIONARY" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_TEXT_SEARCH_PARSER.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_TEXT_SEARCH_PARSER.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_TEXT_SEARCH_PARSER.7 2017-08-28 21:39:57.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_TEXT_SEARCH_PARSER.7 2017-11-06 22:29:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE TEXT SEARCH PARSER" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE TEXT SEARCH PARSER" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_TEXT_SEARCH_TEMPLATE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_TEXT_SEARCH_TEMPLATE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_TEXT_SEARCH_TEMPLATE.7 2017-08-28 21:39:58.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_TEXT_SEARCH_TEMPLATE.7 2017-11-06 22:29:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE TEXT SEARCH TEMPLATE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE TEXT SEARCH TEMPLATE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_TRANSFORM.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_TRANSFORM.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_TRANSFORM.7 2017-08-28 21:39:58.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_TRANSFORM.7 2017-11-06 22:29:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE TRANSFORM" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE TRANSFORM" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_TRIGGER.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_TRIGGER.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_TRIGGER.7 2017-08-28 21:39:58.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_TRIGGER.7 2017-11-06 22:29:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE TRIGGER" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE TRIGGER" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_TYPE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_TYPE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_TYPE.7 2017-08-28 21:39:59.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_TYPE.7 2017-11-06 22:29:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE TYPE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE TYPE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_USER.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_USER.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_USER.7 2017-08-28 21:39:59.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_USER.7 2017-11-06 22:29:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE USER" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE USER" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_USER_MAPPING.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_USER_MAPPING.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_USER_MAPPING.7 2017-08-28 21:40:00.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_USER_MAPPING.7 2017-11-06 22:29:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE USER MAPPING" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE USER MAPPING" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_VIEW.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_VIEW.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/CREATE_VIEW.7 2017-08-28 21:40:00.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/CREATE_VIEW.7 2017-11-06 22:29:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "CREATE VIEW" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "CREATE VIEW" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DEALLOCATE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DEALLOCATE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DEALLOCATE.7 2017-08-28 21:40:00.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DEALLOCATE.7 2017-11-06 22:29:07.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DEALLOCATE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DEALLOCATE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DECLARE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DECLARE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DECLARE.7 2017-08-28 21:40:01.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DECLARE.7 2017-11-06 22:29:07.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DECLARE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DECLARE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DELETE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DELETE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DELETE.7 2017-08-28 21:40:01.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DELETE.7 2017-11-06 22:29:07.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DELETE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DELETE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DISCARD.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DISCARD.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DISCARD.7 2017-08-28 21:40:01.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DISCARD.7 2017-11-06 22:29:08.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DISCARD" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DISCARD" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DO.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DO.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DO.7 2017-08-28 21:40:01.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DO.7 2017-11-06 22:29:08.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DO" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DO" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_ACCESS_METHOD.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_ACCESS_METHOD.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_ACCESS_METHOD.7 2017-08-28 21:40:02.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_ACCESS_METHOD.7 2017-11-06 22:29:08.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP ACCESS METHOD" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP ACCESS METHOD" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_AGGREGATE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_AGGREGATE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_AGGREGATE.7 2017-08-28 21:40:02.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_AGGREGATE.7 2017-11-06 22:29:08.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP AGGREGATE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP AGGREGATE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_CAST.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_CAST.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_CAST.7 2017-08-28 21:40:02.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_CAST.7 2017-11-06 22:29:08.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP CAST" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP CAST" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_COLLATION.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_COLLATION.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_COLLATION.7 2017-08-28 21:40:02.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_COLLATION.7 2017-11-06 22:29:09.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP COLLATION" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP COLLATION" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_CONVERSION.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_CONVERSION.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_CONVERSION.7 2017-08-28 21:40:02.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_CONVERSION.7 2017-11-06 22:29:09.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP CONVERSION" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP CONVERSION" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_DATABASE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_DATABASE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_DATABASE.7 2017-08-28 21:40:03.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_DATABASE.7 2017-11-06 22:29:09.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP DATABASE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP DATABASE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_DOMAIN.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_DOMAIN.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_DOMAIN.7 2017-08-28 21:40:03.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_DOMAIN.7 2017-11-06 22:29:09.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP DOMAIN" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP DOMAIN" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_EVENT_TRIGGER.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_EVENT_TRIGGER.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_EVENT_TRIGGER.7 2017-08-28 21:40:03.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_EVENT_TRIGGER.7 2017-11-06 22:29:09.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP EVENT TRIGGER" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP EVENT TRIGGER" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_EXTENSION.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_EXTENSION.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_EXTENSION.7 2017-08-28 21:40:03.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_EXTENSION.7 2017-11-06 22:29:10.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP EXTENSION" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP EXTENSION" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_FOREIGN_DATA_WRAPPER.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_FOREIGN_DATA_WRAPPER.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_FOREIGN_DATA_WRAPPER.7 2017-08-28 21:40:03.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_FOREIGN_DATA_WRAPPER.7 2017-11-06 22:29:10.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP FOREIGN DATA WRAPPER" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP FOREIGN DATA WRAPPER" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_FOREIGN_TABLE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_FOREIGN_TABLE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_FOREIGN_TABLE.7 2017-08-28 21:40:04.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_FOREIGN_TABLE.7 2017-11-06 22:29:10.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP FOREIGN TABLE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP FOREIGN TABLE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_FUNCTION.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_FUNCTION.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_FUNCTION.7 2017-08-28 21:40:04.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_FUNCTION.7 2017-11-06 22:29:10.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP FUNCTION" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP FUNCTION" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_GROUP.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_GROUP.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_GROUP.7 2017-08-28 21:40:04.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_GROUP.7 2017-11-06 22:29:10.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP GROUP" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP GROUP" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_INDEX.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_INDEX.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_INDEX.7 2017-08-28 21:40:04.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_INDEX.7 2017-11-06 22:29:11.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP INDEX" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP INDEX" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_LANGUAGE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_LANGUAGE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_LANGUAGE.7 2017-08-28 21:40:04.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_LANGUAGE.7 2017-11-06 22:29:11.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP LANGUAGE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP LANGUAGE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_MATERIALIZED_VIEW.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_MATERIALIZED_VIEW.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_MATERIALIZED_VIEW.7 2017-08-28 21:40:05.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_MATERIALIZED_VIEW.7 2017-11-06 22:29:11.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP MATERIALIZED VIEW" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP MATERIALIZED VIEW" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_OPERATOR.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_OPERATOR.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_OPERATOR.7 2017-08-28 21:40:05.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_OPERATOR.7 2017-11-06 22:29:11.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP OPERATOR" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP OPERATOR" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_OPERATOR_CLASS.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_OPERATOR_CLASS.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_OPERATOR_CLASS.7 2017-08-28 21:40:05.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_OPERATOR_CLASS.7 2017-11-06 22:29:11.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP OPERATOR CLASS" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP OPERATOR CLASS" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_OPERATOR_FAMILY.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_OPERATOR_FAMILY.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_OPERATOR_FAMILY.7 2017-08-28 21:40:05.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_OPERATOR_FAMILY.7 2017-11-06 22:29:12.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP OPERATOR FAMILY" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP OPERATOR FAMILY" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_OWNED.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_OWNED.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_OWNED.7 2017-08-28 21:40:05.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_OWNED.7 2017-11-06 22:29:12.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP OWNED" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP OWNED" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_POLICY.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_POLICY.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_POLICY.7 2017-08-28 21:40:06.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_POLICY.7 2017-11-06 22:29:12.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP POLICY" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP POLICY" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_ROLE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_ROLE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_ROLE.7 2017-08-28 21:40:06.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_ROLE.7 2017-11-06 22:29:12.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP ROLE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP ROLE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_RULE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_RULE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_RULE.7 2017-08-28 21:40:06.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_RULE.7 2017-11-06 22:29:13.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP RULE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP RULE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_SCHEMA.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_SCHEMA.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_SCHEMA.7 2017-08-28 21:40:06.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_SCHEMA.7 2017-11-06 22:29:13.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP SCHEMA" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP SCHEMA" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_SEQUENCE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_SEQUENCE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_SEQUENCE.7 2017-08-28 21:40:06.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_SEQUENCE.7 2017-11-06 22:29:13.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP SEQUENCE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP SEQUENCE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_SERVER.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_SERVER.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_SERVER.7 2017-08-28 21:40:07.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_SERVER.7 2017-11-06 22:29:13.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP SERVER" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP SERVER" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_TABLE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_TABLE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_TABLE.7 2017-08-28 21:40:07.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_TABLE.7 2017-11-06 22:29:13.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP TABLE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP TABLE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_TABLESPACE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_TABLESPACE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_TABLESPACE.7 2017-08-28 21:40:07.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_TABLESPACE.7 2017-11-06 22:29:14.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP TABLESPACE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP TABLESPACE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_TEXT_SEARCH_CONFIGURATION.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_TEXT_SEARCH_CONFIGURATION.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_TEXT_SEARCH_CONFIGURATION.7 2017-08-28 21:40:07.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_TEXT_SEARCH_CONFIGURATION.7 2017-11-06 22:29:14.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP TEXT SEARCH CONFIGURATION" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP TEXT SEARCH CONFIGURATION" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_TEXT_SEARCH_DICTIONARY.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_TEXT_SEARCH_DICTIONARY.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_TEXT_SEARCH_DICTIONARY.7 2017-08-28 21:40:07.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_TEXT_SEARCH_DICTIONARY.7 2017-11-06 22:29:14.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP TEXT SEARCH DICTIONARY" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP TEXT SEARCH DICTIONARY" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_TEXT_SEARCH_PARSER.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_TEXT_SEARCH_PARSER.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_TEXT_SEARCH_PARSER.7 2017-08-28 21:40:08.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_TEXT_SEARCH_PARSER.7 2017-11-06 22:29:14.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP TEXT SEARCH PARSER" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP TEXT SEARCH PARSER" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_TEXT_SEARCH_TEMPLATE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_TEXT_SEARCH_TEMPLATE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_TEXT_SEARCH_TEMPLATE.7 2017-08-28 21:40:08.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_TEXT_SEARCH_TEMPLATE.7 2017-11-06 22:29:14.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP TEXT SEARCH TEMPLATE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP TEXT SEARCH TEMPLATE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_TRANSFORM.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_TRANSFORM.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_TRANSFORM.7 2017-08-28 21:40:08.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_TRANSFORM.7 2017-11-06 22:29:15.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP TRANSFORM" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP TRANSFORM" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_TRIGGER.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_TRIGGER.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_TRIGGER.7 2017-08-28 21:40:08.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_TRIGGER.7 2017-11-06 22:29:15.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP TRIGGER" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP TRIGGER" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_TYPE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_TYPE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_TYPE.7 2017-08-28 21:40:08.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_TYPE.7 2017-11-06 22:29:15.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP TYPE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP TYPE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_USER.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_USER.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_USER.7 2017-08-28 21:40:09.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_USER.7 2017-11-06 22:29:15.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP USER" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP USER" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_USER_MAPPING.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_USER_MAPPING.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_USER_MAPPING.7 2017-08-28 21:40:09.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_USER_MAPPING.7 2017-11-06 22:29:15.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP USER MAPPING" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP USER MAPPING" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_VIEW.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_VIEW.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/DROP_VIEW.7 2017-08-28 21:40:09.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/DROP_VIEW.7 2017-11-06 22:29:16.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "DROP VIEW" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "DROP VIEW" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/END.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/END.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/END.7 2017-08-28 21:40:09.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/END.7 2017-11-06 22:29:16.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "END" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "END" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/EXECUTE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/EXECUTE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/EXECUTE.7 2017-08-28 21:40:09.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/EXECUTE.7 2017-11-06 22:29:16.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "EXECUTE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "EXECUTE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/EXPLAIN.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/EXPLAIN.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/EXPLAIN.7 2017-08-28 21:40:10.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/EXPLAIN.7 2017-11-06 22:29:16.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "EXPLAIN" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "EXPLAIN" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/FETCH.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/FETCH.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/FETCH.7 2017-08-28 21:40:10.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/FETCH.7 2017-11-06 22:29:17.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "FETCH" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "FETCH" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/GRANT.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/GRANT.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/GRANT.7 2017-08-28 21:40:10.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/GRANT.7 2017-11-06 22:29:17.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "GRANT" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "GRANT" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -133,17 +133,17 @@ PostgreSQL grants default privileges on some types of objects to PUBLIC\&. No privileges are granted to PUBLIC -by default on tables, columns, schemas or tablespaces\&. For other types, the default privileges granted to +by default on tables, table columns, sequences, foreign data wrappers, foreign servers, large objects, schemas, or tablespaces\&. For other types of objects, the default privileges granted to PUBLIC are as follows: CONNECT and -CREATE TEMP TABLE -for databases; +TEMPORARY +(create temporary tables) privileges for databases; EXECUTE privilege for functions; and USAGE -privilege for languages\&. The object owner can, of course, +privilege for languages and data types (including domains)\&. The object owner can, of course, \fBREVOKE\fR both default and expressly granted privileges\&. (For maximum security, issue the \fBREVOKE\fR diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/IMPORT_FOREIGN_SCHEMA.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/IMPORT_FOREIGN_SCHEMA.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/IMPORT_FOREIGN_SCHEMA.7 2017-08-28 21:40:11.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/IMPORT_FOREIGN_SCHEMA.7 2017-11-06 22:29:17.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "IMPORT FOREIGN SCHEMA" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "IMPORT FOREIGN SCHEMA" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/INSERT.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/INSERT.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/INSERT.7 2017-08-28 21:40:11.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/INSERT.7 2017-11-06 22:29:18.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "INSERT" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "INSERT" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/LISTEN.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/LISTEN.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/LISTEN.7 2017-08-28 21:40:11.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/LISTEN.7 2017-11-06 22:29:18.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "LISTEN" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "LISTEN" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/LOAD.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/LOAD.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/LOAD.7 2017-08-28 21:40:11.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/LOAD.7 2017-11-06 22:29:18.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "LOAD" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "LOAD" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/LOCK.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/LOCK.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/LOCK.7 2017-08-28 21:40:12.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/LOCK.7 2017-11-06 22:29:18.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "LOCK" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "LOCK" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/MOVE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/MOVE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/MOVE.7 2017-08-28 21:40:12.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/MOVE.7 2017-11-06 22:29:19.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "MOVE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "MOVE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/NOTIFY.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/NOTIFY.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/NOTIFY.7 2017-08-28 21:40:12.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/NOTIFY.7 2017-11-06 22:29:19.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "NOTIFY" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "NOTIFY" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/PREPARE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/PREPARE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/PREPARE.7 2017-08-28 21:40:12.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/PREPARE.7 2017-11-06 22:29:19.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "PREPARE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "PREPARE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/PREPARE_TRANSACTION.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/PREPARE_TRANSACTION.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/PREPARE_TRANSACTION.7 2017-08-28 21:40:13.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/PREPARE_TRANSACTION.7 2017-11-06 22:29:19.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "PREPARE TRANSACTION" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "PREPARE TRANSACTION" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -77,9 +77,9 @@ \fBPREPARE\fR a transaction that has executed any operations involving temporary tables, created any cursors WITH HOLD, or executed -\fBLISTEN\fR -or -\fBUNLISTEN\fR\&. Those features are too tightly tied to the current session to be useful in a transaction to be prepared\&. +\fBLISTEN\fR, +\fBUNLISTEN\fR, or +\fBNOTIFY\fR\&. Those features are too tightly tied to the current session to be useful in a transaction to be prepared\&. .PP If the transaction modified any run\-time parameters with \fBSET\fR diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/REASSIGN_OWNED.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/REASSIGN_OWNED.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/REASSIGN_OWNED.7 2017-08-28 21:40:13.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/REASSIGN_OWNED.7 2017-11-06 22:29:20.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "REASSIGN OWNED" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "REASSIGN OWNED" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/REFRESH_MATERIALIZED_VIEW.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/REFRESH_MATERIALIZED_VIEW.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/REFRESH_MATERIALIZED_VIEW.7 2017-08-28 21:40:13.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/REFRESH_MATERIALIZED_VIEW.7 2017-11-06 22:29:20.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "REFRESH MATERIALIZED VIEW" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "REFRESH MATERIALIZED VIEW" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/REINDEX.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/REINDEX.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/REINDEX.7 2017-08-28 21:40:13.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/REINDEX.7 2017-11-06 22:29:20.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "REINDEX" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "REINDEX" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/RELEASE_SAVEPOINT.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/RELEASE_SAVEPOINT.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/RELEASE_SAVEPOINT.7 2017-08-28 21:40:14.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/RELEASE_SAVEPOINT.7 2017-11-06 22:29:20.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "RELEASE SAVEPOINT" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "RELEASE SAVEPOINT" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/RESET.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/RESET.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/RESET.7 2017-08-28 21:40:14.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/RESET.7 2017-11-06 22:29:21.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "RESET" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "RESET" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/REVOKE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/REVOKE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/REVOKE.7 2017-08-28 21:40:14.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/REVOKE.7 2017-11-06 22:29:21.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "REVOKE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "REVOKE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ROLLBACK.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ROLLBACK.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ROLLBACK.7 2017-08-28 21:40:14.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ROLLBACK.7 2017-11-06 22:29:21.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ROLLBACK" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ROLLBACK" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ROLLBACK_PREPARED.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ROLLBACK_PREPARED.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ROLLBACK_PREPARED.7 2017-08-28 21:40:14.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ROLLBACK_PREPARED.7 2017-11-06 22:29:21.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ROLLBACK PREPARED" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ROLLBACK PREPARED" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/ROLLBACK_TO_SAVEPOINT.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/ROLLBACK_TO_SAVEPOINT.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/ROLLBACK_TO_SAVEPOINT.7 2017-08-28 21:40:15.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/ROLLBACK_TO_SAVEPOINT.7 2017-11-06 22:29:22.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "ROLLBACK TO SAVEPOINT" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "ROLLBACK TO SAVEPOINT" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/SAVEPOINT.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/SAVEPOINT.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/SAVEPOINT.7 2017-08-28 21:40:15.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/SAVEPOINT.7 2017-11-06 22:29:22.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SAVEPOINT" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SAVEPOINT" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/SECURITY_LABEL.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/SECURITY_LABEL.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/SECURITY_LABEL.7 2017-08-28 21:40:15.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/SECURITY_LABEL.7 2017-11-06 22:29:22.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SECURITY LABEL" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SECURITY LABEL" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/SELECT.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/SELECT.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/SELECT.7 2017-08-28 21:40:16.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/SELECT.7 2017-11-06 22:29:23.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SELECT" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SELECT" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/SELECT_INTO.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/SELECT_INTO.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/SELECT_INTO.7 2017-08-28 21:40:16.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/SELECT_INTO.7 2017-11-06 22:29:23.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SELECT INTO" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SELECT INTO" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/SET.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/SET.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/SET.7 2017-08-28 21:40:17.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/SET.7 2017-11-06 22:29:24.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SET" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SET" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/SET_CONSTRAINTS.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/SET_CONSTRAINTS.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/SET_CONSTRAINTS.7 2017-08-28 21:40:17.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/SET_CONSTRAINTS.7 2017-11-06 22:29:24.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SET CONSTRAINTS" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SET CONSTRAINTS" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/SET_ROLE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/SET_ROLE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/SET_ROLE.7 2017-08-28 21:40:17.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/SET_ROLE.7 2017-11-06 22:29:24.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SET ROLE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SET ROLE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/SET_SESSION_AUTHORIZATION.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/SET_SESSION_AUTHORIZATION.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/SET_SESSION_AUTHORIZATION.7 2017-08-28 21:40:17.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/SET_SESSION_AUTHORIZATION.7 2017-11-06 22:29:24.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SET SESSION AUTHORIZATION" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SET SESSION AUTHORIZATION" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/SET_TRANSACTION.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/SET_TRANSACTION.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/SET_TRANSACTION.7 2017-08-28 21:40:17.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/SET_TRANSACTION.7 2017-11-06 22:29:25.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SET TRANSACTION" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SET TRANSACTION" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/SHOW.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/SHOW.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/SHOW.7 2017-08-28 21:40:18.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/SHOW.7 2017-11-06 22:29:25.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "SHOW" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "SHOW" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/START_TRANSACTION.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/START_TRANSACTION.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/START_TRANSACTION.7 2017-08-28 21:40:18.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/START_TRANSACTION.7 2017-11-06 22:29:25.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "START TRANSACTION" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "START TRANSACTION" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/TRUNCATE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/TRUNCATE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/TRUNCATE.7 2017-08-28 21:40:18.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/TRUNCATE.7 2017-11-06 22:29:25.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "TRUNCATE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "TRUNCATE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/UNLISTEN.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/UNLISTEN.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/UNLISTEN.7 2017-08-28 21:40:18.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/UNLISTEN.7 2017-11-06 22:29:26.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "UNLISTEN" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "UNLISTEN" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/UPDATE.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/UPDATE.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/UPDATE.7 2017-08-28 21:40:19.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/UPDATE.7 2017-11-06 22:29:26.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "UPDATE" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "UPDATE" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/VACUUM.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/VACUUM.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/VACUUM.7 2017-08-28 21:40:19.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/VACUUM.7 2017-11-06 22:29:27.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "VACUUM" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "VACUUM" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/man7/VALUES.7 postgresql-9.6-9.6.6/doc/src/sgml/man7/VALUES.7 --- postgresql-9.6-9.6.5/doc/src/sgml/man7/VALUES.7 2017-08-28 21:40:19.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/man7/VALUES.7 2017-11-06 22:29:27.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017 -.\" Manual: PostgreSQL 9.6.5 Documentation -.\" Source: PostgreSQL 9.6.5 +.\" Manual: PostgreSQL 9.6.6 Documentation +.\" Source: PostgreSQL 9.6.6 .\" Language: English .\" -.TH "VALUES" "7" "2017" "PostgreSQL 9.6.5" "PostgreSQL 9.6.5 Documentation" +.TH "VALUES" "7" "2017" "PostgreSQL 9.6.6" "PostgreSQL 9.6.6 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/perform.sgml postgresql-9.6-9.6.6/doc/src/sgml/perform.sgml --- postgresql-9.6-9.6.5/doc/src/sgml/perform.sgml 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/perform.sgml 2017-11-06 22:08:55.000000000 +0000 @@ -1610,7 +1610,7 @@ Increase and ; this reduces the frequency + linkend="guc-checkpoint-timeout">; this reduces the frequency of checkpoints, but increases the storage requirements of /pg_xlog. diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/ref/alter_role.sgml postgresql-9.6-9.6.6/doc/src/sgml/ref/alter_role.sgml --- postgresql-9.6-9.6.5/doc/src/sgml/ref/alter_role.sgml 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/ref/alter_role.sgml 2017-11-06 22:08:55.000000000 +0000 @@ -45,7 +45,7 @@ where role_specification can be: - [ GROUP ] role_name + role_name | CURRENT_USER | SESSION_USER diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/ref/alter_user.sgml postgresql-9.6-9.6.6/doc/src/sgml/ref/alter_user.sgml --- postgresql-9.6-9.6.5/doc/src/sgml/ref/alter_user.sgml 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/ref/alter_user.sgml 2017-11-06 22:08:55.000000000 +0000 @@ -45,7 +45,7 @@ where role_specification can be: - [ GROUP ] role_name + role_name | CURRENT_USER | SESSION_USER diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/ref/create_policy.sgml postgresql-9.6-9.6.6/doc/src/sgml/ref/create_policy.sgml --- postgresql-9.6-9.6.5/doc/src/sgml/ref/create_policy.sgml 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/ref/create_policy.sgml 2017-11-06 22:08:55.000000000 +0000 @@ -72,20 +72,17 @@ Policies can be applied for specific commands or for specific roles. The default for newly created policies is that they apply for all commands and - roles, unless otherwise specified. If multiple policies apply to a given - statement, they will be combined using OR (although ON CONFLICT DO - UPDATE and INSERT policies are not combined in this way, but - rather enforced as noted at each stage of ON CONFLICT execution). + roles, unless otherwise specified. - For commands that can have both USING - and WITH CHECK policies (ALL + For policies that can have both USING + and WITH CHECK expressions (ALL and UPDATE), if no WITH CHECK - policy is defined, then the USING policy will be used - both for which rows are visible (normal USING case) - and for which rows will be allowed to be added (WITH - CHECK case). + expression is defined, then the USING expression will be + used both to determine which rows are visible (normal + USING case) and which new rows will be allowed to be + added (WITH CHECK case). @@ -182,7 +179,7 @@ - + Per-Command Policies @@ -195,8 +192,7 @@ to all commands, regardless of the type of command. If an ALL policy exists and more specific policies exist, then both the ALL policy and the more - specific policy (or policies) will be combined using - OR, as usual for overlapping policies. + specific policy (or policies) will be applied. Additionally, ALL policies will be applied to both the selection side of a query and the modification side, using the USING expression for both cases if only @@ -265,11 +261,12 @@ Using UPDATE for a policy means that it will apply - to UPDATE commands (or auxiliary ON - CONFLICT DO UPDATE clauses of INSERT - commands). Since UPDATE involves pulling an - existing record and then making changes to some portion (but - possibly not all) of the record, UPDATE + to UPDATE, SELECT FOR UPDATE + and SELECT FOR SHARE commands, as well as + auxiliary ON CONFLICT DO UPDATE clauses of + INSERT commands. Since UPDATE + involves pulling an existing record and replacing it with a new + modified record, UPDATE policies accept both a USING expression and a WITH CHECK expression. The USING expression determines which records @@ -279,22 +276,6 @@ - When an UPDATE command is used with a - WHERE clause or a RETURNING - clause, SELECT rights are also required on the - relation being updated and the appropriate SELECT - and ALL policies will be combined (using OR for any - overlapping SELECT related policies found) with the - USING clause of the UPDATE policy - using AND. Therefore, in order for a user to be able to - UPDATE specific rows, the user must have access - to the row(s) through a SELECT - or ALL policy and the row(s) must pass - the UPDATE policy's USING - expression. - - - Any rows whose updated values do not pass the WITH CHECK expression will cause an error, and the entire command will be aborted. If only a USING @@ -303,21 +284,33 @@ - Note, however, that INSERT with ON CONFLICT - DO UPDATE requires that an UPDATE policy - USING expression always be enforced as a - WITH CHECK expression. This - UPDATE policy must always pass when the - UPDATE path is taken. Any existing row that - necessitates that the UPDATE path be taken must - pass the (UPDATE or ALL) - USING qualifications (combined using OR), which - are always enforced as WITH CHECK - options in this context. (The UPDATE path will - never be silently avoided; an error will be thrown - instead.) Finally, the final row appended to the relation must pass - any WITH CHECK options that a conventional - UPDATE is required to pass. + Typically an UPDATE command also needs to read + data from columns in the relation being updated (e.g., in a + WHERE clause or a RETURNING + clause, or in an expression on the right hand side of the + SET clause). In this case, + SELECT rights are also required on the relation + being updated, and the appropriate SELECT or + ALL policies will be applied in addition to + the UPDATE policies. Thus the user must have + access to the row(s) being updated through a SELECT + or ALL policy in addition to being granted + permission to update the row(s) via an UPDATE + or ALL policy. + + + + When an INSERT command has an auxiliary + ON CONFLICT DO UPDATE clause, if the + UPDATE path is taken, the row to be updated is + first checked against the USING expressions of + any UPDATE policies, and then the new updated row + is checked against the WITH CHECK expressions. + Note, however, that unlike a standalone UPDATE + command, if the existing row does not pass the + USING expressions, an error will be thrown (the + UPDATE path will never be silently + avoided). @@ -336,19 +329,18 @@ - When a DELETE command is used with a - WHERE clause or a RETURNING - clause, SELECT rights are also required on the - relation being updated and the appropriate SELECT - and ALL policies will be combined (using OR for any - overlapping SELECT related policies found) with the - USING clause of the DELETE policy - using AND. Therefore, in order for a user to be able to - DELETE specific rows, the user must have access - to the row(s) through a SELECT - or ALL policy and the row(s) must pass - the DELETE policy's USING - expression. + In most cases a DELETE command also needs to read + data from columns in the relation that it is deleting from (e.g., + in a WHERE clause or a + RETURNING clause). In this case, + SELECT rights are also required on the relation, + and the appropriate SELECT or + ALL policies will be applied in addition to + the DELETE policies. Thus the user must have + access to the row(s) being deleted through a SELECT + or ALL policy in addition to being granted + permission to delete the row(s) via a DELETE or + ALL policy. @@ -362,6 +354,60 @@ + + + Application of Multiple Policies + + + When multiple policies of different command types apply to the same command + (for example, SELECT and UPDATE + policies applied to an UPDATE command), then the user + must have both types of permissions (for example, permission to select rows + from the relation as well as permission to update them). Thus the + expressions for one type of policy are combined with the expressions for + the other type of policy using the AND operator. + + + + When multiple policies of the same command type apply to the same command, + then at least one of the policies must grant access to the relation. Thus + the expressions from all the policies of that type are combined using the + OR operator. If there are no applicable policies, then + access is denied. + + + + Note that, for the purposes of combining multiple policies, + ALL policies are treated as having the same type as + whichever other type of policy is being applied. + + + + For example, in an UPDATE command requiring both + SELECT and UPDATE permissions, if + there are multiple applicable policies of each type, they will be combined + as follows: + + +( + expression from SELECT/ALL policy 1 + OR + expression from SELECT/ALL policy 2 + OR + ... +) +AND +( + expression from UPDATE/ALL policy 1 + OR + expression from UPDATE/ALL policy 2 + OR + ... +) + + + + diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/ref/create_schema.sgml postgresql-9.6-9.6.6/doc/src/sgml/ref/create_schema.sgml --- postgresql-9.6-9.6.5/doc/src/sgml/ref/create_schema.sgml 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/ref/create_schema.sgml 2017-11-06 22:08:55.000000000 +0000 @@ -28,7 +28,7 @@ where role_specification can be: - [ GROUP ] user_name + user_name | CURRENT_USER | SESSION_USER diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/ref/grant.sgml postgresql-9.6-9.6.6/doc/src/sgml/ref/grant.sgml --- postgresql-9.6-9.6.5/doc/src/sgml/ref/grant.sgml 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/ref/grant.sgml 2017-11-06 22:08:55.000000000 +0000 @@ -156,12 +156,22 @@ PostgreSQL grants default privileges on some types of objects to PUBLIC. No privileges are granted to - PUBLIC by default on tables, - columns, schemas or tablespaces. For other types, the default privileges + PUBLIC by default on + tables, + table columns, + sequences, + foreign data wrappers, + foreign servers, + large objects, + schemas, + or tablespaces. + For other types of objects, the default privileges granted to PUBLIC are as follows: - CONNECT and CREATE TEMP TABLE for - databases; EXECUTE privilege for functions; and - USAGE privilege for languages. + CONNECT and TEMPORARY (create + temporary tables) privileges for databases; + EXECUTE privilege for functions; and + USAGE privilege for languages and data types + (including domains). The object owner can, of course, REVOKE both default and expressly granted privileges. (For maximum security, issue the REVOKE in the same transaction that diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/ref/pgupgrade.sgml postgresql-9.6-9.6.6/doc/src/sgml/ref/pgupgrade.sgml --- postgresql-9.6-9.6.5/doc/src/sgml/ref/pgupgrade.sgml 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/ref/pgupgrade.sgml 2017-11-06 22:08:55.000000000 +0000 @@ -320,19 +320,15 @@ Prepare for standby server upgrades - If you are upgrading standby servers (as outlined in section ), verify that the old standby + If you are upgrading standby servers using methods outlined in section , verify that the old standby servers are caught up by running pg_controldata against the old primary and standby clusters. Verify that the Latest checkpoint location values match in all clusters. (There will be a mismatch if old standby servers were shut down - before the old primary.) - - - - Also, if upgrading standby servers, change wal_level - to replica in the postgresql.conf file on - the new master cluster. + before the old primary.) Also, change wal_level to + replica in the postgresql.conf file on the + new primary cluster. @@ -421,12 +417,20 @@ Upgrade Streaming Replication and Log-Shipping standby servers - If you have Streaming Replication (see ) or Log-Shipping (see ) standby servers, follow these steps to - upgrade them. You will not be running pg_upgrade - on the standby servers, but rather rsync. Do not - start any servers yet. + linkend="warm-standby">) standby servers, you can follow these steps to + quickly upgrade them. You will not be running pg_upgrade on + the standby servers, but rather rsync on the primary. + Do not start any servers yet. + + + + If you did not use link mode, do not have or do not + want to use rsync, or want an easier solution, skip + the instructions in this section and simply recreate the standby + servers once pg_upgrade completes and the new primary + is running. @@ -446,7 +450,7 @@ Make sure the new standby data directories do not exist or are empty. If initdb was run, delete - the standby server data directories. + the standby servers' new data directories. @@ -455,7 +459,7 @@ Install the same custom shared object files on the new standbys - that you installed in the new master cluster. + that you installed in the new primary cluster. @@ -472,9 +476,10 @@ Save configuration files - Save any configuration files from the standbys you need to keep, - e.g. postgresql.conf, recovery.conf, - as these will be overwritten or removed in the next step. + Save any configuration files from the old standbys' data + directories you need to keep, e.g. postgresql.conf, + recovery.conf, because these will be overwritten or + removed in the next step. @@ -482,32 +487,62 @@ Run <application>rsync</> - From a directory that is above the old and new database cluster - directories, run this for each slave: + When using link mode, standby servers can be quickly upgraded using + rsync. To accomplish this, from a directory on + the primary server that is above the old and new database cluster + directories, run this on the primary for each standby + server: -rsync --archive --delete --hard-links --size-only old_pgdata new_pgdata remote_dir +rsync --archive --delete --hard-links --size-only --no-inc-recursive old_pgdata new_pgdata remote_dir where + + + What this does is to record the links created by + pg_upgrade's link mode that connect files in the + old and new clusters on the primary server. It then finds matching + files in the standby's old cluster and creates links for them in the + standby's new cluster. Files that were not linked on the primary + are copied from the primary to the standby. (They are usually + small.) This provides rapid standby upgrades. Unfortunately, + rsync needlessly copies files associated with + temporary and unlogged tables because these files don't normally + exist on standby servers. If you have tablespaces, you will need to run a similar - rsync command for each tablespace directory. If you - have relocated pg_xlog outside the data directories, - rsync must be run on those directories too. + rsync command for each tablespace directory, e.g.: + + +rsync --archive --delete --hard-links --size-only --no-inc-recursive /vol1/pg_tblsp/PG_9.5_201510051 \ + /vol1/pg_tblsp/PG_9.6_201608131 standby.example.com:/vol1/pg_tblsp + + + If you have relocated pg_xlog outside the data + directories, rsync must be run on those directories + too. @@ -517,8 +552,8 @@ Configure the servers for log shipping. (You do not need to run pg_start_backup() and pg_stop_backup() - or take a file system backup as the slaves are still synchronized - with the master.) + or take a file system backup as the standbys are still synchronized + with the primary.) diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/ref/prepare_transaction.sgml postgresql-9.6-9.6.6/doc/src/sgml/ref/prepare_transaction.sgml --- postgresql-9.6-9.6.5/doc/src/sgml/ref/prepare_transaction.sgml 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/ref/prepare_transaction.sgml 2017-11-06 22:08:55.000000000 +0000 @@ -100,7 +100,8 @@ It is not currently allowed to PREPARE a transaction that has executed any operations involving temporary tables, created any cursors WITH HOLD, or executed - LISTEN or UNLISTEN. + LISTEN, UNLISTEN, or + NOTIFY. Those features are too tightly tied to the current session to be useful in a transaction to be prepared. diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/release-9.2.sgml postgresql-9.6-9.6.6/doc/src/sgml/release-9.2.sgml --- postgresql-9.6-9.6.5/doc/src/sgml/release-9.2.sgml 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/release-9.2.sgml 2017-11-06 22:08:55.000000000 +0000 @@ -1,6 +1,207 @@ + + Release 9.2.24 + + + Release date: + 2017-11-09 + + + + This release contains a variety of fixes from 9.2.23. + For information about new features in the 9.2 major release, see + . + + + + This is expected to be the last PostgreSQL + release in the 9.2.X series. Users are encouraged to update to a newer + release branch soon. + + + + Migration to Version 9.2.24 + + + A dump/restore is not required for those running 9.2.X. + + + + However, if you are upgrading from a version earlier than 9.2.22, + see . + + + + + + Changes + + + + + + Fix sample server-start scripts to become $PGUSER + before opening $PGLOG (Noah Misch) + + + + Previously, the postmaster log file was opened while still running as + root. The database owner could therefore mount an attack against + another system user by making $PGLOG be a symbolic + link to some other file, which would then become corrupted by appending + log messages. + + + + By default, these scripts are not installed anywhere. Users who have + made use of them will need to manually recopy them, or apply the same + changes to their modified versions. If the + existing $PGLOG file is root-owned, it will need to + be removed or renamed out of the way before restarting the server with + the corrected script. + (CVE-2017-12172) + + + + + + Properly reject attempts to convert infinite float values to + type numeric (Tom Lane, KaiGai Kohei) + + + + Previously the behavior was platform-dependent. + + + + + + Fix corner-case crashes when columns have been added to the end of a + view (Tom Lane) + + + + + + Record proper dependencies when a view or rule + contains FieldSelect + or FieldStore expression nodes (Tom Lane) + + + + Lack of these dependencies could allow a column or data + type DROP to go through when it ought to fail, + thereby causing later uses of the view or rule to get errors. + This patch does not do anything to protect existing views/rules, + only ones created in the future. + + + + + + Correctly detect hashability of range data types (Tom Lane) + + + + The planner mistakenly assumed that any range type could be hashed + for use in hash joins or hash aggregation, but actually it must check + whether the range's subtype has hash support. This does not affect any + of the built-in range types, since they're all hashable anyway. + + + + + + Fix low-probability loss of NOTIFY messages due to + XID wraparound (Marko Tiikkaja, Tom Lane) + + + + If a session executed no queries, but merely listened for + notifications, for more than 2 billion transactions, it started to miss + some notifications from concurrently-committing transactions. + + + + + + Prevent low-probability crash in processing of nested trigger firings + (Tom Lane) + + + + + + Correctly restore the umask setting when file creation fails + in COPY or lo_export() + (Peter Eisentraut) + + + + + + Give a better error message for duplicate column names + in ANALYZE (Nathan Bossart) + + + + + + Fix libpq to not require user's home + directory to exist (Tom Lane) + + + + In v10, failure to find the home directory while trying to + read ~/.pgpass was treated as a hard error, + but it should just cause that file to not be found. Both v10 and + previous release branches made the same mistake when + reading ~/.pg_service.conf, though this was less + obvious since that file is not sought unless a service name is + specified. + + + + + + Fix libpq to guard against integer + overflow in the row count of a PGresult + (Michael Paquier) + + + + + + Sync our copy of the timezone library with IANA release tzcode2017c + (Tom Lane) + + + + This fixes various issues; the only one likely to be user-visible + is that the default DST rules for a POSIX-style zone name, if + no posixrules file exists in the timezone data + directory, now match current US law rather than what it was a dozen + years ago. + + + + + + Update time zone data files to tzdata + release 2017c for DST law changes in Fiji, Namibia, Northern Cyprus, + Sudan, Tonga, and Turks & Caicos Islands, plus historical + corrections for Alaska, Apia, Burma, Calcutta, Detroit, Ireland, + Namibia, and Pago Pago. + + + + + + + + Release 9.2.23 @@ -58,14 +259,44 @@ in an existing installation, you can, as a superuser, do this in psql: -BEGIN; -DROP SCHEMA information_schema CASCADE; -\i SHAREDIR/information_schema.sql -COMMIT; +SET search_path TO information_schema; +CREATE OR REPLACE VIEW table_privileges AS + SELECT CAST(u_grantor.rolname AS sql_identifier) AS grantor, + CAST(grantee.rolname AS sql_identifier) AS grantee, + CAST(current_database() AS sql_identifier) AS table_catalog, + CAST(nc.nspname AS sql_identifier) AS table_schema, + CAST(c.relname AS sql_identifier) AS table_name, + CAST(c.prtype AS character_data) AS privilege_type, + CAST( + CASE WHEN + -- object owner always has grant options + pg_has_role(grantee.oid, c.relowner, 'USAGE') + OR c.grantable + THEN 'YES' ELSE 'NO' END AS yes_or_no) AS is_grantable, + CAST(CASE WHEN c.prtype = 'SELECT' THEN 'YES' ELSE 'NO' END AS yes_or_no) AS with_hierarchy + + FROM ( + SELECT oid, relname, relnamespace, relkind, relowner, (aclexplode(coalesce(relacl, acldefault('r', relowner)))).* FROM pg_class + ) AS c (oid, relname, relnamespace, relkind, relowner, grantor, grantee, prtype, grantable), + pg_namespace nc, + pg_authid u_grantor, + ( + SELECT oid, rolname FROM pg_authid + UNION ALL + SELECT 0::oid, 'PUBLIC' + ) AS grantee (oid, rolname) + + WHERE c.relnamespace = nc.oid + AND c.relkind IN ('r', 'v', 'f') + AND c.grantee = grantee.oid + AND c.grantor = u_grantor.oid + AND c.prtype IN ('INSERT', 'SELECT', 'UPDATE', 'DELETE', 'TRUNCATE', 'REFERENCES', 'TRIGGER') + AND (pg_has_role(u_grantor.oid, 'USAGE') + OR pg_has_role(grantee.oid, 'USAGE') + OR grantee.rolname = 'PUBLIC'); - (Run pg_config --sharedir if you're uncertain - where SHAREDIR is.) This must be repeated in each - database to be fixed. + This must be repeated in each database to be fixed, + including template0. diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/release-9.3.sgml postgresql-9.6-9.6.6/doc/src/sgml/release-9.3.sgml --- postgresql-9.6-9.6.5/doc/src/sgml/release-9.3.sgml 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/release-9.3.sgml 2017-11-06 22:08:55.000000000 +0000 @@ -1,6 +1,240 @@ + + Release 9.3.20 + + + Release date: + 2017-11-09 + + + + This release contains a variety of fixes from 9.3.19. + For information about new features in the 9.3 major release, see + . + + + + Migration to Version 9.3.20 + + + A dump/restore is not required for those running 9.3.X. + + + + However, if you are upgrading from a version earlier than 9.3.18, + see . + + + + + + Changes + + + + + + Fix crash due to rowtype mismatch + in json{b}_populate_recordset() + (Michael Paquier, Tom Lane) + + + + These functions used the result rowtype specified in the FROM + ... AS clause without checking that it matched the actual + rowtype of the supplied tuple value. If it didn't, that would usually + result in a crash, though disclosure of server memory contents seems + possible as well. + (CVE-2017-15098) + + + + + + Fix sample server-start scripts to become $PGUSER + before opening $PGLOG (Noah Misch) + + + + Previously, the postmaster log file was opened while still running as + root. The database owner could therefore mount an attack against + another system user by making $PGLOG be a symbolic + link to some other file, which would then become corrupted by appending + log messages. + + + + By default, these scripts are not installed anywhere. Users who have + made use of them will need to manually recopy them, or apply the same + changes to their modified versions. If the + existing $PGLOG file is root-owned, it will need to + be removed or renamed out of the way before restarting the server with + the corrected script. + (CVE-2017-12172) + + + + + + Properly reject attempts to convert infinite float values to + type numeric (Tom Lane, KaiGai Kohei) + + + + Previously the behavior was platform-dependent. + + + + + + Fix corner-case crashes when columns have been added to the end of a + view (Tom Lane) + + + + + + Record proper dependencies when a view or rule + contains FieldSelect + or FieldStore expression nodes (Tom Lane) + + + + Lack of these dependencies could allow a column or data + type DROP to go through when it ought to fail, + thereby causing later uses of the view or rule to get errors. + This patch does not do anything to protect existing views/rules, + only ones created in the future. + + + + + + Correctly detect hashability of range data types (Tom Lane) + + + + The planner mistakenly assumed that any range type could be hashed + for use in hash joins or hash aggregation, but actually it must check + whether the range's subtype has hash support. This does not affect any + of the built-in range types, since they're all hashable anyway. + + + + + + Fix low-probability loss of NOTIFY messages due to + XID wraparound (Marko Tiikkaja, Tom Lane) + + + + If a session executed no queries, but merely listened for + notifications, for more than 2 billion transactions, it started to miss + some notifications from concurrently-committing transactions. + + + + + + Prevent low-probability crash in processing of nested trigger firings + (Tom Lane) + + + + + + Correctly restore the umask setting when file creation fails + in COPY or lo_export() + (Peter Eisentraut) + + + + + + Give a better error message for duplicate column names + in ANALYZE (Nathan Bossart) + + + + + + Fix mis-parsing of the last line in a + non-newline-terminated pg_hba.conf file + (Tom Lane) + + + + + + Fix libpq to not require user's home + directory to exist (Tom Lane) + + + + In v10, failure to find the home directory while trying to + read ~/.pgpass was treated as a hard error, + but it should just cause that file to not be found. Both v10 and + previous release branches made the same mistake when + reading ~/.pg_service.conf, though this was less + obvious since that file is not sought unless a service name is + specified. + + + + + + Fix libpq to guard against integer + overflow in the row count of a PGresult + (Michael Paquier) + + + + + + Fix ecpg's handling of out-of-scope cursor + declarations with pointer or array variables (Michael Meskes) + + + + + + Make ecpglib's Informix-compatibility mode ignore fractional digits in + integer input strings, as expected (Gao Zengqi, Michael Meskes) + + + + + + Sync our copy of the timezone library with IANA release tzcode2017c + (Tom Lane) + + + + This fixes various issues; the only one likely to be user-visible + is that the default DST rules for a POSIX-style zone name, if + no posixrules file exists in the timezone data + directory, now match current US law rather than what it was a dozen + years ago. + + + + + + Update time zone data files to tzdata + release 2017c for DST law changes in Fiji, Namibia, Northern Cyprus, + Sudan, Tonga, and Turks & Caicos Islands, plus historical + corrections for Alaska, Apia, Burma, Calcutta, Detroit, Ireland, + Namibia, and Pago Pago. + + + + + + + + Release 9.3.19 @@ -52,14 +286,44 @@ in an existing installation, you can, as a superuser, do this in psql: -BEGIN; -DROP SCHEMA information_schema CASCADE; -\i SHAREDIR/information_schema.sql -COMMIT; +SET search_path TO information_schema; +CREATE OR REPLACE VIEW table_privileges AS + SELECT CAST(u_grantor.rolname AS sql_identifier) AS grantor, + CAST(grantee.rolname AS sql_identifier) AS grantee, + CAST(current_database() AS sql_identifier) AS table_catalog, + CAST(nc.nspname AS sql_identifier) AS table_schema, + CAST(c.relname AS sql_identifier) AS table_name, + CAST(c.prtype AS character_data) AS privilege_type, + CAST( + CASE WHEN + -- object owner always has grant options + pg_has_role(grantee.oid, c.relowner, 'USAGE') + OR c.grantable + THEN 'YES' ELSE 'NO' END AS yes_or_no) AS is_grantable, + CAST(CASE WHEN c.prtype = 'SELECT' THEN 'YES' ELSE 'NO' END AS yes_or_no) AS with_hierarchy + + FROM ( + SELECT oid, relname, relnamespace, relkind, relowner, (aclexplode(coalesce(relacl, acldefault('r', relowner)))).* FROM pg_class + ) AS c (oid, relname, relnamespace, relkind, relowner, grantor, grantee, prtype, grantable), + pg_namespace nc, + pg_authid u_grantor, + ( + SELECT oid, rolname FROM pg_authid + UNION ALL + SELECT 0::oid, 'PUBLIC' + ) AS grantee (oid, rolname) + + WHERE c.relnamespace = nc.oid + AND c.relkind IN ('r', 'v', 'f') + AND c.grantee = grantee.oid + AND c.grantor = u_grantor.oid + AND c.prtype IN ('INSERT', 'SELECT', 'UPDATE', 'DELETE', 'TRUNCATE', 'REFERENCES', 'TRIGGER') + AND (pg_has_role(u_grantor.oid, 'USAGE') + OR pg_has_role(grantee.oid, 'USAGE') + OR grantee.rolname = 'PUBLIC'); - (Run pg_config --sharedir if you're uncertain - where SHAREDIR is.) This must be repeated in each - database to be fixed. + This must be repeated in each database to be fixed, + including template0. diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/release-9.4.sgml postgresql-9.6-9.6.6/doc/src/sgml/release-9.4.sgml --- postgresql-9.6-9.6.5/doc/src/sgml/release-9.4.sgml 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/release-9.4.sgml 2017-11-06 22:08:55.000000000 +0000 @@ -1,6 +1,284 @@ + + Release 9.4.15 + + + Release date: + 2017-11-09 + + + + This release contains a variety of fixes from 9.4.14. + For information about new features in the 9.4 major release, see + . + + + + Migration to Version 9.4.15 + + + A dump/restore is not required for those running 9.4.X. + + + + However, if you are upgrading from a version earlier than 9.4.13, + see . + + + + + Changes + + + + + + Fix crash due to rowtype mismatch + in json{b}_populate_recordset() + (Michael Paquier, Tom Lane) + + + + These functions used the result rowtype specified in the FROM + ... AS clause without checking that it matched the actual + rowtype of the supplied tuple value. If it didn't, that would usually + result in a crash, though disclosure of server memory contents seems + possible as well. + (CVE-2017-15098) + + + + + + Fix sample server-start scripts to become $PGUSER + before opening $PGLOG (Noah Misch) + + + + Previously, the postmaster log file was opened while still running as + root. The database owner could therefore mount an attack against + another system user by making $PGLOG be a symbolic + link to some other file, which would then become corrupted by appending + log messages. + + + + By default, these scripts are not installed anywhere. Users who have + made use of them will need to manually recopy them, or apply the same + changes to their modified versions. If the + existing $PGLOG file is root-owned, it will need to + be removed or renamed out of the way before restarting the server with + the corrected script. + (CVE-2017-12172) + + + + + + Fix crash when logical decoding is invoked from a SPI-using function, + in particular any function written in a PL language + (Tom Lane) + + + + + + Fix json_build_array(), + json_build_object(), and their jsonb + equivalents to handle explicit VARIADIC arguments + correctly (Michael Paquier) + + + + + + Properly reject attempts to convert infinite float values to + type numeric (Tom Lane, KaiGai Kohei) + + + + Previously the behavior was platform-dependent. + + + + + + Fix corner-case crashes when columns have been added to the end of a + view (Tom Lane) + + + + + + Record proper dependencies when a view or rule + contains FieldSelect + or FieldStore expression nodes (Tom Lane) + + + + Lack of these dependencies could allow a column or data + type DROP to go through when it ought to fail, + thereby causing later uses of the view or rule to get errors. + This patch does not do anything to protect existing views/rules, + only ones created in the future. + + + + + + Correctly detect hashability of range data types (Tom Lane) + + + + The planner mistakenly assumed that any range type could be hashed + for use in hash joins or hash aggregation, but actually it must check + whether the range's subtype has hash support. This does not affect any + of the built-in range types, since they're all hashable anyway. + + + + + + Fix low-probability loss of NOTIFY messages due to + XID wraparound (Marko Tiikkaja, Tom Lane) + + + + If a session executed no queries, but merely listened for + notifications, for more than 2 billion transactions, it started to miss + some notifications from concurrently-committing transactions. + + + + + + Avoid SIGBUS crash on Linux when a DSM memory + request exceeds the space available in tmpfs + (Thomas Munro) + + + + + + Prevent low-probability crash in processing of nested trigger firings + (Tom Lane) + + + + + + Allow COPY's FREEZE option to + work when the transaction isolation level is REPEATABLE + READ or higher (Noah Misch) + + + + This case was unintentionally broken by a previous bug fix. + + + + + + Correctly restore the umask setting when file creation fails + in COPY or lo_export() + (Peter Eisentraut) + + + + + + Give a better error message for duplicate column names + in ANALYZE (Nathan Bossart) + + + + + + Fix mis-parsing of the last line in a + non-newline-terminated pg_hba.conf file + (Tom Lane) + + + + + + Fix libpq to not require user's home + directory to exist (Tom Lane) + + + + In v10, failure to find the home directory while trying to + read ~/.pgpass was treated as a hard error, + but it should just cause that file to not be found. Both v10 and + previous release branches made the same mistake when + reading ~/.pg_service.conf, though this was less + obvious since that file is not sought unless a service name is + specified. + + + + + + Fix libpq to guard against integer + overflow in the row count of a PGresult + (Michael Paquier) + + + + + + Fix ecpg's handling of out-of-scope cursor + declarations with pointer or array variables (Michael Meskes) + + + + + + In ecpglib, correctly handle backslashes in string literals depending + on whether standard_conforming_strings is set + (Tsunakawa Takayuki) + + + + + + Make ecpglib's Informix-compatibility mode ignore fractional digits in + integer input strings, as expected (Gao Zengqi, Michael Meskes) + + + + + + Sync our copy of the timezone library with IANA release tzcode2017c + (Tom Lane) + + + + This fixes various issues; the only one likely to be user-visible + is that the default DST rules for a POSIX-style zone name, if + no posixrules file exists in the timezone data + directory, now match current US law rather than what it was a dozen + years ago. + + + + + + Update time zone data files to tzdata + release 2017c for DST law changes in Fiji, Namibia, Northern Cyprus, + Sudan, Tonga, and Turks & Caicos Islands, plus historical + corrections for Alaska, Apia, Burma, Calcutta, Detroit, Ireland, + Namibia, and Pago Pago. + + + + + + + + Release 9.4.14 @@ -68,14 +346,44 @@ in an existing installation, you can, as a superuser, do this in psql: -BEGIN; -DROP SCHEMA information_schema CASCADE; -\i SHAREDIR/information_schema.sql -COMMIT; +SET search_path TO information_schema; +CREATE OR REPLACE VIEW table_privileges AS + SELECT CAST(u_grantor.rolname AS sql_identifier) AS grantor, + CAST(grantee.rolname AS sql_identifier) AS grantee, + CAST(current_database() AS sql_identifier) AS table_catalog, + CAST(nc.nspname AS sql_identifier) AS table_schema, + CAST(c.relname AS sql_identifier) AS table_name, + CAST(c.prtype AS character_data) AS privilege_type, + CAST( + CASE WHEN + -- object owner always has grant options + pg_has_role(grantee.oid, c.relowner, 'USAGE') + OR c.grantable + THEN 'YES' ELSE 'NO' END AS yes_or_no) AS is_grantable, + CAST(CASE WHEN c.prtype = 'SELECT' THEN 'YES' ELSE 'NO' END AS yes_or_no) AS with_hierarchy + + FROM ( + SELECT oid, relname, relnamespace, relkind, relowner, (aclexplode(coalesce(relacl, acldefault('r', relowner)))).* FROM pg_class + ) AS c (oid, relname, relnamespace, relkind, relowner, grantor, grantee, prtype, grantable), + pg_namespace nc, + pg_authid u_grantor, + ( + SELECT oid, rolname FROM pg_authid + UNION ALL + SELECT 0::oid, 'PUBLIC' + ) AS grantee (oid, rolname) + + WHERE c.relnamespace = nc.oid + AND c.relkind IN ('r', 'v', 'f') + AND c.grantee = grantee.oid + AND c.grantor = u_grantor.oid + AND c.prtype IN ('INSERT', 'SELECT', 'UPDATE', 'DELETE', 'TRUNCATE', 'REFERENCES', 'TRIGGER') + AND (pg_has_role(u_grantor.oid, 'USAGE') + OR pg_has_role(grantee.oid, 'USAGE') + OR grantee.rolname = 'PUBLIC'); - (Run pg_config --sharedir if you're uncertain - where SHAREDIR is.) This must be repeated in each - database to be fixed. + This must be repeated in each database to be fixed, + including template0. diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/release-9.5.sgml postgresql-9.6-9.6.6/doc/src/sgml/release-9.5.sgml --- postgresql-9.6-9.6.5/doc/src/sgml/release-9.5.sgml 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/release-9.5.sgml 2017-11-06 22:08:55.000000000 +0000 @@ -1,6 +1,367 @@ + + Release 9.5.10 + + + Release date: + 2017-11-09 + + + + This release contains a variety of fixes from 9.5.9. + For information about new features in the 9.5 major release, see + . + + + + Migration to Version 9.5.10 + + + A dump/restore is not required for those running 9.5.X. + + + + However, if you use BRIN indexes, see the fourth changelog entry below. + + + + Also, if you are upgrading from a version earlier than 9.5.8, + see . + + + + + Changes + + + + + + Ensure that INSERT ... ON CONFLICT DO UPDATE checks + table permissions and RLS policies in all cases (Dean Rasheed) + + + + The update path of INSERT ... ON CONFLICT DO UPDATE + requires SELECT permission on the columns of the + arbiter index, but it failed to check for that in the case of an + arbiter specified by constraint name. + In addition, for a table with row level security enabled, it failed to + check updated rows against the table's SELECT + policies (regardless of how the arbiter index was specified). + (CVE-2017-15099) + + + + + + Fix crash due to rowtype mismatch + in json{b}_populate_recordset() + (Michael Paquier, Tom Lane) + + + + These functions used the result rowtype specified in the FROM + ... AS clause without checking that it matched the actual + rowtype of the supplied tuple value. If it didn't, that would usually + result in a crash, though disclosure of server memory contents seems + possible as well. + (CVE-2017-15098) + + + + + + Fix sample server-start scripts to become $PGUSER + before opening $PGLOG (Noah Misch) + + + + Previously, the postmaster log file was opened while still running as + root. The database owner could therefore mount an attack against + another system user by making $PGLOG be a symbolic + link to some other file, which would then become corrupted by appending + log messages. + + + + By default, these scripts are not installed anywhere. Users who have + made use of them will need to manually recopy them, or apply the same + changes to their modified versions. If the + existing $PGLOG file is root-owned, it will need to + be removed or renamed out of the way before restarting the server with + the corrected script. + (CVE-2017-12172) + + + + + + Fix BRIN index summarization to handle concurrent table extension + correctly (Álvaro Herrera) + + + + Previously, a race condition allowed some table rows to be omitted from + the index. It may be necessary to reindex existing BRIN indexes to + recover from past occurrences of this problem. + + + + + + Fix possible failures during concurrent updates of a BRIN index + (Tom Lane) + + + + These race conditions could result in errors like invalid index + offnum or inconsistent range map. + + + + + + Fix crash when logical decoding is invoked from a SPI-using function, + in particular any function written in a PL language + (Tom Lane) + + + + + + Fix json_build_array(), + json_build_object(), and their jsonb + equivalents to handle explicit VARIADIC arguments + correctly (Michael Paquier) + + + + + + Properly reject attempts to convert infinite float values to + type numeric (Tom Lane, KaiGai Kohei) + + + + Previously the behavior was platform-dependent. + + + + + + Fix corner-case crashes when columns have been added to the end of a + view (Tom Lane) + + + + + + Record proper dependencies when a view or rule + contains FieldSelect + or FieldStore expression nodes (Tom Lane) + + + + Lack of these dependencies could allow a column or data + type DROP to go through when it ought to fail, + thereby causing later uses of the view or rule to get errors. + This patch does not do anything to protect existing views/rules, + only ones created in the future. + + + + + + Correctly detect hashability of range data types (Tom Lane) + + + + The planner mistakenly assumed that any range type could be hashed + for use in hash joins or hash aggregation, but actually it must check + whether the range's subtype has hash support. This does not affect any + of the built-in range types, since they're all hashable anyway. + + + + + + Correctly ignore RelabelType expression nodes + when determining relation distinctness (David Rowley) + + + + This allows the intended optimization to occur when a subquery has + a result column of type varchar. + + + + + + Fix low-probability loss of NOTIFY messages due to + XID wraparound (Marko Tiikkaja, Tom Lane) + + + + If a session executed no queries, but merely listened for + notifications, for more than 2 billion transactions, it started to miss + some notifications from concurrently-committing transactions. + + + + + + Avoid SIGBUS crash on Linux when a DSM memory + request exceeds the space available in tmpfs + (Thomas Munro) + + + + + + Prevent low-probability crash in processing of nested trigger firings + (Tom Lane) + + + + + + Allow COPY's FREEZE option to + work when the transaction isolation level is REPEATABLE + READ or higher (Noah Misch) + + + + This case was unintentionally broken by a previous bug fix. + + + + + + Correctly restore the umask setting when file creation fails + in COPY or lo_export() + (Peter Eisentraut) + + + + + + Give a better error message for duplicate column names + in ANALYZE (Nathan Bossart) + + + + + + Fix mis-parsing of the last line in a + non-newline-terminated pg_hba.conf file + (Tom Lane) + + + + + + Fix pg_basebackup's matching of tablespace + paths to canonicalize both paths before comparing (Michael Paquier) + + + + This is particularly helpful on Windows. + + + + + + Fix libpq to not require user's home + directory to exist (Tom Lane) + + + + In v10, failure to find the home directory while trying to + read ~/.pgpass was treated as a hard error, + but it should just cause that file to not be found. Both v10 and + previous release branches made the same mistake when + reading ~/.pg_service.conf, though this was less + obvious since that file is not sought unless a service name is + specified. + + + + + + Fix libpq to guard against integer + overflow in the row count of a PGresult + (Michael Paquier) + + + + + + Fix ecpg's handling of out-of-scope cursor + declarations with pointer or array variables (Michael Meskes) + + + + + + In ecpglib, correctly handle backslashes in string literals depending + on whether standard_conforming_strings is set + (Tsunakawa Takayuki) + + + + + + Make ecpglib's Informix-compatibility mode ignore fractional digits in + integer input strings, as expected (Gao Zengqi, Michael Meskes) + + + + + + Fix missing temp-install prerequisites + for check-like Make targets (Noah Misch) + + + + Some non-default test procedures that are meant to work + like make check failed to ensure that the temporary + installation was up to date. + + + + + + Sync our copy of the timezone library with IANA release tzcode2017c + (Tom Lane) + + + + This fixes various issues; the only one likely to be user-visible + is that the default DST rules for a POSIX-style zone name, if + no posixrules file exists in the timezone data + directory, now match current US law rather than what it was a dozen + years ago. + + + + + + Update time zone data files to tzdata + release 2017c for DST law changes in Fiji, Namibia, Northern Cyprus, + Sudan, Tonga, and Turks & Caicos Islands, plus historical + corrections for Alaska, Apia, Burma, Calcutta, Detroit, Ireland, + Namibia, and Pago Pago. + + + + + + + + Release 9.5.9 @@ -51,14 +412,44 @@ in an existing installation, you can, as a superuser, do this in psql: -BEGIN; -DROP SCHEMA information_schema CASCADE; -\i SHAREDIR/information_schema.sql -COMMIT; +SET search_path TO information_schema; +CREATE OR REPLACE VIEW table_privileges AS + SELECT CAST(u_grantor.rolname AS sql_identifier) AS grantor, + CAST(grantee.rolname AS sql_identifier) AS grantee, + CAST(current_database() AS sql_identifier) AS table_catalog, + CAST(nc.nspname AS sql_identifier) AS table_schema, + CAST(c.relname AS sql_identifier) AS table_name, + CAST(c.prtype AS character_data) AS privilege_type, + CAST( + CASE WHEN + -- object owner always has grant options + pg_has_role(grantee.oid, c.relowner, 'USAGE') + OR c.grantable + THEN 'YES' ELSE 'NO' END AS yes_or_no) AS is_grantable, + CAST(CASE WHEN c.prtype = 'SELECT' THEN 'YES' ELSE 'NO' END AS yes_or_no) AS with_hierarchy + + FROM ( + SELECT oid, relname, relnamespace, relkind, relowner, (aclexplode(coalesce(relacl, acldefault('r', relowner)))).* FROM pg_class + ) AS c (oid, relname, relnamespace, relkind, relowner, grantor, grantee, prtype, grantable), + pg_namespace nc, + pg_authid u_grantor, + ( + SELECT oid, rolname FROM pg_authid + UNION ALL + SELECT 0::oid, 'PUBLIC' + ) AS grantee (oid, rolname) + + WHERE c.relnamespace = nc.oid + AND c.relkind IN ('r', 'v', 'f') + AND c.grantee = grantee.oid + AND c.grantor = u_grantor.oid + AND c.prtype IN ('INSERT', 'SELECT', 'UPDATE', 'DELETE', 'TRUNCATE', 'REFERENCES', 'TRIGGER') + AND (pg_has_role(u_grantor.oid, 'USAGE') + OR pg_has_role(grantee.oid, 'USAGE') + OR grantee.rolname = 'PUBLIC'); - (Run pg_config --sharedir if you're uncertain - where SHAREDIR is.) This must be repeated in each - database to be fixed. + This must be repeated in each database to be fixed, + including template0. diff -Nru postgresql-9.6-9.6.5/doc/src/sgml/release-9.6.sgml postgresql-9.6-9.6.6/doc/src/sgml/release-9.6.sgml --- postgresql-9.6-9.6.5/doc/src/sgml/release-9.6.sgml 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/doc/src/sgml/release-9.6.sgml 2017-11-06 22:08:55.000000000 +0000 @@ -1,6 +1,585 @@ + + Release 9.6.6 + + + Release date: + 2017-11-09 + + + + This release contains a variety of fixes from 9.6.5. + For information about new features in the 9.6 major release, see + . + + + + Migration to Version 9.6.6 + + + A dump/restore is not required for those running 9.6.X. + + + + However, if you use BRIN indexes, see the fourth changelog entry below. + + + + Also, if you are upgrading from a version earlier than 9.6.4, + see . + + + + + Changes + + + + + + Ensure that INSERT ... ON CONFLICT DO UPDATE checks + table permissions and RLS policies in all cases (Dean Rasheed) + + + + The update path of INSERT ... ON CONFLICT DO UPDATE + requires SELECT permission on the columns of the + arbiter index, but it failed to check for that in the case of an + arbiter specified by constraint name. + In addition, for a table with row level security enabled, it failed to + check updated rows against the table's SELECT + policies (regardless of how the arbiter index was specified). + (CVE-2017-15099) + + + + + + Fix crash due to rowtype mismatch + in json{b}_populate_recordset() + (Michael Paquier, Tom Lane) + + + + These functions used the result rowtype specified in the FROM + ... AS clause without checking that it matched the actual + rowtype of the supplied tuple value. If it didn't, that would usually + result in a crash, though disclosure of server memory contents seems + possible as well. + (CVE-2017-15098) + + + + + + Fix sample server-start scripts to become $PGUSER + before opening $PGLOG (Noah Misch) + + + + Previously, the postmaster log file was opened while still running as + root. The database owner could therefore mount an attack against + another system user by making $PGLOG be a symbolic + link to some other file, which would then become corrupted by appending + log messages. + + + + By default, these scripts are not installed anywhere. Users who have + made use of them will need to manually recopy them, or apply the same + changes to their modified versions. If the + existing $PGLOG file is root-owned, it will need to + be removed or renamed out of the way before restarting the server with + the corrected script. + (CVE-2017-12172) + + + + + + Fix BRIN index summarization to handle concurrent table extension + correctly (Álvaro Herrera) + + + + Previously, a race condition allowed some table rows to be omitted from + the index. It may be necessary to reindex existing BRIN indexes to + recover from past occurrences of this problem. + + + + + + Fix possible failures during concurrent updates of a BRIN index + (Tom Lane) + + + + These race conditions could result in errors like invalid index + offnum or inconsistent range map. + + + + + + Fix crash when logical decoding is invoked from a SPI-using function, + in particular any function written in a PL language + (Tom Lane) + + + + + + Fix incorrect query results when multiple GROUPING + SETS columns contain the same simple variable (Tom Lane) + + + + + + Fix incorrect parallelization decisions for nested queries + (Amit Kapila, Kuntal Ghosh) + + + + + + Fix parallel query handling to not fail when a recently-used role is + dropped (Amit Kapila) + + + + + + Fix json_build_array(), + json_build_object(), and their jsonb + equivalents to handle explicit VARIADIC arguments + correctly (Michael Paquier) + + + + + + + Properly reject attempts to convert infinite float values to + type numeric (Tom Lane, KaiGai Kohei) + + + + Previously the behavior was platform-dependent. + + + + + + Fix corner-case crashes when columns have been added to the end of a + view (Tom Lane) + + + + + + Record proper dependencies when a view or rule + contains FieldSelect + or FieldStore expression nodes (Tom Lane) + + + + Lack of these dependencies could allow a column or data + type DROP to go through when it ought to fail, + thereby causing later uses of the view or rule to get errors. + This patch does not do anything to protect existing views/rules, + only ones created in the future. + + + + + + Correctly detect hashability of range data types (Tom Lane) + + + + The planner mistakenly assumed that any range type could be hashed + for use in hash joins or hash aggregation, but actually it must check + whether the range's subtype has hash support. This does not affect any + of the built-in range types, since they're all hashable anyway. + + + + + + + Correctly ignore RelabelType expression nodes + when determining relation distinctness (David Rowley) + + + + This allows the intended optimization to occur when a subquery has + a result column of type varchar. + + + + + + Prevent sharing transition states between ordered-set aggregates + (David Rowley) + + + + This causes a crash with the built-in ordered-set aggregates, and + probably with user-written ones as well. v11 and later will include + provisions for dealing with such cases safely, but in released + branches, just disable the optimization. + + + + + + Prevent idle_in_transaction_session_timeout from + being ignored when a statement_timeout occurred + earlier (Lukas Fittl) + + + + + + Fix low-probability loss of NOTIFY messages due to + XID wraparound (Marko Tiikkaja, Tom Lane) + + + + If a session executed no queries, but merely listened for + notifications, for more than 2 billion transactions, it started to miss + some notifications from concurrently-committing transactions. + + + + + + + Avoid SIGBUS crash on Linux when a DSM memory + request exceeds the space available in tmpfs + (Thomas Munro) + + + + + + Reduce the frequency of data flush requests during bulk file copies to + avoid performance problems on macOS, particularly with its new APFS + file system (Tom Lane) + + + + + + + Prevent low-probability crash in processing of nested trigger firings + (Tom Lane) + + + + + + Allow COPY's FREEZE option to + work when the transaction isolation level is REPEATABLE + READ or higher (Noah Misch) + + + + This case was unintentionally broken by a previous bug fix. + + + + + + + Correctly restore the umask setting when file creation fails + in COPY or lo_export() + (Peter Eisentraut) + + + + + + + Give a better error message for duplicate column names + in ANALYZE (Nathan Bossart) + + + + + + + Add missing cases in GetCommandLogLevel(), + preventing errors when certain SQL commands are used while + log_statement is set to ddl + (Michael Paquier) + + + + + + + Fix mis-parsing of the last line in a + non-newline-terminated pg_hba.conf file + (Tom Lane) + + + + + + Fix AggGetAggref() to return the + correct Aggref nodes to aggregate final + functions whose transition calculations have been merged (Tom Lane) + + + + + + + Fix pg_dump to ensure that it + emits GRANT commands in a valid order + (Stephen Frost) + + + + + + Fix pg_basebackup's matching of tablespace + paths to canonicalize both paths before comparing (Michael Paquier) + + + + This is particularly helpful on Windows. + + + + + + Fix libpq to not require user's home + directory to exist (Tom Lane) + + + + In v10, failure to find the home directory while trying to + read ~/.pgpass was treated as a hard error, + but it should just cause that file to not be found. Both v10 and + previous release branches made the same mistake when + reading ~/.pg_service.conf, though this was less + obvious since that file is not sought unless a service name is + specified. + + + + + + + Fix libpq to guard against integer + overflow in the row count of a PGresult + (Michael Paquier) + + + + + + + Fix ecpg's handling of out-of-scope cursor + declarations with pointer or array variables (Michael Meskes) + + + + + + In ecpglib, correctly handle backslashes in string literals depending + on whether standard_conforming_strings is set + (Tsunakawa Takayuki) + + + + + + Make ecpglib's Informix-compatibility mode ignore fractional digits in + integer input strings, as expected (Gao Zengqi, Michael Meskes) + + + + + + + Fix ecpg's regression tests to work reliably + on Windows (Christian Ullrich, Michael Meskes) + + + + + + Fix missing temp-install prerequisites + for check-like Make targets (Noah Misch) + + + + Some non-default test procedures that are meant to work + like make check failed to ensure that the temporary + installation was up to date. + + + + + + + Sync our copy of the timezone library with IANA release tzcode2017c + (Tom Lane) + + + + This fixes various issues; the only one likely to be user-visible + is that the default DST rules for a POSIX-style zone name, if + no posixrules file exists in the timezone data + directory, now match current US law rather than what it was a dozen + years ago. + + + + + + Update time zone data files to tzdata + release 2017c for DST law changes in Fiji, Namibia, Northern Cyprus, + Sudan, Tonga, and Turks & Caicos Islands, plus historical + corrections for Alaska, Apia, Burma, Calcutta, Detroit, Ireland, + Namibia, and Pago Pago. + + + + + + + + Release 9.6.5 @@ -61,14 +640,44 @@ in an existing installation, you can, as a superuser, do this in psql: -BEGIN; -DROP SCHEMA information_schema CASCADE; -\i SHAREDIR/information_schema.sql -COMMIT; +SET search_path TO information_schema; +CREATE OR REPLACE VIEW table_privileges AS + SELECT CAST(u_grantor.rolname AS sql_identifier) AS grantor, + CAST(grantee.rolname AS sql_identifier) AS grantee, + CAST(current_database() AS sql_identifier) AS table_catalog, + CAST(nc.nspname AS sql_identifier) AS table_schema, + CAST(c.relname AS sql_identifier) AS table_name, + CAST(c.prtype AS character_data) AS privilege_type, + CAST( + CASE WHEN + -- object owner always has grant options + pg_has_role(grantee.oid, c.relowner, 'USAGE') + OR c.grantable + THEN 'YES' ELSE 'NO' END AS yes_or_no) AS is_grantable, + CAST(CASE WHEN c.prtype = 'SELECT' THEN 'YES' ELSE 'NO' END AS yes_or_no) AS with_hierarchy + + FROM ( + SELECT oid, relname, relnamespace, relkind, relowner, (aclexplode(coalesce(relacl, acldefault('r', relowner)))).* FROM pg_class + ) AS c (oid, relname, relnamespace, relkind, relowner, grantor, grantee, prtype, grantable), + pg_namespace nc, + pg_authid u_grantor, + ( + SELECT oid, rolname FROM pg_authid + UNION ALL + SELECT 0::oid, 'PUBLIC' + ) AS grantee (oid, rolname) + + WHERE c.relnamespace = nc.oid + AND c.relkind IN ('r', 'v', 'f') + AND c.grantee = grantee.oid + AND c.grantor = u_grantor.oid + AND c.prtype IN ('INSERT', 'SELECT', 'UPDATE', 'DELETE', 'TRUNCATE', 'REFERENCES', 'TRIGGER') + AND (pg_has_role(u_grantor.oid, 'USAGE') + OR pg_has_role(grantee.oid, 'USAGE') + OR grantee.rolname = 'PUBLIC'); - (Run pg_config --sharedir if you're uncertain - where SHAREDIR is.) This must be repeated in each - database to be fixed. + This must be repeated in each database to be fixed, + including template0. diff -Nru postgresql-9.6-9.6.5/src/backend/access/brin/brin.c postgresql-9.6-9.6.6/src/backend/access/brin/brin.c --- postgresql-9.6-9.6.5/src/backend/access/brin/brin.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/access/brin/brin.c 2017-11-06 22:08:55.000000000 +0000 @@ -951,7 +951,8 @@ } /* - * Summarize the given page range of the given index. + * On the given BRIN index, summarize the heap page range that corresponds + * to the heap block number given. * * This routine can run in parallel with insertions into the heap. To avoid * missing those values from the summary tuple, we first insert a placeholder @@ -961,6 +962,12 @@ * update of the index value happens in a loop, so that if somebody updates * the placeholder tuple after we read it, we detect the case and try again. * This ensures that the concurrently inserted tuples are not lost. + * + * A further corner case is this routine being asked to summarize the partial + * range at the end of the table. heapNumBlocks is the (possibly outdated) + * table size; if we notice that the requested range lies beyond that size, + * we re-compute the table size after inserting the placeholder tuple, to + * avoid missing pages that were appended recently. */ static void summarize_range(IndexInfo *indexInfo, BrinBuildState *state, Relation heapRel, @@ -982,6 +989,33 @@ heapBlk, phtup, phsz); /* + * Compute range end. We hold ShareUpdateExclusive lock on table, so it + * cannot shrink concurrently (but it can grow). + */ + Assert(heapBlk % state->bs_pagesPerRange == 0); + if (heapBlk + state->bs_pagesPerRange > heapNumBlks) + { + /* + * If we're asked to scan what we believe to be the final range on the + * table (i.e. a range that might be partial) we need to recompute our + * idea of what the latest page is after inserting the placeholder + * tuple. Anyone that grows the table later will update the + * placeholder tuple, so it doesn't matter that we won't scan these + * pages ourselves. Careful: the table might have been extended + * beyond the current range, so clamp our result. + * + * Fortunately, this should occur infrequently. + */ + scanNumBlks = Min(RelationGetNumberOfBlocks(heapRel) - heapBlk, + state->bs_pagesPerRange); + } + else + { + /* Easy case: range is known to be complete */ + scanNumBlks = state->bs_pagesPerRange; + } + + /* * Execute the partial heap scan covering the heap blocks in the specified * page range, summarizing the heap tuples in it. This scan stops just * short of brinbuildCallback creating the new index entry. @@ -991,8 +1025,6 @@ * by transactions that are still in progress, among other corner cases. */ state->bs_currRangeStart = heapBlk; - scanNumBlks = heapBlk + state->bs_pagesPerRange <= heapNumBlks ? - state->bs_pagesPerRange : heapNumBlks - heapBlk; IndexBuildHeapRangeScan(heapRel, state->bs_irel, indexInfo, false, true, heapBlk, scanNumBlks, brinbuildCallback, (void *) state); @@ -1069,25 +1101,34 @@ BrinBuildState *state = NULL; IndexInfo *indexInfo = NULL; BlockNumber heapNumBlocks; - BlockNumber heapBlk; BlockNumber pagesPerRange; Buffer buf; + BlockNumber startBlk; revmap = brinRevmapInitialize(index, &pagesPerRange, NULL); + /* determine range of pages to process: always start from the beginning */ + heapNumBlocks = RelationGetNumberOfBlocks(heapRel); + startBlk = 0; + /* * Scan the revmap to find unsummarized items. */ buf = InvalidBuffer; - heapNumBlocks = RelationGetNumberOfBlocks(heapRel); - for (heapBlk = 0; heapBlk < heapNumBlocks; heapBlk += pagesPerRange) + for (; startBlk < heapNumBlocks; startBlk += pagesPerRange) { BrinTuple *tup; OffsetNumber off; + /* + * Go away now if we think the next range is partial. + */ + if (startBlk + pagesPerRange > heapNumBlocks) + break; + CHECK_FOR_INTERRUPTS(); - tup = brinGetTupleForHeapBlock(revmap, heapBlk, &buf, &off, NULL, + tup = brinGetTupleForHeapBlock(revmap, startBlk, &buf, &off, NULL, BUFFER_LOCK_SHARE, NULL); if (tup == NULL) { @@ -1100,7 +1141,7 @@ pagesPerRange); indexInfo = BuildIndexInfo(index); } - summarize_range(indexInfo, state, heapRel, heapBlk, heapNumBlocks); + summarize_range(indexInfo, state, heapRel, startBlk, heapNumBlocks); /* and re-initialize state for the next range */ brin_memtuple_initialize(state->bs_dtuple, state->bs_bdesc); diff -Nru postgresql-9.6-9.6.5/src/backend/access/brin/brin_pageops.c postgresql-9.6-9.6.6/src/backend/access/brin/brin_pageops.c --- postgresql-9.6-9.6.5/src/backend/access/brin/brin_pageops.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/access/brin/brin_pageops.c 2017-11-06 22:08:55.000000000 +0000 @@ -113,9 +113,15 @@ /* * Check that the old tuple wasn't updated concurrently: it might have - * moved someplace else entirely ... + * moved someplace else entirely, and for that matter the whole page + * might've become a revmap page. Note that in the first two cases + * checked here, the "oldlp" we just calculated is garbage; but + * PageGetItemId() is simple enough that it was safe to do that + * calculation anyway. */ - if (!ItemIdIsNormal(oldlp)) + if (!BRIN_IS_REGULAR_PAGE(oldpage) || + oldoff > PageGetMaxOffsetNumber(oldpage) || + !ItemIdIsNormal(oldlp)) { LockBuffer(oldbuf, BUFFER_LOCK_UNLOCK); diff -Nru postgresql-9.6-9.6.5/src/backend/access/transam/clog.c postgresql-9.6-9.6.6/src/backend/access/transam/clog.c --- postgresql-9.6-9.6.5/src/backend/access/transam/clog.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/access/transam/clog.c 2017-11-06 22:08:55.000000000 +0000 @@ -226,21 +226,27 @@ int offset = 0; int i = 0; + Assert(nsubxids > 0); /* else the pageno fetch above is unsafe */ + while (i < nsubxids) { int num_on_page = 0; + int nextpageno; - while (TransactionIdToPage(subxids[i]) == pageno && i < nsubxids) + do { + nextpageno = TransactionIdToPage(subxids[i]); + if (nextpageno != pageno) + break; num_on_page++; i++; - } + } while (i < nsubxids); TransactionIdSetPageStatus(InvalidTransactionId, num_on_page, subxids + offset, status, lsn, pageno); offset = i; - pageno = TransactionIdToPage(subxids[offset]); + pageno = nextpageno; } } diff -Nru postgresql-9.6-9.6.5/src/backend/access/transam/parallel.c postgresql-9.6-9.6.6/src/backend/access/transam/parallel.c --- postgresql-9.6-9.6.5/src/backend/access/transam/parallel.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/access/transam/parallel.c 2017-11-06 22:08:55.000000000 +0000 @@ -70,9 +70,11 @@ Oid database_id; Oid authenticated_user_id; Oid current_user_id; + Oid outer_user_id; Oid temp_namespace_id; Oid temp_toast_namespace_id; int sec_context; + bool is_superuser; PGPROC *parallel_master_pgproc; pid_t parallel_master_pid; BackendId parallel_master_backend_id; @@ -310,6 +312,8 @@ shm_toc_allocate(pcxt->toc, sizeof(FixedParallelState)); fps->database_id = MyDatabaseId; fps->authenticated_user_id = GetAuthenticatedUserId(); + fps->outer_user_id = GetCurrentRoleId(); + fps->is_superuser = session_auth_is_superuser; GetUserIdAndSecContext(&fps->current_user_id, &fps->sec_context); GetTempNamespaceState(&fps->temp_namespace_id, &fps->temp_toast_namespace_id); @@ -1126,6 +1130,13 @@ */ InvalidateSystemCaches(); + /* + * Restore current role id. Skip verifying whether session user is + * allowed to become this role and blindly restore the leader's state for + * current role. + */ + SetCurrentRoleId(fps->outer_user_id, fps->is_superuser); + /* Restore user ID and security context. */ SetUserIdAndSecContext(fps->current_user_id, fps->sec_context); diff -Nru postgresql-9.6-9.6.5/src/backend/catalog/dependency.c postgresql-9.6-9.6.6/src/backend/catalog/dependency.c --- postgresql-9.6-9.6.5/src/backend/catalog/dependency.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/catalog/dependency.c 2017-11-06 22:08:55.000000000 +0000 @@ -1710,6 +1710,51 @@ /* Extra work needed here if we ever need this case */ elog(ERROR, "already-planned subqueries not supported"); } + else if (IsA(node, FieldSelect)) + { + FieldSelect *fselect = (FieldSelect *) node; + Oid argtype = exprType((Node *) fselect->arg); + Oid reltype = get_typ_typrelid(argtype); + + /* + * We need a dependency on the specific column named in FieldSelect, + * assuming we can identify the pg_class OID for it. (Probably we + * always can at the moment, but in future it might be possible for + * argtype to be RECORDOID.) If we can make a column dependency then + * we shouldn't need a dependency on the column's type; but if we + * can't, make a dependency on the type, as it might not appear + * anywhere else in the expression. + */ + if (OidIsValid(reltype)) + add_object_address(OCLASS_CLASS, reltype, fselect->fieldnum, + context->addrs); + else + add_object_address(OCLASS_TYPE, fselect->resulttype, 0, + context->addrs); + /* the collation might not be referenced anywhere else, either */ + if (OidIsValid(fselect->resultcollid) && + fselect->resultcollid != DEFAULT_COLLATION_OID) + add_object_address(OCLASS_COLLATION, fselect->resultcollid, 0, + context->addrs); + } + else if (IsA(node, FieldStore)) + { + FieldStore *fstore = (FieldStore *) node; + Oid reltype = get_typ_typrelid(fstore->resulttype); + + /* similar considerations to FieldSelect, but multiple column(s) */ + if (OidIsValid(reltype)) + { + ListCell *l; + + foreach(l, fstore->fieldnums) + add_object_address(OCLASS_CLASS, reltype, lfirst_int(l), + context->addrs); + } + else + add_object_address(OCLASS_TYPE, fstore->resulttype, 0, + context->addrs); + } else if (IsA(node, RelabelType)) { RelabelType *relab = (RelabelType *) node; @@ -1730,6 +1775,11 @@ /* since there is no exposed function, need to depend on type */ add_object_address(OCLASS_TYPE, iocoerce->resulttype, 0, context->addrs); + /* the collation might not be referenced anywhere else, either */ + if (OidIsValid(iocoerce->resultcollid) && + iocoerce->resultcollid != DEFAULT_COLLATION_OID) + add_object_address(OCLASS_COLLATION, iocoerce->resultcollid, 0, + context->addrs); } else if (IsA(node, ArrayCoerceExpr)) { diff -Nru postgresql-9.6-9.6.5/src/backend/catalog/pg_constraint.c postgresql-9.6-9.6.6/src/backend/catalog/pg_constraint.c --- postgresql-9.6-9.6.5/src/backend/catalog/pg_constraint.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/catalog/pg_constraint.c 2017-11-06 22:08:55.000000000 +0000 @@ -815,6 +815,104 @@ } /* + * get_relation_constraint_attnos + * Find a constraint on the specified relation with the specified name + * and return the constrained columns. + * + * Returns a Bitmapset of the column attnos of the constrained columns, with + * attnos being offset by FirstLowInvalidHeapAttributeNumber so that system + * columns can be represented. + * + * *constraintOid is set to the OID of the constraint, or InvalidOid on + * failure. + */ +Bitmapset * +get_relation_constraint_attnos(Oid relid, const char *conname, + bool missing_ok, Oid *constraintOid) +{ + Bitmapset *conattnos = NULL; + Relation pg_constraint; + HeapTuple tuple; + SysScanDesc scan; + ScanKeyData skey[1]; + + /* Set *constraintOid, to avoid complaints about uninitialized vars */ + *constraintOid = InvalidOid; + + /* + * Fetch the constraint tuple from pg_constraint. There may be more than + * one match, because constraints are not required to have unique names; + * if so, error out. + */ + pg_constraint = heap_open(ConstraintRelationId, AccessShareLock); + + ScanKeyInit(&skey[0], + Anum_pg_constraint_conrelid, + BTEqualStrategyNumber, F_OIDEQ, + ObjectIdGetDatum(relid)); + + scan = systable_beginscan(pg_constraint, ConstraintRelidIndexId, true, + NULL, 1, skey); + + while (HeapTupleIsValid(tuple = systable_getnext(scan))) + { + Form_pg_constraint con = (Form_pg_constraint) GETSTRUCT(tuple); + Datum adatum; + bool isNull; + ArrayType *arr; + int16 *attnums; + int numcols; + int i; + + /* Check the constraint name */ + if (strcmp(NameStr(con->conname), conname) != 0) + continue; + if (OidIsValid(*constraintOid)) + ereport(ERROR, + (errcode(ERRCODE_DUPLICATE_OBJECT), + errmsg("table \"%s\" has multiple constraints named \"%s\"", + get_rel_name(relid), conname))); + + *constraintOid = HeapTupleGetOid(tuple); + + /* Extract the conkey array, ie, attnums of constrained columns */ + adatum = heap_getattr(tuple, Anum_pg_constraint_conkey, + RelationGetDescr(pg_constraint), &isNull); + if (isNull) + continue; /* no constrained columns */ + + arr = DatumGetArrayTypeP(adatum); /* ensure not toasted */ + numcols = ARR_DIMS(arr)[0]; + if (ARR_NDIM(arr) != 1 || + numcols < 0 || + ARR_HASNULL(arr) || + ARR_ELEMTYPE(arr) != INT2OID) + elog(ERROR, "conkey is not a 1-D smallint array"); + attnums = (int16 *) ARR_DATA_PTR(arr); + + /* Construct the result value */ + for (i = 0; i < numcols; i++) + { + conattnos = bms_add_member(conattnos, + attnums[i] - FirstLowInvalidHeapAttributeNumber); + } + } + + systable_endscan(scan); + + /* If no such constraint exists, complain */ + if (!OidIsValid(*constraintOid) && !missing_ok) + ereport(ERROR, + (errcode(ERRCODE_UNDEFINED_OBJECT), + errmsg("constraint \"%s\" for table \"%s\" does not exist", + conname, get_rel_name(relid)))); + + heap_close(pg_constraint, AccessShareLock); + + return conattnos; +} + +/* * get_domain_constraint_oid * Find a constraint on the specified domain with the specified name. * Returns constraint's OID. diff -Nru postgresql-9.6-9.6.5/src/backend/commands/analyze.c postgresql-9.6-9.6.6/src/backend/commands/analyze.c --- postgresql-9.6-9.6.5/src/backend/commands/analyze.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/commands/analyze.c 2017-11-06 22:08:55.000000000 +0000 @@ -356,10 +356,14 @@ /* * Determine which columns to analyze * - * Note that system attributes are never analyzed. + * Note that system attributes are never analyzed, so we just reject them + * at the lookup stage. We also reject duplicate column mentions. (We + * could alternatively ignore duplicates, but analyzing a column twice + * won't work; we'd end up making a conflicting update in pg_statistic.) */ if (va_cols != NIL) { + Bitmapset *unique_cols = NULL; ListCell *le; vacattrstats = (VacAttrStats **) palloc(list_length(va_cols) * @@ -375,6 +379,13 @@ (errcode(ERRCODE_UNDEFINED_COLUMN), errmsg("column \"%s\" of relation \"%s\" does not exist", col, RelationGetRelationName(onerel)))); + if (bms_is_member(i, unique_cols)) + ereport(ERROR, + (errcode(ERRCODE_DUPLICATE_COLUMN), + errmsg("column \"%s\" of relation \"%s\" appears more than once", + col, RelationGetRelationName(onerel)))); + unique_cols = bms_add_member(unique_cols, i); + vacattrstats[tcnt] = examine_attribute(onerel, i, NULL); if (vacattrstats[tcnt] != NULL) tcnt++; diff -Nru postgresql-9.6-9.6.5/src/backend/commands/async.c postgresql-9.6-9.6.6/src/backend/commands/async.c --- postgresql-9.6-9.6.5/src/backend/commands/async.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/commands/async.c 2017-11-06 22:08:55.000000000 +0000 @@ -137,7 +137,9 @@ #include "utils/builtins.h" #include "utils/memutils.h" #include "utils/ps_status.h" +#include "utils/snapmgr.h" #include "utils/timestamp.h" +#include "utils/tqual.h" /* @@ -387,7 +389,8 @@ static void asyncQueueReadAllNotifications(void); static bool asyncQueueProcessPageEntries(volatile QueuePosition *current, QueuePosition stop, - char *page_buffer); + char *page_buffer, + Snapshot snapshot); static void asyncQueueAdvanceTail(void); static void ProcessIncomingNotify(void); static bool AsyncExistsPendingNotify(const char *channel, const char *payload); @@ -798,7 +801,7 @@ } } - /* Queue any pending notifies */ + /* Queue any pending notifies (must happen after the above) */ if (pendingNotifies) { ListCell *nextNotify; @@ -987,7 +990,9 @@ * have already committed before we started to LISTEN. * * Note that we are not yet listening on anything, so we won't deliver any - * notification to the frontend. + * notification to the frontend. Also, although our transaction might + * have executed NOTIFY, those message(s) aren't queued yet so we can't + * see them in the queue. * * This will also advance the global tail pointer if possible. */ @@ -1744,6 +1749,7 @@ volatile QueuePosition pos; QueuePosition oldpos; QueuePosition head; + Snapshot snapshot; bool advanceTail; /* page_buffer must be adequately aligned, so use a union */ @@ -1767,6 +1773,9 @@ return; } + /* Get snapshot we'll use to decide which xacts are still in progress */ + snapshot = RegisterSnapshot(GetLatestSnapshot()); + /*---------- * Note that we deliver everything that we see in the queue and that * matches our _current_ listening state. @@ -1854,7 +1863,8 @@ * while sending the notifications to the frontend. */ reachedStop = asyncQueueProcessPageEntries(&pos, head, - page_buffer.buf); + page_buffer.buf, + snapshot); } while (!reachedStop); } PG_CATCH(); @@ -1882,6 +1892,9 @@ /* If we were the laziest backend, try to advance the tail pointer */ if (advanceTail) asyncQueueAdvanceTail(); + + /* Done with snapshot */ + UnregisterSnapshot(snapshot); } /* @@ -1903,7 +1916,8 @@ static bool asyncQueueProcessPageEntries(volatile QueuePosition *current, QueuePosition stop, - char *page_buffer) + char *page_buffer, + Snapshot snapshot) { bool reachedStop = false; bool reachedEndOfPage; @@ -1928,7 +1942,7 @@ /* Ignore messages destined for other databases */ if (qe->dboid == MyDatabaseId) { - if (TransactionIdIsInProgress(qe->xid)) + if (XidInMVCCSnapshot(qe->xid, snapshot)) { /* * The source transaction is still in progress, so we can't @@ -1939,10 +1953,15 @@ * this advance-then-back-up behavior when dealing with an * uncommitted message.) * - * Note that we must test TransactionIdIsInProgress before we - * test TransactionIdDidCommit, else we might return a message - * from a transaction that is not yet visible to snapshots; - * compare the comments at the head of tqual.c. + * Note that we must test XidInMVCCSnapshot before we test + * TransactionIdDidCommit, else we might return a message from + * a transaction that is not yet visible to snapshots; compare + * the comments at the head of tqual.c. + * + * Also, while our own xact won't be listed in the snapshot, + * we need not check for TransactionIdIsCurrentTransactionId + * because our transaction cannot (yet) have queued any + * messages. */ *current = thisentry; reachedStop = true; diff -Nru postgresql-9.6-9.6.5/src/backend/commands/copy.c postgresql-9.6-9.6.6/src/backend/commands/copy.c --- postgresql-9.6-9.6.5/src/backend/commands/copy.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/commands/copy.c 2017-11-06 22:08:55.000000000 +0000 @@ -1802,7 +1802,16 @@ errmsg("relative path not allowed for COPY to file"))); oumask = umask(S_IWGRP | S_IWOTH); - cstate->copy_file = AllocateFile(cstate->filename, PG_BINARY_W); + PG_TRY(); + { + cstate->copy_file = AllocateFile(cstate->filename, PG_BINARY_W); + } + PG_CATCH(); + { + umask(oumask); + PG_RE_THROW(); + } + PG_END_TRY(); umask(oumask); if (cstate->copy_file == NULL) ereport(ERROR, @@ -2344,13 +2353,25 @@ /* * Optimize if new relfilenode was created in this subxact or one of its * committed children and we won't see those rows later as part of an - * earlier scan or command. This ensures that if this subtransaction - * aborts then the frozen rows won't be visible after xact cleanup. Note + * earlier scan or command. The subxact test ensures that if this subxact + * aborts then the frozen rows won't be visible after xact cleanup. Note * that the stronger test of exactly which subtransaction created it is - * crucial for correctness of this optimisation. + * crucial for correctness of this optimisation. The test for an earlier + * scan or command tolerates false negatives. FREEZE causes other sessions + * to see rows they would not see under MVCC, and a false negative merely + * spreads that anomaly to the current session. */ if (cstate->freeze) { + /* + * Tolerate one registration for the benefit of FirstXactSnapshot. + * Scan-bearing queries generally create at least two registrations, + * though relying on that is fragile, as is ignoring ActiveSnapshot. + * Clear CatalogSnapshot to avoid counting its registration. We'll + * still detect ongoing catalog scans, each of which separately + * registers the snapshot it uses. + */ + InvalidateCatalogSnapshot(); if (!ThereAreNoPriorRegisteredSnapshots() || !ThereAreNoReadyPortals()) ereport(ERROR, (errcode(ERRCODE_INVALID_TRANSACTION_STATE), diff -Nru postgresql-9.6-9.6.5/src/backend/commands/trigger.c postgresql-9.6-9.6.6/src/backend/commands/trigger.c --- postgresql-9.6-9.6.5/src/backend/commands/trigger.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/commands/trigger.c 2017-11-06 22:08:55.000000000 +0000 @@ -3433,14 +3433,12 @@ afterTriggerFreeEventList(AfterTriggerEventList *events) { AfterTriggerEventChunk *chunk; - AfterTriggerEventChunk *next_chunk; - for (chunk = events->head; chunk != NULL; chunk = next_chunk) + while ((chunk = events->head) != NULL) { - next_chunk = chunk->next; + events->head = chunk->next; pfree(chunk); } - events->head = NULL; events->tail = NULL; events->tailfree = NULL; } @@ -3484,6 +3482,23 @@ } } +/* ---------- + * afterTriggerDeleteHeadEventChunk() + * + * Remove the first chunk of events from the given event list. + * ---------- + */ +static void +afterTriggerDeleteHeadEventChunk(AfterTriggerEventList *events) +{ + AfterTriggerEventChunk *target = events->head; + + Assert(target && target->next); + + events->head = target->next; + pfree(target); +} + /* ---------- * AfterTriggerExecute() @@ -3853,7 +3868,7 @@ /* * If it's last chunk, must sync event list's tailfree too. Note * that delete_ok must NOT be passed as true if there could be - * stacked AfterTriggerEventList values pointing at this event + * additional AfterTriggerEventList values pointing at this event * list, since we'd fail to fix their copies of tailfree. */ if (chunk == events->tail) @@ -3985,23 +4000,45 @@ * will instead fire any triggers in a dedicated query level. Foreign key * enforcement triggers do add to the current query level, thanks to their * passing fire_triggers = false to SPI_execute_snapshot(). Other - * C-language triggers might do likewise. Be careful here: firing a - * trigger could result in query_stack being repalloc'd, so we can't save - * its address across afterTriggerInvokeEvents calls. + * C-language triggers might do likewise. * * If we find no firable events, we don't have to increment * firing_counter. */ + events = &afterTriggers.query_stack[afterTriggers.query_depth]; + for (;;) { - events = &afterTriggers.query_stack[afterTriggers.query_depth]; if (afterTriggerMarkEvents(events, &afterTriggers.events, true)) { CommandId firing_id = afterTriggers.firing_counter++; + AfterTriggerEventChunk *oldtail = events->tail; - /* OK to delete the immediate events after processing them */ - if (afterTriggerInvokeEvents(events, firing_id, estate, true)) + if (afterTriggerInvokeEvents(events, firing_id, estate, false)) break; /* all fired */ + + /* + * Firing a trigger could result in query_stack being repalloc'd, + * so we must recalculate ptr after each afterTriggerInvokeEvents + * call. Furthermore, it's unsafe to pass delete_ok = true here, + * because that could cause afterTriggerInvokeEvents to try to + * access *events after the stack has been repalloc'd. + */ + events = &afterTriggers.query_stack[afterTriggers.query_depth]; + + /* + * We'll need to scan the events list again. To reduce the cost + * of doing so, get rid of completely-fired chunks. We know that + * all events were marked IN_PROGRESS or DONE at the conclusion of + * afterTriggerMarkEvents, so any still-interesting events must + * have been added after that, and so must be in the chunk that + * was then the tail chunk, or in later chunks. So, zap all + * chunks before oldtail. This is approximately the same set of + * events we would have gotten rid of by passing delete_ok = true. + */ + Assert(oldtail != NULL); + while (events->head != oldtail) + afterTriggerDeleteHeadEventChunk(events); } else break; diff -Nru postgresql-9.6-9.6.5/src/backend/executor/execMain.c postgresql-9.6-9.6.6/src/backend/executor/execMain.c --- postgresql-9.6-9.6.5/src/backend/executor/execMain.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/executor/execMain.c 2017-11-06 22:08:55.000000000 +0000 @@ -1548,10 +1548,7 @@ if (numberTuples || dest->mydest == DestIntoRel) use_parallel_mode = false; - /* - * If a tuple count was supplied, we must force the plan to run without - * parallelism, because we might exit early. - */ + estate->es_use_parallel_mode = use_parallel_mode; if (use_parallel_mode) EnterParallelMode(); diff -Nru postgresql-9.6-9.6.5/src/backend/executor/execUtils.c postgresql-9.6-9.6.6/src/backend/executor/execUtils.c --- postgresql-9.6-9.6.5/src/backend/executor/execUtils.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/executor/execUtils.c 2017-11-06 22:08:55.000000000 +0000 @@ -140,6 +140,8 @@ estate->es_epqTupleSet = NULL; estate->es_epqScanDone = NULL; + estate->es_use_parallel_mode = false; + /* * Return the executor state structure */ diff -Nru postgresql-9.6-9.6.5/src/backend/executor/nodeAgg.c postgresql-9.6-9.6.6/src/backend/executor/nodeAgg.c --- postgresql-9.6-9.6.5/src/backend/executor/nodeAgg.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/executor/nodeAgg.c 2017-11-06 22:08:55.000000000 +0000 @@ -1372,8 +1372,8 @@ { int numFinalArgs = peragg->numFinalArgs; - /* set up aggstate->curpertrans for AggGetAggref() */ - aggstate->curpertrans = pertrans; + /* set up aggstate->curperagg for AggGetAggref() */ + aggstate->curperagg = peragg; InitFunctionCallInfoData(fcinfo, &peragg->finalfn, numFinalArgs, @@ -1406,7 +1406,7 @@ *resultVal = FunctionCallInvoke(&fcinfo); *resultIsNull = fcinfo.isnull; } - aggstate->curpertrans = NULL; + aggstate->curperagg = NULL; } else { @@ -2391,6 +2391,7 @@ aggstate->current_set = 0; aggstate->peragg = NULL; aggstate->pertrans = NULL; + aggstate->curperagg = NULL; aggstate->curpertrans = NULL; aggstate->input_done = false; aggstate->agg_done = false; @@ -2659,27 +2660,29 @@ * * Scenarios: * - * 1. An aggregate function appears more than once in query: + * 1. Identical aggregate function calls appear in the query: * * SELECT SUM(x) FROM ... HAVING SUM(x) > 0 * - * Since the aggregates are the identical, we only need to calculate - * the calculate it once. Both aggregates will share the same 'aggno' - * value. + * Since these aggregates are identical, we only need to calculate + * the value once. Both aggregates will share the same 'aggno' value. * * 2. Two different aggregate functions appear in the query, but the - * aggregates have the same transition function and initial value, but - * different final function: + * aggregates have the same arguments, transition functions and + * initial values (and, presumably, different final functions): * - * SELECT SUM(x), AVG(x) FROM ... + * SELECT AVG(x), STDDEV(x) FROM ... * * In this case we must create a new peragg for the varying aggregate, - * and need to call the final functions separately, but can share the - * same transition state. + * and we need to call the final functions separately, but we need + * only run the transition function once. (This requires that the + * final functions be nondestructive of the transition state, but + * that's required anyway for other reasons.) * - * For either of these optimizations to be valid, the aggregate's - * arguments must be the same, including any modifiers such as ORDER BY, - * DISTINCT and FILTER, and they mustn't contain any volatile functions. + * For either of these optimizations to be valid, all aggregate properties + * used in the transition phase must be the same, including any modifiers + * such as ORDER BY, DISTINCT and FILTER, and the arguments mustn't + * contain any volatile functions. * ----------------- */ aggno = -1; @@ -3287,7 +3290,7 @@ * * As a side-effect, this also collects a list of existing per-Trans structs * with matching inputs. If no identical Aggref is found, the list is passed - * later to find_compatible_perstate, to see if we can at least reuse the + * later to find_compatible_pertrans, to see if we can at least reuse the * state value of another aggregate. */ static int @@ -3307,11 +3310,12 @@ /* * Search through the list of already seen aggregates. If we find an - * existing aggregate with the same aggregate function and input - * parameters as an existing one, then we can re-use that one. While + * existing identical aggregate call, then we can re-use that one. While * searching, we'll also collect a list of Aggrefs with the same input * parameters. If no matching Aggref is found, the caller can potentially - * still re-use the transition state of one of them. + * still re-use the transition state of one of them. (At this stage we + * just compare the parsetrees; whether different aggregates share the + * same transition function will be checked later.) */ for (aggno = 0; aggno <= lastaggno; aggno++) { @@ -3360,7 +3364,7 @@ * struct * * Searches the list of transnos for a per-Trans struct with the same - * transition state and initial condition. (The inputs have already been + * transition function and initial condition. (The inputs have already been * verified to match.) */ static int @@ -3372,6 +3376,16 @@ { ListCell *lc; + /* + * For the moment, never try to share transition states between different + * ordered-set aggregates. This is necessary because the finalfns of the + * built-in OSAs (see orderedsetaggs.c) are destructive of their + * transition states. We should fix them so we can allow this, but not + * losing performance in the normal non-shared case will take some work. + */ + if (AGGKIND_IS_ORDERED_SET(newagg->aggkind)) + return -1; + foreach(lc, transnos) { int transno = lfirst_int(lc); @@ -3396,16 +3410,16 @@ aggdeserialfn != pertrans->deserialfn_oid) continue; - /* Check that the initial condition matches, too. */ + /* + * Check that the initial condition matches, too. + */ if (initValueIsNull && pertrans->initValueIsNull) return transno; if (!initValueIsNull && !pertrans->initValueIsNull && datumIsEqual(initValue, pertrans->initValue, pertrans->transtypeByVal, pertrans->transtypeLen)) - { return transno; - } } return -1; } @@ -3618,6 +3632,13 @@ * If the function is being called as an aggregate support function, * return the Aggref node for the aggregate call. Otherwise, return NULL. * + * Aggregates sharing the same inputs and transition functions can get + * merged into a single transition calculation. If the transition function + * calls AggGetAggref, it will get some one of the Aggrefs for which it is + * executing. It must therefore not pay attention to the Aggref fields that + * relate to the final function, as those are indeterminate. But if a final + * function calls AggGetAggref, it will get a precise result. + * * Note that if an aggregate is being used as a window function, this will * return NULL. We could provide a similar function to return the relevant * WindowFunc node in such cases, but it's not needed yet. @@ -3627,8 +3648,16 @@ { if (fcinfo->context && IsA(fcinfo->context, AggState)) { + AggStatePerAgg curperagg; AggStatePerTrans curpertrans; + /* check curperagg (valid when in a final function) */ + curperagg = ((AggState *) fcinfo->context)->curperagg; + + if (curperagg) + return curperagg->aggref; + + /* check curpertrans (valid when in a transition function) */ curpertrans = ((AggState *) fcinfo->context)->curpertrans; if (curpertrans) diff -Nru postgresql-9.6-9.6.5/src/backend/executor/nodeGather.c postgresql-9.6-9.6.6/src/backend/executor/nodeGather.c --- postgresql-9.6-9.6.5/src/backend/executor/nodeGather.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/executor/nodeGather.c 2017-11-06 22:08:55.000000000 +0000 @@ -150,7 +150,7 @@ * Sometimes we might have to run without parallelism; but if parallel * mode is active then we can try to fire up some workers. */ - if (gather->num_workers > 0 && IsInParallelMode()) + if (gather->num_workers > 0 && estate->es_use_parallel_mode) { ParallelContext *pcxt; diff -Nru postgresql-9.6-9.6.5/src/backend/executor/spi.c postgresql-9.6-9.6.6/src/backend/executor/spi.c --- postgresql-9.6-9.6.5/src/backend/executor/spi.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/executor/spi.c 2017-11-06 22:08:55.000000000 +0000 @@ -72,8 +72,8 @@ static SPIPlanPtr _SPI_make_plan_non_temp(SPIPlanPtr plan); static SPIPlanPtr _SPI_save_plan(SPIPlanPtr plan); -static int _SPI_begin_call(bool execmem); -static int _SPI_end_call(bool procmem); +static int _SPI_begin_call(bool use_exec); +static int _SPI_end_call(bool use_exec); static MemoryContext _SPI_execmem(void); static MemoryContext _SPI_procmem(void); static bool _SPI_checktuples(void); @@ -127,6 +127,7 @@ _SPI_current->processed = 0; _SPI_current->lastoid = InvalidOid; _SPI_current->tuptable = NULL; + _SPI_current->execSubid = InvalidSubTransactionId; slist_init(&_SPI_current->tuptables); _SPI_current->procCxt = NULL; /* in case we fail to create 'em */ _SPI_current->execCxt = NULL; @@ -157,7 +158,7 @@ { int res; - res = _SPI_begin_call(false); /* live in procedure memory */ + res = _SPI_begin_call(false); /* just check we're connected */ if (res < 0) return res; @@ -282,8 +283,15 @@ { slist_mutable_iter siter; - /* free Executor memory the same as _SPI_end_call would do */ - MemoryContextResetAndDeleteChildren(_SPI_current->execCxt); + /* + * Throw away executor state if current executor operation was started + * within current subxact (essentially, force a _SPI_end_call(true)). + */ + if (_SPI_current->execSubid >= mySubid) + { + _SPI_current->execSubid = InvalidSubTransactionId; + MemoryContextResetAndDeleteChildren(_SPI_current->execCxt); + } /* throw away any tuple tables created within current subxact */ slist_foreach_modify(siter, &_SPI_current->tuptables) @@ -307,8 +315,6 @@ MemoryContextDelete(tuptable->tuptabcxt); } } - /* in particular we should have gotten rid of any in-progress table */ - Assert(_SPI_current->tuptable == NULL); } } @@ -2529,9 +2535,13 @@ /* * _SPI_begin_call: begin a SPI operation within a connected procedure + * + * use_exec is true if we intend to make use of the procedure's execCxt + * during this SPI operation. We'll switch into that context, and arrange + * for it to be cleaned up at _SPI_end_call or if an error occurs. */ static int -_SPI_begin_call(bool execmem) +_SPI_begin_call(bool use_exec) { if (_SPI_curid + 1 != _SPI_connected) return SPI_ERROR_UNCONNECTED; @@ -2539,8 +2549,13 @@ if (_SPI_current != &(_SPI_stack[_SPI_curid])) elog(ERROR, "SPI stack corrupted"); - if (execmem) /* switch to the Executor memory context */ + if (use_exec) + { + /* remember when the Executor operation started */ + _SPI_current->execSubid = GetCurrentSubTransactionId(); + /* switch to the Executor memory context */ _SPI_execmem(); + } return 0; } @@ -2548,19 +2563,24 @@ /* * _SPI_end_call: end a SPI operation within a connected procedure * + * use_exec must be the same as in the previous _SPI_begin_call + * * Note: this currently has no failure return cases, so callers don't check */ static int -_SPI_end_call(bool procmem) +_SPI_end_call(bool use_exec) { /* * We're returning to procedure where _SPI_curid == _SPI_connected - 1 */ _SPI_curid--; - if (procmem) /* switch to the procedure memory context */ + if (use_exec) { + /* switch to the procedure memory context */ _SPI_procmem(); + /* mark Executor context no longer in use */ + _SPI_current->execSubid = InvalidSubTransactionId; /* and free Executor memory */ MemoryContextResetAndDeleteChildren(_SPI_current->execCxt); } diff -Nru postgresql-9.6-9.6.5/src/backend/libpq/be-fsstubs.c postgresql-9.6-9.6.6/src/backend/libpq/be-fsstubs.c --- postgresql-9.6-9.6.5/src/backend/libpq/be-fsstubs.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/libpq/be-fsstubs.c 2017-11-06 22:08:55.000000000 +0000 @@ -538,8 +538,17 @@ */ text_to_cstring_buffer(filename, fnamebuf, sizeof(fnamebuf)); oumask = umask(S_IWGRP | S_IWOTH); - fd = OpenTransientFile(fnamebuf, O_CREAT | O_WRONLY | O_TRUNC | PG_BINARY, - S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); + PG_TRY(); + { + fd = OpenTransientFile(fnamebuf, O_CREAT | O_WRONLY | O_TRUNC | PG_BINARY, + S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); + } + PG_CATCH(); + { + umask(oumask); + PG_RE_THROW(); + } + PG_END_TRY(); umask(oumask); if (fd < 0) ereport(ERROR, diff -Nru postgresql-9.6-9.6.5/src/backend/libpq/hba.c postgresql-9.6-9.6.6/src/backend/libpq/hba.c --- postgresql-9.6-9.6.5/src/backend/libpq/hba.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/libpq/hba.c 2017-11-06 22:08:55.000000000 +0000 @@ -141,42 +141,32 @@ { int c; char *start_buf = buf; - char *end_buf = buf + (bufsz - 2); + char *end_buf = buf + (bufsz - 1); bool in_quote = false; bool was_quote = false; bool saw_quote = false; - /* end_buf reserves two bytes to ensure we can append \n and \0 */ Assert(end_buf > start_buf); *initial_quote = false; *terminating_comma = false; - /* Move over initial whitespace and commas */ + /* Move over any whitespace and commas preceding the next token */ while ((c = (*(*lineptr)++)) != '\0' && (pg_isblank(c) || c == ',')) ; - if (c == '\0' || c == '\n') - { - *buf = '\0'; - return false; - } - /* - * Build a token in buf of next characters up to EOF, EOL, unquoted comma, - * or unquoted whitespace. + * Build a token in buf of next characters up to EOL, unquoted comma, or + * unquoted whitespace. */ - while (c != '\0' && c != '\n' && + while (c != '\0' && (!pg_isblank(c) || in_quote)) { /* skip comments to EOL */ if (c == '#' && !in_quote) { - while ((c = (*(*lineptr)++)) != '\0' && c != '\n') + while ((c = (*(*lineptr)++)) != '\0') ; - /* If only comment, consume EOL too; return EOL */ - if (c != '\0' && buf == start_buf) - (*lineptr)++; break; } @@ -188,12 +178,12 @@ errmsg("authentication file token too long, skipping: \"%s\"", start_buf))); /* Discard remainder of line */ - while ((c = (*(*lineptr)++)) != '\0' && c != '\n') + while ((c = (*(*lineptr)++)) != '\0') ; break; } - /* we do not pass back the comma in the token */ + /* we do not pass back a terminating comma in the token */ if (c == ',' && !in_quote) { *terminating_comma = true; @@ -221,8 +211,8 @@ } /* - * Put back the char right after the token (critical in case it is EOL, - * since we need to detect end-of-line at next call). + * Un-eat the char right after the token (critical in case it is '\0', + * else next call will read past end of string). */ (*lineptr)--; diff -Nru postgresql-9.6-9.6.5/src/backend/optimizer/plan/analyzejoins.c postgresql-9.6-9.6.6/src/backend/optimizer/plan/analyzejoins.c --- postgresql-9.6-9.6.5/src/backend/optimizer/plan/analyzejoins.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/optimizer/plan/analyzejoins.c 2017-11-06 22:08:55.000000000 +0000 @@ -618,6 +618,14 @@ var = (Var *) get_leftop(rinfo->clause); /* + * We may ignore any RelabelType node above the operand. (There + * won't be more than one, since eval_const_expressions() has been + * applied already.) + */ + if (var && IsA(var, RelabelType)) + var = (Var *) ((RelabelType *) var)->arg; + + /* * If inner side isn't a Var referencing a subquery output column, * this clause doesn't help us. */ diff -Nru postgresql-9.6-9.6.5/src/backend/optimizer/plan/setrefs.c postgresql-9.6-9.6.6/src/backend/optimizer/plan/setrefs.c --- postgresql-9.6-9.6.5/src/backend/optimizer/plan/setrefs.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/optimizer/plan/setrefs.c 2017-11-06 22:08:55.000000000 +0000 @@ -1687,8 +1687,8 @@ TargetEntry *tle = (TargetEntry *) lfirst(l); Node *newexpr; - /* If it's a non-Var sort/group item, first try to match by sortref */ - if (tle->ressortgroupref != 0 && !IsA(tle->expr, Var)) + /* If it's a sort/group item, first try to match by sortref */ + if (tle->ressortgroupref != 0) { newexpr = (Node *) search_indexed_tlist_for_sortgroupref((Node *) tle->expr, @@ -2049,7 +2049,6 @@ /* * search_indexed_tlist_for_sortgroupref --- find a sort/group expression - * (which is assumed not to be just a Var) * * If a match is found, return a Var constructed to reference the tlist item. * If no match, return NULL. diff -Nru postgresql-9.6-9.6.5/src/backend/parser/parse_clause.c postgresql-9.6-9.6.6/src/backend/parser/parse_clause.c --- postgresql-9.6-9.6.5/src/backend/parser/parse_clause.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/parser/parse_clause.c 2017-11-06 22:08:55.000000000 +0000 @@ -2910,9 +2910,26 @@ pstate->p_namespace = save_namespace; + /* + * If the arbiter is specified by constraint name, get the constraint + * OID and mark the constrained columns as requiring SELECT privilege, + * in the same way as would have happened if the arbiter had been + * specified by explicit reference to the constraint's index columns. + */ if (infer->conname) - *constraint = get_relation_constraint_oid(RelationGetRelid(pstate->p_target_relation), - infer->conname, false); + { + Oid relid = RelationGetRelid(pstate->p_target_relation); + RangeTblEntry *rte = pstate->p_target_rangetblentry; + Bitmapset *conattnos; + + conattnos = get_relation_constraint_attnos(relid, infer->conname, + false, constraint); + + /* Make sure the rel as a whole is marked for SELECT access */ + rte->requiredPerms |= ACL_SELECT; + /* Mark the constrained columns as requiring SELECT access */ + rte->selectedCols = bms_add_members(rte->selectedCols, conattnos); + } } /* diff -Nru postgresql-9.6-9.6.5/src/backend/parser/parse_relation.c postgresql-9.6-9.6.6/src/backend/parser/parse_relation.c --- postgresql-9.6-9.6.5/src/backend/parser/parse_relation.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/parser/parse_relation.c 2017-11-06 22:08:55.000000000 +0000 @@ -2012,13 +2012,22 @@ varattno++; Assert(varattno == te->resno); + /* + * In scenarios where columns have been added to a view + * since the outer query was originally parsed, there can + * be more items in the subquery tlist than the outer + * query expects. We should ignore such extra column(s) + * --- compare the behavior for composite-returning + * functions, in the RTE_FUNCTION case below. + */ + if (!aliasp_item) + break; + if (colnames) { - /* Assume there is one alias per target item */ char *label = strVal(lfirst(aliasp_item)); *colnames = lappend(*colnames, makeString(pstrdup(label))); - aliasp_item = lnext(aliasp_item); } if (colvars) @@ -2034,6 +2043,8 @@ *colvars = lappend(*colvars, varnode); } + + aliasp_item = lnext(aliasp_item); } } break; diff -Nru postgresql-9.6-9.6.5/src/backend/po/de.po postgresql-9.6-9.6.6/src/backend/po/de.po --- postgresql-9.6-9.6.5/src/backend/po/de.po 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/po/de.po 2017-11-06 22:08:55.000000000 +0000 @@ -7,8 +7,8 @@ msgstr "" "Project-Id-Version: PostgreSQL 9.6\n" "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n" -"POT-Creation-Date: 2017-08-23 18:48+0000\n" -"PO-Revision-Date: 2017-08-27 11:58-0400\n" +"POT-Creation-Date: 2017-11-03 16:47+0000\n" +"PO-Revision-Date: 2017-09-28 11:38-0400\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: de\n" @@ -25,7 +25,7 @@ msgid "not recorded" msgstr "nicht aufgezeichnet" -#: ../common/controldata_utils.c:52 commands/copy.c:2834 +#: ../common/controldata_utils.c:52 commands/copy.c:2843 #: commands/extension.c:3144 utils/adt/genfile.c:134 #, c-format msgid "could not open file \"%s\" for reading: %m" @@ -42,9 +42,9 @@ #: access/transam/xlog.c:10904 access/transam/xlog.c:10943 #: access/transam/xlog.c:10986 access/transam/xlogfuncs.c:660 #: access/transam/xlogfuncs.c:679 commands/extension.c:3154 -#: replication/logical/origin.c:668 replication/logical/origin.c:698 +#: replication/logical/origin.c:672 replication/logical/origin.c:702 #: replication/logical/reorderbuffer.c:3100 replication/walsender.c:504 -#: storage/file/copydir.c:176 utils/adt/genfile.c:151 +#: storage/file/copydir.c:202 utils/adt/genfile.c:151 #, c-format msgid "could not read file \"%s\": %m" msgstr "konnte Datei »%s« nicht lesen: %m" @@ -153,10 +153,9 @@ msgstr "konnte Verzeichnis »%s« nicht schließen: %s\n" #: ../common/psprintf.c:179 ../port/path.c:630 ../port/path.c:668 -#: ../port/path.c:685 access/transam/twophase.c:1262 -#: access/transam/xlog.c:6114 lib/stringinfo.c:258 libpq/auth.c:864 -#: libpq/auth.c:1227 libpq/auth.c:1295 libpq/auth.c:1811 -#: postmaster/bgworker.c:310 postmaster/bgworker.c:813 +#: ../port/path.c:685 access/transam/twophase.c:1262 access/transam/xlog.c:6114 +#: lib/stringinfo.c:258 libpq/auth.c:864 libpq/auth.c:1227 libpq/auth.c:1295 +#: libpq/auth.c:1811 postmaster/bgworker.c:310 postmaster/bgworker.c:813 #: postmaster/postmaster.c:2357 postmaster/postmaster.c:2388 #: postmaster/postmaster.c:3922 postmaster/postmaster.c:4620 #: postmaster/postmaster.c:4695 postmaster/postmaster.c:5368 @@ -291,8 +290,7 @@ msgid "could not determine encoding for codeset \"%s\"" msgstr "konnte Kodierung für Codeset »%s« nicht bestimmen" -#: ../port/chklocale.c:294 ../port/chklocale.c:423 -#: postmaster/postmaster.c:4899 +#: ../port/chklocale.c:294 ../port/chklocale.c:423 postmaster/postmaster.c:4899 #, c-format msgid "Please report this to ." msgstr "Bitte berichten Sie das an ." @@ -380,8 +378,8 @@ msgid "could not open parent table of index %s" msgstr "konnte Basistabelle von Index %s nicht öffnen" -#: access/brin/brin_pageops.c:76 access/brin/brin_pageops.c:360 -#: access/brin/brin_pageops.c:824 access/gin/ginentrypage.c:109 +#: access/brin/brin_pageops.c:76 access/brin/brin_pageops.c:366 +#: access/brin/brin_pageops.c:830 access/gin/ginentrypage.c:109 #: access/gist/gist.c:1337 access/nbtree/nbtinsert.c:576 #: access/nbtree/nbtsort.c:488 access/spgist/spgdoinsert.c:1907 #, c-format @@ -617,11 +615,11 @@ msgid "This is caused by an incomplete page split at crash recovery before upgrading to PostgreSQL 9.1." msgstr "Das kommt von einem unvollständigen Page-Split bei der Crash-Recovery vor dem Upgrade auf PostgreSQL 9.1." -#: access/gist/gist.c:683 access/gist/gistutil.c:738 -#: access/gist/gistutil.c:749 access/gist/gistvacuum.c:261 -#: access/hash/hashutil.c:172 access/hash/hashutil.c:183 -#: access/hash/hashutil.c:195 access/hash/hashutil.c:216 -#: access/nbtree/nbtpage.c:518 access/nbtree/nbtpage.c:529 +#: access/gist/gist.c:683 access/gist/gistutil.c:738 access/gist/gistutil.c:749 +#: access/gist/gistvacuum.c:261 access/hash/hashutil.c:172 +#: access/hash/hashutil.c:183 access/hash/hashutil.c:195 +#: access/hash/hashutil.c:216 access/nbtree/nbtpage.c:518 +#: access/nbtree/nbtpage.c:529 #, c-format msgid "Please REINDEX it." msgstr "Bitte führen Sie REINDEX für den Index aus." @@ -753,7 +751,7 @@ msgstr "Versuch ein unsichtbares Tupel zu aktualisieren" #: access/heap/heapam.c:4964 access/heap/heapam.c:5002 -#: access/heap/heapam.c:5254 executor/execMain.c:2314 +#: access/heap/heapam.c:5254 executor/execMain.c:2311 #, c-format msgid "could not obtain lock on row in relation \"%s\"" msgstr "konnte Sperre für Zeile in Relation »%s« nicht setzen" @@ -784,8 +782,8 @@ #: access/transam/xlog.c:3049 access/transam/xlog.c:3198 #: access/transam/xlog.c:10209 access/transam/xlog.c:10247 #: access/transam/xlog.c:10636 postmaster/postmaster.c:4387 -#: replication/logical/origin.c:542 replication/slot.c:1062 -#: storage/file/copydir.c:162 storage/smgr/md.c:327 utils/time/snapmgr.c:1275 +#: replication/logical/origin.c:546 replication/slot.c:1062 +#: storage/file/copydir.c:176 storage/smgr/md.c:327 utils/time/snapmgr.c:1275 #, c-format msgid "could not create file \"%s\": %m" msgstr "konnte Datei »%s« nicht erstellen: %m" @@ -805,9 +803,9 @@ #: access/transam/timeline.c:401 access/transam/timeline.c:477 #: access/transam/xlog.c:3084 access/transam/xlog.c:3248 #: postmaster/postmaster.c:4397 postmaster/postmaster.c:4407 -#: replication/logical/origin.c:551 replication/logical/origin.c:590 -#: replication/logical/origin.c:606 replication/logical/snapbuild.c:1589 -#: replication/slot.c:1091 storage/file/copydir.c:187 +#: replication/logical/origin.c:555 replication/logical/origin.c:594 +#: replication/logical/origin.c:610 replication/logical/snapbuild.c:1589 +#: replication/slot.c:1091 storage/file/copydir.c:213 #: utils/init/miscinit.c:1228 utils/init/miscinit.c:1237 #: utils/init/miscinit.c:1244 utils/misc/guc.c:6846 utils/misc/guc.c:6877 #: utils/misc/guc.c:8727 utils/misc/guc.c:8741 utils/time/snapmgr.c:1280 @@ -818,7 +816,7 @@ #: access/heap/rewriteheap.c:1248 access/transam/xlog.c:10471 #: access/transam/xlogarchive.c:114 access/transam/xlogarchive.c:468 -#: replication/logical/origin.c:529 replication/logical/reorderbuffer.c:2633 +#: replication/logical/origin.c:533 replication/logical/reorderbuffer.c:2633 #: replication/logical/reorderbuffer.c:2690 #: replication/logical/snapbuild.c:1538 replication/logical/snapbuild.c:1901 #: replication/slot.c:1164 storage/ipc/dsm.c:326 storage/smgr/md.c:427 @@ -833,12 +831,12 @@ #: access/transam/xlog.c:3183 access/transam/xlog.c:3456 #: access/transam/xlog.c:3534 access/transam/xlogutils.c:701 #: replication/basebackup.c:403 replication/basebackup.c:1150 -#: replication/logical/origin.c:661 replication/logical/reorderbuffer.c:2156 +#: replication/logical/origin.c:665 replication/logical/reorderbuffer.c:2156 #: replication/logical/reorderbuffer.c:2403 #: replication/logical/reorderbuffer.c:3082 #: replication/logical/snapbuild.c:1582 replication/logical/snapbuild.c:1666 #: replication/slot.c:1179 replication/walsender.c:479 -#: replication/walsender.c:2144 storage/file/copydir.c:155 +#: replication/walsender.c:2144 storage/file/copydir.c:169 #: storage/file/fd.c:614 storage/file/fd.c:3041 storage/file/fd.c:3108 #: storage/smgr/md.c:609 utils/error/elog.c:1879 utils/init/miscinit.c:1163 #: utils/init/miscinit.c:1284 utils/init/miscinit.c:1362 utils/misc/guc.c:7105 @@ -950,7 +948,7 @@ msgid "Make sure the configuration parameter \"%s\" is set on the master server." msgstr "Stellen Sie sicher, dass der Konfigurationsparameter »%s« auf dem Masterserver gesetzt ist." -#: access/transam/commit_ts.c:396 libpq/hba.c:1439 +#: access/transam/commit_ts.c:396 libpq/hba.c:1429 #, c-format msgid "Make sure the configuration parameter \"%s\" is set." msgstr "Stellen Sie sicher, dass der Konfigurationsparameter »%s« gesetzt ist." @@ -1079,26 +1077,26 @@ msgid "invalid MultiXactId: %u" msgstr "ungültige MultiXactId: %u" -#: access/transam/parallel.c:610 +#: access/transam/parallel.c:614 #, c-format msgid "postmaster exited during a parallel transaction" msgstr "Postmaster beendete während einer parallelen Transaktion" -#: access/transam/parallel.c:799 +#: access/transam/parallel.c:803 #, c-format msgid "lost connection to parallel worker" msgstr "Verbindung mit parallelem Arbeitsprozess verloren" -#: access/transam/parallel.c:858 access/transam/parallel.c:860 +#: access/transam/parallel.c:862 access/transam/parallel.c:864 msgid "parallel worker" msgstr "paralleler Arbeitsprozess" -#: access/transam/parallel.c:1001 +#: access/transam/parallel.c:1005 #, c-format msgid "could not map dynamic shared memory segment" msgstr "konnte dynamisches Shared-Memory-Segment nicht mappen" -#: access/transam/parallel.c:1006 +#: access/transam/parallel.c:1010 #, c-format msgid "invalid magic number in dynamic shared memory segment" msgstr "ungültige magische Zahl in dynamischem Shared-Memory-Segment" @@ -1193,7 +1191,7 @@ #: access/transam/timeline.c:412 access/transam/timeline.c:488 #: access/transam/xlog.c:3099 access/transam/xlog.c:3260 #: access/transam/xlogfuncs.c:685 commands/copy.c:1709 -#: storage/file/copydir.c:201 +#: storage/file/copydir.c:223 #, c-format msgid "could not close file \"%s\": %m" msgstr "konnte Datei »%s« nicht schließen: %m" @@ -1816,15 +1814,15 @@ msgid "parameter \"%s\" requires a temporal value" msgstr "Parameter »%s« erfordert einen Zeitwert" -#: access/transam/xlog.c:5187 catalog/dependency.c:990 -#: catalog/dependency.c:991 catalog/dependency.c:997 catalog/dependency.c:998 -#: catalog/dependency.c:1009 catalog/dependency.c:1010 -#: catalog/objectaddress.c:1100 commands/tablecmds.c:796 -#: commands/tablecmds.c:9556 commands/user.c:1045 commands/view.c:499 -#: libpq/auth.c:307 replication/syncrep.c:929 storage/lmgr/deadlock.c:1139 -#: storage/lmgr/proc.c:1278 utils/adt/acl.c:5281 utils/misc/guc.c:5662 -#: utils/misc/guc.c:5755 utils/misc/guc.c:9708 utils/misc/guc.c:9742 -#: utils/misc/guc.c:9776 utils/misc/guc.c:9810 utils/misc/guc.c:9845 +#: access/transam/xlog.c:5187 catalog/dependency.c:990 catalog/dependency.c:991 +#: catalog/dependency.c:997 catalog/dependency.c:998 catalog/dependency.c:1009 +#: catalog/dependency.c:1010 catalog/objectaddress.c:1100 +#: commands/tablecmds.c:796 commands/tablecmds.c:9556 commands/user.c:1045 +#: commands/view.c:499 libpq/auth.c:307 replication/syncrep.c:929 +#: storage/lmgr/deadlock.c:1139 storage/lmgr/proc.c:1278 utils/adt/acl.c:5283 +#: utils/misc/guc.c:5662 utils/misc/guc.c:5755 utils/misc/guc.c:9701 +#: utils/misc/guc.c:9735 utils/misc/guc.c:9769 utils/misc/guc.c:9803 +#: utils/misc/guc.c:9838 #, c-format msgid "%s" msgstr "%s" @@ -2373,15 +2371,14 @@ msgstr "Ziel für symbolische Verknüpfung »%s« ist zu lang" #: access/transam/xlog.c:10153 commands/tablespace.c:391 -#: commands/tablespace.c:553 replication/basebackup.c:1047 -#: utils/adt/misc.c:511 +#: commands/tablespace.c:553 replication/basebackup.c:1047 utils/adt/misc.c:511 #, c-format msgid "tablespaces are not supported on this platform" msgstr "Tablespaces werden auf dieser Plattform nicht unterstützt" #: access/transam/xlog.c:10194 access/transam/xlog.c:10232 #: access/transam/xlog.c:10441 access/transam/xlogarchive.c:106 -#: access/transam/xlogarchive.c:265 commands/copy.c:1816 commands/copy.c:2840 +#: access/transam/xlogarchive.c:265 commands/copy.c:1825 commands/copy.c:2849 #: commands/extension.c:3133 commands/tablespace.c:782 #: commands/tablespace.c:873 guc-file.l:1001 replication/basebackup.c:409 #: replication/basebackup.c:477 replication/logical/snapbuild.c:1496 @@ -2493,7 +2490,7 @@ msgstr "Datei »%s« wurde in »%s« umbenannt, aber Datei »%s« konnte nicht in »%s« umbenannt werden: %m." #: access/transam/xlog.c:11209 access/transam/xlogutils.c:718 -#: replication/walreceiver.c:994 replication/walsender.c:2156 +#: replication/walreceiver.c:999 replication/walsender.c:2156 #, c-format msgid "could not seek in log segment %s to offset %u: %m" msgstr "konnte Positionszeiger von Logsegment %s nicht auf %u setzen: %m" @@ -2593,7 +2590,7 @@ #: commands/extension.c:1841 commands/extension.c:2034 commands/prepare.c:702 #: executor/execQual.c:1757 executor/execQual.c:1782 executor/execQual.c:2157 #: executor/execQual.c:5438 executor/functions.c:1031 foreign/foreign.c:492 -#: replication/logical/logicalfuncs.c:175 replication/logical/origin.c:1394 +#: replication/logical/logicalfuncs.c:175 replication/logical/origin.c:1398 #: replication/slotfuncs.c:189 replication/walsender.c:2882 #: utils/adt/jsonfuncs.c:1483 utils/adt/jsonfuncs.c:1613 #: utils/adt/jsonfuncs.c:1801 utils/adt/jsonfuncs.c:1928 @@ -2608,7 +2605,7 @@ #: commands/event_trigger.c:2000 commands/extension.c:1736 #: commands/extension.c:1845 commands/extension.c:2038 commands/prepare.c:706 #: foreign/foreign.c:497 replication/logical/logicalfuncs.c:179 -#: replication/logical/origin.c:1398 replication/slotfuncs.c:193 +#: replication/logical/origin.c:1402 replication/slotfuncs.c:193 #: replication/walsender.c:2886 utils/adt/pgstatfuncs.c:558 #: utils/adt/pgstatfuncs.c:659 utils/misc/guc.c:8440 utils/misc/pg_config.c:44 #: utils/mmgr/portalmem.c:1092 @@ -2798,12 +2795,12 @@ msgid "could not read from log segment %s, offset %u, length %lu: %m" msgstr "konnte nicht aus Logsegment %s bei Position %u, Länge %lu lesen: %m" -#: bootstrap/bootstrap.c:269 postmaster/postmaster.c:811 tcop/postgres.c:3499 +#: bootstrap/bootstrap.c:269 postmaster/postmaster.c:811 tcop/postgres.c:3497 #, c-format msgid "--%s requires a value" msgstr "--%s benötigt einen Wert" -#: bootstrap/bootstrap.c:274 postmaster/postmaster.c:816 tcop/postgres.c:3504 +#: bootstrap/bootstrap.c:274 postmaster/postmaster.c:816 tcop/postgres.c:3502 #, c-format msgid "-c %s requires a value" msgstr "-c %s benötigt einen Wert" @@ -2977,24 +2974,24 @@ msgid "default privileges cannot be set for columns" msgstr "Vorgabeprivilegien können nicht für Spalten gesetzt werden" -#: catalog/aclchk.c:1502 catalog/objectaddress.c:1390 commands/analyze.c:376 -#: commands/copy.c:4459 commands/sequence.c:1491 commands/tablecmds.c:5211 +#: catalog/aclchk.c:1502 catalog/objectaddress.c:1390 commands/analyze.c:380 +#: commands/copy.c:4468 commands/sequence.c:1491 commands/tablecmds.c:5211 #: commands/tablecmds.c:5317 commands/tablecmds.c:5377 #: commands/tablecmds.c:5490 commands/tablecmds.c:5547 #: commands/tablecmds.c:5641 commands/tablecmds.c:5737 #: commands/tablecmds.c:7929 commands/tablecmds.c:8191 #: commands/tablecmds.c:8611 commands/trigger.c:642 parser/analyze.c:2228 -#: parser/parse_relation.c:2628 parser/parse_relation.c:2690 -#: parser/parse_target.c:951 parser/parse_type.c:127 utils/adt/acl.c:2840 +#: parser/parse_relation.c:2639 parser/parse_relation.c:2701 +#: parser/parse_target.c:951 parser/parse_type.c:127 utils/adt/acl.c:2842 #: utils/adt/ruleutils.c:1987 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" msgstr "Spalte »%s« von Relation »%s« existiert nicht" #: catalog/aclchk.c:1771 catalog/objectaddress.c:1203 commands/sequence.c:1078 -#: commands/tablecmds.c:224 commands/tablecmds.c:12168 utils/adt/acl.c:2076 -#: utils/adt/acl.c:2106 utils/adt/acl.c:2138 utils/adt/acl.c:2170 -#: utils/adt/acl.c:2198 utils/adt/acl.c:2228 +#: commands/tablecmds.c:224 commands/tablecmds.c:12168 utils/adt/acl.c:2078 +#: utils/adt/acl.c:2108 utils/adt/acl.c:2140 utils/adt/acl.c:2172 +#: utils/adt/acl.c:2200 utils/adt/acl.c:2230 #, c-format msgid "\"%s\" is not a sequence" msgstr "»%s« ist keine Sequenz" @@ -3483,9 +3480,8 @@ #: commands/indexcmds.c:1133 commands/view.c:103 regex/regc_pg_locale.c:262 #: utils/adt/formatting.c:1513 utils/adt/formatting.c:1565 #: utils/adt/formatting.c:1633 utils/adt/formatting.c:1685 -#: utils/adt/formatting.c:1754 utils/adt/formatting.c:1818 -#: utils/adt/like.c:213 utils/adt/selfuncs.c:5434 utils/adt/varlena.c:1421 -#: utils/adt/varlena.c:1826 +#: utils/adt/formatting.c:1754 utils/adt/formatting.c:1818 utils/adt/like.c:213 +#: utils/adt/selfuncs.c:5434 utils/adt/varlena.c:1421 utils/adt/varlena.c:1826 #, c-format msgid "Use the COLLATE clause to set the collation explicitly." msgstr "Verwenden Sie die COLLATE-Klausel, um die Sortierfolge explizit zu setzen." @@ -3651,7 +3647,7 @@ msgstr "Index »%s« wurde neu indiziert" #: catalog/namespace.c:249 catalog/namespace.c:447 catalog/namespace.c:541 -#: commands/trigger.c:4523 +#: commands/trigger.c:4560 #, c-format msgid "cross-database references are not implemented: \"%s.%s.%s\"" msgstr "Verweise auf andere Datenbanken sind nicht implementiert: »%s.%s.%s«" @@ -3745,8 +3741,8 @@ msgid "cannot move objects into or out of TOAST schema" msgstr "Objekte können nicht in oder aus TOAST-Schemas verschoben werden" -#: catalog/namespace.c:2862 commands/schemacmds.c:238 -#: commands/schemacmds.c:317 commands/tablecmds.c:741 +#: catalog/namespace.c:2862 commands/schemacmds.c:238 commands/schemacmds.c:317 +#: commands/tablecmds.c:741 #, c-format msgid "schema \"%s\" does not exist" msgstr "Schema »%s« existiert nicht" @@ -3782,7 +3778,7 @@ msgstr "während einer parallelen Operation können keine temporären Tabellen erzeugt werden" #: catalog/namespace.c:3932 commands/tablespace.c:1173 commands/variable.c:63 -#: utils/misc/guc.c:9875 +#: utils/misc/guc.c:9868 #, c-format msgid "List syntax is invalid." msgstr "Die Listensyntax ist ungültig." @@ -3842,8 +3838,8 @@ msgid "\"%s\" is not a view" msgstr "»%s« ist keine Sicht" -#: catalog/objectaddress.c:1224 commands/matview.c:174 -#: commands/tablecmds.c:236 commands/tablecmds.c:12178 +#: catalog/objectaddress.c:1224 commands/matview.c:174 commands/tablecmds.c:236 +#: commands/tablecmds.c:12178 #, c-format msgid "\"%s\" is not a materialized view" msgstr "»%s« ist keine materialisierte Sicht" @@ -3866,7 +3862,7 @@ #: catalog/objectaddress.c:1512 commands/functioncmds.c:128 #: commands/tablecmds.c:246 commands/typecmds.c:3229 parser/parse_type.c:226 -#: parser/parse_type.c:255 parser/parse_type.c:795 utils/adt/acl.c:4374 +#: parser/parse_type.c:255 parser/parse_type.c:795 utils/adt/acl.c:4376 #: utils/adt/regproc.c:1226 #, c-format msgid "type \"%s\" does not exist" @@ -3888,8 +3884,7 @@ msgstr "Benutzerabbildung für Benutzer »%s« auf Server »%s« existiert nicht" #: catalog/objectaddress.c:1726 commands/foreigncmds.c:430 -#: commands/foreigncmds.c:997 commands/foreigncmds.c:1359 -#: foreign/foreign.c:692 +#: commands/foreigncmds.c:997 commands/foreigncmds.c:1359 foreign/foreign.c:692 #, c-format msgid "server \"%s\" does not exist" msgstr "Server »%s« existiert nicht" @@ -4326,12 +4321,12 @@ msgid "sort operator can only be specified for single-argument aggregates" msgstr "Sortieroperator kann nur für Aggregatfunktionen mit einem Argument angegeben werden" -#: catalog/pg_aggregate.c:812 commands/typecmds.c:1705 -#: commands/typecmds.c:1756 commands/typecmds.c:1787 commands/typecmds.c:1810 -#: commands/typecmds.c:1831 commands/typecmds.c:1858 commands/typecmds.c:1885 -#: commands/typecmds.c:1962 commands/typecmds.c:2004 parser/parse_func.c:364 -#: parser/parse_func.c:393 parser/parse_func.c:418 parser/parse_func.c:432 -#: parser/parse_func.c:507 parser/parse_func.c:518 parser/parse_func.c:1923 +#: catalog/pg_aggregate.c:812 commands/typecmds.c:1705 commands/typecmds.c:1756 +#: commands/typecmds.c:1787 commands/typecmds.c:1810 commands/typecmds.c:1831 +#: commands/typecmds.c:1858 commands/typecmds.c:1885 commands/typecmds.c:1962 +#: commands/typecmds.c:2004 parser/parse_func.c:364 parser/parse_func.c:393 +#: parser/parse_func.c:418 parser/parse_func.c:432 parser/parse_func.c:507 +#: parser/parse_func.c:518 parser/parse_func.c:1923 #, c-format msgid "function %s does not exist" msgstr "Funktion %s existiert nicht" @@ -4932,66 +4927,71 @@ msgid "analyzing \"%s.%s\"" msgstr "analysiere »%s.%s«" -#: commands/analyze.c:650 +#: commands/analyze.c:385 +#, c-format +msgid "column \"%s\" of relation \"%s\" appears more than once" +msgstr "Spalte »%s« von Relation »%s« erscheint mehrmals" + +#: commands/analyze.c:661 #, c-format msgid "automatic analyze of table \"%s.%s.%s\" system usage: %s" msgstr "automatisches Analysieren von Tabelle »%s.%s.%s« Systembenutzung: %s" -#: commands/analyze.c:1204 +#: commands/analyze.c:1215 #, c-format msgid "\"%s\": scanned %d of %u pages, containing %.0f live rows and %.0f dead rows; %d rows in sample, %.0f estimated total rows" msgstr "»%s«: %d von %u Seiten gelesen, enthalten %.0f lebende Zeilen und %.0f tote Zeilen; %d Zeilen in Stichprobe, schätzungsweise %.0f Zeilen insgesamt" -#: commands/analyze.c:1283 +#: commands/analyze.c:1294 #, c-format msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no child tables" msgstr "überspringe Analysieren des Vererbungsbaums »%s.%s« --- dieser Vererbungsbaum enthält keine abgeleiteten Tabellen" -#: commands/analyze.c:1372 +#: commands/analyze.c:1383 #, c-format msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no analyzable child tables" msgstr "überspringe Analysieren des Vererbungsbaums »%s.%s« --- dieser Vererbungsbaum enthält keine analysierbaren abgeleiteten Tabellen" -#: commands/analyze.c:1420 commands/tablecmds.c:8093 executor/execQual.c:2927 +#: commands/analyze.c:1431 commands/tablecmds.c:8093 executor/execQual.c:2927 msgid "could not convert row type" msgstr "konnte Zeilentyp nicht umwandeln" -#: commands/async.c:555 +#: commands/async.c:558 #, c-format msgid "channel name cannot be empty" msgstr "Kanalname kann nicht leer sein" -#: commands/async.c:560 +#: commands/async.c:563 #, c-format msgid "channel name too long" msgstr "Kanalname zu lang" -#: commands/async.c:567 +#: commands/async.c:570 #, c-format msgid "payload string too long" msgstr "Payload-Zeichenkette zu lang" -#: commands/async.c:753 +#: commands/async.c:756 #, c-format msgid "cannot PREPARE a transaction that has executed LISTEN, UNLISTEN, or NOTIFY" msgstr "PREPARE kann nicht in einer Transaktion ausgeführt werden, die LISTEN, UNLISTEN oder NOTIFY ausgeführt hat" -#: commands/async.c:856 +#: commands/async.c:859 #, c-format msgid "too many notifications in the NOTIFY queue" msgstr "zu viele Benachrichtigungen in NOTIFY-Schlange" -#: commands/async.c:1486 +#: commands/async.c:1491 #, c-format msgid "NOTIFY queue is %.0f%% full" msgstr "NOTIFY-Schlange ist %.0f%% voll" -#: commands/async.c:1488 +#: commands/async.c:1493 #, c-format msgid "The server process with PID %d is among those with the oldest transactions." msgstr "Der Serverprozess mit PID %d gehört zu denen mit den ältesten Transaktionen." -#: commands/async.c:1491 +#: commands/async.c:1496 #, c-format msgid "The NOTIFY queue cannot be emptied until that process ends its current transaction." msgstr "Die NOTIFY-Schlange kann erst geleert werden, wenn dieser Prozess seine aktuelle Transaktion beendet." @@ -5427,7 +5427,7 @@ msgid "cannot copy from non-table relation \"%s\"" msgstr "kann nicht aus Relation »%s«, die keine Tabelle ist, kopieren" -#: commands/copy.c:1787 commands/copy.c:2823 +#: commands/copy.c:1787 commands/copy.c:2832 #, c-format msgid "could not execute command \"%s\": %m" msgstr "konnte Befehl »%s« nicht ausführen: %m" @@ -5437,214 +5437,214 @@ msgid "relative path not allowed for COPY to file" msgstr "relativer Pfad bei COPY in Datei nicht erlaubt" -#: commands/copy.c:1810 +#: commands/copy.c:1819 #, c-format msgid "could not open file \"%s\" for writing: %m" msgstr "konnte Datei »%s« nicht zum Schreiben öffnen: %m" -#: commands/copy.c:1822 commands/copy.c:2846 +#: commands/copy.c:1831 commands/copy.c:2855 #, c-format msgid "\"%s\" is a directory" msgstr "»%s« ist ein Verzeichnis" -#: commands/copy.c:2145 +#: commands/copy.c:2154 #, c-format msgid "COPY %s, line %d, column %s" msgstr "COPY %s, Zeile %d, Spalte %s" -#: commands/copy.c:2149 commands/copy.c:2196 +#: commands/copy.c:2158 commands/copy.c:2205 #, c-format msgid "COPY %s, line %d" msgstr "COPY %s, Zeile %d" -#: commands/copy.c:2160 +#: commands/copy.c:2169 #, c-format msgid "COPY %s, line %d, column %s: \"%s\"" msgstr "COPY %s, Zeile %d, Spalte %s: »%s«" -#: commands/copy.c:2168 +#: commands/copy.c:2177 #, c-format msgid "COPY %s, line %d, column %s: null input" msgstr "COPY %s, Zeile %d, Spalte %s: NULL Eingabe" -#: commands/copy.c:2190 +#: commands/copy.c:2199 #, c-format msgid "COPY %s, line %d: \"%s\"" msgstr "COPY %s, Zeile %d: »%s«" -#: commands/copy.c:2274 +#: commands/copy.c:2283 #, c-format msgid "cannot copy to view \"%s\"" msgstr "kann nicht in Sicht »%s« kopieren" -#: commands/copy.c:2279 +#: commands/copy.c:2288 #, c-format msgid "cannot copy to materialized view \"%s\"" msgstr "kann nicht in materialisierte Sicht »%s« kopieren" -#: commands/copy.c:2284 +#: commands/copy.c:2293 #, c-format msgid "cannot copy to foreign table \"%s\"" msgstr "kann nicht in Fremdtabelle »%s« kopieren" -#: commands/copy.c:2289 +#: commands/copy.c:2298 #, c-format msgid "cannot copy to sequence \"%s\"" msgstr "kann nicht in Sequenz »%s« kopieren" -#: commands/copy.c:2294 +#: commands/copy.c:2303 #, c-format msgid "cannot copy to non-table relation \"%s\"" msgstr "kann nicht in Relation »%s« kopieren, die keine Tabelle ist" -#: commands/copy.c:2357 +#: commands/copy.c:2366 #, c-format msgid "cannot perform FREEZE because of prior transaction activity" msgstr "FREEZE kann nicht durchgeführt werden wegen vorheriger Aktivität in dieser Transaktion" -#: commands/copy.c:2363 +#: commands/copy.c:2372 #, c-format msgid "cannot perform FREEZE because the table was not created or truncated in the current subtransaction" msgstr "FREEZE kann nicht durchgeführt werden, weil die Tabelle nicht in der aktuellen Transaktion erzeugt oder geleert wurde" -#: commands/copy.c:2866 +#: commands/copy.c:2875 #, c-format msgid "COPY file signature not recognized" msgstr "COPY-Datei-Signatur nicht erkannt" -#: commands/copy.c:2871 +#: commands/copy.c:2880 #, c-format msgid "invalid COPY file header (missing flags)" msgstr "ungültiger COPY-Dateikopf (Flags fehlen)" -#: commands/copy.c:2877 +#: commands/copy.c:2886 #, c-format msgid "unrecognized critical flags in COPY file header" msgstr "unbekannte kritische Flags im COPY-Dateikopf" -#: commands/copy.c:2883 +#: commands/copy.c:2892 #, c-format msgid "invalid COPY file header (missing length)" msgstr "ungültiger COPY-Dateikopf (Länge fehlt)" -#: commands/copy.c:2890 +#: commands/copy.c:2899 #, c-format msgid "invalid COPY file header (wrong length)" msgstr "ungültiger COPY-Dateikopf (falsche Länge)" -#: commands/copy.c:3023 commands/copy.c:3730 commands/copy.c:3960 +#: commands/copy.c:3032 commands/copy.c:3739 commands/copy.c:3969 #, c-format msgid "extra data after last expected column" msgstr "zusätzliche Daten nach letzter erwarteter Spalte" -#: commands/copy.c:3033 +#: commands/copy.c:3042 #, c-format msgid "missing data for OID column" msgstr "fehlende Daten für OID-Spalte" -#: commands/copy.c:3039 +#: commands/copy.c:3048 #, c-format msgid "null OID in COPY data" msgstr "OID ist NULL in COPY-Daten" -#: commands/copy.c:3049 commands/copy.c:3172 +#: commands/copy.c:3058 commands/copy.c:3181 #, c-format msgid "invalid OID in COPY data" msgstr "ungültige OID in COPY-Daten" -#: commands/copy.c:3064 +#: commands/copy.c:3073 #, c-format msgid "missing data for column \"%s\"" msgstr "fehlende Daten für Spalte »%s«" -#: commands/copy.c:3147 +#: commands/copy.c:3156 #, c-format msgid "received copy data after EOF marker" msgstr "COPY-Daten nach EOF-Markierung empfangen" -#: commands/copy.c:3154 +#: commands/copy.c:3163 #, c-format msgid "row field count is %d, expected %d" msgstr "Feldanzahl in Zeile ist %d, erwartet wurden %d" -#: commands/copy.c:3494 commands/copy.c:3511 +#: commands/copy.c:3503 commands/copy.c:3520 #, c-format msgid "literal carriage return found in data" msgstr "Carriage-Return-Zeichen in Daten gefunden" -#: commands/copy.c:3495 commands/copy.c:3512 +#: commands/copy.c:3504 commands/copy.c:3521 #, c-format msgid "unquoted carriage return found in data" msgstr "ungequotetes Carriage-Return-Zeichen in Daten gefunden" -#: commands/copy.c:3497 commands/copy.c:3514 +#: commands/copy.c:3506 commands/copy.c:3523 #, c-format msgid "Use \"\\r\" to represent carriage return." msgstr "Verwenden Sie »\\r«, um ein Carriage-Return-Zeichen darzustellen." -#: commands/copy.c:3498 commands/copy.c:3515 +#: commands/copy.c:3507 commands/copy.c:3524 #, c-format msgid "Use quoted CSV field to represent carriage return." msgstr "Verwenden Sie ein gequotetes CSV-Feld, um ein Carriage-Return-Zeichen darzustellen." -#: commands/copy.c:3527 +#: commands/copy.c:3536 #, c-format msgid "literal newline found in data" msgstr "Newline-Zeichen in Daten gefunden" -#: commands/copy.c:3528 +#: commands/copy.c:3537 #, c-format msgid "unquoted newline found in data" msgstr "ungequotetes Newline-Zeichen in Daten gefunden" -#: commands/copy.c:3530 +#: commands/copy.c:3539 #, c-format msgid "Use \"\\n\" to represent newline." msgstr "Verwenden Sie »\\n«, um ein Newline-Zeichen darzustellen." -#: commands/copy.c:3531 +#: commands/copy.c:3540 #, c-format msgid "Use quoted CSV field to represent newline." msgstr "Verwenden Sie ein gequotetes CSV-Feld, um ein Newline-Zeichen darzustellen." -#: commands/copy.c:3577 commands/copy.c:3613 +#: commands/copy.c:3586 commands/copy.c:3622 #, c-format msgid "end-of-copy marker does not match previous newline style" msgstr "COPY-Ende-Markierung stimmt nicht mit vorherigem Newline-Stil überein" -#: commands/copy.c:3586 commands/copy.c:3602 +#: commands/copy.c:3595 commands/copy.c:3611 #, c-format msgid "end-of-copy marker corrupt" msgstr "COPY-Ende-Markierung verfälscht" -#: commands/copy.c:4044 +#: commands/copy.c:4053 #, c-format msgid "unterminated CSV quoted field" msgstr "Quotes in CSV-Feld nicht abgeschlossen" -#: commands/copy.c:4121 commands/copy.c:4140 +#: commands/copy.c:4130 commands/copy.c:4149 #, c-format msgid "unexpected EOF in COPY data" msgstr "unerwartetes EOF in COPY-Daten" -#: commands/copy.c:4130 +#: commands/copy.c:4139 #, c-format msgid "invalid field size" msgstr "ungültige Feldgröße" -#: commands/copy.c:4153 +#: commands/copy.c:4162 #, c-format msgid "incorrect binary data format" msgstr "falsches Binärdatenformat" -#: commands/copy.c:4464 commands/indexcmds.c:1054 commands/tablecmds.c:1464 -#: commands/tablecmds.c:2291 parser/parse_relation.c:3177 -#: parser/parse_relation.c:3197 utils/adt/tsvector_op.c:2559 +#: commands/copy.c:4473 commands/indexcmds.c:1054 commands/tablecmds.c:1464 +#: commands/tablecmds.c:2291 parser/parse_relation.c:3188 +#: parser/parse_relation.c:3208 utils/adt/tsvector_op.c:2559 #, c-format msgid "column \"%s\" does not exist" msgstr "Spalte »%s« existiert nicht" -#: commands/copy.c:4471 commands/tablecmds.c:1490 commands/trigger.c:651 +#: commands/copy.c:4480 commands/tablecmds.c:1490 commands/trigger.c:651 #: parser/parse_target.c:967 parser/parse_target.c:978 #, c-format msgid "column \"%s\" specified more than once" @@ -7185,11 +7185,10 @@ msgstr "Operator-Attribut »%s« kann nicht geändert werden" #: commands/policy.c:87 commands/policy.c:388 commands/policy.c:477 -#: commands/tablecmds.c:971 commands/tablecmds.c:1313 -#: commands/tablecmds.c:2185 commands/tablecmds.c:4329 -#: commands/tablecmds.c:6293 commands/tablecmds.c:12094 -#: commands/tablecmds.c:12129 commands/trigger.c:241 commands/trigger.c:1125 -#: commands/trigger.c:1233 rewrite/rewriteDefine.c:273 +#: commands/tablecmds.c:971 commands/tablecmds.c:1313 commands/tablecmds.c:2185 +#: commands/tablecmds.c:4329 commands/tablecmds.c:6293 +#: commands/tablecmds.c:12094 commands/tablecmds.c:12129 commands/trigger.c:241 +#: commands/trigger.c:1125 commands/trigger.c:1233 rewrite/rewriteDefine.c:273 #: rewrite/rewriteDefine.c:917 #, c-format msgid "permission denied: \"%s\" is a system catalog" @@ -7235,8 +7234,7 @@ msgid "only USING expression allowed for SELECT, DELETE" msgstr "für SELECT und DELETE sind nur USING-Ausdrücke erlaubt" -#: commands/portalcmds.c:61 commands/portalcmds.c:160 -#: commands/portalcmds.c:212 +#: commands/portalcmds.c:61 commands/portalcmds.c:160 commands/portalcmds.c:212 #, c-format msgid "invalid cursor name: must not be empty" msgstr "ungültiger Cursorname: darf nicht leer sein" @@ -7760,8 +7758,8 @@ msgid "check constraint \"%s\" is violated by some row" msgstr "Check-Constraint »%s« wird von irgendeiner Zeile verletzt" -#: commands/tablecmds.c:4350 commands/trigger.c:235 -#: rewrite/rewriteDefine.c:267 rewrite/rewriteDefine.c:912 +#: commands/tablecmds.c:4350 commands/trigger.c:235 rewrite/rewriteDefine.c:267 +#: rewrite/rewriteDefine.c:912 #, c-format msgid "\"%s\" is not a table or view" msgstr "»%s« ist keine Tabelle oder Sicht" @@ -8642,20 +8640,19 @@ msgid "Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows." msgstr "Verwenden Sie einen AFTER-Trigger anstelle eines BEFORE-Triggers, um Änderungen an andere Zeilen zu propagieren." -#: commands/trigger.c:2741 executor/execMain.c:2379 -#: executor/nodeLockRows.c:216 executor/nodeModifyTable.c:213 -#: executor/nodeModifyTable.c:692 executor/nodeModifyTable.c:985 -#: executor/nodeModifyTable.c:1151 +#: commands/trigger.c:2741 executor/execMain.c:2376 executor/nodeLockRows.c:216 +#: executor/nodeModifyTable.c:213 executor/nodeModifyTable.c:692 +#: executor/nodeModifyTable.c:985 executor/nodeModifyTable.c:1151 #, c-format msgid "could not serialize access due to concurrent update" msgstr "kann Zugriff nicht serialisieren wegen gleichzeitiger Aktualisierung" -#: commands/trigger.c:4575 +#: commands/trigger.c:4612 #, c-format msgid "constraint \"%s\" is not deferrable" msgstr "Constraint »%s« ist nicht aufschiebbar" -#: commands/trigger.c:4598 +#: commands/trigger.c:4635 #, c-format msgid "constraint \"%s\" does not exist" msgstr "Constraint »%s« existiert nicht" @@ -8900,7 +8897,7 @@ msgid "specifying constraint deferrability not supported for domains" msgstr "Setzen des Constraint-Modus wird für Domänen nicht unterstützt" -#: commands/typecmds.c:1291 utils/cache/typcache.c:1630 +#: commands/typecmds.c:1291 utils/cache/typcache.c:1680 #, c-format msgid "%s is not an enum" msgstr "»%s« ist kein Enum" @@ -9066,7 +9063,7 @@ msgstr "keine Berechtigung, um Rolle zu erzeugen" #: commands/user.c:322 commands/user.c:1176 commands/user.c:1183 gram.y:13628 -#: gram.y:13663 utils/adt/acl.c:5279 utils/adt/acl.c:5285 +#: gram.y:13663 utils/adt/acl.c:5281 utils/adt/acl.c:5287 #, c-format msgid "role name \"%s\" is reserved" msgstr "Rollenname »%s« ist reserviert" @@ -9118,8 +9115,8 @@ msgstr "in DROP ROLE kann kein Rollenplatzhalter verwendet werden" #: commands/user.c:990 commands/user.c:1147 commands/variable.c:825 -#: commands/variable.c:897 utils/adt/acl.c:5121 utils/adt/acl.c:5173 -#: utils/adt/acl.c:5206 utils/adt/acl.c:5224 utils/init/miscinit.c:502 +#: commands/variable.c:897 utils/adt/acl.c:5123 utils/adt/acl.c:5175 +#: utils/adt/acl.c:5208 utils/adt/acl.c:5226 utils/init/miscinit.c:502 #, c-format msgid "role \"%s\" does not exist" msgstr "Rolle »%s« existiert nicht" @@ -9394,7 +9391,7 @@ msgid "\"%s\": suspending truncate due to conflicting lock request" msgstr "»%s«: Truncate wird ausgesetzt wegen Sperrkonflikt" -#: commands/variable.c:164 utils/misc/guc.c:9899 +#: commands/variable.c:164 utils/misc/guc.c:9892 #, c-format msgid "Unrecognized key word: \"%s\"." msgstr "Unbekanntes Schlüsselwort: »%s«." @@ -9729,7 +9726,7 @@ msgid "cannot lock rows in materialized view \"%s\"" msgstr "kann Zeilen in materialisierter Sicht »%s« nicht sperren" -#: executor/execMain.c:1192 executor/execMain.c:2613 +#: executor/execMain.c:1192 executor/execMain.c:2610 #: executor/nodeLockRows.c:132 #, c-format msgid "cannot lock rows in foreign table \"%s\"" @@ -9740,42 +9737,42 @@ msgid "cannot lock rows in relation \"%s\"" msgstr "kann Zeilen in Relation »%s« nicht sperren" -#: executor/execMain.c:1731 +#: executor/execMain.c:1728 #, c-format msgid "null value in column \"%s\" violates not-null constraint" msgstr "NULL-Wert in Spalte »%s« verletzt Not-Null-Constraint" -#: executor/execMain.c:1733 executor/execMain.c:1759 executor/execMain.c:1848 +#: executor/execMain.c:1730 executor/execMain.c:1756 executor/execMain.c:1845 #, c-format msgid "Failing row contains %s." msgstr "Fehlgeschlagene Zeile enthält %s." -#: executor/execMain.c:1757 +#: executor/execMain.c:1754 #, c-format msgid "new row for relation \"%s\" violates check constraint \"%s\"" msgstr "neue Zeile für Relation »%s« verletzt Check-Constraint »%s«" -#: executor/execMain.c:1846 +#: executor/execMain.c:1843 #, c-format msgid "new row violates check option for view \"%s\"" msgstr "neue Zeile verletzt Check-Option für Sicht »%s«" -#: executor/execMain.c:1856 +#: executor/execMain.c:1853 #, c-format msgid "new row violates row-level security policy \"%s\" for table \"%s\"" msgstr "neue Zeile verletzt Policy für Sicherheit auf Zeilenebene »%s« für Tabelle »%s«" -#: executor/execMain.c:1861 +#: executor/execMain.c:1858 #, c-format msgid "new row violates row-level security policy for table \"%s\"" msgstr "neue Zeile verletzt Policy für Sicherheit auf Zeilenebene für Tabelle »%s«" -#: executor/execMain.c:1868 +#: executor/execMain.c:1865 #, c-format msgid "new row violates row-level security policy \"%s\" (USING expression) for table \"%s\"" msgstr "neue Zeile verletzt Policy für Sicherheit auf Zeilenebene »%s« (USING-Ausdruck) für Tabelle »%s«" -#: executor/execMain.c:1873 +#: executor/execMain.c:1870 #, c-format msgid "new row violates row-level security policy (USING expression) for table \"%s\"" msgstr "neue Zeile verletzt Policy für Sicherheit auf Zeilenebene (USING-Ausdruck) für Tabelle »%s«" @@ -9944,12 +9941,12 @@ msgid "could not identify a comparison function for type %s" msgstr "konnte keine Vergleichsfunktion für Typ %s ermitteln" -#: executor/execUtils.c:813 +#: executor/execUtils.c:815 #, c-format msgid "materialized view \"%s\" has not been populated" msgstr "materialisierte Sicht »%s« wurde noch nicht befüllt" -#: executor/execUtils.c:815 +#: executor/execUtils.c:817 #, c-format msgid "Use the REFRESH MATERIALIZED VIEW command." msgstr "Verwenden Sie den Befehl REFRESH MATERIALIZED VIEW." @@ -9971,7 +9968,7 @@ msgstr "%s ist in SQL-Funktionen nicht erlaubt" #. translator: %s is a SQL statement name -#: executor/functions.c:524 executor/spi.c:1364 executor/spi.c:2154 +#: executor/functions.c:524 executor/spi.c:1370 executor/spi.c:2160 #, c-format msgid "%s is not allowed in a non-volatile function" msgstr "%s ist in als nicht »volatile« markierten Funktionen nicht erlaubt" @@ -10033,17 +10030,17 @@ msgid "return type %s is not supported for SQL functions" msgstr "Rückgabetyp %s wird von SQL-Funktionen nicht unterstützt" -#: executor/nodeAgg.c:3038 +#: executor/nodeAgg.c:3041 #, c-format msgid "combine function for aggregate %u must be declared as STRICT" msgstr "Kombinierfunktion für Aggregatfunktion %u muss als STRICT deklariert sein" -#: executor/nodeAgg.c:3083 executor/nodeWindowAgg.c:2318 +#: executor/nodeAgg.c:3086 executor/nodeWindowAgg.c:2318 #, c-format msgid "aggregate %u needs to have compatible input type and transition type" msgstr "Aggregatfunktion %u muss kompatiblen Eingabe- und Übergangstyp haben" -#: executor/nodeAgg.c:3149 parser/parse_agg.c:612 parser/parse_agg.c:642 +#: executor/nodeAgg.c:3152 parser/parse_agg.c:612 parser/parse_agg.c:642 #, c-format msgid "aggregate function calls cannot be nested" msgstr "Aufrufe von Aggregatfunktionen können nicht geschachtelt werden" @@ -10159,43 +10156,43 @@ msgid "frame ending offset must not be negative" msgstr "Frame-Ende-Offset darf nicht negativ sein" -#: executor/spi.c:210 +#: executor/spi.c:211 #, c-format msgid "transaction left non-empty SPI stack" msgstr "Transaktion ließ nicht-leeren SPI-Stack zurück" -#: executor/spi.c:211 executor/spi.c:275 +#: executor/spi.c:212 executor/spi.c:276 #, c-format msgid "Check for missing \"SPI_finish\" calls." msgstr "Prüfen Sie, ob Aufrufe von »SPI_finish« fehlen." -#: executor/spi.c:274 +#: executor/spi.c:275 #, c-format msgid "subtransaction left non-empty SPI stack" msgstr "Subtransaktion ließ nicht-leeren SPI-Stack zurück" -#: executor/spi.c:1225 +#: executor/spi.c:1231 #, c-format msgid "cannot open multi-query plan as cursor" msgstr "Plan mit mehreren Anfragen kann nicht als Cursor geöffnet werden" #. translator: %s is name of a SQL command, eg INSERT -#: executor/spi.c:1230 +#: executor/spi.c:1236 #, c-format msgid "cannot open %s query as cursor" msgstr "%s kann nicht als Cursor geöffnet werden" -#: executor/spi.c:1338 +#: executor/spi.c:1344 #, c-format msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported" msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE wird nicht unterstützt" -#: executor/spi.c:1339 parser/analyze.c:2360 +#: executor/spi.c:1345 parser/analyze.c:2360 #, c-format msgid "Scrollable cursors must be READ ONLY." msgstr "Scrollbare Cursor müssen READ ONLY sein." -#: executor/spi.c:2459 +#: executor/spi.c:2465 #, c-format msgid "SQL statement \"%s\"" msgstr "SQL-Anweisung »%s«" @@ -10550,7 +10547,7 @@ msgid "could not open configuration file \"%s\": maximum nesting depth exceeded" msgstr "konnte Konfigurationsdatei »%s« nicht öffnen: maximale Verschachtelungstiefe überschritten" -#: guc-file.l:593 libpq/hba.c:1806 +#: guc-file.l:593 libpq/hba.c:1796 #, c-format msgid "could not open configuration file \"%s\": %m" msgstr "konnte Konfigurationsdatei »%s« nicht öffnen: %m" @@ -10733,7 +10730,7 @@ msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\"" msgstr "kein pg_hba.conf-Eintrag für Host »%s«, Benutzer »%s«, Datenbank »%s«" -#: libpq/auth.c:536 libpq/hba.c:1178 +#: libpq/auth.c:536 libpq/hba.c:1168 #, c-format msgid "MD5 authentication is not supported when \"db_user_namespace\" is enabled" msgstr "MD5-Authentifizierung wird nicht unterstützt, wenn »db_user_namespace« angeschaltet ist" @@ -11000,7 +10997,7 @@ msgid "RADIUS secret not specified" msgstr "RADIUS-Geheimnis nicht angegeben" -#: libpq/auth.c:2497 libpq/hba.c:1632 +#: libpq/auth.c:2497 libpq/hba.c:1622 #, c-format msgid "could not translate RADIUS server name \"%s\" to address: %s" msgstr "konnte RADIUS-Servername »%s« nicht in Adresse übersetzen: %s" @@ -11087,18 +11084,18 @@ #: libpq/be-fsstubs.c:132 libpq/be-fsstubs.c:163 libpq/be-fsstubs.c:197 #: libpq/be-fsstubs.c:237 libpq/be-fsstubs.c:262 libpq/be-fsstubs.c:310 -#: libpq/be-fsstubs.c:333 libpq/be-fsstubs.c:581 +#: libpq/be-fsstubs.c:333 libpq/be-fsstubs.c:590 #, c-format msgid "invalid large-object descriptor: %d" msgstr "ungültiger Large-Object-Deskriptor: %d" -#: libpq/be-fsstubs.c:178 libpq/be-fsstubs.c:216 libpq/be-fsstubs.c:600 -#: libpq/be-fsstubs.c:788 libpq/be-fsstubs.c:908 +#: libpq/be-fsstubs.c:178 libpq/be-fsstubs.c:216 libpq/be-fsstubs.c:609 +#: libpq/be-fsstubs.c:797 libpq/be-fsstubs.c:917 #, c-format msgid "permission denied for large object %u" msgstr "keine Berechtigung für Large Object %u" -#: libpq/be-fsstubs.c:203 libpq/be-fsstubs.c:587 +#: libpq/be-fsstubs.c:203 libpq/be-fsstubs.c:596 #, c-format msgid "large object descriptor %d was not opened for writing" msgstr "Large-Objekt-Deskriptor %d wurde nicht zum Schreiben geöffnet" @@ -11143,22 +11140,22 @@ msgid "Anyone can use the client-side lo_export() provided by libpq." msgstr "Jeder kann das clientseitige lo_export() von libpq verwenden." -#: libpq/be-fsstubs.c:547 +#: libpq/be-fsstubs.c:556 #, c-format msgid "could not create server file \"%s\": %m" msgstr "konnte Serverdatei »%s« nicht erstellen: %m" -#: libpq/be-fsstubs.c:559 +#: libpq/be-fsstubs.c:568 #, c-format msgid "could not write server file \"%s\": %m" msgstr "konnte Serverdatei »%s« nicht schreiben: %m" -#: libpq/be-fsstubs.c:813 +#: libpq/be-fsstubs.c:822 #, c-format msgid "large object read request is too large" msgstr "Large-Object-Leseaufforderung ist zu groß" -#: libpq/be-fsstubs.c:855 utils/adt/genfile.c:211 utils/adt/genfile.c:252 +#: libpq/be-fsstubs.c:864 utils/adt/genfile.c:211 utils/adt/genfile.c:252 #, c-format msgid "requested length cannot be negative" msgstr "verlangte Länge darf nicht negativ sein" @@ -11323,309 +11320,309 @@ msgid "Password does not match for user \"%s\"." msgstr "Passwort stimmt nicht überein für Benutzer »%s«." -#: libpq/hba.c:188 +#: libpq/hba.c:178 #, c-format msgid "authentication file token too long, skipping: \"%s\"" msgstr "Token in Authentifizierungsdatei zu lang, wird übersprungen: »%s«" -#: libpq/hba.c:332 +#: libpq/hba.c:322 #, c-format msgid "could not open secondary authentication file \"@%s\" as \"%s\": %m" msgstr "konnte sekundäre Authentifizierungsdatei »@%s« nicht als »%s« öffnen: %m" -#: libpq/hba.c:407 +#: libpq/hba.c:397 #, c-format msgid "authentication file line too long" msgstr "Zeile in Authentifizierungsdatei zu lang" -#: libpq/hba.c:408 libpq/hba.c:755 libpq/hba.c:771 libpq/hba.c:801 -#: libpq/hba.c:847 libpq/hba.c:860 libpq/hba.c:882 libpq/hba.c:891 -#: libpq/hba.c:912 libpq/hba.c:924 libpq/hba.c:943 libpq/hba.c:964 -#: libpq/hba.c:975 libpq/hba.c:1030 libpq/hba.c:1048 libpq/hba.c:1060 -#: libpq/hba.c:1077 libpq/hba.c:1087 libpq/hba.c:1101 libpq/hba.c:1117 -#: libpq/hba.c:1132 libpq/hba.c:1143 libpq/hba.c:1179 libpq/hba.c:1217 -#: libpq/hba.c:1228 libpq/hba.c:1248 libpq/hba.c:1259 libpq/hba.c:1276 -#: libpq/hba.c:1325 libpq/hba.c:1362 libpq/hba.c:1372 libpq/hba.c:1428 -#: libpq/hba.c:1440 libpq/hba.c:1453 libpq/hba.c:1545 libpq/hba.c:1634 -#: libpq/hba.c:1652 libpq/hba.c:1673 tsearch/ts_locale.c:182 +#: libpq/hba.c:398 libpq/hba.c:745 libpq/hba.c:761 libpq/hba.c:791 +#: libpq/hba.c:837 libpq/hba.c:850 libpq/hba.c:872 libpq/hba.c:881 +#: libpq/hba.c:902 libpq/hba.c:914 libpq/hba.c:933 libpq/hba.c:954 +#: libpq/hba.c:965 libpq/hba.c:1020 libpq/hba.c:1038 libpq/hba.c:1050 +#: libpq/hba.c:1067 libpq/hba.c:1077 libpq/hba.c:1091 libpq/hba.c:1107 +#: libpq/hba.c:1122 libpq/hba.c:1133 libpq/hba.c:1169 libpq/hba.c:1207 +#: libpq/hba.c:1218 libpq/hba.c:1238 libpq/hba.c:1249 libpq/hba.c:1266 +#: libpq/hba.c:1315 libpq/hba.c:1352 libpq/hba.c:1362 libpq/hba.c:1418 +#: libpq/hba.c:1430 libpq/hba.c:1443 libpq/hba.c:1535 libpq/hba.c:1624 +#: libpq/hba.c:1642 libpq/hba.c:1663 tsearch/ts_locale.c:182 #, c-format msgid "line %d of configuration file \"%s\"" msgstr "Zeile %d in Konfigurationsdatei »%s«" #. translator: the second %s is a list of auth methods -#: libpq/hba.c:753 +#: libpq/hba.c:743 #, c-format msgid "authentication option \"%s\" is only valid for authentication methods %s" msgstr "Authentifizierungsoption »%s« ist nur gültig für Authentifizierungsmethoden %s" -#: libpq/hba.c:769 +#: libpq/hba.c:759 #, c-format msgid "authentication method \"%s\" requires argument \"%s\" to be set" msgstr "Authentifizierungsmethode »%s« benötigt Argument »%s«" -#: libpq/hba.c:790 +#: libpq/hba.c:780 #, c-format msgid "missing entry in file \"%s\" at end of line %d" msgstr "fehlender Eintrag in Datei »%s« am Ende von Zeile %d" -#: libpq/hba.c:800 +#: libpq/hba.c:790 #, c-format msgid "multiple values in ident field" msgstr "mehrere Werte in Ident-Feld" -#: libpq/hba.c:845 +#: libpq/hba.c:835 #, c-format msgid "multiple values specified for connection type" msgstr "mehrere Werte angegeben für Verbindungstyp" -#: libpq/hba.c:846 +#: libpq/hba.c:836 #, c-format msgid "Specify exactly one connection type per line." msgstr "Geben Sie genau einen Verbindungstyp pro Zeile an." -#: libpq/hba.c:859 +#: libpq/hba.c:849 #, c-format msgid "local connections are not supported by this build" msgstr "lokale Verbindungen werden von dieser Installation nicht unterstützt" -#: libpq/hba.c:880 +#: libpq/hba.c:870 #, c-format msgid "hostssl requires SSL to be turned on" msgstr "für hostssl muss SSL angeschaltet sein" -#: libpq/hba.c:881 +#: libpq/hba.c:871 #, c-format msgid "Set ssl = on in postgresql.conf." msgstr "Setzen Sie ssl = on in postgresql.conf." -#: libpq/hba.c:889 +#: libpq/hba.c:879 #, c-format msgid "hostssl is not supported by this build" msgstr "hostssl wird von dieser Installation nicht unterstützt" -#: libpq/hba.c:890 +#: libpq/hba.c:880 #, c-format msgid "Compile with --with-openssl to use SSL connections." msgstr "Kompilieren Sie mit --with-openssl, um SSL-Verbindungen zu verwenden." -#: libpq/hba.c:910 +#: libpq/hba.c:900 #, c-format msgid "invalid connection type \"%s\"" msgstr "ungültiger Verbindungstyp »%s«" -#: libpq/hba.c:923 +#: libpq/hba.c:913 #, c-format msgid "end-of-line before database specification" msgstr "Zeilenende vor Datenbankangabe" -#: libpq/hba.c:942 +#: libpq/hba.c:932 #, c-format msgid "end-of-line before role specification" msgstr "Zeilenende vor Rollenangabe" -#: libpq/hba.c:963 +#: libpq/hba.c:953 #, c-format msgid "end-of-line before IP address specification" msgstr "Zeilenende vor IP-Adressangabe" -#: libpq/hba.c:973 +#: libpq/hba.c:963 #, c-format msgid "multiple values specified for host address" msgstr "mehrere Werte für Hostadresse angegeben" -#: libpq/hba.c:974 +#: libpq/hba.c:964 #, c-format msgid "Specify one address range per line." msgstr "Geben Sie einen Adressbereich pro Zeile an." -#: libpq/hba.c:1028 +#: libpq/hba.c:1018 #, c-format msgid "invalid IP address \"%s\": %s" msgstr "ungültige IP-Adresse »%s«: %s" -#: libpq/hba.c:1046 +#: libpq/hba.c:1036 #, c-format msgid "specifying both host name and CIDR mask is invalid: \"%s\"" msgstr "Angabe von sowohl Hostname als auch CIDR-Maske ist ungültig: »%s«" -#: libpq/hba.c:1058 +#: libpq/hba.c:1048 #, c-format msgid "invalid CIDR mask in address \"%s\"" msgstr "ungültige CIDR-Maske in Adresse »%s«" -#: libpq/hba.c:1075 +#: libpq/hba.c:1065 #, c-format msgid "end-of-line before netmask specification" msgstr "Zeilenende vor Netzmaskenangabe" -#: libpq/hba.c:1076 +#: libpq/hba.c:1066 #, c-format msgid "Specify an address range in CIDR notation, or provide a separate netmask." msgstr "Geben Sie einen Adressbereich in CIDR-Schreibweise oder eine separate Netzmaske an." -#: libpq/hba.c:1086 +#: libpq/hba.c:1076 #, c-format msgid "multiple values specified for netmask" msgstr "mehrere Werte für Netzmaske angegeben" -#: libpq/hba.c:1099 +#: libpq/hba.c:1089 #, c-format msgid "invalid IP mask \"%s\": %s" msgstr "ungültige IP-Maske »%s«: %s" -#: libpq/hba.c:1116 +#: libpq/hba.c:1106 #, c-format msgid "IP address and mask do not match" msgstr "IP-Adresse und -Maske passen nicht zusammen" -#: libpq/hba.c:1131 +#: libpq/hba.c:1121 #, c-format msgid "end-of-line before authentication method" msgstr "Zeilenende vor Authentifizierungsmethode" -#: libpq/hba.c:1141 +#: libpq/hba.c:1131 #, c-format msgid "multiple values specified for authentication type" msgstr "mehrere Werte für Authentifizierungstyp angegeben" -#: libpq/hba.c:1142 +#: libpq/hba.c:1132 #, c-format msgid "Specify exactly one authentication type per line." msgstr "Geben Sie genau einen Authentifizierungstyp pro Zeile an." -#: libpq/hba.c:1215 +#: libpq/hba.c:1205 #, c-format msgid "invalid authentication method \"%s\"" msgstr "ungültige Authentifizierungsmethode »%s«" -#: libpq/hba.c:1226 +#: libpq/hba.c:1216 #, c-format msgid "invalid authentication method \"%s\": not supported by this build" msgstr "ungültige Authentifizierungsmethode »%s«: von dieser Installation nicht unterstützt" -#: libpq/hba.c:1247 +#: libpq/hba.c:1237 #, c-format msgid "gssapi authentication is not supported on local sockets" msgstr "gssapi-Authentifizierung wird auf lokalen Sockets nicht unterstützt" -#: libpq/hba.c:1258 +#: libpq/hba.c:1248 #, c-format msgid "peer authentication is only supported on local sockets" msgstr "peer-Authentifizierung wird nur auf lokalen Sockets unterstützt" -#: libpq/hba.c:1275 +#: libpq/hba.c:1265 #, c-format msgid "cert authentication is only supported on hostssl connections" msgstr "cert-Authentifizierung wird nur auf »hostssl«-Verbindungen unterstützt" -#: libpq/hba.c:1324 +#: libpq/hba.c:1314 #, c-format msgid "authentication option not in name=value format: %s" msgstr "Authentifizierungsoption nicht im Format name=wert: %s" -#: libpq/hba.c:1361 +#: libpq/hba.c:1351 #, c-format msgid "cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, or ldapurl together with ldapprefix" msgstr "ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute oder ldapurl kann nicht zusammen mit ldapprefix verwendet werden" -#: libpq/hba.c:1371 +#: libpq/hba.c:1361 #, c-format msgid "authentication method \"ldap\" requires argument \"ldapbasedn\", \"ldapprefix\", or \"ldapsuffix\" to be set" msgstr "Authentifizierungsmethode »ldap« benötigt Argument »ldapbasedn«, »ldapprefix« oder »ldapsuffix«" -#: libpq/hba.c:1414 +#: libpq/hba.c:1404 msgid "ident, peer, gssapi, sspi, and cert" msgstr "ident, peer, gssapi, sspi und cert" -#: libpq/hba.c:1427 +#: libpq/hba.c:1417 #, c-format msgid "clientcert can only be configured for \"hostssl\" rows" msgstr "clientcert kann nur für »hostssl«-Zeilen konfiguriert werden" -#: libpq/hba.c:1438 +#: libpq/hba.c:1428 #, c-format msgid "client certificates can only be checked if a root certificate store is available" msgstr "Client-Zertifikate können nur überprüft werden, wenn Wurzelzertifikat verfügbar ist" -#: libpq/hba.c:1452 +#: libpq/hba.c:1442 #, c-format msgid "clientcert can not be set to 0 when using \"cert\" authentication" msgstr "clientcert kann nicht auf 0 gesetzt sein, wenn »cert«-Authentifizierung verwendet wird" -#: libpq/hba.c:1488 +#: libpq/hba.c:1478 #, c-format msgid "could not parse LDAP URL \"%s\": %s" msgstr "konnte LDAP-URL »%s« nicht interpretieren: %s" -#: libpq/hba.c:1496 +#: libpq/hba.c:1486 #, c-format msgid "unsupported LDAP URL scheme: %s" msgstr "nicht unterstütztes LDAP-URL-Schema: %s" -#: libpq/hba.c:1512 +#: libpq/hba.c:1502 #, c-format msgid "filters not supported in LDAP URLs" msgstr "Filter in LDAP-URLs werden nicht unterstützt" -#: libpq/hba.c:1520 +#: libpq/hba.c:1510 #, c-format msgid "LDAP URLs not supported on this platform" msgstr "LDAP-URLs werden auf dieser Plattform nicht unterstützt" -#: libpq/hba.c:1544 +#: libpq/hba.c:1534 #, c-format msgid "invalid LDAP port number: \"%s\"" msgstr "ungültige LDAP-Portnummer: »%s«" -#: libpq/hba.c:1584 libpq/hba.c:1591 +#: libpq/hba.c:1574 libpq/hba.c:1581 msgid "gssapi and sspi" msgstr "gssapi und sspi" -#: libpq/hba.c:1600 libpq/hba.c:1609 +#: libpq/hba.c:1590 libpq/hba.c:1599 msgid "sspi" msgstr "sspi" -#: libpq/hba.c:1651 +#: libpq/hba.c:1641 #, c-format msgid "invalid RADIUS port number: \"%s\"" msgstr "ungültige RADIUS-Portnummer: »%s«" -#: libpq/hba.c:1671 +#: libpq/hba.c:1661 #, c-format msgid "unrecognized authentication option name: \"%s\"" msgstr "unbekannter Authentifizierungsoptionsname: »%s«" -#: libpq/hba.c:1855 +#: libpq/hba.c:1845 #, c-format msgid "configuration file \"%s\" contains no entries" msgstr "Konfigurationsdatei »%s« enthält keine Einträge" -#: libpq/hba.c:1951 +#: libpq/hba.c:1941 #, c-format msgid "invalid regular expression \"%s\": %s" msgstr "ungültiger regulärer Ausdruck »%s«: %s" -#: libpq/hba.c:2011 +#: libpq/hba.c:2001 #, c-format msgid "regular expression match for \"%s\" failed: %s" msgstr "Suche nach regulärem Ausdruck für »%s« fehlgeschlagen: %s" -#: libpq/hba.c:2030 +#: libpq/hba.c:2020 #, c-format msgid "regular expression \"%s\" has no subexpressions as requested by backreference in \"%s\"" msgstr "regulärer Ausdruck »%s« hat keine Teilausdrücke wie von der Backreference in »%s« verlangt" -#: libpq/hba.c:2127 +#: libpq/hba.c:2117 #, c-format msgid "provided user name (%s) and authenticated user name (%s) do not match" msgstr "angegebener Benutzername (%s) und authentifizierter Benutzername (%s) stimmen nicht überein" -#: libpq/hba.c:2147 +#: libpq/hba.c:2137 #, c-format msgid "no match in usermap \"%s\" for user \"%s\" authenticated as \"%s\"" msgstr "kein passender Eintrag in Usermap »%s« für Benutzer »%s«, authentifiziert als »%s«" -#: libpq/hba.c:2182 +#: libpq/hba.c:2172 #, c-format msgid "could not open usermap file \"%s\": %m" msgstr "konnte Usermap-Datei »%s« nicht öffnen: %m" @@ -11740,7 +11737,7 @@ msgid "could not receive data from client: %m" msgstr "konnte Daten vom Client nicht empfangen: %m" -#: libpq/pqcomm.c:1196 tcop/postgres.c:3915 +#: libpq/pqcomm.c:1196 tcop/postgres.c:3913 #, c-format msgid "terminating connection because protocol synchronization was lost" msgstr "Verbindung wird abgebrochen, weil Protokollsynchronisierung verloren wurde" @@ -13066,8 +13063,8 @@ msgid "recursive reference to query \"%s\" must not appear more than once" msgstr "rekursiver Verweis auf Anfrage »%s« darf nicht mehrmals erscheinen" -#: parser/parse_expr.c:390 parser/parse_relation.c:3176 -#: parser/parse_relation.c:3196 +#: parser/parse_expr.c:390 parser/parse_relation.c:3187 +#: parser/parse_relation.c:3207 #, c-format msgid "column %s.%s does not exist" msgstr "Spalte %s.%s existiert nicht" @@ -13486,12 +13483,12 @@ msgid "table name \"%s\" specified more than once" msgstr "Tabellenname »%s« mehrmals angegeben" -#: parser/parse_relation.c:425 parser/parse_relation.c:3116 +#: parser/parse_relation.c:425 parser/parse_relation.c:3127 #, c-format msgid "invalid reference to FROM-clause entry for table \"%s\"" msgstr "ungültiger Verweis auf FROM-Klausel-Eintrag für Tabelle »%s«" -#: parser/parse_relation.c:428 parser/parse_relation.c:3121 +#: parser/parse_relation.c:428 parser/parse_relation.c:3132 #, c-format msgid "There is an entry for table \"%s\", but it cannot be referenced from this part of the query." msgstr "Es gibt einen Eintrag für Tabelle »%s«, aber auf ihn kann aus diesem Teil der Anfrage nicht verwiesen werden." @@ -13552,32 +13549,32 @@ msgid "WITH query \"%s\" does not have a RETURNING clause" msgstr "WITH-Anfrage »%s« hat keine RETURNING-Klausel" -#: parser/parse_relation.c:2738 parser/parse_relation.c:2900 +#: parser/parse_relation.c:2749 parser/parse_relation.c:2911 #, c-format msgid "column %d of relation \"%s\" does not exist" msgstr "Spalte %d von Relation »%s« existiert nicht" -#: parser/parse_relation.c:3119 +#: parser/parse_relation.c:3130 #, c-format msgid "Perhaps you meant to reference the table alias \"%s\"." msgstr "Vielleicht wurde beabsichtigt, auf den Tabellenalias »%s« zu verweisen." -#: parser/parse_relation.c:3127 +#: parser/parse_relation.c:3138 #, c-format msgid "missing FROM-clause entry for table \"%s\"" msgstr "fehlender Eintrag in FROM-Klausel für Tabelle »%s«" -#: parser/parse_relation.c:3179 +#: parser/parse_relation.c:3190 #, c-format msgid "Perhaps you meant to reference the column \"%s.%s\"." msgstr "Vielleicht wurde beabsichtigt, auf die Spalte »%s.%s« zu verweisen." -#: parser/parse_relation.c:3181 +#: parser/parse_relation.c:3192 #, c-format msgid "There is a column named \"%s\" in table \"%s\", but it cannot be referenced from this part of the query." msgstr "Es gibt eine Spalte namens »%s« in Tabelle »%s«, aber auf sie kann aus diesem Teil der Anfrage nicht verwiesen werden." -#: parser/parse_relation.c:3198 +#: parser/parse_relation.c:3209 #, c-format msgid "Perhaps you meant to reference the column \"%s.%s\" or the column \"%s.%s\"." msgstr "Vielleicht wurde beabsichtigt, auf die Spalte »%s.%s« oder die Spalte »%s.%s« zu verweisen." @@ -13642,7 +13639,7 @@ msgid "type reference %s converted to %s" msgstr "Typverweis %s in %s umgewandelt" -#: parser/parse_type.c:261 parser/parse_type.c:805 utils/cache/typcache.c:239 +#: parser/parse_type.c:261 parser/parse_type.c:805 utils/cache/typcache.c:241 #, c-format msgid "type \"%s\" is only a shell" msgstr "Typ »%s« ist nur eine Hülle" @@ -14590,7 +14587,7 @@ msgstr "nicht unterstütztes Frontend-Protokoll %u.%u: Server unterstützt %u.0 bis %u.%u" #: postmaster/postmaster.c:2090 utils/misc/guc.c:5660 utils/misc/guc.c:5753 -#: utils/misc/guc.c:7051 utils/misc/guc.c:9805 utils/misc/guc.c:9839 +#: utils/misc/guc.c:7051 utils/misc/guc.c:9798 utils/misc/guc.c:9832 #, c-format msgid "invalid value for parameter \"%s\": \"%s\"" msgstr "ungültiger Wert für Parameter »%s«: »%s«" @@ -15145,8 +15142,7 @@ msgid "invalid socket: %s" msgstr "ungültiges Socket: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:426 -#: storage/ipc/latch.c:1343 +#: replication/libpqwalreceiver/libpqwalreceiver.c:426 storage/ipc/latch.c:1343 #, c-format msgid "select() failed: %m" msgstr "select() fehlgeschlagen: %m" @@ -15238,8 +15234,8 @@ msgid "array must not contain nulls" msgstr "Array darf keine NULL-Werte enthalten" -#: replication/logical/logicalfuncs.c:221 utils/adt/json.c:2277 -#: utils/adt/jsonb.c:1356 +#: replication/logical/logicalfuncs.c:221 utils/adt/json.c:2241 +#: utils/adt/jsonb.c:1313 #, c-format msgid "array must have even number of elements" msgstr "Array muss eine gerade Anzahl Elemente haben" @@ -15264,64 +15260,74 @@ msgid "cannot manipulate replication origins during recovery" msgstr "Replication-Origins können nicht während der Wiederherstellung geändert werden" -#: replication/logical/origin.c:316 +#: replication/logical/origin.c:226 +#, c-format +msgid "replication origin \"%s\" does not exist" +msgstr "Replication-Origin »%s« existiert nicht" + +#: replication/logical/origin.c:318 #, c-format msgid "could not find free replication origin OID" msgstr "konnte keine freie Replication-Origin-OID finden" -#: replication/logical/origin.c:353 +#: replication/logical/origin.c:355 #, c-format msgid "could not drop replication origin with OID %d, in use by PID %d" msgstr "konnte Replication-Origin mit OID %d nicht löschen, wird von PID %d verwendet" -#: replication/logical/origin.c:674 +#: replication/logical/origin.c:429 +#, c-format +msgid "replication origin with OID %u does not exist" +msgstr "Replication-Origin mit OID %u existiert nicht" + +#: replication/logical/origin.c:678 #, c-format msgid "replication checkpoint has wrong magic %u instead of %u" msgstr "Replikations-Checkpoint hat falsche magische Zahl %u statt %u" -#: replication/logical/origin.c:706 +#: replication/logical/origin.c:710 #, c-format msgid "could not read file \"%s\": read %d of %zu" msgstr "konnte Datei »%s« nicht lesen: %d von %zu gelesen" -#: replication/logical/origin.c:715 +#: replication/logical/origin.c:719 #, c-format msgid "could not find free replication state, increase max_replication_slots" msgstr "konnte keinen freien Replication-State finden, erhöhen Sie max_replication_slots" -#: replication/logical/origin.c:733 +#: replication/logical/origin.c:737 #, c-format msgid "replication slot checkpoint has wrong checksum %u, expected %u" msgstr "Replikations-Slot-Checkpoint hat falsche Prüfsumme %u, erwartet wurde %u" -#: replication/logical/origin.c:857 +#: replication/logical/origin.c:861 #, c-format msgid "replication origin with OID %d is already active for PID %d" msgstr "Replication-Origin mit OID %d ist bereits aktiv für PID %d" -#: replication/logical/origin.c:868 replication/logical/origin.c:1048 +#: replication/logical/origin.c:872 replication/logical/origin.c:1052 #, c-format msgid "could not find free replication state slot for replication origin with OID %u" msgstr "konnte keinen freien Replication-State-Slot für Replication-Origin mit OID %u finden" -#: replication/logical/origin.c:870 replication/logical/origin.c:1050 +#: replication/logical/origin.c:874 replication/logical/origin.c:1054 #: replication/slot.c:1316 #, c-format msgid "Increase max_replication_slots and try again." msgstr "Erhöhen Sie max_replication_slots und versuchen Sie es erneut." -#: replication/logical/origin.c:1007 +#: replication/logical/origin.c:1011 #, c-format msgid "cannot setup replication origin when one is already setup" msgstr "kann Replication-Origin nicht einrichten, wenn schon einer eingerichtet ist" -#: replication/logical/origin.c:1036 +#: replication/logical/origin.c:1040 #, c-format msgid "replication identifier %d is already active for PID %d" msgstr "Replikationsidentifikator %d ist bereits aktiv für PID %d" -#: replication/logical/origin.c:1082 replication/logical/origin.c:1277 -#: replication/logical/origin.c:1297 +#: replication/logical/origin.c:1086 replication/logical/origin.c:1281 +#: replication/logical/origin.c:1301 #, c-format msgid "no replication origin is configured" msgstr "kein Replication-Origin konfiguriert" @@ -15547,57 +15553,57 @@ msgid "terminating walreceiver process due to administrator command" msgstr "WAL-Receiver-Prozess wird abgebrochen aufgrund von Anweisung des Administrators" -#: replication/walreceiver.c:344 +#: replication/walreceiver.c:349 #, c-format msgid "highest timeline %u of the primary is behind recovery timeline %u" msgstr "höchste Zeitleiste %u des primären Servers liegt hinter Wiederherstellungszeitleiste %u zurück" -#: replication/walreceiver.c:377 +#: replication/walreceiver.c:382 #, c-format msgid "started streaming WAL from primary at %X/%X on timeline %u" msgstr "WAL-Streaming vom Primärserver gestartet bei %X/%X auf Zeitleiste %u" -#: replication/walreceiver.c:382 +#: replication/walreceiver.c:387 #, c-format msgid "restarted WAL streaming at %X/%X on timeline %u" msgstr "WAL-Streaming neu gestartet bei %X/%X auf Zeitleiste %u" -#: replication/walreceiver.c:411 +#: replication/walreceiver.c:416 #, c-format msgid "cannot continue WAL streaming, recovery has already ended" msgstr "kann WAL-Streaming nicht fortsetzen, Wiederherstellung ist bereits beendet" -#: replication/walreceiver.c:448 +#: replication/walreceiver.c:453 #, c-format msgid "replication terminated by primary server" msgstr "Replikation wurde durch Primärserver beendet" -#: replication/walreceiver.c:449 +#: replication/walreceiver.c:454 #, c-format msgid "End of WAL reached on timeline %u at %X/%X." msgstr "WAL-Ende erreicht auf Zeitleiste %u bei %X/%X." -#: replication/walreceiver.c:543 +#: replication/walreceiver.c:548 #, c-format msgid "terminating walreceiver due to timeout" msgstr "WAL-Receiver-Prozess wird abgebrochen wegen Zeitüberschreitung" -#: replication/walreceiver.c:583 +#: replication/walreceiver.c:588 #, c-format msgid "primary server contains no more WAL on requested timeline %u" msgstr "Primärserver enthält kein WAL mehr auf angeforderter Zeitleiste %u" -#: replication/walreceiver.c:598 replication/walreceiver.c:957 +#: replication/walreceiver.c:603 replication/walreceiver.c:962 #, c-format msgid "could not close log segment %s: %m" msgstr "konnte Logsegment %s nicht schließen: %m" -#: replication/walreceiver.c:722 +#: replication/walreceiver.c:727 #, c-format msgid "fetching timeline history file for timeline %u from primary server" msgstr "hole Zeitleisten-History-Datei für Zeitleiste %u vom Primärserver" -#: replication/walreceiver.c:1011 +#: replication/walreceiver.c:1016 #, c-format msgid "could not write to log segment %s at offset %u, length %lu: %m" msgstr "konnte nicht in Logsegment %s bei Position %u, Länge %lu schreiben: %m" @@ -16352,54 +16358,54 @@ msgid "too many dynamic shared memory segments" msgstr "zu viele dynamische Shared-Memory-Segmente" -#: storage/ipc/dsm_impl.c:261 storage/ipc/dsm_impl.c:361 -#: storage/ipc/dsm_impl.c:533 storage/ipc/dsm_impl.c:648 -#: storage/ipc/dsm_impl.c:819 storage/ipc/dsm_impl.c:961 +#: storage/ipc/dsm_impl.c:262 storage/ipc/dsm_impl.c:363 +#: storage/ipc/dsm_impl.c:580 storage/ipc/dsm_impl.c:695 +#: storage/ipc/dsm_impl.c:866 storage/ipc/dsm_impl.c:1008 #, c-format msgid "could not unmap shared memory segment \"%s\": %m" msgstr "konnte Shared-Memory-Segment »%s« nicht unmappen: %m" -#: storage/ipc/dsm_impl.c:271 storage/ipc/dsm_impl.c:543 -#: storage/ipc/dsm_impl.c:658 storage/ipc/dsm_impl.c:829 +#: storage/ipc/dsm_impl.c:272 storage/ipc/dsm_impl.c:590 +#: storage/ipc/dsm_impl.c:705 storage/ipc/dsm_impl.c:876 #, c-format msgid "could not remove shared memory segment \"%s\": %m" msgstr "konnte Shared-Memory-Segment »%s« nicht entfernen: %m" -#: storage/ipc/dsm_impl.c:292 storage/ipc/dsm_impl.c:729 -#: storage/ipc/dsm_impl.c:843 +#: storage/ipc/dsm_impl.c:293 storage/ipc/dsm_impl.c:776 +#: storage/ipc/dsm_impl.c:890 #, c-format msgid "could not open shared memory segment \"%s\": %m" msgstr "konnte Shared-Memory-Segment »%s« nicht öffnen: %m" -#: storage/ipc/dsm_impl.c:316 storage/ipc/dsm_impl.c:559 -#: storage/ipc/dsm_impl.c:774 storage/ipc/dsm_impl.c:867 +#: storage/ipc/dsm_impl.c:317 storage/ipc/dsm_impl.c:606 +#: storage/ipc/dsm_impl.c:821 storage/ipc/dsm_impl.c:914 #, c-format msgid "could not stat shared memory segment \"%s\": %m" msgstr "konnte »stat« für Shared-Memory-Segment »%s« nicht ausführen: %m" -#: storage/ipc/dsm_impl.c:335 storage/ipc/dsm_impl.c:886 -#: storage/ipc/dsm_impl.c:934 +#: storage/ipc/dsm_impl.c:337 storage/ipc/dsm_impl.c:933 +#: storage/ipc/dsm_impl.c:981 #, c-format msgid "could not resize shared memory segment \"%s\" to %zu bytes: %m" msgstr "konnte Größe des Shared-Memory-Segments »%s« nicht auf %zu Bytes ändern: %m" -#: storage/ipc/dsm_impl.c:385 storage/ipc/dsm_impl.c:580 -#: storage/ipc/dsm_impl.c:750 storage/ipc/dsm_impl.c:985 +#: storage/ipc/dsm_impl.c:387 storage/ipc/dsm_impl.c:627 +#: storage/ipc/dsm_impl.c:797 storage/ipc/dsm_impl.c:1032 #, c-format msgid "could not map shared memory segment \"%s\": %m" msgstr "konnte Shared-Memory-Segment »%s« nicht mappen: %m" -#: storage/ipc/dsm_impl.c:515 +#: storage/ipc/dsm_impl.c:562 #, c-format msgid "could not get shared memory segment: %m" msgstr "konnte Shared-Memory-Segment nicht finden: %m" -#: storage/ipc/dsm_impl.c:714 +#: storage/ipc/dsm_impl.c:761 #, c-format msgid "could not create shared memory segment \"%s\": %m" msgstr "konnte Shared-Memory-Segment »%s« nicht erzeugen: %m" -#: storage/ipc/dsm_impl.c:1026 +#: storage/ipc/dsm_impl.c:1073 #, c-format msgid "could not duplicate handle for \"%s\": %m" msgstr "konnte Handle für »%s« nicht duplizieren: %m" @@ -16449,7 +16455,7 @@ msgid "requested shared memory size overflows size_t" msgstr "angeforderte Shared-Memory-Größe übersteigt Kapazität von size_t" -#: storage/ipc/standby.c:530 tcop/postgres.c:2974 +#: storage/ipc/standby.c:530 tcop/postgres.c:2972 #, c-format msgid "canceling statement due to conflict with recovery" msgstr "storniere Anfrage wegen Konflikt mit der Wiederherstellung" @@ -16903,7 +16909,7 @@ msgstr "unerwartetes EOF auf Client-Verbindung" #: tcop/postgres.c:430 tcop/postgres.c:442 tcop/postgres.c:453 -#: tcop/postgres.c:465 tcop/postgres.c:4300 +#: tcop/postgres.c:465 tcop/postgres.c:4298 #, c-format msgid "invalid frontend message type %d" msgstr "ungültiger Frontend-Message-Typ %d" @@ -17076,92 +17082,92 @@ msgid "connection to client lost" msgstr "Verbindung zum Client wurde verloren" -#: tcop/postgres.c:2951 +#: tcop/postgres.c:2949 #, c-format msgid "canceling statement due to lock timeout" msgstr "storniere Anfrage wegen Zeitüberschreitung einer Sperre" -#: tcop/postgres.c:2958 +#: tcop/postgres.c:2956 #, c-format msgid "canceling statement due to statement timeout" msgstr "storniere Anfrage wegen Zeitüberschreitung der Anfrage" -#: tcop/postgres.c:2965 +#: tcop/postgres.c:2963 #, c-format msgid "canceling autovacuum task" msgstr "storniere Autovacuum-Aufgabe" -#: tcop/postgres.c:2988 +#: tcop/postgres.c:2986 #, c-format msgid "canceling statement due to user request" msgstr "storniere Anfrage wegen Benutzeraufforderung" -#: tcop/postgres.c:2998 +#: tcop/postgres.c:2996 #, c-format msgid "terminating connection due to idle-in-transaction timeout" msgstr "Verbindung wird abgebrochen wegen Zeitüberschreitung in inaktiver Transaktion" -#: tcop/postgres.c:3112 +#: tcop/postgres.c:3110 #, c-format msgid "stack depth limit exceeded" msgstr "Grenze für Stacktiefe überschritten" -#: tcop/postgres.c:3113 +#: tcop/postgres.c:3111 #, c-format msgid "Increase the configuration parameter \"max_stack_depth\" (currently %dkB), after ensuring the platform's stack depth limit is adequate." msgstr "Erhöhen Sie den Konfigurationsparameter »max_stack_depth« (aktuell %dkB), nachdem Sie sichergestellt haben, dass die Stacktiefenbegrenzung Ihrer Plattform ausreichend ist." -#: tcop/postgres.c:3176 +#: tcop/postgres.c:3174 #, c-format msgid "\"max_stack_depth\" must not exceed %ldkB." msgstr "»max_stack_depth« darf %ldkB nicht überschreiten." -#: tcop/postgres.c:3178 +#: tcop/postgres.c:3176 #, c-format msgid "Increase the platform's stack depth limit via \"ulimit -s\" or local equivalent." msgstr "Erhöhen Sie die Stacktiefenbegrenzung Ihrer Plattform mit »ulimit -s« oder der lokalen Entsprechung." -#: tcop/postgres.c:3538 +#: tcop/postgres.c:3536 #, c-format msgid "invalid command-line argument for server process: %s" msgstr "ungültiges Kommandozeilenargument für Serverprozess: %s" -#: tcop/postgres.c:3539 tcop/postgres.c:3545 +#: tcop/postgres.c:3537 tcop/postgres.c:3543 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Versuchen Sie »%s --help« für weitere Informationen." -#: tcop/postgres.c:3543 +#: tcop/postgres.c:3541 #, c-format msgid "%s: invalid command-line argument: %s" msgstr "%s: ungültiges Kommandozeilenargument: %s" -#: tcop/postgres.c:3605 +#: tcop/postgres.c:3603 #, c-format msgid "%s: no database nor user name specified" msgstr "%s: weder Datenbankname noch Benutzername angegeben" -#: tcop/postgres.c:4208 +#: tcop/postgres.c:4206 #, c-format msgid "invalid CLOSE message subtype %d" msgstr "ungültiger Subtyp %d von CLOSE-Message" -#: tcop/postgres.c:4243 +#: tcop/postgres.c:4241 #, c-format msgid "invalid DESCRIBE message subtype %d" msgstr "ungültiger Subtyp %d von DESCRIBE-Message" -#: tcop/postgres.c:4321 +#: tcop/postgres.c:4319 #, c-format msgid "fastpath function calls not supported in a replication connection" msgstr "Fastpath-Funktionsaufrufe werden auf einer Replikationsverbindung nicht unterstützt" -#: tcop/postgres.c:4325 +#: tcop/postgres.c:4323 #, c-format msgid "extended query protocol not supported in a replication connection" msgstr "erweitertes Anfrageprotokoll wird nicht auf einer Replikationsverbindung unterstützt" -#: tcop/postgres.c:4495 +#: tcop/postgres.c:4493 #, c-format msgid "disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s host=%s%s%s" msgstr "Verbindungsende: Sitzungszeit: %d:%02d:%02d.%03d Benutzer=%s Datenbank=%s Host=%s%s%s" @@ -17386,8 +17392,7 @@ msgid "affix file contains both old-style and new-style commands" msgstr "Affixdatei enthält Befehle im alten und im neuen Stil" -#: tsearch/to_tsany.c:170 utils/adt/tsvector.c:270 -#: utils/adt/tsvector_op.c:1133 +#: tsearch/to_tsany.c:170 utils/adt/tsvector.c:270 utils/adt/tsvector_op.c:1133 #, c-format msgid "string is too long for tsvector (%d bytes, max %d bytes)" msgstr "Zeichenkette ist zu lang für tsvector (%d Bytes, maximal %d Bytes)" @@ -17524,43 +17529,43 @@ msgid "extra garbage at the end of the ACL specification" msgstr "überflüssiger Müll am Ende der ACL-Angabe" -#: utils/adt/acl.c:1196 +#: utils/adt/acl.c:1198 #, c-format msgid "grant options cannot be granted back to your own grantor" msgstr "Grant-Optionen können nicht an den eigenen Grantor gegeben werden" -#: utils/adt/acl.c:1257 +#: utils/adt/acl.c:1259 #, c-format msgid "dependent privileges exist" msgstr "abhängige Privilegien existieren" -#: utils/adt/acl.c:1258 +#: utils/adt/acl.c:1260 #, c-format msgid "Use CASCADE to revoke them too." msgstr "Verwenden Sie CASCADE, um diese auch zu entziehen." -#: utils/adt/acl.c:1537 +#: utils/adt/acl.c:1539 #, c-format msgid "aclinsert is no longer supported" msgstr "aclinsert wird nicht mehr unterstützt" -#: utils/adt/acl.c:1547 +#: utils/adt/acl.c:1549 #, c-format msgid "aclremove is no longer supported" msgstr "aclremove wird nicht mehr unterstützt" -#: utils/adt/acl.c:1633 utils/adt/acl.c:1687 +#: utils/adt/acl.c:1635 utils/adt/acl.c:1689 #, c-format msgid "unrecognized privilege type: \"%s\"" msgstr "unbekannter Privilegtyp: »%s«" -#: utils/adt/acl.c:3427 utils/adt/regproc.c:124 utils/adt/regproc.c:145 +#: utils/adt/acl.c:3429 utils/adt/regproc.c:124 utils/adt/regproc.c:145 #: utils/adt/regproc.c:320 #, c-format msgid "function \"%s\" does not exist" msgstr "Funktion »%s« existiert nicht" -#: utils/adt/acl.c:4881 +#: utils/adt/acl.c:4883 #, c-format msgid "must be member of role \"%s\"" msgstr "Berechtigung nur für Mitglied von Rolle »%s«" @@ -17575,9 +17580,9 @@ msgstr "Arraygröße überschreitet erlaubtes Maximum (%d)" #: utils/adt/array_userfuncs.c:79 utils/adt/array_userfuncs.c:541 -#: utils/adt/array_userfuncs.c:621 utils/adt/json.c:1759 utils/adt/json.c:1854 -#: utils/adt/json.c:1892 utils/adt/jsonb.c:1126 utils/adt/jsonb.c:1155 -#: utils/adt/jsonb.c:1591 utils/adt/jsonb.c:1755 utils/adt/jsonb.c:1765 +#: utils/adt/array_userfuncs.c:621 utils/adt/json.c:1760 utils/adt/json.c:1855 +#: utils/adt/json.c:1893 utils/adt/jsonb.c:1127 utils/adt/jsonb.c:1156 +#: utils/adt/jsonb.c:1548 utils/adt/jsonb.c:1712 utils/adt/jsonb.c:1722 #, c-format msgid "could not determine input data type" msgstr "konnte Eingabedatentypen nicht bestimmen" @@ -17770,9 +17775,9 @@ #: utils/adt/arrayfuncs.c:2301 utils/adt/arrayfuncs.c:2537 #: utils/adt/arrayfuncs.c:2848 utils/adt/arrayfuncs.c:5740 #: utils/adt/arrayfuncs.c:5766 utils/adt/arrayfuncs.c:5777 -#: utils/adt/json.c:2290 utils/adt/json.c:2365 utils/adt/jsonb.c:1369 -#: utils/adt/jsonb.c:1455 utils/adt/jsonfuncs.c:3529 -#: utils/adt/jsonfuncs.c:3574 utils/adt/jsonfuncs.c:3621 +#: utils/adt/json.c:2254 utils/adt/json.c:2329 utils/adt/jsonb.c:1326 +#: utils/adt/jsonb.c:1412 utils/adt/jsonfuncs.c:3529 utils/adt/jsonfuncs.c:3574 +#: utils/adt/jsonfuncs.c:3621 #, c-format msgid "wrong number of array subscripts" msgstr "falsche Anzahl Arrayindizes" @@ -17916,9 +17921,8 @@ #: utils/adt/int.c:861 utils/adt/int.c:969 utils/adt/int.c:1058 #: utils/adt/int.c:1097 utils/adt/int.c:1125 utils/adt/int8.c:597 #: utils/adt/int8.c:657 utils/adt/int8.c:897 utils/adt/int8.c:1005 -#: utils/adt/int8.c:1094 utils/adt/int8.c:1202 utils/adt/numeric.c:6818 -#: utils/adt/numeric.c:7107 utils/adt/numeric.c:8120 -#: utils/adt/timestamp.c:3542 +#: utils/adt/int8.c:1094 utils/adt/int8.c:1202 utils/adt/numeric.c:6828 +#: utils/adt/numeric.c:7117 utils/adt/numeric.c:8130 utils/adt/timestamp.c:3542 #, c-format msgid "division by zero" msgstr "Division durch Null" @@ -17986,8 +17990,8 @@ #: utils/adt/date.c:1714 utils/adt/date.c:1748 utils/adt/date.c:2592 #: utils/adt/datetime.c:1759 utils/adt/formatting.c:3404 #: utils/adt/formatting.c:3436 utils/adt/formatting.c:3504 -#: utils/adt/json.c:1534 utils/adt/json.c:1556 utils/adt/jsonb.c:823 -#: utils/adt/jsonb.c:847 utils/adt/nabstime.c:455 utils/adt/nabstime.c:498 +#: utils/adt/json.c:1535 utils/adt/json.c:1557 utils/adt/jsonb.c:824 +#: utils/adt/jsonb.c:848 utils/adt/nabstime.c:455 utils/adt/nabstime.c:498 #: utils/adt/nabstime.c:528 utils/adt/nabstime.c:571 utils/adt/timestamp.c:225 #: utils/adt/timestamp.c:269 utils/adt/timestamp.c:727 #: utils/adt/timestamp.c:736 utils/adt/timestamp.c:818 @@ -18226,7 +18230,7 @@ msgid "smallint out of range" msgstr "smallint ist außerhalb des gültigen Bereichs" -#: utils/adt/float.c:1430 utils/adt/numeric.c:7540 +#: utils/adt/float.c:1430 utils/adt/numeric.c:7550 #, c-format msgid "cannot take square root of a negative number" msgstr "Quadratwurzel von negativer Zahl kann nicht ermittelt werden" @@ -18241,12 +18245,12 @@ msgid "a negative number raised to a non-integer power yields a complex result" msgstr "eine negative Zahl hoch eine nicht ganze Zahl ergibt ein komplexes Ergebnis" -#: utils/adt/float.c:1542 utils/adt/float.c:1572 utils/adt/numeric.c:7806 +#: utils/adt/float.c:1542 utils/adt/float.c:1572 utils/adt/numeric.c:7816 #, c-format msgid "cannot take logarithm of zero" msgstr "Logarithmus von null kann nicht ermittelt werden" -#: utils/adt/float.c:1546 utils/adt/float.c:1576 utils/adt/numeric.c:7810 +#: utils/adt/float.c:1546 utils/adt/float.c:1576 utils/adt/numeric.c:7820 #, c-format msgid "cannot take logarithm of a negative number" msgstr "Logarithmus negativer Zahlen kann nicht ermittelt werden" @@ -18664,187 +18668,185 @@ msgid "OID out of range" msgstr "OID ist außerhalb des gültigen Bereichs" -#: utils/adt/json.c:785 utils/adt/json.c:825 utils/adt/json.c:840 -#: utils/adt/json.c:851 utils/adt/json.c:861 utils/adt/json.c:912 -#: utils/adt/json.c:943 utils/adt/json.c:961 utils/adt/json.c:973 -#: utils/adt/json.c:985 utils/adt/json.c:1130 utils/adt/json.c:1144 -#: utils/adt/json.c:1155 utils/adt/json.c:1163 utils/adt/json.c:1171 -#: utils/adt/json.c:1179 utils/adt/json.c:1187 utils/adt/json.c:1195 -#: utils/adt/json.c:1203 utils/adt/json.c:1211 utils/adt/json.c:1241 +#: utils/adt/json.c:786 utils/adt/json.c:826 utils/adt/json.c:841 +#: utils/adt/json.c:852 utils/adt/json.c:862 utils/adt/json.c:913 +#: utils/adt/json.c:944 utils/adt/json.c:962 utils/adt/json.c:974 +#: utils/adt/json.c:986 utils/adt/json.c:1131 utils/adt/json.c:1145 +#: utils/adt/json.c:1156 utils/adt/json.c:1164 utils/adt/json.c:1172 +#: utils/adt/json.c:1180 utils/adt/json.c:1188 utils/adt/json.c:1196 +#: utils/adt/json.c:1204 utils/adt/json.c:1212 utils/adt/json.c:1242 #, c-format msgid "invalid input syntax for type json" msgstr "ungültige Eingabesyntax für Typ json" -#: utils/adt/json.c:786 +#: utils/adt/json.c:787 #, c-format msgid "Character with value 0x%02x must be escaped." msgstr "Zeichen mit Wert 0x%02x muss escapt werden." -#: utils/adt/json.c:826 +#: utils/adt/json.c:827 #, c-format msgid "\"\\u\" must be followed by four hexadecimal digits." msgstr "Nach »\\u« müssen vier Hexadezimalziffern folgen." -#: utils/adt/json.c:841 +#: utils/adt/json.c:842 #, c-format msgid "Unicode high surrogate must not follow a high surrogate." msgstr "Unicode-High-Surrogate darf nicht auf ein High-Surrogate folgen." -#: utils/adt/json.c:852 utils/adt/json.c:862 utils/adt/json.c:913 -#: utils/adt/json.c:974 utils/adt/json.c:986 +#: utils/adt/json.c:853 utils/adt/json.c:863 utils/adt/json.c:914 +#: utils/adt/json.c:975 utils/adt/json.c:987 #, c-format msgid "Unicode low surrogate must follow a high surrogate." msgstr "Unicode-Low-Surrogate muss auf ein High-Surrogate folgen." -#: utils/adt/json.c:877 utils/adt/json.c:900 +#: utils/adt/json.c:878 utils/adt/json.c:901 #, c-format msgid "unsupported Unicode escape sequence" msgstr "nicht unterstützte Unicode-Escape-Sequenz" -#: utils/adt/json.c:878 +#: utils/adt/json.c:879 #, c-format msgid "\\u0000 cannot be converted to text." msgstr "\\u0000 kann nicht in »text« umgewandelt werden." -#: utils/adt/json.c:901 +#: utils/adt/json.c:902 #, c-format msgid "Unicode escape values cannot be used for code point values above 007F when the server encoding is not UTF8." msgstr "Unicode-Escape-Werte können nicht für Code-Punkt-Werte über 007F verwendet werden, wenn die Serverkodierung nicht UTF8 ist." -#: utils/adt/json.c:944 utils/adt/json.c:962 +#: utils/adt/json.c:945 utils/adt/json.c:963 #, c-format msgid "Escape sequence \"\\%s\" is invalid." msgstr "Escape-Sequenz »\\%s« ist nicht gültig." -#: utils/adt/json.c:1131 +#: utils/adt/json.c:1132 #, c-format msgid "The input string ended unexpectedly." msgstr "Die Eingabezeichenkette endete unerwartet." -#: utils/adt/json.c:1145 +#: utils/adt/json.c:1146 #, c-format msgid "Expected end of input, but found \"%s\"." msgstr "Ende der Eingabe erwartet, aber »%s« gefunden." -#: utils/adt/json.c:1156 +#: utils/adt/json.c:1157 #, c-format msgid "Expected JSON value, but found \"%s\"." msgstr "JSON-Wert erwartet, aber »%s« gefunden." -#: utils/adt/json.c:1164 utils/adt/json.c:1212 +#: utils/adt/json.c:1165 utils/adt/json.c:1213 #, c-format msgid "Expected string, but found \"%s\"." msgstr "Zeichenkette erwartet, aber »%s« gefunden." -#: utils/adt/json.c:1172 +#: utils/adt/json.c:1173 #, c-format msgid "Expected array element or \"]\", but found \"%s\"." msgstr "Array-Element oder »]« erwartet, aber »%s« gefunden." -#: utils/adt/json.c:1180 +#: utils/adt/json.c:1181 #, c-format msgid "Expected \",\" or \"]\", but found \"%s\"." msgstr "»,« oder »]« erwartet, aber »%s« gefunden." -#: utils/adt/json.c:1188 +#: utils/adt/json.c:1189 #, c-format msgid "Expected string or \"}\", but found \"%s\"." msgstr "Zeichenkette oder »}« erwartet, aber »%s« gefunden." -#: utils/adt/json.c:1196 +#: utils/adt/json.c:1197 #, c-format msgid "Expected \":\", but found \"%s\"." msgstr "»:« erwartet, aber »%s« gefunden." -#: utils/adt/json.c:1204 +#: utils/adt/json.c:1205 #, c-format msgid "Expected \",\" or \"}\", but found \"%s\"." msgstr "»,« oder »}« erwartet, aber »%s« gefunden." -#: utils/adt/json.c:1242 +#: utils/adt/json.c:1243 #, c-format msgid "Token \"%s\" is invalid." msgstr "Token »%s« ist ungültig." -#: utils/adt/json.c:1314 +#: utils/adt/json.c:1315 #, c-format msgid "JSON data, line %d: %s%s%s" msgstr "JSON-Daten, Zeile %d: %s%s%s" -#: utils/adt/json.c:1469 utils/adt/jsonb.c:724 +#: utils/adt/json.c:1470 utils/adt/jsonb.c:725 #, c-format msgid "key value must be scalar, not array, composite, or json" msgstr "Schlüsselwert muss skalar sein, nicht Array, zusammengesetzt oder json" -#: utils/adt/json.c:2006 utils/adt/json.c:2016 utils/adt/json.c:2142 -#: utils/adt/json.c:2163 utils/adt/json.c:2222 utils/adt/jsonb.c:1214 -#: utils/adt/jsonb.c:1237 utils/adt/jsonb.c:1297 +#: utils/adt/json.c:2007 utils/adt/json.c:2017 utils/fmgr/funcapi.c:1500 #, c-format msgid "could not determine data type for argument %d" msgstr "konnte Datentyp von Argument %d nicht ermitteln" -#: utils/adt/json.c:2040 utils/adt/jsonb.c:1781 +#: utils/adt/json.c:2041 utils/adt/jsonb.c:1738 #, c-format msgid "field name must not be null" msgstr "Feldname darf nicht NULL sein" -#: utils/adt/json.c:2117 +#: utils/adt/json.c:2125 utils/adt/jsonb.c:1190 #, c-format msgid "argument list must have even number of elements" msgstr "Argumentliste muss gerade Anzahl Elemente haben" -#: utils/adt/json.c:2118 +#: utils/adt/json.c:2126 #, c-format msgid "The arguments of json_build_object() must consist of alternating keys and values." msgstr "Die Argumente von json_build_object() müssen abwechselnd Schlüssel und Werte sein." -#: utils/adt/json.c:2148 +#: utils/adt/json.c:2141 #, c-format msgid "argument %d cannot be null" msgstr "Argument %d darf nicht NULL sein" -#: utils/adt/json.c:2149 +#: utils/adt/json.c:2142 #, c-format msgid "Object keys should be text." msgstr "Objektschlüssel sollten Text sein." -#: utils/adt/json.c:2284 utils/adt/jsonb.c:1363 +#: utils/adt/json.c:2248 utils/adt/jsonb.c:1320 #, c-format msgid "array must have two columns" msgstr "Array muss zwei Spalten haben" -#: utils/adt/json.c:2308 utils/adt/json.c:2392 utils/adt/jsonb.c:1387 -#: utils/adt/jsonb.c:1482 +#: utils/adt/json.c:2272 utils/adt/json.c:2356 utils/adt/jsonb.c:1344 +#: utils/adt/jsonb.c:1439 #, c-format msgid "null value not allowed for object key" msgstr "NULL-Werte sind nicht als Objektschlüssel erlaubt" -#: utils/adt/json.c:2381 utils/adt/jsonb.c:1471 +#: utils/adt/json.c:2345 utils/adt/jsonb.c:1428 #, c-format msgid "mismatched array dimensions" msgstr "Array-Dimensionen passen nicht" -#: utils/adt/jsonb.c:257 +#: utils/adt/jsonb.c:258 #, c-format msgid "string too long to represent as jsonb string" msgstr "Zeichenkette ist zu lang für jsonb" -#: utils/adt/jsonb.c:258 +#: utils/adt/jsonb.c:259 #, c-format msgid "Due to an implementation restriction, jsonb strings cannot exceed %d bytes." msgstr "Aufgrund einer Einschränkung der Implementierung können jsonb-Zeichenketten nicht länger als %d Bytes sein." -#: utils/adt/jsonb.c:1182 +#: utils/adt/jsonb.c:1191 #, c-format -msgid "invalid number of arguments: object must be matched key value pairs" -msgstr "ungültige Anzahl Argumente: Objekt muss aus Schlüssel-Wert-Paaren bestehen" +msgid "The arguments of jsonb_build_object() must consist of alternating keys and values." +msgstr "Die Argumente von jsonb_build_object() müssen abwechselnd Schlüssel und Werte sein." -#: utils/adt/jsonb.c:1195 +#: utils/adt/jsonb.c:1203 #, c-format msgid "argument %d: key must not be null" msgstr "Argument %d: Schlüssel darf nicht NULL sein" -#: utils/adt/jsonb.c:1834 +#: utils/adt/jsonb.c:1791 #, c-format msgid "object keys must be strings" msgstr "Objektschlüssel müssen Zeichenketten sein" @@ -19220,8 +19222,8 @@ msgid "cannot subtract inet values of different sizes" msgstr "Subtraktion von »inet«-Werten unterschiedlicher Größe nicht möglich" -#: utils/adt/numeric.c:542 utils/adt/numeric.c:569 utils/adt/numeric.c:5405 -#: utils/adt/numeric.c:5428 utils/adt/numeric.c:5452 +#: utils/adt/numeric.c:542 utils/adt/numeric.c:569 utils/adt/numeric.c:5415 +#: utils/adt/numeric.c:5438 utils/adt/numeric.c:5462 #, c-format msgid "invalid input syntax for type numeric: \"%s\"" msgstr "ungültige Eingabesyntax für Typ numeric: »%s«" @@ -19271,9 +19273,9 @@ msgid "step size cannot be NaN" msgstr "Schrittgröße kann nicht NaN sein" -#: utils/adt/numeric.c:2539 utils/adt/numeric.c:5467 utils/adt/numeric.c:5912 -#: utils/adt/numeric.c:7616 utils/adt/numeric.c:8041 utils/adt/numeric.c:8156 -#: utils/adt/numeric.c:8229 +#: utils/adt/numeric.c:2539 utils/adt/numeric.c:5477 utils/adt/numeric.c:5922 +#: utils/adt/numeric.c:7626 utils/adt/numeric.c:8051 utils/adt/numeric.c:8166 +#: utils/adt/numeric.c:8239 #, c-format msgid "value overflows numeric format" msgstr "Wert verursacht Überlauf im »numeric«-Format" @@ -19293,17 +19295,22 @@ msgid "cannot convert NaN to smallint" msgstr "kann NaN nicht in smallint umwandeln" -#: utils/adt/numeric.c:5982 +#: utils/adt/numeric.c:3029 utils/adt/numeric.c:3096 +#, c-format +msgid "cannot convert infinity to numeric" +msgstr "kann unendliche Werte nicht in numeric umwandeln" + +#: utils/adt/numeric.c:5992 #, c-format msgid "numeric field overflow" msgstr "Feldüberlauf bei Typ »numeric«" -#: utils/adt/numeric.c:5983 +#: utils/adt/numeric.c:5993 #, c-format msgid "A field with precision %d, scale %d must round to an absolute value less than %s%d." msgstr "Ein Feld mit Präzision %d, Skala %d muss beim Runden einen Betrag von weniger als %s%d ergeben." -#: utils/adt/numeric.c:6254 utils/adt/numeric.c:6280 +#: utils/adt/numeric.c:6264 utils/adt/numeric.c:6290 #, c-format msgid "invalid input syntax for type double precision: \"%s\"" msgstr "ungültige Eingabesyntax für Typ double precision: »%s«" @@ -19805,14 +19812,14 @@ msgid "improper binary format in record column %d" msgstr "falsches Binärformat in Record-Spalte %d" -#: utils/adt/rowtypes.c:902 utils/adt/rowtypes.c:1142 -#: utils/adt/rowtypes.c:1396 utils/adt/rowtypes.c:1673 +#: utils/adt/rowtypes.c:902 utils/adt/rowtypes.c:1142 utils/adt/rowtypes.c:1396 +#: utils/adt/rowtypes.c:1673 #, c-format msgid "cannot compare dissimilar column types %s and %s at record column %d" msgstr "kann unterschiedliche Spaltentyp %s und %s in Record-Spalte %d nicht vergleichen" -#: utils/adt/rowtypes.c:991 utils/adt/rowtypes.c:1213 -#: utils/adt/rowtypes.c:1529 utils/adt/rowtypes.c:1769 +#: utils/adt/rowtypes.c:991 utils/adt/rowtypes.c:1213 utils/adt/rowtypes.c:1529 +#: utils/adt/rowtypes.c:1769 #, c-format msgid "cannot compare record types with different numbers of columns" msgstr "kann Record-Typen mit unterschiedlicher Anzahl Spalten nicht vergleichen" @@ -20541,12 +20548,12 @@ msgid "could not close relation mapping file \"%s\": %m" msgstr "konnte Relation-Mapping-Datei »%s« nicht schließen: %m" -#: utils/cache/typcache.c:1207 +#: utils/cache/typcache.c:1257 #, c-format msgid "type %s is not composite" msgstr "Typ %s ist kein zusammengesetzter Typ" -#: utils/cache/typcache.c:1221 +#: utils/cache/typcache.c:1271 #, c-format msgid "record type has not been registered" msgstr "Record-Typ wurde nicht registriert" @@ -22714,7 +22721,7 @@ #: utils/misc/guc.c:5858 utils/misc/guc.c:6609 utils/misc/guc.c:6661 #: utils/misc/guc.c:7022 utils/misc/guc.c:7782 utils/misc/guc.c:7950 -#: utils/misc/guc.c:9625 +#: utils/misc/guc.c:9618 #, c-format msgid "unrecognized configuration parameter \"%s\"" msgstr "unbekannter Konfigurationsparameter »%s«" @@ -22729,7 +22736,7 @@ msgid "parameter \"%s\" cannot be changed now" msgstr "Parameter »%s« kann jetzt nicht geändert werden" -#: utils/misc/guc.c:5924 utils/misc/guc.c:5970 utils/misc/guc.c:9641 +#: utils/misc/guc.c:5924 utils/misc/guc.c:5970 utils/misc/guc.c:9634 #, c-format msgid "permission denied to set parameter \"%s\"" msgstr "keine Berechtigung, um Parameter »%s« zu setzen" @@ -22784,47 +22791,47 @@ msgid "attempt to redefine parameter \"%s\"" msgstr "Versuch, den Parameter »%s« zu redefinieren" -#: utils/misc/guc.c:9258 +#: utils/misc/guc.c:9251 #, c-format msgid "parameter \"%s\" could not be set" msgstr "Parameter »%s« kann nicht gesetzt werden" -#: utils/misc/guc.c:9345 +#: utils/misc/guc.c:9338 #, c-format msgid "could not parse setting for parameter \"%s\"" msgstr "konnte Wert von Parameter »%s« nicht lesen" -#: utils/misc/guc.c:9703 utils/misc/guc.c:9737 +#: utils/misc/guc.c:9696 utils/misc/guc.c:9730 #, c-format msgid "invalid value for parameter \"%s\": %d" msgstr "ungültiger Wert für Parameter »%s«: %d" -#: utils/misc/guc.c:9771 +#: utils/misc/guc.c:9764 #, c-format msgid "invalid value for parameter \"%s\": %g" msgstr "ungültiger Wert für Parameter »%s«: %g" -#: utils/misc/guc.c:9961 +#: utils/misc/guc.c:9954 #, c-format msgid "\"temp_buffers\" cannot be changed after any temporary tables have been accessed in the session." msgstr "»temp_buffers« kann nicht geändert werden, nachdem in der Sitzung auf temporäre Tabellen zugriffen wurde." -#: utils/misc/guc.c:9973 +#: utils/misc/guc.c:9966 #, c-format msgid "Bonjour is not supported by this build" msgstr "Bonjour wird von dieser Installation nicht unterstützt" -#: utils/misc/guc.c:9986 +#: utils/misc/guc.c:9979 #, c-format msgid "SSL is not supported by this build" msgstr "SSL wird von dieser Installation nicht unterstützt" -#: utils/misc/guc.c:9998 +#: utils/misc/guc.c:9991 #, c-format msgid "Cannot enable parameter when \"log_statement_stats\" is true." msgstr "Kann Parameter nicht einschalten, wenn »log_statement_stats« an ist." -#: utils/misc/guc.c:10010 +#: utils/misc/guc.c:10003 #, c-format msgid "Cannot enable \"log_statement_stats\" when \"log_parser_stats\", \"log_planner_stats\", or \"log_executor_stats\" is true." msgstr "Kann »log_statement_stats« nicht einschalten, wenn »log_parser_stats«, »log_planner_stats« oder »log_executor_stats« an ist." diff -Nru postgresql-9.6-9.6.5/src/backend/po/fr.po postgresql-9.6-9.6.6/src/backend/po/fr.po --- postgresql-9.6-9.6.5/src/backend/po/fr.po 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/po/fr.po 2017-11-06 22:08:55.000000000 +0000 @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: PostgreSQL 9.6\n" "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n" -"POT-Creation-Date: 2017-07-19 17:19+0000\n" -"PO-Revision-Date: 2017-07-20 08:18+0200\n" +"POT-Creation-Date: 2017-09-23 14:48+0000\n" +"PO-Revision-Date: 2017-09-24 11:39+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -17,13 +17,13 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 1.8.12\n" +"X-Generator: Poedit 2.0.3\n" #: ../common/config_info.c:131 ../common/config_info.c:139 ../common/config_info.c:147 ../common/config_info.c:155 ../common/config_info.c:163 ../common/config_info.c:171 ../common/config_info.c:179 ../common/config_info.c:187 ../common/config_info.c:195 msgid "not recorded" msgstr "non enregistré" -#: ../common/controldata_utils.c:52 commands/copy.c:2834 commands/extension.c:3144 utils/adt/genfile.c:134 +#: ../common/controldata_utils.c:52 commands/copy.c:2843 commands/extension.c:3144 utils/adt/genfile.c:134 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m" @@ -141,9 +141,9 @@ msgid "could not close directory \"%s\": %s\n" msgstr "n'a pas pu fermer le répertoire « %s » : %s\n" -#: ../common/psprintf.c:179 ../port/path.c:630 ../port/path.c:668 ../port/path.c:685 access/transam/twophase.c:1262 access/transam/xlog.c:6114 lib/stringinfo.c:258 libpq/auth.c:850 libpq/auth.c:1213 libpq/auth.c:1281 libpq/auth.c:1797 postmaster/bgworker.c:310 postmaster/bgworker.c:813 postmaster/postmaster.c:2357 postmaster/postmaster.c:2388 postmaster/postmaster.c:3922 postmaster/postmaster.c:4620 postmaster/postmaster.c:4695 -#: postmaster/postmaster.c:5368 postmaster/postmaster.c:5690 replication/libpqwalreceiver/libpqwalreceiver.c:143 replication/logical/logical.c:169 storage/buffer/localbuf.c:436 storage/file/fd.c:736 storage/file/fd.c:1164 storage/file/fd.c:1282 storage/file/fd.c:1993 storage/ipc/procarray.c:1061 storage/ipc/procarray.c:1547 storage/ipc/procarray.c:1554 storage/ipc/procarray.c:1968 storage/ipc/procarray.c:2579 utils/adt/formatting.c:1522 -#: utils/adt/formatting.c:1642 utils/adt/formatting.c:1763 utils/adt/pg_locale.c:463 utils/adt/pg_locale.c:647 utils/adt/regexp.c:219 utils/adt/varlena.c:4440 utils/adt/varlena.c:4461 utils/fmgr/dfmgr.c:216 utils/hash/dynahash.c:429 utils/hash/dynahash.c:535 utils/hash/dynahash.c:1047 utils/mb/mbutils.c:376 utils/mb/mbutils.c:709 utils/misc/guc.c:3888 utils/misc/guc.c:3904 utils/misc/guc.c:3917 utils/misc/guc.c:6863 utils/misc/tzparser.c:468 +#: ../common/psprintf.c:179 ../port/path.c:630 ../port/path.c:668 ../port/path.c:685 access/transam/twophase.c:1262 access/transam/xlog.c:6114 lib/stringinfo.c:258 libpq/auth.c:864 libpq/auth.c:1227 libpq/auth.c:1295 libpq/auth.c:1811 postmaster/bgworker.c:310 postmaster/bgworker.c:813 postmaster/postmaster.c:2357 postmaster/postmaster.c:2388 postmaster/postmaster.c:3922 postmaster/postmaster.c:4620 postmaster/postmaster.c:4695 +#: postmaster/postmaster.c:5368 postmaster/postmaster.c:5690 replication/libpqwalreceiver/libpqwalreceiver.c:143 replication/logical/logical.c:169 storage/buffer/localbuf.c:436 storage/file/fd.c:736 storage/file/fd.c:1164 storage/file/fd.c:1282 storage/file/fd.c:1993 storage/ipc/procarray.c:1062 storage/ipc/procarray.c:1548 storage/ipc/procarray.c:1555 storage/ipc/procarray.c:1969 storage/ipc/procarray.c:2580 utils/adt/formatting.c:1522 +#: utils/adt/formatting.c:1642 utils/adt/formatting.c:1763 utils/adt/pg_locale.c:463 utils/adt/pg_locale.c:647 utils/adt/regexp.c:219 utils/adt/varlena.c:4440 utils/adt/varlena.c:4461 utils/fmgr/dfmgr.c:216 utils/hash/dynahash.c:429 utils/hash/dynahash.c:535 utils/hash/dynahash.c:1046 utils/mb/mbutils.c:376 utils/mb/mbutils.c:709 utils/misc/guc.c:3888 utils/misc/guc.c:3904 utils/misc/guc.c:3917 utils/misc/guc.c:6863 utils/misc/tzparser.c:468 #: utils/mmgr/aset.c:510 utils/mmgr/mcxt.c:767 utils/mmgr/mcxt.c:802 utils/mmgr/mcxt.c:839 utils/mmgr/mcxt.c:876 utils/mmgr/mcxt.c:910 utils/mmgr/mcxt.c:939 utils/mmgr/mcxt.c:973 utils/mmgr/mcxt.c:1055 utils/mmgr/mcxt.c:1089 utils/mmgr/mcxt.c:1138 #, c-format msgid "out of memory" @@ -211,7 +211,7 @@ msgid "could not look up effective user ID %ld: %s" msgstr "n'a pas pu trouver l'identifiant réel %ld de l'utilisateur : %s" -#: ../common/username.c:47 libpq/auth.c:1744 +#: ../common/username.c:47 libpq/auth.c:1758 msgid "user does not exist" msgstr "l'utilisateur n'existe pas" @@ -691,7 +691,7 @@ msgid "\"%s\" is an index" msgstr "« %s » est un index" -#: access/heap/heapam.c:1300 access/heap/heapam.c:1328 access/heap/heapam.c:1360 catalog/aclchk.c:1763 commands/tablecmds.c:9082 commands/tablecmds.c:12190 +#: access/heap/heapam.c:1300 access/heap/heapam.c:1328 access/heap/heapam.c:1360 catalog/aclchk.c:1763 commands/tablecmds.c:9095 commands/tablecmds.c:12203 #, c-format msgid "\"%s\" is a composite type" msgstr "« %s » est un type composite" @@ -711,7 +711,7 @@ msgid "attempted to delete invisible tuple" msgstr "a tenté de supprimer la ligne invisible" -#: access/heap/heapam.c:3489 access/heap/heapam.c:6240 +#: access/heap/heapam.c:3489 access/heap/heapam.c:6274 #, c-format msgid "cannot update tuples during a parallel operation" msgstr "ne peut pas mettre à jour les lignes lors d'une opération parallèle" @@ -721,7 +721,7 @@ msgid "attempted to update invisible tuple" msgstr "a tenté de mettre à jour la ligne invisible" -#: access/heap/heapam.c:4963 access/heap/heapam.c:5001 access/heap/heapam.c:5253 executor/execMain.c:2314 +#: access/heap/heapam.c:4964 access/heap/heapam.c:5002 access/heap/heapam.c:5254 executor/execMain.c:2314 #, c-format msgid "could not obtain lock on row in relation \"%s\"" msgstr "n'a pas pu obtenir un verrou sur la relation « %s »" @@ -784,7 +784,7 @@ msgid "index access method \"%s\" does not have a handler" msgstr "la méthode d'accès « %s » n'a pas de handler" -#: access/index/indexam.c:155 catalog/objectaddress.c:1196 commands/indexcmds.c:1800 commands/tablecmds.c:242 commands/tablecmds.c:12181 +#: access/index/indexam.c:155 catalog/objectaddress.c:1196 commands/indexcmds.c:1800 commands/tablecmds.c:242 commands/tablecmds.c:12194 #, c-format msgid "\"%s\" is not an index" msgstr "« %s » n'est pas un index" @@ -820,7 +820,7 @@ "Utilisez un index sur le hachage MD5 de la valeur ou passez à l'indexation\n" "de la recherche plein texte." -#: access/nbtree/nbtpage.c:168 access/nbtree/nbtpage.c:371 access/nbtree/nbtpage.c:458 parser/parse_utilcmd.c:1702 +#: access/nbtree/nbtpage.c:168 access/nbtree/nbtpage.c:371 access/nbtree/nbtpage.c:458 parser/parse_utilcmd.c:1703 #, c-format msgid "index \"%s\" is not a btree" msgstr "l'index « %s » n'est pas un btree" @@ -1032,52 +1032,52 @@ msgid "invalid magic number in dynamic shared memory segment" msgstr "numéro magique invalide dans le segment de mémoire partagée dynamique" -#: access/transam/slru.c:665 +#: access/transam/slru.c:669 #, c-format msgid "file \"%s\" doesn't exist, reading as zeroes" msgstr "le fichier « %s » n'existe pas, contenu lu comme des zéros" -#: access/transam/slru.c:895 access/transam/slru.c:901 access/transam/slru.c:908 access/transam/slru.c:915 access/transam/slru.c:922 access/transam/slru.c:929 +#: access/transam/slru.c:899 access/transam/slru.c:905 access/transam/slru.c:912 access/transam/slru.c:919 access/transam/slru.c:926 access/transam/slru.c:933 #, c-format msgid "could not access status of transaction %u" msgstr "n'a pas pu accéder au statut de la transaction %u" -#: access/transam/slru.c:896 +#: access/transam/slru.c:900 #, c-format msgid "Could not open file \"%s\": %m." msgstr "N'a pas pu ouvrir le fichier « %s » : %m" -#: access/transam/slru.c:902 +#: access/transam/slru.c:906 #, c-format msgid "Could not seek in file \"%s\" to offset %u: %m." msgstr "N'a pas pu se déplacer dans le fichier « %s » au décalage %u : %m" -#: access/transam/slru.c:909 +#: access/transam/slru.c:913 #, c-format msgid "Could not read from file \"%s\" at offset %u: %m." msgstr "N'a pas pu lire le fichier « %s » au décalage %u : %m" -#: access/transam/slru.c:916 +#: access/transam/slru.c:920 #, c-format msgid "Could not write to file \"%s\" at offset %u: %m." msgstr "N'a pas pu écrire le fichier « %s » au décalage %u : %m" -#: access/transam/slru.c:923 +#: access/transam/slru.c:927 #, c-format msgid "Could not fsync file \"%s\": %m." msgstr "N'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m" -#: access/transam/slru.c:930 +#: access/transam/slru.c:934 #, c-format msgid "Could not close file \"%s\": %m." msgstr "N'a pas pu fermer le fichier « %s » : %m" -#: access/transam/slru.c:1185 +#: access/transam/slru.c:1189 #, c-format msgid "could not truncate directory \"%s\": apparent wraparound" msgstr "n'a pas pu tronquer le répertoire « %s » : contournement apparent" -#: access/transam/slru.c:1240 access/transam/slru.c:1296 +#: access/transam/slru.c:1244 access/transam/slru.c:1300 #, c-format msgid "removing file \"%s\"" msgstr "suppression du fichier « %s »" @@ -1353,32 +1353,32 @@ msgid "maximum number of committed subtransactions (%d) exceeded" msgstr "nombre maximum de sous-transactions validées (%d) dépassé" -#: access/transam/xact.c:2263 +#: access/transam/xact.c:2260 #, c-format msgid "cannot PREPARE a transaction that has operated on temporary tables" msgstr "" "ne peut pas préparer (PREPARE) une transaction qui a travaillé sur des\n" "tables temporaires" -#: access/transam/xact.c:2273 +#: access/transam/xact.c:2270 #, c-format msgid "cannot PREPARE a transaction that has exported snapshots" msgstr "ne peut pas préparer (PREPARE) une transaction qui a exporté des snapshots" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3155 +#: access/transam/xact.c:3148 #, c-format msgid "%s cannot run inside a transaction block" msgstr "%s ne peut pas être exécuté dans un bloc de transaction" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3165 +#: access/transam/xact.c:3158 #, c-format msgid "%s cannot run inside a subtransaction" msgstr "%s ne peut pas être exécuté dans un sous-bloc de transaction" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3175 +#: access/transam/xact.c:3168 #, c-format msgid "%s cannot be executed from a function or multi-command string" msgstr "" @@ -1386,62 +1386,62 @@ "contenant plusieurs commandes" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3246 +#: access/transam/xact.c:3239 #, c-format msgid "%s can only be used in transaction blocks" msgstr "%s peut seulement être utilisé dans des blocs de transaction" -#: access/transam/xact.c:3430 +#: access/transam/xact.c:3423 #, c-format msgid "there is already a transaction in progress" msgstr "une transaction est déjà en cours" -#: access/transam/xact.c:3598 access/transam/xact.c:3701 +#: access/transam/xact.c:3591 access/transam/xact.c:3694 #, c-format msgid "there is no transaction in progress" msgstr "aucune transaction en cours" -#: access/transam/xact.c:3609 +#: access/transam/xact.c:3602 #, c-format msgid "cannot commit during a parallel operation" msgstr "ne peut pas valider pendant une opération parallèle" -#: access/transam/xact.c:3712 +#: access/transam/xact.c:3705 #, c-format msgid "cannot abort during a parallel operation" msgstr "ne peut pas annuler pendant une opération en parallèle" -#: access/transam/xact.c:3754 +#: access/transam/xact.c:3747 #, c-format msgid "cannot define savepoints during a parallel operation" msgstr "ne peut pas définir de points de sauvegarde lors d'une opération parallèle" -#: access/transam/xact.c:3821 +#: access/transam/xact.c:3814 #, c-format msgid "cannot release savepoints during a parallel operation" msgstr "ne peut pas relâcher de points de sauvegarde pendant une opération parallèle" -#: access/transam/xact.c:3832 access/transam/xact.c:3884 access/transam/xact.c:3890 access/transam/xact.c:3946 access/transam/xact.c:3996 access/transam/xact.c:4002 +#: access/transam/xact.c:3825 access/transam/xact.c:3877 access/transam/xact.c:3883 access/transam/xact.c:3939 access/transam/xact.c:3989 access/transam/xact.c:3995 #, c-format msgid "no such savepoint" msgstr "aucun point de sauvegarde" -#: access/transam/xact.c:3934 +#: access/transam/xact.c:3927 #, c-format msgid "cannot rollback to savepoints during a parallel operation" msgstr "ne peut pas retourner à un point de sauvegarde pendant un opération parallèle" -#: access/transam/xact.c:4062 +#: access/transam/xact.c:4055 #, c-format msgid "cannot start subtransactions during a parallel operation" msgstr "ne peut pas lancer de sous-transactions pendant une opération parallèle" -#: access/transam/xact.c:4129 +#: access/transam/xact.c:4122 #, c-format msgid "cannot commit subtransactions during a parallel operation" msgstr "ne peut pas valider de sous-transactions pendant une opération parallèle" -#: access/transam/xact.c:4737 +#: access/transam/xact.c:4751 #, c-format msgid "cannot have more than 2^32-1 subtransactions in a transaction" msgstr "ne peut pas avoir plus de 2^32-1 sous-transactions dans une transaction" @@ -1802,7 +1802,7 @@ msgid "parameter \"%s\" requires a temporal value" msgstr "le paramètre « %s » requiert une valeur temporelle" -#: access/transam/xlog.c:5187 catalog/dependency.c:990 catalog/dependency.c:991 catalog/dependency.c:997 catalog/dependency.c:998 catalog/dependency.c:1009 catalog/dependency.c:1010 catalog/objectaddress.c:1100 commands/tablecmds.c:796 commands/tablecmds.c:9543 commands/user.c:1045 commands/view.c:499 libpq/auth.c:307 replication/syncrep.c:929 storage/lmgr/deadlock.c:1139 storage/lmgr/proc.c:1278 utils/adt/acl.c:5281 utils/misc/guc.c:5662 +#: access/transam/xlog.c:5187 catalog/dependency.c:990 catalog/dependency.c:991 catalog/dependency.c:997 catalog/dependency.c:998 catalog/dependency.c:1009 catalog/dependency.c:1010 catalog/objectaddress.c:1100 commands/tablecmds.c:796 commands/tablecmds.c:9556 commands/user.c:1045 commands/view.c:499 libpq/auth.c:307 replication/syncrep.c:929 storage/lmgr/deadlock.c:1139 storage/lmgr/proc.c:1278 utils/adt/acl.c:5281 utils/misc/guc.c:5662 #: utils/misc/guc.c:5755 utils/misc/guc.c:9708 utils/misc/guc.c:9742 utils/misc/guc.c:9776 utils/misc/guc.c:9810 utils/misc/guc.c:9845 #, c-format msgid "%s" @@ -2397,7 +2397,7 @@ msgid "tablespaces are not supported on this platform" msgstr "les tablespaces ne sont pas supportés sur cette plateforme" -#: access/transam/xlog.c:10194 access/transam/xlog.c:10232 access/transam/xlog.c:10441 access/transam/xlogarchive.c:106 access/transam/xlogarchive.c:265 commands/copy.c:1816 commands/copy.c:2840 commands/extension.c:3133 commands/tablespace.c:782 commands/tablespace.c:873 guc-file.l:1001 replication/basebackup.c:409 replication/basebackup.c:477 replication/logical/snapbuild.c:1496 storage/file/copydir.c:72 storage/file/copydir.c:115 +#: access/transam/xlog.c:10194 access/transam/xlog.c:10232 access/transam/xlog.c:10441 access/transam/xlogarchive.c:106 access/transam/xlogarchive.c:265 commands/copy.c:1825 commands/copy.c:2849 commands/extension.c:3133 commands/tablespace.c:782 commands/tablespace.c:873 guc-file.l:1001 replication/basebackup.c:409 replication/basebackup.c:477 replication/logical/snapbuild.c:1496 storage/file/copydir.c:72 storage/file/copydir.c:115 #: storage/file/fd.c:2903 storage/file/fd.c:2995 utils/adt/dbsize.c:70 utils/adt/dbsize.c:220 utils/adt/dbsize.c:300 utils/adt/genfile.c:114 utils/adt/genfile.c:333 #, c-format msgid "could not stat file \"%s\": %m" @@ -2602,7 +2602,7 @@ msgstr "Souhaitiez-vous utiliser pg_stop_backup('f') ?" #: access/transam/xlogfuncs.c:197 commands/event_trigger.c:1445 commands/event_trigger.c:1996 commands/extension.c:1732 commands/extension.c:1841 commands/extension.c:2034 commands/prepare.c:702 executor/execQual.c:1757 executor/execQual.c:1782 executor/execQual.c:2157 executor/execQual.c:5438 executor/functions.c:1031 foreign/foreign.c:492 replication/logical/logicalfuncs.c:175 replication/logical/origin.c:1394 replication/slotfuncs.c:189 -#: replication/walsender.c:2882 utils/adt/jsonfuncs.c:1483 utils/adt/jsonfuncs.c:1613 utils/adt/jsonfuncs.c:1801 utils/adt/jsonfuncs.c:1928 utils/adt/jsonfuncs.c:2694 utils/adt/pgstatfuncs.c:554 utils/adt/pgstatfuncs.c:655 utils/fmgr/funcapi.c:61 utils/misc/guc.c:8436 utils/mmgr/portalmem.c:1074 +#: replication/walsender.c:2882 utils/adt/jsonfuncs.c:1483 utils/adt/jsonfuncs.c:1613 utils/adt/jsonfuncs.c:1801 utils/adt/jsonfuncs.c:1928 utils/adt/jsonfuncs.c:2694 utils/adt/pgstatfuncs.c:554 utils/adt/pgstatfuncs.c:655 utils/fmgr/funcapi.c:61 utils/misc/guc.c:8436 utils/mmgr/portalmem.c:1088 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "" @@ -2610,7 +2610,7 @@ "un ensemble" #: access/transam/xlogfuncs.c:201 commands/event_trigger.c:1449 commands/event_trigger.c:2000 commands/extension.c:1736 commands/extension.c:1845 commands/extension.c:2038 commands/prepare.c:706 foreign/foreign.c:497 replication/logical/logicalfuncs.c:179 replication/logical/origin.c:1398 replication/slotfuncs.c:193 replication/walsender.c:2886 utils/adt/pgstatfuncs.c:558 utils/adt/pgstatfuncs.c:659 utils/misc/guc.c:8440 -#: utils/misc/pg_config.c:44 utils/mmgr/portalmem.c:1078 +#: utils/misc/pg_config.c:44 utils/mmgr/portalmem.c:1092 #, c-format msgid "materialize mode required, but it is not allowed in this context" msgstr "mode matérialisé requis mais interdit dans ce contexte" @@ -2950,13 +2950,13 @@ msgid "default privileges cannot be set for columns" msgstr "les droits par défaut ne peuvent pas être configurés pour les colonnes" -#: catalog/aclchk.c:1502 catalog/objectaddress.c:1390 commands/analyze.c:376 commands/copy.c:4459 commands/sequence.c:1491 commands/tablecmds.c:5198 commands/tablecmds.c:5304 commands/tablecmds.c:5364 commands/tablecmds.c:5477 commands/tablecmds.c:5534 commands/tablecmds.c:5628 commands/tablecmds.c:5724 commands/tablecmds.c:7916 commands/tablecmds.c:8178 commands/tablecmds.c:8598 commands/trigger.c:642 parser/analyze.c:2228 +#: catalog/aclchk.c:1502 catalog/objectaddress.c:1390 commands/analyze.c:380 commands/copy.c:4468 commands/sequence.c:1491 commands/tablecmds.c:5211 commands/tablecmds.c:5317 commands/tablecmds.c:5377 commands/tablecmds.c:5490 commands/tablecmds.c:5547 commands/tablecmds.c:5641 commands/tablecmds.c:5737 commands/tablecmds.c:7929 commands/tablecmds.c:8191 commands/tablecmds.c:8611 commands/trigger.c:642 parser/analyze.c:2228 #: parser/parse_relation.c:2628 parser/parse_relation.c:2690 parser/parse_target.c:951 parser/parse_type.c:127 utils/adt/acl.c:2840 utils/adt/ruleutils.c:1987 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" msgstr "la colonne « %s » de la relation « %s » n'existe pas" -#: catalog/aclchk.c:1771 catalog/objectaddress.c:1203 commands/sequence.c:1078 commands/tablecmds.c:224 commands/tablecmds.c:12155 utils/adt/acl.c:2076 utils/adt/acl.c:2106 utils/adt/acl.c:2138 utils/adt/acl.c:2170 utils/adt/acl.c:2198 utils/adt/acl.c:2228 +#: catalog/aclchk.c:1771 catalog/objectaddress.c:1203 commands/sequence.c:1078 commands/tablecmds.c:224 commands/tablecmds.c:12168 utils/adt/acl.c:2076 utils/adt/acl.c:2106 utils/adt/acl.c:2138 utils/adt/acl.c:2170 utils/adt/acl.c:2198 utils/adt/acl.c:2228 #, c-format msgid "\"%s\" is not a sequence" msgstr "« %s » n'est pas une séquence" @@ -3001,7 +3001,7 @@ msgid "Set the privileges of the element type instead." msgstr "Configurez les droits du type élément à la place." -#: catalog/aclchk.c:3137 catalog/objectaddress.c:1523 commands/typecmds.c:3146 +#: catalog/aclchk.c:3137 catalog/objectaddress.c:1523 commands/typecmds.c:3161 #, c-format msgid "\"%s\" is not a domain" msgstr "« %s » n'est pas un domaine" @@ -3399,12 +3399,12 @@ msgid "System catalog modifications are currently disallowed." msgstr "Les modifications du catalogue système sont actuellement interdites." -#: catalog/heap.c:415 commands/tablecmds.c:1439 commands/tablecmds.c:1896 commands/tablecmds.c:4820 +#: catalog/heap.c:415 commands/tablecmds.c:1439 commands/tablecmds.c:1896 commands/tablecmds.c:4833 #, c-format msgid "tables can have at most %d columns" msgstr "les tables peuvent avoir au plus %d colonnes" -#: catalog/heap.c:432 commands/tablecmds.c:5081 +#: catalog/heap.c:432 commands/tablecmds.c:5094 #, c-format msgid "column name \"%s\" conflicts with a system column name" msgstr "le nom de la colonne « %s » entre en conflit avec le nom d'une colonne système" @@ -3471,7 +3471,7 @@ msgid "check constraint \"%s\" already exists" msgstr "la contrainte de vérification « %s » existe déjà" -#: catalog/heap.c:2456 catalog/pg_constraint.c:654 commands/tablecmds.c:6069 +#: catalog/heap.c:2456 catalog/pg_constraint.c:654 commands/tablecmds.c:6082 #, c-format msgid "constraint \"%s\" for relation \"%s\" already exists" msgstr "la contrainte « %s » de la relation « %s » existe déjà" @@ -3548,7 +3548,7 @@ msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE." msgstr "Tronquez la table « %s » en même temps, ou utilisez TRUNCATE ... CASCADE." -#: catalog/index.c:210 parser/parse_utilcmd.c:1473 parser/parse_utilcmd.c:1559 +#: catalog/index.c:210 parser/parse_utilcmd.c:1474 parser/parse_utilcmd.c:1560 #, c-format msgid "multiple primary keys for table \"%s\" are not allowed" msgstr "les clés primaires multiples ne sont pas autorisées pour la table « %s »" @@ -3575,7 +3575,7 @@ msgid "shared indexes cannot be created after initdb" msgstr "les index partagés ne peuvent pas être créés après initdb" -#: catalog/index.c:784 commands/createas.c:249 commands/sequence.c:141 parser/parse_utilcmd.c:191 +#: catalog/index.c:784 commands/createas.c:249 commands/sequence.c:141 parser/parse_utilcmd.c:192 #, c-format msgid "relation \"%s\" already exists, skipping" msgstr "la relation « %s » existe déjà, poursuite du traitement" @@ -3605,7 +3605,7 @@ msgid "index \"%s\" was reindexed" msgstr "l'index « %s » a été réindexée" -#: catalog/namespace.c:249 catalog/namespace.c:447 catalog/namespace.c:541 commands/trigger.c:4523 +#: catalog/namespace.c:249 catalog/namespace.c:447 catalog/namespace.c:541 commands/trigger.c:4560 #, c-format msgid "cross-database references are not implemented: \"%s.%s.%s\"" msgstr "les références entre bases de données ne sont pas implémentées : « %s.%s.%s »" @@ -3680,7 +3680,7 @@ msgid "cross-database references are not implemented: %s" msgstr "les références entre bases de données ne sont pas implémentées : %s" -#: catalog/namespace.c:2652 gram.y:13455 gram.y:14824 parser/parse_expr.c:799 parser/parse_target.c:1148 +#: catalog/namespace.c:2652 gram.y:13463 gram.y:14832 parser/parse_expr.c:799 parser/parse_target.c:1148 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "mauvaise qualification du nom (trop de points entre les noms) : %s" @@ -3776,22 +3776,22 @@ msgid "event trigger name cannot be qualified" msgstr "le nom du trigger sur événement ne peut pas être qualifié" -#: catalog/objectaddress.c:1210 commands/lockcmds.c:94 commands/policy.c:94 commands/policy.c:382 commands/policy.c:471 commands/tablecmds.c:218 commands/tablecmds.c:1300 commands/tablecmds.c:4347 commands/tablecmds.c:8018 +#: catalog/objectaddress.c:1210 commands/lockcmds.c:94 commands/policy.c:94 commands/policy.c:382 commands/policy.c:471 commands/tablecmds.c:218 commands/tablecmds.c:1300 commands/tablecmds.c:4347 commands/tablecmds.c:8031 #, c-format msgid "\"%s\" is not a table" msgstr "« %s » n'est pas une table" -#: catalog/objectaddress.c:1217 commands/tablecmds.c:230 commands/tablecmds.c:4377 commands/tablecmds.c:12160 commands/view.c:141 +#: catalog/objectaddress.c:1217 commands/tablecmds.c:230 commands/tablecmds.c:4377 commands/tablecmds.c:12173 commands/view.c:141 #, c-format msgid "\"%s\" is not a view" msgstr "« %s » n'est pas une vue" -#: catalog/objectaddress.c:1224 commands/matview.c:174 commands/tablecmds.c:236 commands/tablecmds.c:12165 +#: catalog/objectaddress.c:1224 commands/matview.c:174 commands/tablecmds.c:236 commands/tablecmds.c:12178 #, c-format msgid "\"%s\" is not a materialized view" msgstr "« %s » n'est pas une vue matérialisée" -#: catalog/objectaddress.c:1231 commands/tablecmds.c:254 commands/tablecmds.c:4380 commands/tablecmds.c:12170 +#: catalog/objectaddress.c:1231 commands/tablecmds.c:254 commands/tablecmds.c:4380 commands/tablecmds.c:12183 #, c-format msgid "\"%s\" is not a foreign table" msgstr "« %s » n'est pas une table distante" @@ -3806,7 +3806,7 @@ msgid "default value for column \"%s\" of relation \"%s\" does not exist" msgstr "la valeur par défaut de la colonne « %s » de la relation « %s » n'existe pas" -#: catalog/objectaddress.c:1512 commands/functioncmds.c:128 commands/tablecmds.c:246 commands/typecmds.c:3214 parser/parse_type.c:226 parser/parse_type.c:255 parser/parse_type.c:795 utils/adt/acl.c:4374 utils/adt/regproc.c:1226 +#: catalog/objectaddress.c:1512 commands/functioncmds.c:128 commands/tablecmds.c:246 commands/typecmds.c:3229 parser/parse_type.c:226 parser/parse_type.c:255 parser/parse_type.c:795 utils/adt/acl.c:4374 utils/adt/regproc.c:1226 #, c-format msgid "type \"%s\" does not exist" msgstr "le type « %s » n'existe pas" @@ -4652,7 +4652,7 @@ msgid "could not form array type name for type \"%s\"" msgstr "n'a pas pu former le nom du type array pour le type de données %s" -#: catalog/toasting.c:105 commands/indexcmds.c:389 commands/tablecmds.c:4359 commands/tablecmds.c:12048 +#: catalog/toasting.c:105 commands/indexcmds.c:389 commands/tablecmds.c:4359 commands/tablecmds.c:12061 #, c-format msgid "\"%s\" is not a table or materialized view" msgstr "« %s » n'est pas une table ou une vue matérialisée" @@ -4883,12 +4883,17 @@ msgid "analyzing \"%s.%s\"" msgstr "analyse « %s.%s »" -#: commands/analyze.c:650 +#: commands/analyze.c:385 +#, c-format +msgid "column \"%s\" of relation \"%s\" is specified twice" +msgstr "la colonne « %s » de la relation « %s » est indiquée deux fois" + +#: commands/analyze.c:661 #, c-format msgid "automatic analyze of table \"%s.%s.%s\" system usage: %s" msgstr "ANALYZE automatique de la table « %s.%s.%s » ; utilisation système : %s" -#: commands/analyze.c:1204 +#: commands/analyze.c:1215 #, c-format msgid "\"%s\": scanned %d of %u pages, containing %.0f live rows and %.0f dead rows; %d rows in sample, %.0f estimated total rows" msgstr "" @@ -4897,17 +4902,17 @@ " %d lignes dans l'échantillon,\n" " %.0f lignes totales estimées" -#: commands/analyze.c:1283 +#: commands/analyze.c:1294 #, c-format msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no child tables" msgstr "ignore l'analyse de l'arbre d'héritage « %s.%s » --- cet arbre d'héritage ne contient pas de tables enfants" -#: commands/analyze.c:1372 +#: commands/analyze.c:1383 #, c-format msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no analyzable child tables" msgstr "ignore l'analyse de l'arbre d'héritage « %s.%s » --- cet arbre d'héritage ne contient pas de tables enfants analysables" -#: commands/analyze.c:1420 commands/tablecmds.c:8080 executor/execQual.c:2927 +#: commands/analyze.c:1431 commands/tablecmds.c:8093 executor/execQual.c:2927 msgid "could not convert row type" msgstr "n'a pas pu convertir le type de ligne" @@ -4965,7 +4970,7 @@ msgid "there is no previously clustered index for table \"%s\"" msgstr "Il n'existe pas d'index CLUSTER pour la table « %s »" -#: commands/cluster.c:173 commands/tablecmds.c:9384 commands/tablecmds.c:11144 +#: commands/cluster.c:173 commands/tablecmds.c:9397 commands/tablecmds.c:11157 #, c-format msgid "index \"%s\" for table \"%s\" does not exist" msgstr "l'index « %s » pour la table « %s » n'existe pas" @@ -4980,7 +4985,7 @@ msgid "cannot vacuum temporary tables of other sessions" msgstr "ne peut pas exécuter VACUUM sur les tables temporaires des autres sessions" -#: commands/cluster.c:431 commands/tablecmds.c:11154 +#: commands/cluster.c:431 commands/tablecmds.c:11167 #, c-format msgid "\"%s\" is not an index for table \"%s\"" msgstr "« %s » n'est pas un index de la table « %s »" @@ -5063,7 +5068,7 @@ msgid "database \"%s\" does not exist" msgstr "la base de données « %s » n'existe pas" -#: commands/comment.c:101 commands/seclabel.c:116 parser/parse_utilcmd.c:753 +#: commands/comment.c:101 commands/seclabel.c:116 parser/parse_utilcmd.c:754 #, c-format msgid "\"%s\" is not a table, view, materialized view, composite type, or foreign table" msgstr "« %s » n'est ni une table, ni une vue, ni une vue matérialisée, ni un type composite, ni une table distante" @@ -5389,7 +5394,7 @@ msgid "cannot copy from non-table relation \"%s\"" msgstr "ne peut pas copier à partir de la relation « %s », qui n'est pas une table" -#: commands/copy.c:1787 commands/copy.c:2823 +#: commands/copy.c:1787 commands/copy.c:2832 #, c-format msgid "could not execute command \"%s\": %m" msgstr "n'a pas pu exécuter la commande « %s » : %m" @@ -5399,212 +5404,212 @@ msgid "relative path not allowed for COPY to file" msgstr "un chemin relatif n'est pas autorisé à utiliser COPY vers un fichier" -#: commands/copy.c:1810 +#: commands/copy.c:1819 #, c-format msgid "could not open file \"%s\" for writing: %m" msgstr "n'a pas pu ouvrir le fichier « %s » en écriture : %m" -#: commands/copy.c:1822 commands/copy.c:2846 +#: commands/copy.c:1831 commands/copy.c:2855 #, c-format msgid "\"%s\" is a directory" msgstr "« %s » est un répertoire" -#: commands/copy.c:2145 +#: commands/copy.c:2154 #, c-format msgid "COPY %s, line %d, column %s" msgstr "COPY %s, ligne %d, colonne %s" -#: commands/copy.c:2149 commands/copy.c:2196 +#: commands/copy.c:2158 commands/copy.c:2205 #, c-format msgid "COPY %s, line %d" msgstr "COPY %s, ligne %d" -#: commands/copy.c:2160 +#: commands/copy.c:2169 #, c-format msgid "COPY %s, line %d, column %s: \"%s\"" msgstr "COPY %s, ligne %d, colonne %s : « %s »" -#: commands/copy.c:2168 +#: commands/copy.c:2177 #, c-format msgid "COPY %s, line %d, column %s: null input" msgstr "COPY %s, ligne %d, colonne %s : NULL en entrée" -#: commands/copy.c:2190 +#: commands/copy.c:2199 #, c-format msgid "COPY %s, line %d: \"%s\"" msgstr "COPY %s, ligne %d : « %s »" -#: commands/copy.c:2274 +#: commands/copy.c:2283 #, c-format msgid "cannot copy to view \"%s\"" msgstr "ne peut pas copier vers la vue « %s »" -#: commands/copy.c:2279 +#: commands/copy.c:2288 #, c-format msgid "cannot copy to materialized view \"%s\"" msgstr "ne peut pas copier vers la vue matérialisée « %s »" -#: commands/copy.c:2284 +#: commands/copy.c:2293 #, c-format msgid "cannot copy to foreign table \"%s\"" msgstr "ne peut pas copier vers la table distante « %s »" -#: commands/copy.c:2289 +#: commands/copy.c:2298 #, c-format msgid "cannot copy to sequence \"%s\"" msgstr "ne peut pas copier vers la séquence « %s »" -#: commands/copy.c:2294 +#: commands/copy.c:2303 #, c-format msgid "cannot copy to non-table relation \"%s\"" msgstr "ne peut pas copier vers une relation « %s » qui n'est pas une table" -#: commands/copy.c:2357 +#: commands/copy.c:2366 #, c-format msgid "cannot perform FREEZE because of prior transaction activity" msgstr "n'a pas pu exécuter un FREEZE à cause d'une activité transactionnelle précédente" -#: commands/copy.c:2363 +#: commands/copy.c:2372 #, c-format msgid "cannot perform FREEZE because the table was not created or truncated in the current subtransaction" msgstr "n'a pas pu exécuter un FREEZE parce que la table n'était pas créée ou tronquée dans la transaction en cours" -#: commands/copy.c:2866 +#: commands/copy.c:2875 #, c-format msgid "COPY file signature not recognized" msgstr "la signature du fichier COPY n'est pas reconnue" -#: commands/copy.c:2871 +#: commands/copy.c:2880 #, c-format msgid "invalid COPY file header (missing flags)" msgstr "en-tête du fichier COPY invalide (options manquantes)" -#: commands/copy.c:2877 +#: commands/copy.c:2886 #, c-format msgid "unrecognized critical flags in COPY file header" msgstr "options critiques non reconnues dans l'en-tête du fichier COPY" -#: commands/copy.c:2883 +#: commands/copy.c:2892 #, c-format msgid "invalid COPY file header (missing length)" msgstr "en-tête du fichier COPY invalide (longueur manquante)" -#: commands/copy.c:2890 +#: commands/copy.c:2899 #, c-format msgid "invalid COPY file header (wrong length)" msgstr "en-tête du fichier COPY invalide (mauvaise longueur)" -#: commands/copy.c:3023 commands/copy.c:3730 commands/copy.c:3960 +#: commands/copy.c:3032 commands/copy.c:3739 commands/copy.c:3969 #, c-format msgid "extra data after last expected column" msgstr "données supplémentaires après la dernière colonne attendue" -#: commands/copy.c:3033 +#: commands/copy.c:3042 #, c-format msgid "missing data for OID column" msgstr "données manquantes pour la colonne OID" -#: commands/copy.c:3039 +#: commands/copy.c:3048 #, c-format msgid "null OID in COPY data" msgstr "OID NULL dans les données du COPY" -#: commands/copy.c:3049 commands/copy.c:3172 +#: commands/copy.c:3058 commands/copy.c:3181 #, c-format msgid "invalid OID in COPY data" msgstr "OID invalide dans les données du COPY" -#: commands/copy.c:3064 +#: commands/copy.c:3073 #, c-format msgid "missing data for column \"%s\"" msgstr "données manquantes pour la colonne « %s »" -#: commands/copy.c:3147 +#: commands/copy.c:3156 #, c-format msgid "received copy data after EOF marker" msgstr "a reçu des données de COPY après le marqueur de fin" -#: commands/copy.c:3154 +#: commands/copy.c:3163 #, c-format msgid "row field count is %d, expected %d" msgstr "le nombre de champs de la ligne est %d, %d attendus" -#: commands/copy.c:3494 commands/copy.c:3511 +#: commands/copy.c:3503 commands/copy.c:3520 #, c-format msgid "literal carriage return found in data" msgstr "retour chariot trouvé dans les données" -#: commands/copy.c:3495 commands/copy.c:3512 +#: commands/copy.c:3504 commands/copy.c:3521 #, c-format msgid "unquoted carriage return found in data" msgstr "retour chariot sans guillemet trouvé dans les données" -#: commands/copy.c:3497 commands/copy.c:3514 +#: commands/copy.c:3506 commands/copy.c:3523 #, c-format msgid "Use \"\\r\" to represent carriage return." msgstr "Utilisez « \\r » pour représenter un retour chariot." -#: commands/copy.c:3498 commands/copy.c:3515 +#: commands/copy.c:3507 commands/copy.c:3524 #, c-format msgid "Use quoted CSV field to represent carriage return." msgstr "Utiliser le champ CSV entre guillemets pour représenter un retour chariot." -#: commands/copy.c:3527 +#: commands/copy.c:3536 #, c-format msgid "literal newline found in data" msgstr "retour à la ligne trouvé dans les données" -#: commands/copy.c:3528 +#: commands/copy.c:3537 #, c-format msgid "unquoted newline found in data" msgstr "retour à la ligne trouvé dans les données" -#: commands/copy.c:3530 +#: commands/copy.c:3539 #, c-format msgid "Use \"\\n\" to represent newline." msgstr "Utilisez « \\n » pour représenter un retour à la ligne." -#: commands/copy.c:3531 +#: commands/copy.c:3540 #, c-format msgid "Use quoted CSV field to represent newline." msgstr "Utiliser un champ CSV entre guillemets pour représenter un retour à la ligne." -#: commands/copy.c:3577 commands/copy.c:3613 +#: commands/copy.c:3586 commands/copy.c:3622 #, c-format msgid "end-of-copy marker does not match previous newline style" msgstr "le marqueur fin-de-copie ne correspond pas à un précédent style de fin de ligne" -#: commands/copy.c:3586 commands/copy.c:3602 +#: commands/copy.c:3595 commands/copy.c:3611 #, c-format msgid "end-of-copy marker corrupt" msgstr "marqueur fin-de-copie corrompu" -#: commands/copy.c:4044 +#: commands/copy.c:4053 #, c-format msgid "unterminated CSV quoted field" msgstr "champ CSV entre guillemets non terminé" -#: commands/copy.c:4121 commands/copy.c:4140 +#: commands/copy.c:4130 commands/copy.c:4149 #, c-format msgid "unexpected EOF in COPY data" msgstr "fin de fichier (EOF) inattendu dans les données du COPY" -#: commands/copy.c:4130 +#: commands/copy.c:4139 #, c-format msgid "invalid field size" msgstr "taille du champ invalide" -#: commands/copy.c:4153 +#: commands/copy.c:4162 #, c-format msgid "incorrect binary data format" msgstr "format de données binaires incorrect" -#: commands/copy.c:4464 commands/indexcmds.c:1054 commands/tablecmds.c:1464 commands/tablecmds.c:2291 parser/parse_relation.c:3177 parser/parse_relation.c:3197 utils/adt/tsvector_op.c:2559 +#: commands/copy.c:4473 commands/indexcmds.c:1054 commands/tablecmds.c:1464 commands/tablecmds.c:2291 parser/parse_relation.c:3177 parser/parse_relation.c:3197 utils/adt/tsvector_op.c:2559 #, c-format msgid "column \"%s\" does not exist" msgstr "la colonne « %s » n'existe pas" -#: commands/copy.c:4471 commands/tablecmds.c:1490 commands/trigger.c:651 parser/parse_target.c:967 parser/parse_target.c:978 +#: commands/copy.c:4480 commands/tablecmds.c:1490 commands/trigger.c:651 parser/parse_target.c:967 parser/parse_target.c:978 #, c-format msgid "column \"%s\" specified more than once" msgstr "la colonne « %s » est spécifiée plus d'une fois" @@ -5900,7 +5905,7 @@ msgid "Use DROP AGGREGATE to drop aggregate functions." msgstr "Utiliser DROP AGGREGATE pour supprimer les fonctions d'agrégat." -#: commands/dropcmds.c:165 commands/sequence.c:424 commands/tablecmds.c:2378 commands/tablecmds.c:2529 commands/tablecmds.c:2571 commands/tablecmds.c:11525 tcop/utility.c:1119 +#: commands/dropcmds.c:165 commands/sequence.c:424 commands/tablecmds.c:2378 commands/tablecmds.c:2529 commands/tablecmds.c:2571 commands/tablecmds.c:11538 tcop/utility.c:1119 #, c-format msgid "relation \"%s\" does not exist, skipping" msgstr "la relation « %s » n'existe pas, poursuite du traitement" @@ -6813,7 +6818,7 @@ msgid "cannot create indexes on temporary tables of other sessions" msgstr "ne peut pas créer les index sur les tables temporaires des autres sessions" -#: commands/indexcmds.c:455 commands/tablecmds.c:546 commands/tablecmds.c:9695 +#: commands/indexcmds.c:455 commands/tablecmds.c:546 commands/tablecmds.c:9708 #, c-format msgid "only shared relations can be placed in pg_global tablespace" msgstr "seules les relations partagées peuvent être placées dans le tablespace pg_global" @@ -6858,7 +6863,7 @@ msgid "functions in index predicate must be marked IMMUTABLE" msgstr "les fonctions dans un prédicat d'index doivent être marquées comme IMMUTABLE" -#: commands/indexcmds.c:1049 parser/parse_utilcmd.c:1881 +#: commands/indexcmds.c:1049 parser/parse_utilcmd.c:1882 #, c-format msgid "column \"%s\" named in key does not exist" msgstr "la colonne « %s » nommée dans la clé n'existe pas" @@ -6875,7 +6880,7 @@ msgid "could not determine which collation to use for index expression" msgstr "n'a pas pu déterminer le collationnement à utiliser pour l'expression d'index" -#: commands/indexcmds.c:1140 commands/typecmds.c:827 parser/parse_expr.c:2608 parser/parse_type.c:550 parser/parse_utilcmd.c:2807 utils/adt/misc.c:666 +#: commands/indexcmds.c:1140 commands/typecmds.c:827 parser/parse_expr.c:2608 parser/parse_type.c:550 parser/parse_utilcmd.c:2808 utils/adt/misc.c:666 #, c-format msgid "collations are not supported by type %s" msgstr "les collationnements ne sont pas supportés par le type %s" @@ -7202,7 +7207,7 @@ msgid "operator attribute \"%s\" cannot be changed" msgstr "l'attribut « %s » de l'opérateur ne peut pas être changé" -#: commands/policy.c:87 commands/policy.c:388 commands/policy.c:477 commands/tablecmds.c:971 commands/tablecmds.c:1313 commands/tablecmds.c:2185 commands/tablecmds.c:4329 commands/tablecmds.c:6280 commands/tablecmds.c:12081 commands/tablecmds.c:12116 commands/trigger.c:241 commands/trigger.c:1125 commands/trigger.c:1233 rewrite/rewriteDefine.c:273 rewrite/rewriteDefine.c:917 +#: commands/policy.c:87 commands/policy.c:388 commands/policy.c:477 commands/tablecmds.c:971 commands/tablecmds.c:1313 commands/tablecmds.c:2185 commands/tablecmds.c:4329 commands/tablecmds.c:6293 commands/tablecmds.c:12094 commands/tablecmds.c:12129 commands/trigger.c:241 commands/trigger.c:1125 commands/trigger.c:1233 rewrite/rewriteDefine.c:273 rewrite/rewriteDefine.c:917 #, c-format msgid "permission denied: \"%s\" is a system catalog" msgstr "droit refusé : « %s » est un catalogue système" @@ -7516,7 +7521,7 @@ msgid "Use DROP MATERIALIZED VIEW to remove a materialized view." msgstr "Utilisez DROP MATERIALIZED VIEW pour supprimer une vue matérialisée." -#: commands/tablecmds.c:240 parser/parse_utilcmd.c:1630 +#: commands/tablecmds.c:240 parser/parse_utilcmd.c:1631 #, c-format msgid "index \"%s\" does not exist" msgstr "l'index « %s » n'existe pas" @@ -7539,7 +7544,7 @@ msgid "Use DROP TYPE to remove a type." msgstr "Utilisez DROP TYPE pour supprimer un type." -#: commands/tablecmds.c:252 commands/tablecmds.c:8584 commands/tablecmds.c:11336 +#: commands/tablecmds.c:252 commands/tablecmds.c:8597 commands/tablecmds.c:11349 #, c-format msgid "foreign table \"%s\" does not exist" msgstr "la table distante « %s » n'existe pas" @@ -7585,22 +7590,22 @@ msgid "cannot truncate temporary tables of other sessions" msgstr "ne peut pas tronquer les tables temporaires des autres sessions" -#: commands/tablecmds.c:1529 parser/parse_utilcmd.c:1844 +#: commands/tablecmds.c:1529 parser/parse_utilcmd.c:1845 #, c-format msgid "inherited relation \"%s\" is not a table or foreign table" msgstr "la relation héritée « %s » n'est ni une table ni une table distante" -#: commands/tablecmds.c:1536 commands/tablecmds.c:10151 +#: commands/tablecmds.c:1536 commands/tablecmds.c:10164 #, c-format msgid "cannot inherit from temporary relation \"%s\"" msgstr "ine peut pas hériter à partir d'une relation temporaire « %s »" -#: commands/tablecmds.c:1544 commands/tablecmds.c:10159 +#: commands/tablecmds.c:1544 commands/tablecmds.c:10172 #, c-format msgid "cannot inherit from temporary relation of another session" msgstr "ne peut pas hériter de la table temporaire d'une autre session" -#: commands/tablecmds.c:1560 commands/tablecmds.c:10193 +#: commands/tablecmds.c:1560 commands/tablecmds.c:10206 #, c-format msgid "relation \"%s\" would be inherited from more than once" msgstr "la relation « %s » serait héritée plus d'une fois" @@ -7625,7 +7630,7 @@ msgid "inherited column \"%s\" has a collation conflict" msgstr "la colonne héritée « %s » a un conflit sur le collationnement" -#: commands/tablecmds.c:1629 commands/tablecmds.c:1851 commands/tablecmds.c:4767 +#: commands/tablecmds.c:1629 commands/tablecmds.c:1851 commands/tablecmds.c:4780 #, c-format msgid "\"%s\" versus \"%s\"" msgstr "« %s » versus « %s »" @@ -7635,12 +7640,12 @@ msgid "inherited column \"%s\" has a storage parameter conflict" msgstr "la colonne héritée « %s » a un conflit de paramètre de stockage" -#: commands/tablecmds.c:1752 commands/tablecmds.c:8089 parser/parse_utilcmd.c:923 parser/parse_utilcmd.c:1274 parser/parse_utilcmd.c:1350 +#: commands/tablecmds.c:1752 commands/tablecmds.c:8102 parser/parse_utilcmd.c:924 parser/parse_utilcmd.c:1275 parser/parse_utilcmd.c:1351 #, c-format msgid "cannot convert whole-row table reference" msgstr "ne peut pas convertir une référence de ligne complète de table" -#: commands/tablecmds.c:1753 parser/parse_utilcmd.c:924 +#: commands/tablecmds.c:1753 parser/parse_utilcmd.c:925 #, c-format msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"." msgstr "La constrainte « %s » contient une référence de ligne complète vers la table « %s »." @@ -7771,7 +7776,7 @@ msgid "column \"%s\" contains null values" msgstr "la colonne « %s » contient des valeurs NULL" -#: commands/tablecmds.c:4202 commands/tablecmds.c:7386 +#: commands/tablecmds.c:4202 commands/tablecmds.c:7399 #, c-format msgid "check constraint \"%s\" is violated by some row" msgstr "la contrainte de vérification « %s » est rompue par une ligne" @@ -7811,7 +7816,7 @@ msgid "\"%s\" is not a table, composite type, or foreign table" msgstr "« %s » n'est ni une table, ni un type composite, ni une table distante" -#: commands/tablecmds.c:4374 commands/tablecmds.c:5426 +#: commands/tablecmds.c:4374 commands/tablecmds.c:5439 #, c-format msgid "\"%s\" is not a table, materialized view, index, or foreign table" msgstr "« %s » n'est pas une table, une vue matérialisée, un index ou une table distante" @@ -7821,567 +7826,567 @@ msgid "\"%s\" is of the wrong type" msgstr "« %s » est du mauvais type" -#: commands/tablecmds.c:4536 commands/tablecmds.c:4543 +#: commands/tablecmds.c:4557 commands/tablecmds.c:4564 #, c-format msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it" msgstr "ne peux pas modifier le type « %s » car la colonne « %s.%s » l'utilise" -#: commands/tablecmds.c:4550 +#: commands/tablecmds.c:4571 #, c-format msgid "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type" msgstr "" "ne peut pas modifier la table distante « %s » car la colonne « %s.%s » utilise\n" "son type de ligne" -#: commands/tablecmds.c:4557 +#: commands/tablecmds.c:4578 #, c-format msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type" msgstr "" "ne peut pas modifier la table « %s » car la colonne « %s.%s » utilise\n" "son type de ligne" -#: commands/tablecmds.c:4619 +#: commands/tablecmds.c:4632 #, c-format msgid "cannot alter type \"%s\" because it is the type of a typed table" msgstr "ne peut pas modifier le type « %s » car il s'agit du type d'une table de type" -#: commands/tablecmds.c:4621 +#: commands/tablecmds.c:4634 #, c-format msgid "Use ALTER ... CASCADE to alter the typed tables too." msgstr "Utilisez ALTER ... CASCADE pour modifier aussi les tables de type." -#: commands/tablecmds.c:4665 +#: commands/tablecmds.c:4678 #, c-format msgid "type %s is not a composite type" msgstr "le type %s n'est pas un type composite" -#: commands/tablecmds.c:4691 +#: commands/tablecmds.c:4704 #, c-format msgid "cannot add column to typed table" msgstr "ne peut pas ajouter une colonne à une table typée" -#: commands/tablecmds.c:4759 commands/tablecmds.c:10352 +#: commands/tablecmds.c:4772 commands/tablecmds.c:10365 #, c-format msgid "child table \"%s\" has different type for column \"%s\"" msgstr "la table fille « %s » a un type différent pour la colonne « %s »" -#: commands/tablecmds.c:4765 commands/tablecmds.c:10359 +#: commands/tablecmds.c:4778 commands/tablecmds.c:10372 #, c-format msgid "child table \"%s\" has different collation for column \"%s\"" msgstr "la table fille « %s » a un collationnement différent pour la colonne « %s »" -#: commands/tablecmds.c:4775 +#: commands/tablecmds.c:4788 #, c-format msgid "child table \"%s\" has a conflicting \"%s\" column" msgstr "la table fille « %s » a une colonne conflictuelle, « %s »" -#: commands/tablecmds.c:4787 +#: commands/tablecmds.c:4800 #, c-format msgid "merging definition of column \"%s\" for child \"%s\"" msgstr "assemblage de la définition de la colonne « %s » pour le fils « %s »" -#: commands/tablecmds.c:5014 +#: commands/tablecmds.c:5027 #, c-format msgid "column must be added to child tables too" msgstr "la colonne doit aussi être ajoutée aux tables filles" -#: commands/tablecmds.c:5089 +#: commands/tablecmds.c:5102 #, c-format msgid "column \"%s\" of relation \"%s\" already exists, skipping" msgstr "la colonne « %s » de la relation « %s » existe déjà, poursuite du traitement" -#: commands/tablecmds.c:5096 +#: commands/tablecmds.c:5109 #, c-format msgid "column \"%s\" of relation \"%s\" already exists" msgstr "la colonne « %s » de la relation « %s » existe déjà" -#: commands/tablecmds.c:5207 commands/tablecmds.c:5313 commands/tablecmds.c:5371 commands/tablecmds.c:5485 commands/tablecmds.c:5542 commands/tablecmds.c:5636 commands/tablecmds.c:7925 commands/tablecmds.c:8607 +#: commands/tablecmds.c:5220 commands/tablecmds.c:5326 commands/tablecmds.c:5384 commands/tablecmds.c:5498 commands/tablecmds.c:5555 commands/tablecmds.c:5649 commands/tablecmds.c:7938 commands/tablecmds.c:8620 #, c-format msgid "cannot alter system column \"%s\"" msgstr "n'a pas pu modifier la colonne système « %s »" -#: commands/tablecmds.c:5243 +#: commands/tablecmds.c:5256 #, c-format msgid "column \"%s\" is in a primary key" msgstr "la colonne « %s » est dans une clé primaire" -#: commands/tablecmds.c:5458 +#: commands/tablecmds.c:5471 #, c-format msgid "statistics target %d is too low" msgstr "la cible statistique %d est trop basse" -#: commands/tablecmds.c:5466 +#: commands/tablecmds.c:5479 #, c-format msgid "lowering statistics target to %d" msgstr "abaissement de la cible statistique à %d" -#: commands/tablecmds.c:5616 +#: commands/tablecmds.c:5629 #, c-format msgid "invalid storage type \"%s\"" msgstr "type « %s » de stockage invalide" -#: commands/tablecmds.c:5648 +#: commands/tablecmds.c:5661 #, c-format msgid "column data type %s can only have storage PLAIN" msgstr "le type de données %s de la colonne peut seulement avoir un stockage PLAIN" -#: commands/tablecmds.c:5686 +#: commands/tablecmds.c:5699 #, c-format msgid "cannot drop column from typed table" msgstr "ne peut pas supprimer une colonne à une table typée" -#: commands/tablecmds.c:5730 +#: commands/tablecmds.c:5743 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist, skipping" msgstr "la colonne « %s » de la relation « %s » n'existe pas, ignore" -#: commands/tablecmds.c:5743 +#: commands/tablecmds.c:5756 #, c-format msgid "cannot drop system column \"%s\"" msgstr "ne peut pas supprimer la colonne système « %s »" -#: commands/tablecmds.c:5750 +#: commands/tablecmds.c:5763 #, c-format msgid "cannot drop inherited column \"%s\"" msgstr "ne peut pas supprimer la colonne héritée « %s »" -#: commands/tablecmds.c:5990 +#: commands/tablecmds.c:6003 #, c-format msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX will rename index \"%s\" to \"%s\"" msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX renommera l'index « %s » en « %s »" -#: commands/tablecmds.c:6203 +#: commands/tablecmds.c:6216 #, c-format msgid "constraint must be added to child tables too" msgstr "la contrainte doit aussi être ajoutée aux tables filles" -#: commands/tablecmds.c:6274 +#: commands/tablecmds.c:6287 #, c-format msgid "referenced relation \"%s\" is not a table" msgstr "la relation référencée « %s » n'est pas une table" -#: commands/tablecmds.c:6297 +#: commands/tablecmds.c:6310 #, c-format msgid "constraints on permanent tables may reference only permanent tables" msgstr "les contraintes sur les tables permanentes peuvent seulement référencer des tables permanentes" -#: commands/tablecmds.c:6304 +#: commands/tablecmds.c:6317 #, c-format msgid "constraints on unlogged tables may reference only permanent or unlogged tables" msgstr "les contraintes sur les tables non tracées peuvent seulement référencer des tables permanentes ou non tracées" -#: commands/tablecmds.c:6310 +#: commands/tablecmds.c:6323 #, c-format msgid "constraints on temporary tables may reference only temporary tables" msgstr "" "les constraintes sur des tables temporaires ne peuvent référencer que des\n" "tables temporaires" -#: commands/tablecmds.c:6314 +#: commands/tablecmds.c:6327 #, c-format msgid "constraints on temporary tables must involve temporary tables of this session" msgstr "" "les contraintes sur des tables temporaires doivent référencer les tables\n" "temporaires de cette session" -#: commands/tablecmds.c:6375 +#: commands/tablecmds.c:6388 #, c-format msgid "number of referencing and referenced columns for foreign key disagree" msgstr "nombre de colonnes de référence et référencées pour la clé étrangère en désaccord" -#: commands/tablecmds.c:6482 +#: commands/tablecmds.c:6495 #, c-format msgid "foreign key constraint \"%s\" cannot be implemented" msgstr "la contrainte de clé étrangère « %s » ne peut pas être implémentée" -#: commands/tablecmds.c:6485 +#: commands/tablecmds.c:6498 #, c-format msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s." msgstr "Les colonnes clés « %s » et « %s » sont de types incompatibles : %s et %s." -#: commands/tablecmds.c:6692 commands/tablecmds.c:6860 commands/tablecmds.c:7764 commands/tablecmds.c:7820 +#: commands/tablecmds.c:6705 commands/tablecmds.c:6873 commands/tablecmds.c:7777 commands/tablecmds.c:7833 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist" msgstr "la contrainte « %s » de la relation « %s » n'existe pas" -#: commands/tablecmds.c:6698 +#: commands/tablecmds.c:6711 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint" msgstr "la contrainte « %s » de la relation « %s » n'est pas une clé étrangère" -#: commands/tablecmds.c:6867 +#: commands/tablecmds.c:6880 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint" msgstr "la contrainte « %s » de la relation « %s » n'est pas une clé étrangère ou une contrainte de vérification" -#: commands/tablecmds.c:6936 +#: commands/tablecmds.c:6949 #, c-format msgid "constraint must be validated on child tables too" msgstr "la contrainte doit aussi être validées sur les tables enfants" -#: commands/tablecmds.c:7005 +#: commands/tablecmds.c:7018 #, c-format msgid "column \"%s\" referenced in foreign key constraint does not exist" msgstr "la colonne « %s » référencée dans la contrainte de clé étrangère n'existe pas" -#: commands/tablecmds.c:7010 +#: commands/tablecmds.c:7023 #, c-format msgid "cannot have more than %d keys in a foreign key" msgstr "ne peut pas avoir plus de %d clés dans une clé étrangère" -#: commands/tablecmds.c:7075 +#: commands/tablecmds.c:7088 #, c-format msgid "cannot use a deferrable primary key for referenced table \"%s\"" msgstr "ne peut pas utiliser une clé primaire déferrable pour la table « %s » référencée" -#: commands/tablecmds.c:7092 +#: commands/tablecmds.c:7105 #, c-format msgid "there is no primary key for referenced table \"%s\"" msgstr "il n'existe pas de clé étrangère pour la table « %s » référencée" -#: commands/tablecmds.c:7157 +#: commands/tablecmds.c:7170 #, c-format msgid "foreign key referenced-columns list must not contain duplicates" msgstr "la liste de colonnes référencées dans la clé étrangère ne doit pas contenir de duplicats" -#: commands/tablecmds.c:7251 +#: commands/tablecmds.c:7264 #, c-format msgid "cannot use a deferrable unique constraint for referenced table \"%s\"" msgstr "" "ne peut pas utiliser une contrainte unique déferrable pour la table\n" "référencée « %s »" -#: commands/tablecmds.c:7256 +#: commands/tablecmds.c:7269 #, c-format msgid "there is no unique constraint matching given keys for referenced table \"%s\"" msgstr "" "il n'existe aucune contrainte unique correspondant aux clés données pour la\n" "table « %s » référencée" -#: commands/tablecmds.c:7419 +#: commands/tablecmds.c:7432 #, c-format msgid "validating foreign key constraint \"%s\"" msgstr "validation de la contraintes de clé étrangère « %s »" -#: commands/tablecmds.c:7718 +#: commands/tablecmds.c:7731 #, c-format msgid "cannot drop inherited constraint \"%s\" of relation \"%s\"" msgstr "ne peut pas supprimer la contrainte héritée « %s » de la relation « %s »" -#: commands/tablecmds.c:7770 +#: commands/tablecmds.c:7783 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping" msgstr "la contrainte « %s » de la relation « %s » n'existe pas, ignore" -#: commands/tablecmds.c:7909 +#: commands/tablecmds.c:7922 #, c-format msgid "cannot alter column type of typed table" msgstr "ne peut pas modifier le type d'une colonne appartenant à une table typée" -#: commands/tablecmds.c:7932 +#: commands/tablecmds.c:7945 #, c-format msgid "cannot alter inherited column \"%s\"" msgstr "ne peut pas modifier la colonne héritée « %s »" -#: commands/tablecmds.c:7981 +#: commands/tablecmds.c:7994 #, c-format msgid "result of USING clause for column \"%s\" cannot be cast automatically to type %s" msgstr "le résultat de la clause USING pour la colonne « %s » ne peut pas être converti automatiquement vers le type %s" -#: commands/tablecmds.c:7984 +#: commands/tablecmds.c:7997 #, c-format msgid "You might need to add an explicit cast." msgstr "Vous pouvez avoir besoin d'ajouter une conversion explicite." -#: commands/tablecmds.c:7988 +#: commands/tablecmds.c:8001 #, c-format msgid "column \"%s\" cannot be cast automatically to type %s" msgstr "la colonne « %s » ne peut pas être convertie vers le type %s" #. translator: USING is SQL, don't translate it -#: commands/tablecmds.c:7991 +#: commands/tablecmds.c:8004 #, c-format msgid "You might need to specify \"USING %s::%s\"." msgstr "Vous pouvez avoir besoin de spécifier \"USING %s::%s\"." -#: commands/tablecmds.c:8090 +#: commands/tablecmds.c:8103 #, c-format msgid "USING expression contains a whole-row table reference." msgstr "l'expression USING contient une référence de table de ligne complète" -#: commands/tablecmds.c:8101 +#: commands/tablecmds.c:8114 #, c-format msgid "type of inherited column \"%s\" must be changed in child tables too" msgstr "le type de colonne héritée « %s » doit aussi être renommée pour les tables filles" -#: commands/tablecmds.c:8188 +#: commands/tablecmds.c:8201 #, c-format msgid "cannot alter type of column \"%s\" twice" msgstr "ne peut pas modifier la colonne « %s » deux fois" -#: commands/tablecmds.c:8224 +#: commands/tablecmds.c:8237 #, c-format msgid "default for column \"%s\" cannot be cast automatically to type %s" msgstr "" "la valeur par défaut de la colonne « %s » ne peut pas être convertie vers le\n" "type %s automatiquement" -#: commands/tablecmds.c:8350 +#: commands/tablecmds.c:8363 #, c-format msgid "cannot alter type of a column used by a view or rule" msgstr "ne peut pas modifier le type d'une colonne utilisée dans une vue ou une règle" -#: commands/tablecmds.c:8351 commands/tablecmds.c:8370 commands/tablecmds.c:8388 +#: commands/tablecmds.c:8364 commands/tablecmds.c:8383 commands/tablecmds.c:8401 #, c-format msgid "%s depends on column \"%s\"" msgstr "%s dépend de la colonne « %s »" -#: commands/tablecmds.c:8369 +#: commands/tablecmds.c:8382 #, c-format msgid "cannot alter type of a column used in a trigger definition" msgstr "ne peut pas modifier le type d'une colonne utilisée dans la définition d'un trigger" -#: commands/tablecmds.c:8387 +#: commands/tablecmds.c:8400 #, c-format msgid "cannot alter type of a column used in a policy definition" msgstr "ne peut pas modifier le type d'une colonne utilisée dans la définition d'une politique" -#: commands/tablecmds.c:9052 +#: commands/tablecmds.c:9065 #, c-format msgid "cannot change owner of index \"%s\"" msgstr "ne peut pas modifier le propriétaire de l'index « %s »" -#: commands/tablecmds.c:9054 +#: commands/tablecmds.c:9067 #, c-format msgid "Change the ownership of the index's table, instead." msgstr "Modifier à la place le propriétaire de la table concernée par l'index." -#: commands/tablecmds.c:9070 +#: commands/tablecmds.c:9083 #, c-format msgid "cannot change owner of sequence \"%s\"" msgstr "ne peut pas modifier le propriétaire de la séquence « %s »" -#: commands/tablecmds.c:9072 commands/tablecmds.c:11544 +#: commands/tablecmds.c:9085 commands/tablecmds.c:11557 #, c-format msgid "Sequence \"%s\" is linked to table \"%s\"." msgstr "La séquence « %s » est liée à la table « %s »." -#: commands/tablecmds.c:9084 commands/tablecmds.c:12191 +#: commands/tablecmds.c:9097 commands/tablecmds.c:12204 #, c-format msgid "Use ALTER TYPE instead." msgstr "Utilisez ALTER TYPE à la place." -#: commands/tablecmds.c:9093 +#: commands/tablecmds.c:9106 #, c-format msgid "\"%s\" is not a table, view, sequence, or foreign table" msgstr "« %s » n'est pas une table, une vue, une séquence ou une table distante" -#: commands/tablecmds.c:9436 +#: commands/tablecmds.c:9449 #, c-format msgid "cannot have multiple SET TABLESPACE subcommands" msgstr "ne peut pas avoir de nombreuses sous-commandes SET TABLESPACE" -#: commands/tablecmds.c:9509 +#: commands/tablecmds.c:9522 #, c-format msgid "\"%s\" is not a table, view, materialized view, index, or TOAST table" msgstr "« %s » n'est pas une table, une vue, une vue matérialisée, un index ou une table TOAST" -#: commands/tablecmds.c:9542 commands/view.c:498 +#: commands/tablecmds.c:9555 commands/view.c:498 #, c-format msgid "WITH CHECK OPTION is supported only on automatically updatable views" msgstr "WITH CHECK OPTION est uniquement accepté pour les vues dont la mise à jour est automatique" -#: commands/tablecmds.c:9688 +#: commands/tablecmds.c:9701 #, c-format msgid "cannot move system relation \"%s\"" msgstr "ne peut pas déplacer la colonne système « %s »" -#: commands/tablecmds.c:9704 +#: commands/tablecmds.c:9717 #, c-format msgid "cannot move temporary tables of other sessions" msgstr "ne peut pas déplacer les tables temporaires d'autres sessions" -#: commands/tablecmds.c:9841 +#: commands/tablecmds.c:9854 #, c-format msgid "only tables, indexes, and materialized views exist in tablespaces" msgstr "seuls les tables, index et vues matérialisées existent dans les tablespaces" -#: commands/tablecmds.c:9853 +#: commands/tablecmds.c:9866 #, c-format msgid "cannot move relations in to or out of pg_global tablespace" msgstr "ne peut pas déplacer les relations dans ou à partir du tablespace pg_global" -#: commands/tablecmds.c:9944 +#: commands/tablecmds.c:9957 #, c-format msgid "aborting because lock on relation \"%s.%s\" is not available" msgstr "annulation car le verrou sur la relation « %s.%s » n'est pas disponible" -#: commands/tablecmds.c:9960 +#: commands/tablecmds.c:9973 #, c-format msgid "no matching relations in tablespace \"%s\" found" msgstr "aucune relation correspondante trouvée dans le tablespace « %s »" -#: commands/tablecmds.c:10034 storage/buffer/bufmgr.c:915 +#: commands/tablecmds.c:10047 storage/buffer/bufmgr.c:915 #, c-format msgid "invalid page in block %u of relation %s" msgstr "page invalide dans le bloc %u de la relation %s" -#: commands/tablecmds.c:10116 +#: commands/tablecmds.c:10129 #, c-format msgid "cannot change inheritance of typed table" msgstr "ne peut pas modifier l'héritage d'une table typée" -#: commands/tablecmds.c:10166 +#: commands/tablecmds.c:10179 #, c-format msgid "cannot inherit to temporary relation of another session" msgstr "ne peut pas hériter à partir d'une relation temporaire d'une autre session" -#: commands/tablecmds.c:10220 +#: commands/tablecmds.c:10233 #, c-format msgid "circular inheritance not allowed" msgstr "héritage circulaire interdit" -#: commands/tablecmds.c:10221 +#: commands/tablecmds.c:10234 #, c-format msgid "\"%s\" is already a child of \"%s\"." msgstr "« %s » est déjà un enfant de « %s »." -#: commands/tablecmds.c:10229 +#: commands/tablecmds.c:10242 #, c-format msgid "table \"%s\" without OIDs cannot inherit from table \"%s\" with OIDs" msgstr "la table « %s » qui n'a pas d'OID ne peut pas hériter de la table « %s » qui en a" -#: commands/tablecmds.c:10370 +#: commands/tablecmds.c:10383 #, c-format msgid "column \"%s\" in child table must be marked NOT NULL" msgstr "la colonne « %s » de la table enfant doit être marquée comme NOT NULL" -#: commands/tablecmds.c:10386 commands/tablecmds.c:10419 +#: commands/tablecmds.c:10399 commands/tablecmds.c:10432 #, c-format msgid "child table is missing column \"%s\"" msgstr "la colonne « %s » manque à la table enfant" -#: commands/tablecmds.c:10502 +#: commands/tablecmds.c:10515 #, c-format msgid "child table \"%s\" has different definition for check constraint \"%s\"" msgstr "la table fille « %s » a un type différent pour la contrainte de vérification « %s »" -#: commands/tablecmds.c:10510 +#: commands/tablecmds.c:10523 #, c-format msgid "constraint \"%s\" conflicts with non-inherited constraint on child table \"%s\"" msgstr "la contrainte « %s » entre en conflit avec une contrainte non héritée sur la table fille « %s »" -#: commands/tablecmds.c:10521 +#: commands/tablecmds.c:10534 #, c-format msgid "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\"" msgstr "la contrainte « %s » entre en conflit avec une contrainte NOT VALID sur la table fille « %s »" -#: commands/tablecmds.c:10545 +#: commands/tablecmds.c:10558 #, c-format msgid "child table is missing constraint \"%s\"" msgstr "la contrainte « %s » manque à la table enfant" -#: commands/tablecmds.c:10629 +#: commands/tablecmds.c:10642 #, c-format msgid "relation \"%s\" is not a parent of relation \"%s\"" msgstr "la relation « %s » n'est pas un parent de la relation « %s »" -#: commands/tablecmds.c:10863 +#: commands/tablecmds.c:10876 #, c-format msgid "typed tables cannot inherit" msgstr "les tables avec type ne peuvent pas hériter d'autres tables" -#: commands/tablecmds.c:10894 +#: commands/tablecmds.c:10907 #, c-format msgid "table is missing column \"%s\"" msgstr "la colonne « %s » manque à la table" -#: commands/tablecmds.c:10904 +#: commands/tablecmds.c:10917 #, c-format msgid "table has column \"%s\" where type requires \"%s\"" msgstr "la table a une colonne « %s » alors que le type impose « %s »." -#: commands/tablecmds.c:10913 +#: commands/tablecmds.c:10926 #, c-format msgid "table \"%s\" has different type for column \"%s\"" msgstr "la table « %s » a un type différent pour la colonne « %s »" -#: commands/tablecmds.c:10926 +#: commands/tablecmds.c:10939 #, c-format msgid "table has extra column \"%s\"" msgstr "la table a une colonne supplémentaire « %s »" -#: commands/tablecmds.c:10978 +#: commands/tablecmds.c:10991 #, c-format msgid "\"%s\" is not a typed table" msgstr "« %s » n'est pas une table typée" -#: commands/tablecmds.c:11162 +#: commands/tablecmds.c:11175 #, c-format msgid "cannot use non-unique index \"%s\" as replica identity" msgstr "ne peut pas utiliser l'index non unique « %s » comme identité de réplicat" -#: commands/tablecmds.c:11168 +#: commands/tablecmds.c:11181 #, c-format msgid "cannot use non-immediate index \"%s\" as replica identity" msgstr "ne peut pas utiliser l'index « %s » immédiat comme identité de réplicat" -#: commands/tablecmds.c:11174 +#: commands/tablecmds.c:11187 #, c-format msgid "cannot use expression index \"%s\" as replica identity" msgstr "ne peut pas utiliser un index par expression « %s » comme identité de réplicat" -#: commands/tablecmds.c:11180 +#: commands/tablecmds.c:11193 #, c-format msgid "cannot use partial index \"%s\" as replica identity" msgstr "ne peut pas utiliser l'index partiel « %s » comme identité de réplicat" -#: commands/tablecmds.c:11186 +#: commands/tablecmds.c:11199 #, c-format msgid "cannot use invalid index \"%s\" as replica identity" msgstr "ne peut pas utiliser l'index invalide « %s » comme identité de réplicat" -#: commands/tablecmds.c:11207 +#: commands/tablecmds.c:11220 #, c-format msgid "index \"%s\" cannot be used as replica identity because column %d is a system column" msgstr "l'index « %s » ne peut pas être utilisé comme identité de réplicat car la colonne %d est une colonne système" -#: commands/tablecmds.c:11214 +#: commands/tablecmds.c:11227 #, c-format msgid "index \"%s\" cannot be used as replica identity because column \"%s\" is nullable" msgstr "l'index « %s » ne peut pas être utilisé comme identité de réplicat car la colonne « %s » peut être NULL" -#: commands/tablecmds.c:11417 +#: commands/tablecmds.c:11430 #, c-format msgid "cannot change logged status of table \"%s\" because it is temporary" msgstr "ne peut pas modifier le statut de journalisation de la table « %s » parce qu'elle est temporaire" -#: commands/tablecmds.c:11476 +#: commands/tablecmds.c:11489 #, c-format msgid "could not change table \"%s\" to logged because it references unlogged table \"%s\"" msgstr "n'a pas pu passer la table « %s » en journalisé car elle référence la table non journalisée « %s »" -#: commands/tablecmds.c:11486 +#: commands/tablecmds.c:11499 #, c-format msgid "could not change table \"%s\" to unlogged because it references logged table \"%s\"" msgstr "n'a pas pu passer la table « %s » en non journalisé car elle référence la table journalisée « %s »" -#: commands/tablecmds.c:11543 +#: commands/tablecmds.c:11556 #, c-format msgid "cannot move an owned sequence into another schema" msgstr "ne peut pas déplacer une séquence OWNED BY dans un autre schéma" -#: commands/tablecmds.c:11648 +#: commands/tablecmds.c:11661 #, c-format msgid "relation \"%s\" already exists in schema \"%s\"" msgstr "la relation « %s » existe déjà dans le schéma « %s »" -#: commands/tablecmds.c:12175 +#: commands/tablecmds.c:12188 #, c-format msgid "\"%s\" is not a composite type" msgstr "« %s » n'est pas un type composite" -#: commands/tablecmds.c:12205 +#: commands/tablecmds.c:12218 #, c-format msgid "\"%s\" is not a table, view, materialized view, sequence, or foreign table" msgstr "« %s » n'est pas une table, une vue, une vue matérialisée, une séquence ou une table distante" @@ -8667,12 +8672,12 @@ msgid "could not serialize access due to concurrent update" msgstr "n'a pas pu sérialiser un accès à cause d'une mise à jour en parallèle" -#: commands/trigger.c:4575 +#: commands/trigger.c:4612 #, c-format msgid "constraint \"%s\" is not deferrable" msgstr "la contrainte « %s » n'est pas DEFERRABLE" -#: commands/trigger.c:4598 +#: commands/trigger.c:4635 #, c-format msgid "constraint \"%s\" does not exist" msgstr "la contrainte « %s » n'existe pas" @@ -9029,44 +9034,44 @@ "la colonne « %s » de la table « %s » contient des valeurs violant la\n" "nouvelle contrainte" -#: commands/typecmds.c:2971 commands/typecmds.c:3228 commands/typecmds.c:3417 +#: commands/typecmds.c:2986 commands/typecmds.c:3243 commands/typecmds.c:3432 #, c-format msgid "%s is not a domain" msgstr "%s n'est pas un domaine" -#: commands/typecmds.c:3005 +#: commands/typecmds.c:3020 #, c-format msgid "constraint \"%s\" for domain \"%s\" already exists" msgstr "la contrainte « %s » du domaine « %s » existe déjà" -#: commands/typecmds.c:3055 +#: commands/typecmds.c:3070 #, c-format msgid "cannot use table references in domain check constraint" msgstr "" "ne peut pas utiliser les références de table dans la contrainte de\n" "vérification du domaine" -#: commands/typecmds.c:3158 commands/typecmds.c:3240 commands/typecmds.c:3534 +#: commands/typecmds.c:3173 commands/typecmds.c:3255 commands/typecmds.c:3549 #, c-format msgid "%s is a table's row type" msgstr "« %s » est du type ligne de table" -#: commands/typecmds.c:3160 commands/typecmds.c:3242 commands/typecmds.c:3536 +#: commands/typecmds.c:3175 commands/typecmds.c:3257 commands/typecmds.c:3551 #, c-format msgid "Use ALTER TABLE instead." msgstr "Utilisez ALTER TABLE à la place." -#: commands/typecmds.c:3167 commands/typecmds.c:3249 commands/typecmds.c:3449 +#: commands/typecmds.c:3182 commands/typecmds.c:3264 commands/typecmds.c:3464 #, c-format msgid "cannot alter array type %s" msgstr "ne peut pas modifier le type array %s" -#: commands/typecmds.c:3169 commands/typecmds.c:3251 commands/typecmds.c:3451 +#: commands/typecmds.c:3184 commands/typecmds.c:3266 commands/typecmds.c:3466 #, c-format msgid "You can alter type %s, which will alter the array type as well." msgstr "Vous pouvez modifier le type %s, ce qui va modifier aussi le type tableau." -#: commands/typecmds.c:3519 +#: commands/typecmds.c:3534 #, c-format msgid "type \"%s\" already exists in schema \"%s\"" msgstr "le type « %s » existe déjà dans le schéma « %s »" @@ -9096,7 +9101,7 @@ msgid "permission denied to create role" msgstr "droit refusé pour créer un rôle" -#: commands/user.c:322 commands/user.c:1176 commands/user.c:1183 gram.y:13620 gram.y:13655 utils/adt/acl.c:5279 utils/adt/acl.c:5285 +#: commands/user.c:322 commands/user.c:1176 commands/user.c:1183 gram.y:13628 gram.y:13663 utils/adt/acl.c:5279 utils/adt/acl.c:5285 #, c-format msgid "role name \"%s\" is reserved" msgstr "le nom du rôle « %s » est réservé" @@ -9352,63 +9357,68 @@ msgid "system usage: %s" msgstr "utilisation du système : %s" -#: commands/vacuumlazy.c:853 +#: commands/vacuumlazy.c:852 #, c-format msgid "relation \"%s\" page %u is uninitialized --- fixing" msgstr "relation « %s » : la page %u n'est pas initialisée --- correction en cours" -#: commands/vacuumlazy.c:1323 +#: commands/vacuumlazy.c:1322 #, c-format msgid "\"%s\": removed %.0f row versions in %u pages" msgstr "« %s » : %.0f versions de ligne supprimées parmi %u pages" -#: commands/vacuumlazy.c:1333 +#: commands/vacuumlazy.c:1332 #, c-format msgid "%.0f dead row versions cannot be removed yet.\n" msgstr "%.0f versions de lignes mortes ne peuvent pas encore être supprimées.\n" -#: commands/vacuumlazy.c:1335 +#: commands/vacuumlazy.c:1334 #, c-format msgid "There were %.0f unused item pointers.\n" msgstr "Il y avait %.0f pointeurs d'éléments inutilisés.\n" -#: commands/vacuumlazy.c:1337 +#: commands/vacuumlazy.c:1336 #, c-format msgid "Skipped %u page due to buffer pins.\n" msgid_plural "Skipped %u pages due to buffer pins.\n" msgstr[0] "Ignore %u page à cause des verrous de blocs.\n" msgstr[1] "Ignore %u pages à cause des verrous de blocs.\n" -#: commands/vacuumlazy.c:1341 +#: commands/vacuumlazy.c:1340 #, c-format msgid "%u page is entirely empty.\n" msgid_plural "%u pages are entirely empty.\n" msgstr[0] "%u page est entièrement vide.\n" msgstr[1] "%u pages sont entièrement vides.\n" -#: commands/vacuumlazy.c:1348 +#: commands/vacuumlazy.c:1344 +#, c-format +msgid "%s." +msgstr "%s." + +#: commands/vacuumlazy.c:1347 #, c-format msgid "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u out of %u pages" msgstr "" "« %s » : %.0f versions de ligne supprimables, %.0f non supprimables\n" "parmi %u pages sur %u" -#: commands/vacuumlazy.c:1417 +#: commands/vacuumlazy.c:1416 #, c-format msgid "\"%s\": removed %d row versions in %d pages" msgstr "« %s »: %d versions de ligne supprimée parmi %d pages" -#: commands/vacuumlazy.c:1605 +#: commands/vacuumlazy.c:1604 #, c-format msgid "scanned index \"%s\" to remove %d row versions" msgstr "a parcouru l'index « %s » pour supprimer %d versions de lignes" -#: commands/vacuumlazy.c:1651 +#: commands/vacuumlazy.c:1650 #, c-format msgid "index \"%s\" now contains %.0f row versions in %u pages" msgstr "l'index « %s » contient maintenant %.0f versions de ligne dans %u pages" -#: commands/vacuumlazy.c:1655 +#: commands/vacuumlazy.c:1654 #, c-format msgid "" "%.0f index row versions were removed.\n" @@ -9419,17 +9429,17 @@ "%u pages d'index ont été supprimées, %u sont actuellement réutilisables.\n" "%s." -#: commands/vacuumlazy.c:1750 +#: commands/vacuumlazy.c:1749 #, c-format msgid "\"%s\": stopping truncate due to conflicting lock request" msgstr "« %s » : mis en suspens du tronquage à cause d'un conflit dans la demande de verrou" -#: commands/vacuumlazy.c:1815 +#: commands/vacuumlazy.c:1814 #, c-format msgid "\"%s\": truncated %u to %u pages" msgstr "« %s » : %u pages tronqués en %u" -#: commands/vacuumlazy.c:1871 +#: commands/vacuumlazy.c:1870 #, c-format msgid "\"%s\": suspending truncate due to conflicting lock request" msgstr "« %s » : mis en suspens du tronquage à cause d'un conflit dans la demande de verrou" @@ -9502,7 +9512,7 @@ "SET TRANSACTION ISOLATION LEVEL ne doit pas être appelé dans une\n" "sous-transaction" -#: commands/variable.c:574 storage/lmgr/predicate.c:1587 +#: commands/variable.c:574 storage/lmgr/predicate.c:1602 #, c-format msgid "cannot use serializable mode in a hot standby" msgstr "ne peut pas utiliser le mode sérialisable sur un serveur en « Hot Standby »" @@ -10281,278 +10291,278 @@ msgid "unrecognized role option \"%s\"" msgstr "option « %s » du rôle non reconnu" -#: gram.y:1278 gram.y:1293 +#: gram.y:1286 gram.y:1301 #, c-format msgid "CREATE SCHEMA IF NOT EXISTS cannot include schema elements" msgstr "CREATE SCHEMA IF NOT EXISTS n'inclut pas les éléments du schéma" -#: gram.y:1438 +#: gram.y:1446 #, c-format msgid "current database cannot be changed" msgstr "la base de données actuelle ne peut pas être changée" -#: gram.y:1562 +#: gram.y:1570 #, c-format msgid "time zone interval must be HOUR or HOUR TO MINUTE" msgstr "l'intervalle de fuseau horaire doit être HOUR ou HOUR TO MINUTE" -#: gram.y:2600 gram.y:2629 +#: gram.y:2608 gram.y:2637 #, c-format msgid "STDIN/STDOUT not allowed with PROGRAM" msgstr "STDIN/STDOUT non autorisé dans PROGRAM" -#: gram.y:2895 gram.y:2902 gram.y:10296 gram.y:10304 +#: gram.y:2903 gram.y:2910 gram.y:10304 gram.y:10312 #, c-format msgid "GLOBAL is deprecated in temporary table creation" msgstr "GLOBAL est obsolète dans la création de la table temporaire" -#: gram.y:3343 utils/adt/ri_triggers.c:314 utils/adt/ri_triggers.c:371 utils/adt/ri_triggers.c:790 utils/adt/ri_triggers.c:1013 utils/adt/ri_triggers.c:1169 utils/adt/ri_triggers.c:1350 utils/adt/ri_triggers.c:1515 utils/adt/ri_triggers.c:1691 utils/adt/ri_triggers.c:1871 utils/adt/ri_triggers.c:2062 utils/adt/ri_triggers.c:2120 utils/adt/ri_triggers.c:2225 utils/adt/ri_triggers.c:2402 +#: gram.y:3351 utils/adt/ri_triggers.c:314 utils/adt/ri_triggers.c:371 utils/adt/ri_triggers.c:790 utils/adt/ri_triggers.c:1013 utils/adt/ri_triggers.c:1169 utils/adt/ri_triggers.c:1350 utils/adt/ri_triggers.c:1515 utils/adt/ri_triggers.c:1691 utils/adt/ri_triggers.c:1871 utils/adt/ri_triggers.c:2062 utils/adt/ri_triggers.c:2120 utils/adt/ri_triggers.c:2225 utils/adt/ri_triggers.c:2402 #, c-format msgid "MATCH PARTIAL not yet implemented" msgstr "MATCH PARTIAL non implémenté" -#: gram.y:4810 +#: gram.y:4818 msgid "duplicate trigger events specified" msgstr "événements de trigger dupliqués spécifiés" -#: gram.y:4903 parser/parse_utilcmd.c:2728 parser/parse_utilcmd.c:2754 +#: gram.y:4911 parser/parse_utilcmd.c:2729 parser/parse_utilcmd.c:2755 #, c-format msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" msgstr "la contrainte déclarée INITIALLY DEFERRED doit être DEFERRABLE" -#: gram.y:4910 +#: gram.y:4918 #, c-format msgid "conflicting constraint properties" msgstr "propriétés de contrainte en conflit" -#: gram.y:5042 +#: gram.y:5050 #, c-format msgid "CREATE ASSERTION is not yet implemented" msgstr "CREATE ASSERTION n'est pas encore implémenté" -#: gram.y:5058 +#: gram.y:5066 #, c-format msgid "DROP ASSERTION is not yet implemented" msgstr "DROP ASSERTION n'est pas encore implémenté" -#: gram.y:5404 +#: gram.y:5412 #, c-format msgid "RECHECK is no longer required" msgstr "RECHECK n'est plus nécessaire" -#: gram.y:5405 +#: gram.y:5413 #, c-format msgid "Update your data type." msgstr "Mettez à jour votre type de données." -#: gram.y:6984 +#: gram.y:6992 #, c-format msgid "aggregates cannot have output arguments" msgstr "les agrégats ne peuvent pas avoir d'arguments en sortie" -#: gram.y:7303 utils/adt/regproc.c:775 utils/adt/regproc.c:816 +#: gram.y:7311 utils/adt/regproc.c:775 utils/adt/regproc.c:816 #, c-format msgid "missing argument" msgstr "argument manquant" -#: gram.y:7304 utils/adt/regproc.c:776 utils/adt/regproc.c:817 +#: gram.y:7312 utils/adt/regproc.c:776 utils/adt/regproc.c:817 #, c-format msgid "Use NONE to denote the missing argument of a unary operator." msgstr "Utilisez NONE pour dénoter l'argument manquant d'un opérateur unitaire." -#: gram.y:8854 gram.y:8872 +#: gram.y:8862 gram.y:8880 #, c-format msgid "WITH CHECK OPTION not supported on recursive views" msgstr "WITH CHECK OPTION non supporté sur les vues récursives" -#: gram.y:9390 +#: gram.y:9398 #, c-format msgid "unrecognized VACUUM option \"%s\"" msgstr "option « %s » de la commande VACUUM non reconnue" -#: gram.y:9888 parser/parse_expr.c:1501 +#: gram.y:9896 parser/parse_expr.c:1501 #, c-format msgid "number of columns does not match number of values" msgstr "le nombre de colonnes ne correspond pas au nombre de valeurs" -#: gram.y:10404 +#: gram.y:10412 #, c-format msgid "LIMIT #,# syntax is not supported" msgstr "la syntaxe LIMIT #,# n'est pas supportée" -#: gram.y:10405 +#: gram.y:10413 #, c-format msgid "Use separate LIMIT and OFFSET clauses." msgstr "Utilisez les clauses séparées LIMIT et OFFSET." -#: gram.y:10668 gram.y:10693 +#: gram.y:10676 gram.y:10701 #, c-format msgid "VALUES in FROM must have an alias" msgstr "VALUES dans FROM doit avoir un alias" -#: gram.y:10669 gram.y:10694 +#: gram.y:10677 gram.y:10702 #, c-format msgid "For example, FROM (VALUES ...) [AS] foo." msgstr "Par exemple, FROM (VALUES ...) [AS] quelquechose." -#: gram.y:10674 gram.y:10699 +#: gram.y:10682 gram.y:10707 #, c-format msgid "subquery in FROM must have an alias" msgstr "la sous-requête du FROM doit avoir un alias" -#: gram.y:10675 gram.y:10700 +#: gram.y:10683 gram.y:10708 #, c-format msgid "For example, FROM (SELECT ...) [AS] foo." msgstr "Par exemple, FROM (SELECT...) [AS] quelquechose." -#: gram.y:11274 +#: gram.y:11282 #, c-format msgid "precision for type float must be at least 1 bit" msgstr "la précision du type float doit être d'au moins un bit" -#: gram.y:11283 +#: gram.y:11291 #, c-format msgid "precision for type float must be less than 54 bits" msgstr "la précision du type float doit être inférieur à 54 bits" -#: gram.y:11787 +#: gram.y:11795 #, c-format msgid "wrong number of parameters on left side of OVERLAPS expression" msgstr "mauvais nombre de paramètres sur le côté gauche de l'expression OVERLAPS" -#: gram.y:11792 +#: gram.y:11800 #, c-format msgid "wrong number of parameters on right side of OVERLAPS expression" msgstr "mauvais nombre de paramètres sur le côté droit de l'expression OVERLAPS" -#: gram.y:11967 +#: gram.y:11975 #, c-format msgid "UNIQUE predicate is not yet implemented" msgstr "prédicat UNIQUE non implémenté" -#: gram.y:12301 +#: gram.y:12309 #, c-format msgid "cannot use multiple ORDER BY clauses with WITHIN GROUP" msgstr "ne peut pas utiliser des clauses ORDER BY multiples dans WITHIN GROUP" -#: gram.y:12306 +#: gram.y:12314 #, c-format msgid "cannot use DISTINCT with WITHIN GROUP" msgstr "ne peut pas utiliser DISTINCT avec WITHIN GROUP" -#: gram.y:12311 +#: gram.y:12319 #, c-format msgid "cannot use VARIADIC with WITHIN GROUP" msgstr "ne peut pas utiliser VARIADIC avec WITHIN GROUP" -#: gram.y:12817 +#: gram.y:12825 #, c-format msgid "RANGE PRECEDING is only supported with UNBOUNDED" msgstr "RANGE PRECEDING est seulement supporté avec UNBOUNDED" -#: gram.y:12823 +#: gram.y:12831 #, c-format msgid "RANGE FOLLOWING is only supported with UNBOUNDED" msgstr "RANGE FOLLOWING est seulement supporté avec UNBOUNDED" -#: gram.y:12850 gram.y:12873 +#: gram.y:12858 gram.y:12881 #, c-format msgid "frame start cannot be UNBOUNDED FOLLOWING" msgstr "la fin du frame ne peut pas être UNBOUNDED FOLLOWING" -#: gram.y:12855 +#: gram.y:12863 #, c-format msgid "frame starting from following row cannot end with current row" msgstr "la frame commençant après la ligne suivante ne peut pas se terminer avec la ligne actuelle" -#: gram.y:12878 +#: gram.y:12886 #, c-format msgid "frame end cannot be UNBOUNDED PRECEDING" msgstr "la fin du frame ne peut pas être UNBOUNDED PRECEDING" -#: gram.y:12884 +#: gram.y:12892 #, c-format msgid "frame starting from current row cannot have preceding rows" msgstr "la frame commençant à la ligne courante ne peut pas avoir des lignes précédentes" -#: gram.y:12891 +#: gram.y:12899 #, c-format msgid "frame starting from following row cannot have preceding rows" msgstr "la frame commençant à la ligne suivante ne peut pas avoir des lignes précédentes" -#: gram.y:13556 +#: gram.y:13564 #, c-format msgid "type modifier cannot have parameter name" msgstr "le modificateur de type ne peut pas avoir de nom de paramètre" -#: gram.y:13562 +#: gram.y:13570 #, c-format msgid "type modifier cannot have ORDER BY" msgstr "le modificateur de type ne peut pas avoir de clause ORDER BY" -#: gram.y:13626 gram.y:13632 +#: gram.y:13634 gram.y:13640 #, c-format msgid "%s cannot be used as a role name here" msgstr "%s ne peut pas être utilisé comme nom de rôle ici" -#: gram.y:14254 gram.y:14443 +#: gram.y:14262 gram.y:14451 msgid "improper use of \"*\"" msgstr "mauvaise utilisation de « * »" -#: gram.y:14406 gram.y:14423 tsearch/spell.c:954 tsearch/spell.c:971 tsearch/spell.c:988 tsearch/spell.c:1005 tsearch/spell.c:1070 +#: gram.y:14414 gram.y:14431 tsearch/spell.c:954 tsearch/spell.c:971 tsearch/spell.c:988 tsearch/spell.c:1005 tsearch/spell.c:1070 #, c-format msgid "syntax error" msgstr "erreur de syntaxe" -#: gram.y:14507 +#: gram.y:14515 #, c-format msgid "an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type" msgstr "un agrégat par ensemble ordonné avec un argument VARIADIC direct doit avoir un argument VARIADIC agrégé du même type de données" -#: gram.y:14544 +#: gram.y:14552 #, c-format msgid "multiple ORDER BY clauses not allowed" msgstr "clauses ORDER BY multiples non autorisées" -#: gram.y:14555 +#: gram.y:14563 #, c-format msgid "multiple OFFSET clauses not allowed" msgstr "clauses OFFSET multiples non autorisées" -#: gram.y:14564 +#: gram.y:14572 #, c-format msgid "multiple LIMIT clauses not allowed" msgstr "clauses LIMIT multiples non autorisées" -#: gram.y:14573 +#: gram.y:14581 #, c-format msgid "multiple WITH clauses not allowed" msgstr "clauses WITH multiples non autorisées" -#: gram.y:14765 +#: gram.y:14773 #, c-format msgid "OUT and INOUT arguments aren't allowed in TABLE functions" msgstr "les arguments OUT et INOUT ne sont pas autorisés dans des fonctions TABLE" -#: gram.y:14866 +#: gram.y:14874 #, c-format msgid "multiple COLLATE clauses not allowed" msgstr "clauses COLLATE multiples non autorisées" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:14904 gram.y:14917 +#: gram.y:14912 gram.y:14925 #, c-format msgid "%s constraints cannot be marked DEFERRABLE" msgstr "les contraintes %s ne peuvent pas être marquées comme DEFERRABLE" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:14930 +#: gram.y:14938 #, c-format msgid "%s constraints cannot be marked NOT VALID" msgstr "les contraintes %s ne peuvent pas être marquées comme NOT VALID" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:14943 +#: gram.y:14951 #, c-format msgid "%s constraints cannot be marked NO INHERIT" msgstr "les contraintes %s ne peuvent pas être marquées NO INHERIT" @@ -10817,364 +10827,364 @@ msgid "invalid password packet size" msgstr "taille du paquet du mot de passe invalide" -#: libpq/auth.c:828 +#: libpq/auth.c:712 +#, c-format +msgid "empty password returned by client" +msgstr "mot de passe vide renvoyé par le client" + +#: libpq/auth.c:842 #, c-format msgid "GSSAPI is not supported in protocol version 2" msgstr "GSSAPI n'est pas supporté dans le protocole de version 2" -#: libpq/auth.c:888 +#: libpq/auth.c:902 #, c-format msgid "expected GSS response, got message type %d" msgstr "en attente d'une réponse GSS, a reçu un message de type %d" -#: libpq/auth.c:949 +#: libpq/auth.c:963 msgid "accepting GSS security context failed" msgstr "échec de l'acceptation du contexte de sécurité GSS" -#: libpq/auth.c:975 +#: libpq/auth.c:989 msgid "retrieving GSS user name failed" msgstr "échec lors de la récupération du nom de l'utilisateur avec GSS" -#: libpq/auth.c:1094 +#: libpq/auth.c:1108 #, c-format msgid "SSPI is not supported in protocol version 2" msgstr "SSPI n'est pas supporté dans le protocole de version 2" -#: libpq/auth.c:1109 +#: libpq/auth.c:1123 msgid "could not acquire SSPI credentials" msgstr "n'a pas pu obtenir les pièces d'identité SSPI" -#: libpq/auth.c:1127 +#: libpq/auth.c:1141 #, c-format msgid "expected SSPI response, got message type %d" msgstr "en attente d'une réponse SSPI, a reçu un message de type %d" -#: libpq/auth.c:1199 +#: libpq/auth.c:1213 msgid "could not accept SSPI security context" msgstr "n'a pas pu accepter le contexte de sécurité SSPI" -#: libpq/auth.c:1261 +#: libpq/auth.c:1275 msgid "could not get token from SSPI security context" msgstr "n'a pas pu obtenir le jeton du contexte de sécurité SSPI" -#: libpq/auth.c:1380 libpq/auth.c:1399 +#: libpq/auth.c:1394 libpq/auth.c:1413 #, c-format msgid "could not translate name" msgstr "n'a pas pu traduit le nom" -#: libpq/auth.c:1412 +#: libpq/auth.c:1426 #, c-format msgid "realm name too long" msgstr "nom du royaume trop long" -#: libpq/auth.c:1427 +#: libpq/auth.c:1441 #, c-format msgid "translated account name too long" msgstr "traduction du nom de compte trop longue" -#: libpq/auth.c:1613 +#: libpq/auth.c:1627 #, c-format msgid "could not create socket for Ident connection: %m" msgstr "n'a pas pu créer le socket pour la connexion Ident : %m" -#: libpq/auth.c:1628 +#: libpq/auth.c:1642 #, c-format msgid "could not bind to local address \"%s\": %m" msgstr "n'a pas pu se lier à l'adresse locale « %s » : %m" -#: libpq/auth.c:1640 +#: libpq/auth.c:1654 #, c-format msgid "could not connect to Ident server at address \"%s\", port %s: %m" msgstr "n'a pas pu se connecter au serveur Ident à l'adresse « %s », port %s : %m" -#: libpq/auth.c:1662 +#: libpq/auth.c:1676 #, c-format msgid "could not send query to Ident server at address \"%s\", port %s: %m" msgstr "n'a pas pu envoyer la requête au serveur Ident à l'adresse « %s », port %s : %m" -#: libpq/auth.c:1679 +#: libpq/auth.c:1693 #, c-format msgid "could not receive response from Ident server at address \"%s\", port %s: %m" msgstr "" "n'a pas pu recevoir la réponse du serveur Ident à l'adresse « %s », port %s :\n" "%m" -#: libpq/auth.c:1689 +#: libpq/auth.c:1703 #, c-format msgid "invalidly formatted response from Ident server: \"%s\"" msgstr "réponse mal formatée du serveur Ident : « %s »" -#: libpq/auth.c:1729 +#: libpq/auth.c:1743 #, c-format msgid "peer authentication is not supported on this platform" msgstr "la méthode d'authentification «peer n'est pas supportée sur cette plateforme" -#: libpq/auth.c:1733 +#: libpq/auth.c:1747 #, c-format msgid "could not get peer credentials: %m" msgstr "n'a pas pu obtenir l'authentification de l'autre : %m" -#: libpq/auth.c:1742 +#: libpq/auth.c:1756 #, c-format msgid "could not look up local user ID %ld: %s" msgstr "n'a pas pu rechercher l'identifiant %ld de l'utilisateur local : %s" -#: libpq/auth.c:1826 libpq/auth.c:2152 libpq/auth.c:2515 -#, c-format -msgid "empty password returned by client" -msgstr "mot de passe vide renvoyé par le client" - -#: libpq/auth.c:1836 +#: libpq/auth.c:1844 #, c-format msgid "error from underlying PAM layer: %s" msgstr "erreur provenant de la couche PAM : %s" -#: libpq/auth.c:1917 +#: libpq/auth.c:1925 #, c-format msgid "could not create PAM authenticator: %s" msgstr "n'a pas pu créer l'authenticateur PAM : %s" -#: libpq/auth.c:1928 +#: libpq/auth.c:1936 #, c-format msgid "pam_set_item(PAM_USER) failed: %s" msgstr "pam_set_item(PAM_USER) a échoué : %s" -#: libpq/auth.c:1939 +#: libpq/auth.c:1947 #, c-format msgid "pam_set_item(PAM_RHOST) failed: %s" msgstr "pam_set_item(PAM_RHOST) a échoué : %s" -#: libpq/auth.c:1950 +#: libpq/auth.c:1958 #, c-format msgid "pam_set_item(PAM_CONV) failed: %s" msgstr "pam_set_item(PAM_CONV) a échoué : %s" -#: libpq/auth.c:1961 +#: libpq/auth.c:1969 #, c-format msgid "pam_authenticate failed: %s" msgstr "pam_authenticate a échoué : %s" -#: libpq/auth.c:1972 +#: libpq/auth.c:1980 #, c-format msgid "pam_acct_mgmt failed: %s" msgstr "pam_acct_mgmt a échoué : %s" -#: libpq/auth.c:1983 +#: libpq/auth.c:1991 #, c-format msgid "could not release PAM authenticator: %s" msgstr "n'a pas pu fermer l'authenticateur PAM : %s" -#: libpq/auth.c:2048 +#: libpq/auth.c:2056 #, c-format msgid "could not initialize LDAP: %m" msgstr "n'a pas pu initialiser LDAP : %m" -#: libpq/auth.c:2051 +#: libpq/auth.c:2059 #, c-format msgid "could not initialize LDAP: error code %d" msgstr "n'a pas pu initialiser LDAP : code d'erreur %d" -#: libpq/auth.c:2061 +#: libpq/auth.c:2069 #, c-format msgid "could not set LDAP protocol version: %s" msgstr "n'a pas pu initialiser la version du protocole LDAP : %s" -#: libpq/auth.c:2090 +#: libpq/auth.c:2098 #, c-format msgid "could not load wldap32.dll" msgstr "n'a pas pu charger wldap32.dll" -#: libpq/auth.c:2098 +#: libpq/auth.c:2106 #, c-format msgid "could not load function _ldap_start_tls_sA in wldap32.dll" msgstr "n'a pas pu charger la fonction _ldap_start_tls_sA de wldap32.dll" -#: libpq/auth.c:2099 +#: libpq/auth.c:2107 #, c-format msgid "LDAP over SSL is not supported on this platform." msgstr "LDAP via SSL n'est pas supporté sur cette plateforme." -#: libpq/auth.c:2114 +#: libpq/auth.c:2122 #, c-format msgid "could not start LDAP TLS session: %s" msgstr "n'a pas pu démarrer la session TLS LDAP : %s" -#: libpq/auth.c:2136 +#: libpq/auth.c:2144 #, c-format msgid "LDAP server not specified" msgstr "serveur LDAP non précisé" -#: libpq/auth.c:2189 +#: libpq/auth.c:2192 #, c-format msgid "invalid character in user name for LDAP authentication" msgstr "caractère invalide dans le nom de l'utilisateur pour l'authentification LDAP" -#: libpq/auth.c:2204 +#: libpq/auth.c:2207 #, c-format msgid "could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": %s" msgstr "n'a pas pu réaliser le lien LDAP initiale pour ldapbinddn « %s » sur le serveur « %s » : %s" -#: libpq/auth.c:2228 +#: libpq/auth.c:2231 #, c-format msgid "could not search LDAP for filter \"%s\" on server \"%s\": %s" msgstr "n'a pas pu rechercher dans LDAP pour filtrer « %s » sur le serveur « %s » : %s" -#: libpq/auth.c:2239 +#: libpq/auth.c:2242 #, c-format msgid "LDAP user \"%s\" does not exist" msgstr "l'utilisateur LDAP « %s » n'existe pas" -#: libpq/auth.c:2240 +#: libpq/auth.c:2243 #, c-format msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries." msgstr "la recherche LDAP pour le filtre « %s » sur le serveur « %s » n'a renvoyé aucun enregistrement." -#: libpq/auth.c:2244 +#: libpq/auth.c:2247 #, c-format msgid "LDAP user \"%s\" is not unique" msgstr "l'utilisateur LDAP « %s » n'est pas unique" -#: libpq/auth.c:2245 +#: libpq/auth.c:2248 #, c-format msgid "LDAP search for filter \"%s\" on server \"%s\" returned %d entry." msgid_plural "LDAP search for filter \"%s\" on server \"%s\" returned %d entries." msgstr[0] "la recherche LDAP pour le filtre « %s » sur le serveur « %s » a renvoyé %d enregistrement." msgstr[1] "la recherche LDAP pour le filtre « %s » sur le serveur « %s » a renvoyé %d enregistrements." -#: libpq/auth.c:2263 +#: libpq/auth.c:2266 #, c-format msgid "could not get dn for the first entry matching \"%s\" on server \"%s\": %s" msgstr "" "n'a pas pu obtenir le dn pour la première entrée correspondante « %s » sur\n" "le serveur « %s » : %s" -#: libpq/auth.c:2283 +#: libpq/auth.c:2286 #, c-format msgid "could not unbind after searching for user \"%s\" on server \"%s\": %s" msgstr "" "n'a pas pu exécuter le unbind après la recherche de l'utilisateur « %s »\n" "sur le serveur « %s » : %s" -#: libpq/auth.c:2313 +#: libpq/auth.c:2316 #, c-format msgid "LDAP login failed for user \"%s\" on server \"%s\": %s" msgstr "échec de connexion LDAP pour l'utilisateur « %s » sur le serveur « %s » : %s" -#: libpq/auth.c:2341 +#: libpq/auth.c:2344 #, c-format msgid "certificate authentication failed for user \"%s\": client certificate contains no user name" msgstr "" "l'authentification par le certificat a échoué pour l'utilisateur « %s » :\n" "le certificat du client ne contient aucun nom d'utilisateur" -#: libpq/auth.c:2471 +#: libpq/auth.c:2474 #, c-format msgid "RADIUS server not specified" msgstr "serveur RADIUS non précisé" -#: libpq/auth.c:2478 +#: libpq/auth.c:2481 #, c-format msgid "RADIUS secret not specified" msgstr "secret RADIUS non précisé" -#: libpq/auth.c:2494 libpq/hba.c:1632 +#: libpq/auth.c:2497 libpq/hba.c:1632 #, c-format msgid "could not translate RADIUS server name \"%s\" to address: %s" msgstr "n'a pas pu traduire le nom du serveur RADIUS « %s » en une adresse : %s" -#: libpq/auth.c:2522 +#: libpq/auth.c:2518 #, c-format msgid "RADIUS authentication does not support passwords longer than %d characters" msgstr "" "l'authentification RADIUS ne supporte pas les mots de passe de plus de %d\n" "caractères" -#: libpq/auth.c:2534 +#: libpq/auth.c:2530 #, c-format msgid "could not generate random encryption vector" msgstr "n'a pas pu générer le vecteur de chiffrement aléatoire" -#: libpq/auth.c:2572 +#: libpq/auth.c:2568 #, c-format msgid "could not perform MD5 encryption of password" msgstr "n'a pas pu réaliser le chiffrement MD5 du mot de passe" -#: libpq/auth.c:2597 +#: libpq/auth.c:2593 #, c-format msgid "could not create RADIUS socket: %m" msgstr "n'a pas pu créer le socket RADIUS : %m" -#: libpq/auth.c:2618 +#: libpq/auth.c:2614 #, c-format msgid "could not bind local RADIUS socket: %m" msgstr "n'a pas pu se lier à la socket RADIUS : %m" -#: libpq/auth.c:2628 +#: libpq/auth.c:2624 #, c-format msgid "could not send RADIUS packet: %m" msgstr "n'a pas pu transmettre le paquet RADIUS : %m" -#: libpq/auth.c:2661 libpq/auth.c:2686 +#: libpq/auth.c:2657 libpq/auth.c:2682 #, c-format msgid "timeout waiting for RADIUS response" msgstr "dépassement du délai pour la réponse du RADIUS" -#: libpq/auth.c:2679 +#: libpq/auth.c:2675 #, c-format msgid "could not check status on RADIUS socket: %m" msgstr "n'a pas pu vérifier le statut sur la socket RADIUS : %m" -#: libpq/auth.c:2708 +#: libpq/auth.c:2704 #, c-format msgid "could not read RADIUS response: %m" msgstr "n'a pas pu lire la réponse RADIUS : %m" -#: libpq/auth.c:2720 libpq/auth.c:2724 +#: libpq/auth.c:2716 libpq/auth.c:2720 #, c-format msgid "RADIUS response was sent from incorrect port: %d" msgstr "la réponse RADIUS a été envoyée à partir d'un mauvais port : %d" -#: libpq/auth.c:2733 +#: libpq/auth.c:2729 #, c-format msgid "RADIUS response too short: %d" msgstr "réponse RADIUS trop courte : %d" -#: libpq/auth.c:2740 +#: libpq/auth.c:2736 #, c-format msgid "RADIUS response has corrupt length: %d (actual length %d)" msgstr "la réponse RADIUS a une longueur corrompue : %d (longueur actuelle %d)" -#: libpq/auth.c:2748 +#: libpq/auth.c:2744 #, c-format msgid "RADIUS response is to a different request: %d (should be %d)" msgstr "la réponse RADIUS correspond à une demande différente : %d (devrait être %d)" -#: libpq/auth.c:2773 +#: libpq/auth.c:2769 #, c-format msgid "could not perform MD5 encryption of received packet" msgstr "n'a pas pu réaliser le chiffrement MD5 du paquet reçu" -#: libpq/auth.c:2782 +#: libpq/auth.c:2778 #, c-format msgid "RADIUS response has incorrect MD5 signature" msgstr "la réponse RADIUS a une signature MD5 erronée" -#: libpq/auth.c:2799 +#: libpq/auth.c:2795 #, c-format msgid "RADIUS response has invalid code (%d) for user \"%s\"" msgstr "la réponse RADIUS a un code invalide (%d) pour l'utilisateur « %s »" -#: libpq/be-fsstubs.c:132 libpq/be-fsstubs.c:163 libpq/be-fsstubs.c:197 libpq/be-fsstubs.c:237 libpq/be-fsstubs.c:262 libpq/be-fsstubs.c:310 libpq/be-fsstubs.c:333 libpq/be-fsstubs.c:581 +#: libpq/be-fsstubs.c:132 libpq/be-fsstubs.c:163 libpq/be-fsstubs.c:197 libpq/be-fsstubs.c:237 libpq/be-fsstubs.c:262 libpq/be-fsstubs.c:310 libpq/be-fsstubs.c:333 libpq/be-fsstubs.c:590 #, c-format msgid "invalid large-object descriptor: %d" msgstr "descripteur invalide de « Large Object » : %d" -#: libpq/be-fsstubs.c:178 libpq/be-fsstubs.c:216 libpq/be-fsstubs.c:600 libpq/be-fsstubs.c:788 +#: libpq/be-fsstubs.c:178 libpq/be-fsstubs.c:216 libpq/be-fsstubs.c:609 libpq/be-fsstubs.c:797 libpq/be-fsstubs.c:917 #, c-format msgid "permission denied for large object %u" msgstr "droit refusé pour le Large Object %u" -#: libpq/be-fsstubs.c:203 libpq/be-fsstubs.c:587 +#: libpq/be-fsstubs.c:203 libpq/be-fsstubs.c:596 #, c-format msgid "large object descriptor %d was not opened for writing" msgstr "le descripteur %d du « Large Object » n'a pas été ouvert pour l'écriture" @@ -11219,22 +11229,22 @@ msgid "Anyone can use the client-side lo_export() provided by libpq." msgstr "Tout le monde peut utiliser lo_export(), fournie par libpq, du côté client." -#: libpq/be-fsstubs.c:547 +#: libpq/be-fsstubs.c:556 #, c-format msgid "could not create server file \"%s\": %m" msgstr "n'a pas pu créer le fichier serveur « %s » : %m" -#: libpq/be-fsstubs.c:559 +#: libpq/be-fsstubs.c:568 #, c-format msgid "could not write server file \"%s\": %m" msgstr "n'a pas pu écrire le fichier serveur « %s » : %m" -#: libpq/be-fsstubs.c:813 +#: libpq/be-fsstubs.c:822 #, c-format msgid "large object read request is too large" msgstr "la demande de lecture du Large Object est trop grande" -#: libpq/be-fsstubs.c:855 utils/adt/genfile.c:211 utils/adt/genfile.c:252 +#: libpq/be-fsstubs.c:864 utils/adt/genfile.c:211 utils/adt/genfile.c:252 #, c-format msgid "requested length cannot be negative" msgstr "la longueur demandée ne peut pas être négative" @@ -11288,86 +11298,86 @@ msgid "check of private key failed: %s" msgstr "échec de la vérification de la clé privée : %s" -#: libpq/be-secure-openssl.c:292 +#: libpq/be-secure-openssl.c:300 #, c-format msgid "could not load root certificate file \"%s\": %s" msgstr "n'a pas pu charger le fichier du certificat racine « %s » : %s" -#: libpq/be-secure-openssl.c:316 +#: libpq/be-secure-openssl.c:324 #, c-format msgid "SSL certificate revocation list file \"%s\" ignored" msgstr "liste de révocation des certificats SSL « %s » ignorée" -#: libpq/be-secure-openssl.c:318 +#: libpq/be-secure-openssl.c:326 #, c-format msgid "SSL library does not support certificate revocation lists." msgstr "La bibliothèque SSL ne supporte pas les listes de révocation des certificats." -#: libpq/be-secure-openssl.c:323 +#: libpq/be-secure-openssl.c:331 #, c-format msgid "could not load SSL certificate revocation list file \"%s\": %s" msgstr "n'a pas pu charger le fichier de liste de révocation des certificats SSL (« %s ») : %s" -#: libpq/be-secure-openssl.c:370 +#: libpq/be-secure-openssl.c:378 #, c-format msgid "could not initialize SSL connection: %s" msgstr "n'a pas pu initialiser la connexion SSL : %s" -#: libpq/be-secure-openssl.c:378 +#: libpq/be-secure-openssl.c:386 #, c-format msgid "could not set SSL socket: %s" msgstr "n'a pas pu créer le socket SSL : %s" -#: libpq/be-secure-openssl.c:432 +#: libpq/be-secure-openssl.c:440 #, c-format msgid "could not accept SSL connection: %m" msgstr "n'a pas pu accepter la connexion SSL : %m" -#: libpq/be-secure-openssl.c:436 libpq/be-secure-openssl.c:447 +#: libpq/be-secure-openssl.c:444 libpq/be-secure-openssl.c:455 #, c-format msgid "could not accept SSL connection: EOF detected" msgstr "n'a pas pu accepter la connexion SSL : fin de fichier détecté" -#: libpq/be-secure-openssl.c:441 +#: libpq/be-secure-openssl.c:449 #, c-format msgid "could not accept SSL connection: %s" msgstr "n'a pas pu accepter la connexion SSL : %s" -#: libpq/be-secure-openssl.c:452 libpq/be-secure-openssl.c:595 libpq/be-secure-openssl.c:661 +#: libpq/be-secure-openssl.c:460 libpq/be-secure-openssl.c:603 libpq/be-secure-openssl.c:669 #, c-format msgid "unrecognized SSL error code: %d" msgstr "code d'erreur SSL inconnu : %d" -#: libpq/be-secure-openssl.c:496 +#: libpq/be-secure-openssl.c:504 #, c-format msgid "SSL certificate's common name contains embedded null" msgstr "le nom commun du certificat SSL contient des NULL" -#: libpq/be-secure-openssl.c:507 +#: libpq/be-secure-openssl.c:515 #, c-format msgid "SSL connection from \"%s\"" msgstr "connexion SSL de « %s »" -#: libpq/be-secure-openssl.c:584 libpq/be-secure-openssl.c:646 +#: libpq/be-secure-openssl.c:592 libpq/be-secure-openssl.c:654 #, c-format msgid "SSL error: %s" msgstr "erreur SSL : %s" -#: libpq/be-secure-openssl.c:1063 +#: libpq/be-secure-openssl.c:1071 #, c-format msgid "ECDH: unrecognized curve name: %s" msgstr "ECDH : nome de courbe non reconnu : %s" -#: libpq/be-secure-openssl.c:1068 +#: libpq/be-secure-openssl.c:1076 #, c-format msgid "ECDH: could not create key" msgstr "ECDH : n'a pas pu créer la clé" -#: libpq/be-secure-openssl.c:1092 +#: libpq/be-secure-openssl.c:1100 msgid "no SSL error reported" msgstr "aucune erreur SSL reportée" -#: libpq/be-secure-openssl.c:1096 +#: libpq/be-secure-openssl.c:1104 #, c-format msgid "SSL error code %lu" msgstr "erreur SSL %lu" @@ -11387,17 +11397,17 @@ msgid "User \"%s\" has no password assigned." msgstr "L'utilisateur « %s » n'a pas de mot de passe affecté." -#: libpq/crypt.c:79 +#: libpq/crypt.c:88 libpq/crypt.c:103 #, c-format msgid "User \"%s\" has an empty password." msgstr "L'utilisateur « %s » a un mot de passe vide." -#: libpq/crypt.c:159 +#: libpq/crypt.c:184 #, c-format msgid "User \"%s\" has an expired password." msgstr "L'utilisateur « %s » a un mot de passe expiré." -#: libpq/crypt.c:167 +#: libpq/crypt.c:192 #, c-format msgid "Password does not match for user \"%s\"." msgstr "Mot de passe ne correspond pas pour l'utilisateur %s : " @@ -13840,225 +13850,225 @@ msgid "invalid type name \"%s\"" msgstr "nom de type « %s » invalide" -#: parser/parse_utilcmd.c:384 +#: parser/parse_utilcmd.c:385 #, c-format msgid "array of serial is not implemented" msgstr "le tableau de type serial n'est pas implanté" -#: parser/parse_utilcmd.c:432 +#: parser/parse_utilcmd.c:433 #, c-format msgid "%s will create implicit sequence \"%s\" for serial column \"%s.%s\"" msgstr "%s créera des séquences implicites « %s » pour la colonne serial « %s.%s »" -#: parser/parse_utilcmd.c:526 parser/parse_utilcmd.c:538 +#: parser/parse_utilcmd.c:527 parser/parse_utilcmd.c:539 #, c-format msgid "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\"" msgstr "déclarations NULL/NOT NULL en conflit pour la colonne « %s » de la table « %s »" -#: parser/parse_utilcmd.c:550 +#: parser/parse_utilcmd.c:551 #, c-format msgid "multiple default values specified for column \"%s\" of table \"%s\"" msgstr "" "plusieurs valeurs par défaut sont spécifiées pour la colonne « %s » de la table\n" "« %s »" -#: parser/parse_utilcmd.c:567 parser/parse_utilcmd.c:658 +#: parser/parse_utilcmd.c:568 parser/parse_utilcmd.c:659 #, c-format msgid "primary key constraints are not supported on foreign tables" msgstr "les clés primaires ne sont pas supportées par les tables distantes" -#: parser/parse_utilcmd.c:576 parser/parse_utilcmd.c:668 +#: parser/parse_utilcmd.c:577 parser/parse_utilcmd.c:669 #, c-format msgid "unique constraints are not supported on foreign tables" msgstr "les contraintes uniques ne sont pas supportées par les tables distantes" -#: parser/parse_utilcmd.c:593 parser/parse_utilcmd.c:692 +#: parser/parse_utilcmd.c:594 parser/parse_utilcmd.c:693 #, c-format msgid "foreign key constraints are not supported on foreign tables" msgstr "les clés étrangères ne sont pas supportées par les tables distantes" -#: parser/parse_utilcmd.c:678 +#: parser/parse_utilcmd.c:679 #, c-format msgid "exclusion constraints are not supported on foreign tables" msgstr "les contraintes d'exclusion ne sont pas supportées par les tables distantes" -#: parser/parse_utilcmd.c:742 +#: parser/parse_utilcmd.c:743 #, c-format msgid "LIKE is not supported for creating foreign tables" msgstr "LIKE n'est pas supporté pour la création de tables distantes" -#: parser/parse_utilcmd.c:1275 parser/parse_utilcmd.c:1351 +#: parser/parse_utilcmd.c:1276 parser/parse_utilcmd.c:1352 #, c-format msgid "Index \"%s\" contains a whole-row table reference." msgstr "l'index « %s » contient une référence de table de ligne complète" -#: parser/parse_utilcmd.c:1621 +#: parser/parse_utilcmd.c:1622 #, c-format msgid "cannot use an existing index in CREATE TABLE" msgstr "ne peut pas utiliser un index existant dans CREATE TABLE" -#: parser/parse_utilcmd.c:1641 +#: parser/parse_utilcmd.c:1642 #, c-format msgid "index \"%s\" is already associated with a constraint" msgstr "l'index « %s » est déjà associé à une contrainte" -#: parser/parse_utilcmd.c:1649 +#: parser/parse_utilcmd.c:1650 #, c-format msgid "index \"%s\" does not belong to table \"%s\"" msgstr "l'index « %s » n'appartient pas à la table « %s »" -#: parser/parse_utilcmd.c:1656 +#: parser/parse_utilcmd.c:1657 #, c-format msgid "index \"%s\" is not valid" msgstr "l'index « %s » n'est pas valide" -#: parser/parse_utilcmd.c:1662 +#: parser/parse_utilcmd.c:1663 #, c-format msgid "\"%s\" is not a unique index" msgstr "« %s » n'est pas un index unique" -#: parser/parse_utilcmd.c:1663 parser/parse_utilcmd.c:1670 parser/parse_utilcmd.c:1677 parser/parse_utilcmd.c:1747 +#: parser/parse_utilcmd.c:1664 parser/parse_utilcmd.c:1671 parser/parse_utilcmd.c:1678 parser/parse_utilcmd.c:1748 #, c-format msgid "Cannot create a primary key or unique constraint using such an index." msgstr "Ne peut pas créer une clé primaire ou une contrainte unique avec cet index." -#: parser/parse_utilcmd.c:1669 +#: parser/parse_utilcmd.c:1670 #, c-format msgid "index \"%s\" contains expressions" msgstr "l'index « %s » contient des expressions" -#: parser/parse_utilcmd.c:1676 +#: parser/parse_utilcmd.c:1677 #, c-format msgid "\"%s\" is a partial index" msgstr "« %s » est un index partiel" -#: parser/parse_utilcmd.c:1688 +#: parser/parse_utilcmd.c:1689 #, c-format msgid "\"%s\" is a deferrable index" msgstr "« %s » est un index déferrable" -#: parser/parse_utilcmd.c:1689 +#: parser/parse_utilcmd.c:1690 #, c-format msgid "Cannot create a non-deferrable constraint using a deferrable index." msgstr "Ne peut pas créer une contrainte non-déferrable utilisant un index déferrable." -#: parser/parse_utilcmd.c:1746 +#: parser/parse_utilcmd.c:1747 #, c-format msgid "index \"%s\" does not have default sorting behavior" msgstr "l'index « %s » n'a pas de comportement de tri par défaut" -#: parser/parse_utilcmd.c:1893 +#: parser/parse_utilcmd.c:1894 #, c-format msgid "column \"%s\" appears twice in primary key constraint" msgstr "la colonne « %s » apparaît deux fois dans la contrainte de la clé primaire" -#: parser/parse_utilcmd.c:1899 +#: parser/parse_utilcmd.c:1900 #, c-format msgid "column \"%s\" appears twice in unique constraint" msgstr "la colonne « %s » apparaît deux fois sur une contrainte unique" -#: parser/parse_utilcmd.c:2103 +#: parser/parse_utilcmd.c:2104 #, c-format msgid "index expression cannot return a set" msgstr "l'expression de l'index ne peut pas renvoyer un ensemble" -#: parser/parse_utilcmd.c:2114 +#: parser/parse_utilcmd.c:2115 #, c-format msgid "index expressions and predicates can refer only to the table being indexed" msgstr "les expressions et prédicats d'index peuvent seulement faire référence à la table en cours d'indexage" -#: parser/parse_utilcmd.c:2160 +#: parser/parse_utilcmd.c:2161 #, c-format msgid "rules on materialized views are not supported" msgstr "les règles ne sont pas supportés sur les vues matérialisées" -#: parser/parse_utilcmd.c:2221 +#: parser/parse_utilcmd.c:2222 #, c-format msgid "rule WHERE condition cannot contain references to other relations" msgstr "" "la condition WHERE d'une règle ne devrait pas contenir de références à d'autres\n" "relations" -#: parser/parse_utilcmd.c:2293 +#: parser/parse_utilcmd.c:2294 #, c-format msgid "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE actions" msgstr "" "les règles avec des conditions WHERE ne peuvent contenir que des actions\n" "SELECT, INSERT, UPDATE ou DELETE " -#: parser/parse_utilcmd.c:2311 parser/parse_utilcmd.c:2410 rewrite/rewriteHandler.c:485 rewrite/rewriteManip.c:1015 +#: parser/parse_utilcmd.c:2312 parser/parse_utilcmd.c:2411 rewrite/rewriteHandler.c:485 rewrite/rewriteManip.c:1015 #, c-format msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented" msgstr "" "les instructions conditionnelles UNION/INTERSECT/EXCEPT ne sont pas\n" "implémentées" -#: parser/parse_utilcmd.c:2329 +#: parser/parse_utilcmd.c:2330 #, c-format msgid "ON SELECT rule cannot use OLD" msgstr "la règle ON SELECT ne peut pas utiliser OLD" -#: parser/parse_utilcmd.c:2333 +#: parser/parse_utilcmd.c:2334 #, c-format msgid "ON SELECT rule cannot use NEW" msgstr "la règle ON SELECT ne peut pas utiliser NEW" -#: parser/parse_utilcmd.c:2342 +#: parser/parse_utilcmd.c:2343 #, c-format msgid "ON INSERT rule cannot use OLD" msgstr "la règle ON INSERT ne peut pas utiliser OLD" -#: parser/parse_utilcmd.c:2348 +#: parser/parse_utilcmd.c:2349 #, c-format msgid "ON DELETE rule cannot use NEW" msgstr "la règle ON INSERT ne peut pas utiliser NEW" -#: parser/parse_utilcmd.c:2376 +#: parser/parse_utilcmd.c:2377 #, c-format msgid "cannot refer to OLD within WITH query" msgstr "ne peut référencer OLD dans une requête WITH" -#: parser/parse_utilcmd.c:2383 +#: parser/parse_utilcmd.c:2384 #, c-format msgid "cannot refer to NEW within WITH query" msgstr "ne peut référencer NEW dans une requête WITH" -#: parser/parse_utilcmd.c:2586 +#: parser/parse_utilcmd.c:2587 #, c-format msgid "transform expression must not return a set" msgstr "l'expression de transformation ne doit pas renvoyer un ensemble" -#: parser/parse_utilcmd.c:2700 +#: parser/parse_utilcmd.c:2701 #, c-format msgid "misplaced DEFERRABLE clause" msgstr "clause DEFERRABLE mal placée" -#: parser/parse_utilcmd.c:2705 parser/parse_utilcmd.c:2720 +#: parser/parse_utilcmd.c:2706 parser/parse_utilcmd.c:2721 #, c-format msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed" msgstr "clauses DEFERRABLE/NOT DEFERRABLE multiples non autorisées" -#: parser/parse_utilcmd.c:2715 +#: parser/parse_utilcmd.c:2716 #, c-format msgid "misplaced NOT DEFERRABLE clause" msgstr "clause NOT DEFERRABLE mal placée" -#: parser/parse_utilcmd.c:2736 +#: parser/parse_utilcmd.c:2737 #, c-format msgid "misplaced INITIALLY DEFERRED clause" msgstr "clause INITIALLY DEFERRED mal placée" -#: parser/parse_utilcmd.c:2741 parser/parse_utilcmd.c:2767 +#: parser/parse_utilcmd.c:2742 parser/parse_utilcmd.c:2768 #, c-format msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed" msgstr "clauses INITIALLY IMMEDIATE/DEFERRED multiples non autorisées" -#: parser/parse_utilcmd.c:2762 +#: parser/parse_utilcmd.c:2763 #, c-format msgid "misplaced INITIALLY IMMEDIATE clause" msgstr "clause INITIALLY IMMEDIATE mal placée" -#: parser/parse_utilcmd.c:2953 +#: parser/parse_utilcmd.c:2954 #, c-format msgid "CREATE specifies a schema (%s) different from the one being created (%s)" msgstr "CREATE spécifie un schéma (%s) différent de celui tout juste créé (%s)" @@ -14859,7 +14869,7 @@ msgid "the database system is in recovery mode" msgstr "le système de bases de données est en cours de restauration" -#: postmaster/postmaster.c:2215 storage/ipc/procarray.c:297 storage/ipc/sinvaladt.c:298 storage/lmgr/proc.c:340 +#: postmaster/postmaster.c:2215 storage/ipc/procarray.c:298 storage/ipc/sinvaladt.c:298 storage/lmgr/proc.c:340 #, c-format msgid "sorry, too many clients already" msgstr "désolé, trop de clients sont déjà connectés" @@ -16695,7 +16705,7 @@ msgid "poll() failed: %m" msgstr "échec de poll() : %m" -#: storage/ipc/shm_toc.c:108 storage/ipc/shm_toc.c:189 storage/ipc/shmem.c:212 storage/lmgr/lock.c:883 storage/lmgr/lock.c:917 storage/lmgr/lock.c:2682 storage/lmgr/lock.c:4007 storage/lmgr/lock.c:4072 storage/lmgr/lock.c:4364 storage/lmgr/predicate.c:2329 storage/lmgr/predicate.c:2344 storage/lmgr/predicate.c:3736 storage/lmgr/predicate.c:4879 storage/lmgr/proc.c:203 utils/hash/dynahash.c:1043 +#: storage/ipc/shm_toc.c:108 storage/ipc/shm_toc.c:189 storage/ipc/shmem.c:212 storage/lmgr/lock.c:883 storage/lmgr/lock.c:917 storage/lmgr/lock.c:2682 storage/lmgr/lock.c:4007 storage/lmgr/lock.c:4072 storage/lmgr/lock.c:4364 storage/lmgr/predicate.c:2344 storage/lmgr/predicate.c:2359 storage/lmgr/predicate.c:3751 storage/lmgr/predicate.c:4894 storage/lmgr/proc.c:203 utils/hash/dynahash.c:1042 #, c-format msgid "out of shared memory" msgstr "mémoire partagée épuisée" @@ -16889,87 +16899,87 @@ msgid "cannot PREPARE while holding both session-level and transaction-level locks on the same object" msgstr "ne peut pas utiliser PREPARE lorsque des verrous de niveau session et deniveau transaction sont détenus sur le même objet" -#: storage/lmgr/predicate.c:675 +#: storage/lmgr/predicate.c:677 #, c-format msgid "not enough elements in RWConflictPool to record a read/write conflict" msgstr "pas assez d'éléments dans RWConflictPool pour enregistrer un conflit en lecture/écriture" -#: storage/lmgr/predicate.c:676 storage/lmgr/predicate.c:704 +#: storage/lmgr/predicate.c:678 storage/lmgr/predicate.c:706 #, c-format msgid "You might need to run fewer transactions at a time or increase max_connections." msgstr "" "Il est possible que vous ayez à exécuter moins de transactions à la fois\n" "ou d'augmenter max_connections." -#: storage/lmgr/predicate.c:703 +#: storage/lmgr/predicate.c:705 #, c-format msgid "not enough elements in RWConflictPool to record a potential read/write conflict" msgstr "pas assez d'éléments dans RWConflictPool pour enregistrer un conflit en lecture/écriture potentiel" -#: storage/lmgr/predicate.c:909 +#: storage/lmgr/predicate.c:912 #, c-format msgid "memory for serializable conflict tracking is nearly exhausted" msgstr "la mémoire pour tracer les conflits sérialisables est pratiquement pleine" -#: storage/lmgr/predicate.c:910 +#: storage/lmgr/predicate.c:913 #, c-format msgid "There might be an idle transaction or a forgotten prepared transaction causing this." msgstr "" "Il pourait y avoir une transaction en attente ou une transaction préparée\n" "oubliée causant cela." -#: storage/lmgr/predicate.c:1190 storage/lmgr/predicate.c:1261 +#: storage/lmgr/predicate.c:1207 storage/lmgr/predicate.c:1279 #, c-format msgid "not enough shared memory for elements of data structure \"%s\" (%zu bytes requested)" msgstr "" "pas assez de mémoire partagée pour les éléments de la structure de données\n" "« %s » (%zu octets demandés)" -#: storage/lmgr/predicate.c:1549 +#: storage/lmgr/predicate.c:1564 #, c-format msgid "deferrable snapshot was unsafe; trying a new one" msgstr "l'image déferrable est non sûre ; tentative avec une nouvelle image" -#: storage/lmgr/predicate.c:1588 +#: storage/lmgr/predicate.c:1603 #, c-format msgid "\"default_transaction_isolation\" is set to \"serializable\"." msgstr "« default_transaction_isolation » est configuré à « serializable »." -#: storage/lmgr/predicate.c:1589 +#: storage/lmgr/predicate.c:1604 #, c-format msgid "You can use \"SET default_transaction_isolation = 'repeatable read'\" to change the default." msgstr "" "Vous pouvez utiliser « SET default_transaction_isolation = 'repeatable read' »\n" "pour modifier la valeur par défaut." -#: storage/lmgr/predicate.c:1628 +#: storage/lmgr/predicate.c:1643 #, c-format msgid "a snapshot-importing transaction must not be READ ONLY DEFERRABLE" msgstr "une transaction important un snapshot ne doit pas être READ ONLY DEFERRABLE" -#: storage/lmgr/predicate.c:1706 utils/time/snapmgr.c:617 utils/time/snapmgr.c:623 +#: storage/lmgr/predicate.c:1721 utils/time/snapmgr.c:617 utils/time/snapmgr.c:623 #, c-format msgid "could not import the requested snapshot" msgstr "n'a pas pu importer le snapshot demandé" -#: storage/lmgr/predicate.c:1707 utils/time/snapmgr.c:624 +#: storage/lmgr/predicate.c:1722 utils/time/snapmgr.c:624 #, c-format msgid "The source transaction %u is not running anymore." msgstr "La transaction source %u n'est plus en cours d'exécution." -#: storage/lmgr/predicate.c:2330 storage/lmgr/predicate.c:2345 storage/lmgr/predicate.c:3737 +#: storage/lmgr/predicate.c:2345 storage/lmgr/predicate.c:2360 storage/lmgr/predicate.c:3752 #, c-format msgid "You might need to increase max_pred_locks_per_transaction." msgstr "Vous pourriez avoir besoin d'augmenter max_pred_locks_per_transaction." -#: storage/lmgr/predicate.c:3891 storage/lmgr/predicate.c:3980 storage/lmgr/predicate.c:3988 storage/lmgr/predicate.c:4027 storage/lmgr/predicate.c:4266 storage/lmgr/predicate.c:4603 storage/lmgr/predicate.c:4615 storage/lmgr/predicate.c:4657 storage/lmgr/predicate.c:4695 +#: storage/lmgr/predicate.c:3906 storage/lmgr/predicate.c:3995 storage/lmgr/predicate.c:4003 storage/lmgr/predicate.c:4042 storage/lmgr/predicate.c:4281 storage/lmgr/predicate.c:4618 storage/lmgr/predicate.c:4630 storage/lmgr/predicate.c:4672 storage/lmgr/predicate.c:4710 #, c-format msgid "could not serialize access due to read/write dependencies among transactions" msgstr "" "n'a pas pu sérialiser un accès à cause des dépendances de lecture/écriture\n" "parmi les transactions" -#: storage/lmgr/predicate.c:3893 storage/lmgr/predicate.c:3982 storage/lmgr/predicate.c:3990 storage/lmgr/predicate.c:4029 storage/lmgr/predicate.c:4268 storage/lmgr/predicate.c:4605 storage/lmgr/predicate.c:4617 storage/lmgr/predicate.c:4659 storage/lmgr/predicate.c:4697 +#: storage/lmgr/predicate.c:3908 storage/lmgr/predicate.c:3997 storage/lmgr/predicate.c:4005 storage/lmgr/predicate.c:4044 storage/lmgr/predicate.c:4283 storage/lmgr/predicate.c:4620 storage/lmgr/predicate.c:4632 storage/lmgr/predicate.c:4674 storage/lmgr/predicate.c:4712 #, c-format msgid "The transaction might succeed if retried." msgstr "La transaction pourrait réussir après une nouvelle tentative." @@ -19847,7 +19857,7 @@ msgid "more than one operator named %s" msgstr "il existe plus d'un opérateur nommé%s" -#: utils/adt/regproc.c:780 utils/adt/regproc.c:821 utils/adt/regproc.c:2007 utils/adt/ruleutils.c:8438 utils/adt/ruleutils.c:8607 +#: utils/adt/regproc.c:780 utils/adt/regproc.c:821 utils/adt/regproc.c:2007 utils/adt/ruleutils.c:8453 utils/adt/ruleutils.c:8622 #, c-format msgid "too many arguments" msgstr "trop d'arguments" @@ -20019,7 +20029,7 @@ "ne peut pas comparer les types d'enregistrement avec des numéros différents\n" "des colonnes" -#: utils/adt/ruleutils.c:4292 +#: utils/adt/ruleutils.c:4297 #, c-format msgid "rule \"%s\" has unsupported event type %d" msgstr "la règle « %s » a un type d'événement %d non supporté" @@ -23501,1918 +23511,1915 @@ msgid "cannot import a snapshot from a different database" msgstr "ne peut pas importer un snapshot à partir d'une base de données différente" -#~ msgid "index row size %lu exceeds maximum %lu for index \"%s\"" -#~ msgstr "la taille de la ligne index, %lu, dépasse le maximum, %lu, pour l'index « %s »" +#~ msgid "wrong range of array subscripts" +#~ msgstr "mauvais échelle des indices du tableau" -#~ msgid "brin operator family \"%s\" contains function %s with invalid support number %d" -#~ msgstr "" -#~ "la famille d'opérateur brin « %s » contient la fonction %s\n" -#~ "avec le numéro de support %d invalide" +#~ msgid "Lower bound of dimension array must be one." +#~ msgstr "La limite inférieure du tableau doit valoir un." -#~ msgid "brin operator family \"%s\" contains function %s with wrong signature for support number %d" -#~ msgstr "" -#~ "la famille d'opérateur brin « %s » contient la fonction %s\n" -#~ "avec une mauvaise signature pour le numéro de support %d" +#~ msgid "huge TLB pages not supported on this platform" +#~ msgstr "Huge Pages TLB non supporté sur cette plateforme." -#~ msgid "brin operator family \"%s\" contains operator %s with invalid strategy number %d" +#~ msgid "Only superusers can use untrusted languages." #~ msgstr "" -#~ "la famille d'opérateur brin « %s » contient l'opérateur %s\n" -#~ "avec le numéro de stratégie %d invalide" +#~ "Seuls les super-utilisateurs peuvent utiliser des langages qui ne sont pas\n" +#~ "de confiance." -#~ msgid "brin operator family \"%s\" contains invalid ORDER BY specification for operator %s" +#~ msgid "function returning set of rows cannot return null value" #~ msgstr "" -#~ "la famille d'opérateur brin « %s » contient une spécification\n" -#~ "ORDER BY invalide pour l'opérateur %s" +#~ "la fonction renvoyant un ensemble de lignes ne peut pas renvoyer une valeur\n" +#~ "NULL" -#~ msgid "brin operator family \"%s\" contains operator %s with wrong signature" -#~ msgstr "la famille d'opérateur brin « %s » contient l'opérateur %s avec une mauvaise signature" +#~ msgid "system columns cannot be used in an ON CONFLICT clause" +#~ msgstr "les colonnes systèmes ne peuvent pas être utilisées dans une clause ON CONFLICT" -#~ msgid "brin operator class \"%s\" is missing support function %d" -#~ msgstr "la classe d'opérateur brin « %s » nécessite la fonction de support %d" +#~ msgid "role \"%s\" is reserved" +#~ msgstr "le rôle « %s » est réservé" -#~ msgid "gist operator family \"%s\" contains support procedure %s with cross-type registration" -#~ msgstr "" -#~ "la famille d'opérateur gist « %s » contient la procédure de support\n" -#~ "%s avec un enregistrement inter-type" +#~ msgid "time zone abbreviation \"%s\" is not used in time zone \"%s\"" +#~ msgstr "l'abréviation « %s » du fuseau horaire n'est pas utilisée dans le fuseau horaire « %s »" -#~ msgid "gist operator family \"%s\" contains function %s with invalid support number %d" -#~ msgstr "" -#~ "la famille d'opérateur gist « %s » contient la fonction %s avec\n" -#~ "le numéro de support invalide %d" +#~ msgid "invalid length in external \"numeric\" value" +#~ msgstr "longueur invalide dans la valeur externe « numeric »" -#~ msgid "gist operator family \"%s\" contains function %s with wrong signature for support number %d" -#~ msgstr "" -#~ "la famille d'opérateur gist « %s » contient la fonction %s avec une mauvaise\n" -#~ "signature pour le numéro de support %d" +#~ msgid "too few arguments for format" +#~ msgstr "trop peu d'arguments pour le format" -#~ msgid "gist operator family \"%s\" contains operator %s with invalid strategy number %d" -#~ msgstr "" -#~ "la famille d'opérateur gist « %s » contient l'opérateur %s avec le numéro\n" -#~ "de stratégie invalide %d" +#~ msgid "mapped win32 error code %lu to %d" +#~ msgstr "correspondance du code d'erreur win32 %lu en %d" -#~ msgid "gist operator family \"%s\" contains operator %s with wrong signature" -#~ msgstr "la famille d'opérateur gist « %s » contient l'opérateur %s avec une mauvaise signature" +#~ msgid "unrecognized win32 error code: %lu" +#~ msgstr "code d'erreur win32 non reconnu : %lu" -#~ msgid "gist operator class \"%s\" is missing support function %d" -#~ msgstr "la famille d'opérateur gist « %s » nécessite la fonction de support %d" +#~ msgid "invalid value for recovery parameter \"recovery_target\"" +#~ msgstr "valeur invalide pour le paramètre de restauration « recovery_target »" -#~ msgid "hash operator family \"%s\" contains support procedure %s with cross-type registration" -#~ msgstr "" -#~ "la famille d'opérateur hash « %s » contient la procédure de support\n" -#~ "%s avec un enregistrement inter-type" +#~ msgid "redo record is at %X/%X; shutdown %s" +#~ msgstr "l'enregistrement à ré-exécuter se trouve à %X/%X ; arrêt %s" -#~ msgid "hash operator family \"%s\" contains function %s with wrong signature for support number %d" -#~ msgstr "" -#~ "la famille d'opérateur hash « %s » contient la fonction %s avec une mauvaise\n" -#~ "signature pour le numéro de support %d" +#~ msgid "next transaction ID: %u/%u; next OID: %u" +#~ msgstr "prochain identifiant de transaction : %u/%u ; prochain OID : %u" -#~ msgid "hash operator family \"%s\" contains function %s with invalid support number %d" -#~ msgstr "" -#~ "la famille d'opérateur hash « %s » contient la fonction %s avec\n" -#~ "le numéro de support invalide %d" +#~ msgid "next MultiXactId: %u; next MultiXactOffset: %u" +#~ msgstr "prochain MultiXactId : %u ; prochain MultiXactOffset : %u" -#~ msgid "hash operator family \"%s\" contains operator %s with invalid strategy number %d" +#~ msgid "oldest unfrozen transaction ID: %u, in database %u" #~ msgstr "" -#~ "la famille d'opérateur hash « %s » contient l'opérateur %s avec le numéro\n" -#~ "de stratégie invalide %d" +#~ "identifiant de transaction non gelé le plus ancien : %u, dans la base de\n" +#~ "données %u" -#~ msgid "hash operator family \"%s\" contains invalid ORDER BY specification for operator %s" -#~ msgstr "" -#~ "la famille d'opérateur hash « %s » contient la spécification ORDER BY\n" -#~ "non supportée pour l'opérateur %s" +#~ msgid "invalid xlog switch record at %X/%X" +#~ msgstr "enregistrement de basculement du journal de transaction invalide à %X/%X" -#~ msgid "hash operator family \"%s\" contains operator %s with wrong signature" -#~ msgstr "la famille d'opérateur hash « %s » contient l'opérateur %s avec une mauvaise signature" +#~ msgid "record with zero length at %X/%X" +#~ msgstr "enregistrement de longueur nulle à %X/%X" -#~ msgid "hash operator family \"%s\" is missing operator(s) for types %s and %s" -#~ msgstr "" -#~ "la famille d'opérateur hash « %s » nécessite des opérateurs supplémentaires\n" -#~ "pour les types %s et %s" +#~ msgid "invalid backup block size in record at %X/%X" +#~ msgstr "taille du bloc de sauvegarde invalide dans l'enregistrement à %X/%X" -#~ msgid "hash operator class \"%s\" is missing operator(s)" -#~ msgstr "il manque des opérateurs pour la classe d'opérateur hash « %s »" +#~ msgid "incorrect hole size in record at %X/%X" +#~ msgstr "taille du trou incorrect à l'enregistrement %X/%X" -#~ msgid "btree operator family \"%s\" contains function %s with invalid support number %d" -#~ msgstr "" -#~ "la famille d'opérateur btree « %s » contient la fonction %s\n" -#~ "avec le numéro de support invalide %d" +#~ msgid "incorrect total length in record at %X/%X" +#~ msgstr "longueur totale incorrecte à l'enregistrement %X/%X" -#~ msgid "btree operator family \"%s\" contains function %s with wrong signature for support number %d" +#~ msgid "WAL file is from different database system: WAL file database system identifier is %s, pg_control database system identifier is %s." #~ msgstr "" -#~ "la famille d'opérateur btree « %s » contient la fonction %s\n" -#~ "avec une mauvaise signature pour le numéro de support %d" +#~ "L'identifiant du journal de transactions du système de base de données est %s,\n" +#~ "l'identifiant pg_control du système de base de données dans pg_control est %s." -#~ msgid "btree operator family \"%s\" contains operator %s with invalid strategy number %d" +#~ msgid "WAL file is from different database system: Incorrect XLOG_SEG_SIZE in page header." #~ msgstr "" -#~ "la famille d'opérateur btree « %s » contient l'opérateur %s\n" -#~ "avec le numéro de stratégie invalide %d" +#~ "le journal de transactions provient d'un système de bases de données différent :\n" +#~ "XLOG_SEG_SIZE incorrect dans l'en-tête de page." -#~ msgid "btree operator family \"%s\" contains invalid ORDER BY specification for operator %s" +#~ msgid "WAL file is from different database system: Incorrect XLOG_BLCKSZ in page header." #~ msgstr "" -#~ "la famille d'opérateur btree « %s » contient une spécification\n" -#~ "ORDER BY invalide pour l'opérateur %s" +#~ "le journal de transactions provient d'un système de bases de données différent :\n" +#~ "XLOG_BLCKSZ incorrect dans l'en-tête de page." -#~ msgid "btree operator family \"%s\" contains operator %s with wrong signature" -#~ msgstr "la famille d'opérateur btree « %s » contient l'opérateur %s avec une mauvaise signature" +#~ msgid "=> is deprecated as an operator name" +#~ msgstr "=> est un nom d'opérateur obsolète" -#~ msgid "btree operator family \"%s\" is missing operator(s) for types %s and %s" -#~ msgstr "" -#~ "la famille d'opérateur btree « %s » nécessite des opérateurs supplémentaires\n" -#~ "pour les types %s et %s" +#~ msgid "This name may be disallowed altogether in future versions of PostgreSQL." +#~ msgstr "Ce nom pourrait être interdit dans les prochaines versions de PostgreSQL." -#~ msgid "btree operator class \"%s\" is missing operator(s)" -#~ msgstr "il manque des opérateurs pour la classe d'opérateur btree « %s »" +#~ msgid "inherited relation \"%s\" is not a table" +#~ msgstr "la relation héritée « %s » n'est pas une table" -#~ msgid "btree operator family \"%s\" is missing cross-type operator(s)" -#~ msgstr "il manque des opérateurs inter-type pour la famille d'opérateur btree « %s »" +#~ msgid "\"%s\" is not a table, materialized view, composite type, or foreign table" +#~ msgstr "« %s » n'est ni une table, ni une vue matérialisée, ni un type composite, ni une table distante" -#~ msgid "spgist operator family \"%s\" contains support procedure %s with cross-type registration" -#~ msgstr "" -#~ "la famille d'opérateur spgist « %s » contient la procédure de support\n" -#~ "%s avec un enregistrement inter-type" +#~ msgid "Specify a USING expression to perform the conversion." +#~ msgstr "Donnez une expression USING pour réaliser la conversion." -#~ msgid "spgist operator family \"%s\" contains function %s with invalid support number %d" +#~ msgid "" +#~ "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n" +#~ "pages: %d removed, %d remain\n" +#~ "tuples: %.0f removed, %.0f remain, %.0f are dead but not yet removable\n" +#~ "buffer usage: %d hits, %d misses, %d dirtied\n" +#~ "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n" +#~ "system usage: %s" #~ msgstr "" -#~ "la famille d'opérateur spgist « %s » contient la fonction %s\n" -#~ "avec le numéro de support %d invalide" +#~ "VACUUM automatique de la table « %s.%s.%s » : parcours d'index : %d\n" +#~ "pages : %d supprimées, %d restantes\n" +#~ "lignes : %.0f supprimées, %.0f restantes, %.0f sont mortes mais non supprimables\n" +#~ "utilisation des tampons : %d lus dans le cache, %d lus hors du cache, %d modifiés\n" +#~ "taux moyen de lecture : %.3f Mo/s, taux moyen d'écriture : %.3f Mo/s\n" +#~ "utilisation système : %s" -#~ msgid "spgist operator family \"%s\" contains function %s with wrong signature for support number %d" +#~ msgid "" +#~ "%.0f dead row versions cannot be removed yet.\n" +#~ "There were %.0f unused item pointers.\n" +#~ "%u pages are entirely empty.\n" +#~ "%s." #~ msgstr "" -#~ "la famille d'opérateur spgist « %s » contient la fonction %s\n" -#~ "avec une mauvaise signature pour le numéro de support %d" +#~ "%.0f versions de lignes mortes ne peuvent pas encore être supprimées.\n" +#~ "Il y avait %.0f pointeurs d'éléments inutilisés.\n" +#~ "%u pages sont entièrement vides.\n" +#~ "%s." -#~ msgid "spgist operator family \"%s\" contains operator %s with invalid strategy number %d" -#~ msgstr "" -#~ "la famille d'opérateur spgist « %s » contient l'opérateur %s\n" -#~ "avec le numéro de stratégie invalide %d" +#~ msgid "interval precision specified twice" +#~ msgstr "précision d'intervalle spécifiée deux fois" -#~ msgid "spgist operator family \"%s\" contains invalid ORDER BY specification for operator %s" -#~ msgstr "" -#~ "la famille d'opérateur spgist « %s » contient une spécification\n" -#~ "ORDER BY invalide pour l'opérateur %s" +#~ msgid "received password packet" +#~ msgstr "paquet du mot de passe reçu" -#~ msgid "spgist operator family \"%s\" contains operator %s with wrong signature" -#~ msgstr "la famille d'opérateur spgist « %s » contient l'opérateur %s avec une mauvaise signature" +#~ msgid "SSL failure during renegotiation start" +#~ msgstr "échec SSL au début de la re-négotiation" -#~ msgid "spgist operator family \"%s\" is missing operator(s) for types %s and %s" -#~ msgstr "" -#~ "la famille d'opérateur spgist « %s » nécessite des opérateurs supplémentaires\n" -#~ "pour les types %s et %s" +#~ msgid "SSL handshake failure on renegotiation, retrying" +#~ msgstr "échec du handshake SSL lors de la renégotiation, nouvelle tentative" -#~ msgid "spgist operator class \"%s\" is missing operator(s)" -#~ msgstr "il manque des opérateurs pour la classe d'opérateur spgist « %s »" +#~ msgid "could not complete SSL handshake on renegotiation, too many failures" +#~ msgstr "n'a pas pu terminer la poignée de main de renégotiation, trop d'échecs" -#~ msgid "%s." -#~ msgstr "%s." +#~ msgid "SSL failed to renegotiate connection before limit expired" +#~ msgstr "SSL a échoué à renégotier la connexion avant l'expiration du délai" -#~ msgid "cannot create temporary tables in parallel mode" -#~ msgstr "ne peut pas créer des tables temporaires dans le mode de parallélisation" +#~ msgid "could not set socket to blocking mode: %m" +#~ msgstr "n'a pas pu activer le mode bloquant pour la socket : %m" -#~ msgid "Transaction ID %u finished; no more running transactions." -#~ msgstr "Identifiant de transaction %u terminé ; plus de transactions en cours." +#~ msgid "%s: setsysinfo failed: %s\n" +#~ msgstr "%s : setsysinfo a échoué : %s\n" -#~ msgid "%u transaction needs to finish." -#~ msgid_plural "%u transactions need to finish." -#~ msgstr[0] "La transaction %u doit se terminer." -#~ msgstr[1] "Les transactions %u doivent se terminer." +#~ msgid " -A 1|0 enable/disable run-time assert checking\n" +#~ msgstr "" +#~ " -A 1|0 active/désactive la vérification des limites (assert) à\n" +#~ " l'exécution\n" -#~ msgid "could not determine data type for argument 1" -#~ msgstr "n'a pas pu déterminer le type de données pour l'argument 1" - -#~ msgid "could not determine data type for argument 2" -#~ msgstr "n'a pas pu déterminer le type de données pour l'argument 2" +#~ msgid "subquery must return a column" +#~ msgstr "la sous-requête doit renvoyer une colonne" -#~ msgid "argument %d: could not determine data type" -#~ msgstr "argument %d : n'a pas pu déterminer le type de données" +#~ msgid "Consider increasing the configuration parameter \"checkpoint_segments\"." +#~ msgstr "Considèrez l'augmentation du paramètre « checkpoint_segments »." -#~ msgid "could not create two-phase state file \"%s\": %m" +#~ msgid "WAL archival (archive_mode=on) requires wal_level \"archive\", \"hot_standby\", or \"logical\"" #~ msgstr "" -#~ "n'a pas pu créer le fichier de statut de la validation en deux phases nommé\n" -#~ "« %s » : %m" +#~ "l'archivage des journaux de transactions (archive_mode=on) nécessite que\n" +#~ "le paramètre wal_level soit initialisé avec « archive », « hot_standby » ou « logical »" -#~ msgid "could not seek in two-phase state file: %m" -#~ msgstr "" -#~ "n'a pas pu se déplacer dans le fichier de statut de la validation en deux\n" -#~ "phases : %m" +#~ msgid "invalid value for parameter \"replication\"" +#~ msgstr "valeur invalide pour le paramètre « replication »" -#~ msgid "two-phase state file for transaction %u is corrupt" -#~ msgstr "" -#~ "le fichier d'état de la validation en deux phases est corrompu pour la\n" -#~ "transaction %u" +#~ msgid "postmaster became multithreaded" +#~ msgstr "le postmaster est devenu multithreadé" -#~ msgid "could not fsync two-phase state file \"%s\": %m" -#~ msgstr "" -#~ "n'a pas pu synchroniser sur disque (fsync) le fichier d'état de la\n" -#~ "validation en deux phases nommé « %s » : %m" +#~ msgid "archive member \"%s\" too large for tar format" +#~ msgstr "membre « %s » de l'archive trop volumineux pour le format tar" -#~ msgid "could not close two-phase state file \"%s\": %m" -#~ msgstr "" -#~ "n'a pas pu fermer le fichier d'état de la validation en deux phases nommé\n" -#~ "« %s » : %m" +#~ msgid "could not determine input data types" +#~ msgstr "n'a pas pu déterminer les types de données en entrée" -#~ msgid "could not link file \"%s\" to \"%s\" (initialization of log file): %m" -#~ msgstr "n'a pas pu lier le fichier « %s » à « %s » (initialisation du journal de transactions) : %m" +#~ msgid "neither input type is an array" +#~ msgstr "aucun type de données n'est un tableau" -#~ msgid "could not rename file \"%s\" to \"%s\" (initialization of log file): %m" -#~ msgstr "n'a pas pu renommer le fichier « %s » en « %s » (initialisation du journal de transactions) : %m" +#~ msgid "unexpected \"=\"" +#~ msgstr "« = » inattendu" -#~ msgid "ignoring \"%s\" file because no \"%s\" file exists" -#~ msgstr "ignore le fichier « %s » parce que le fichier « %s » n'existe pas" +#~ msgid "invalid symbol" +#~ msgstr "symbole invalide" -#~ msgid "must be superuser or replication role to run a backup" -#~ msgstr "doit être super-utilisateur ou avoir l'attribut de réplication pour exécuter une sauvegarde" +#~ msgid "must be superuser or have the same role to cancel queries running in other server processes" +#~ msgstr "" +#~ "doit être super-utilisateur ou avoir le même rôle pour annuler des requêtes\n" +#~ "exécutées dans les autres processus serveur" -#~ msgid "must be superuser to switch transaction log files" -#~ msgstr "doit être super-utilisateur pour changer de journal de transactions" +#~ msgid "must be superuser or have the same role to terminate other server processes" +#~ msgstr "" +#~ "doit être super-utilisateur ou avoir le même rôle pour fermer les connexions\n" +#~ "exécutées dans les autres processus serveur" -#~ msgid "must be superuser to create a restore point" -#~ msgstr "doit être super-utilisateur pour créer un point de restauration" +#~ msgid "cannot accept a value of type pg_node_tree" +#~ msgstr "ne peut pas accepter une valeur de type pg_node_tree" -#~ msgid "must be superuser to control recovery" -#~ msgstr "doit être super-utilisateur pour contrôler la restauration" +#~ msgid "Turns on various assertion checks." +#~ msgstr "Active les différentes vérifications des assertions." -#~ msgid "invalid record length at %X/%X" -#~ msgstr "longueur invalide de l'enregistrement à %X/%X" +#~ msgid "This is a debugging aid." +#~ msgstr "C'est une aide de débogage." -#~ msgid "%s is already in schema \"%s\"" -#~ msgstr "%s existe déjà dans le schéma « %s »" +#~ msgid "This parameter doesn't do anything." +#~ msgstr "Ce paramètre ne fait rien." -#~ msgid "function \"%s\" must return type \"event_trigger\"" -#~ msgstr "la fonction « %s » doit renvoyer le type « event_trigger »" +#~ msgid "It's just here so that we won't choke on SET AUTOCOMMIT TO ON from 7.3-vintage clients." +#~ msgstr "" +#~ "C'est ici uniquement pour ne pas avoir de problèmes avec le SET AUTOCOMMIT\n" +#~ "TO ON des clients 7.3." -#~ msgid "function %s must return type \"fdw_handler\"" -#~ msgstr "la fonction %s doit renvoyer le type « fdw_handler »" +#~ msgid "Sets the maximum distance in log segments between automatic WAL checkpoints." +#~ msgstr "" +#~ "Initialise la distance maximale dans les journaux de transaction entre chaque\n" +#~ "point de vérification (checkpoints) des journaux." -#~ msgid "could not reposition held cursor" -#~ msgstr "n'a pas pu repositionner le curseur détenu" +#~ msgid "Set the amount of traffic to send and receive before renegotiating the encryption keys." +#~ msgstr "" +#~ "Configure la quantité de trafic à envoyer et recevoir avant la renégotiation\n" +#~ "des clés d'enchiffrement." -#~ msgid "function %s must return type \"language_handler\"" -#~ msgstr "la fonction %s doit renvoyer le type « language_handler »" +#~ msgid "SET AUTOCOMMIT TO OFF is no longer supported" +#~ msgstr "SET AUTOCOMMIT TO OFF n'est plus supporté" -#~ msgid "function %s must return type \"trigger\"" -#~ msgstr "la fonction %s doit renvoyer le type « trigger »" +#~ msgid "assertion checking is not supported by this build" +#~ msgstr "la vérification de l'assertion n'a pas été intégrée lors de la compilation" -#~ msgid "changing return type of function %s from \"opaque\" to \"cstring\"" -#~ msgstr "changement du type de retour de la fonction %s d'« opaque » vers « cstring »" +#~ msgid "%s \"%s\": return code %d" +#~ msgstr "%s « %s » : code de retour %d" -#~ msgid "type output function %s must return type \"cstring\"" -#~ msgstr "le type de sortie de la fonction %s doit être « cstring »" +#~ msgid "could not parse transaction log location \"%s\"" +#~ msgstr "n'a pas pu analyser l'emplacement du journal des transactions « %s »" -#~ msgid "type send function %s must return type \"bytea\"" -#~ msgstr "la fonction send du type %s doit renvoyer le type « bytea »" +#~ msgid "invalid input syntax for transaction log location: \"%s\"" +#~ msgstr "syntaxe invalide en entrée pour l'emplacement du journal de transactions : « %s »" -#~ msgid "typmod_in function %s must return type \"integer\"" -#~ msgstr "la fonction typmod_in %s doit renvoyer le type « entier »" +#~ msgid "trigger \"%s\" for table \"%s\" does not exist, skipping" +#~ msgstr "le trigger « %s » pour la table « %s » n'existe pas, poursuite du traitement" -#~ msgid "Permissions should be u=rw (0600) or less." -#~ msgstr "Les droits devraient être u=rwx (0600) ou inférieures." +#~ msgid "Kerberos 5 authentication failed for user \"%s\"" +#~ msgstr "authentification Kerberos 5 échouée pour l'utilisateur « %s »" -#~ msgid "function %s must return type \"tsm_handler\"" -#~ msgstr "la fonction %s doit renvoyer le type « tsm_handler »" +#~ msgid "Kerberos initialization returned error %d" +#~ msgstr "l'initialisation de Kerberos a retourné l'erreur %d" -#~ msgid "must be superuser to reset statistics counters" -#~ msgstr "doit être super-utilisateur pour réinitialiser les compteurs statistiques" +#~ msgid "Kerberos keytab resolving returned error %d" +#~ msgstr "la résolution keytab de Kerberos a renvoyé l'erreur %d" -#~ msgid "socket not open" -#~ msgstr "socket non ouvert" +#~ msgid "Kerberos sname_to_principal(\"%s\", \"%s\") returned error %d" +#~ msgstr "sname_to_principal(« %s », « %s ») de Kerberos a renvoyé l'erreur %d" -#~ msgid "multibyte flag character is not allowed" -#~ msgstr "un caractère drapeau multi-octet n'est pas autorisé" +#~ msgid "Kerberos recvauth returned error %d" +#~ msgstr "recvauth de Kerberos a renvoyé l'erreur %d" -#~ msgid "could not format \"path\" value" -#~ msgstr "n'a pas pu formater la valeur « path »" +#~ msgid "Kerberos unparse_name returned error %d" +#~ msgstr "unparse_name de Kerberos a renvoyé l'erreur %d" -#~ msgid "invalid input syntax for type box: \"%s\"" -#~ msgstr "syntaxe en entrée invalide pour le type box : « %s »" +#~ msgid "local user with ID %d does not exist" +#~ msgstr "l'utilisateur local dont l'identifiant est %d n'existe pas" -#~ msgid "invalid input syntax for type line: \"%s\"" -#~ msgstr "syntaxe en entrée invalide pour le type line: « %s »" +#~ msgid "SSL renegotiation failure" +#~ msgstr "échec lors de la re-négotiation SSL" -#~ msgid "invalid input syntax for type path: \"%s\"" -#~ msgstr "syntaxe en entrée invalide pour le type path : « %s »" +#~ msgid "krb5 authentication is not supported on local sockets" +#~ msgstr "" +#~ "l'authentification krb5 n'est pas supportée sur les connexions locales par\n" +#~ "socket" -#~ msgid "invalid input syntax for type point: \"%s\"" -#~ msgstr "syntaxe en entrée invalide pour le type point : « %s »" +#~ msgid "%s: invalid effective UID: %d\n" +#~ msgstr "%s : UID effectif invalide : %d\n" -#~ msgid "invalid input syntax for type lseg: \"%s\"" -#~ msgstr "syntaxe en entrée invalide pour le type lseg : « %s »" +#~ msgid "%s: could not determine user name (GetUserName failed)\n" +#~ msgstr "%s : n'a pas pu déterminer le nom de l'utilisateur (GetUserName a échoué)\n" -#~ msgid "invalid input syntax for type polygon: \"%s\"" -#~ msgstr "syntaxe en entrée invalide pour le type polygon : « %s »" +#~ msgid "too many column aliases specified for function %s" +#~ msgstr "trop d'alias de colonnes spécifiées pour la fonction %s" -#~ msgid "invalid input syntax for type circle: \"%s\"" -#~ msgstr "syntaxe en entrée invalide pour le type circle : « %s »" +#~ msgid "Expected 1 tuple with 3 fields, got %d tuples with %d fields." +#~ msgstr "Attendait 1 ligne avec 3 champs, a obtenu %d lignes avec %d champs." -#~ msgid "could not format \"circle\" value" -#~ msgstr "n'a pas pu formater la valeur « circle »" +#~ msgid "Security-barrier views are not automatically updatable." +#~ msgstr "Les vues avec barrière de sécurité ne sont pas automatiquement disponibles en écriture." -#~ msgid "must be superuser to signal the postmaster" -#~ msgstr "doit être super-utilisateur pour envoyer un signal au postmaster" +#~ msgid "Views that return the same column more than once are not automatically updatable." +#~ msgstr "Les vues qui renvoient la même colonne plus d'une fois ne sont pas automatiquement disponibles en écriture." -#~ msgid "must be superuser to rotate log files" -#~ msgstr "doit être super-utilisateur pour exécuter la rotation des journaux applicatifs" +#~ msgid "wrong affix file format for flag" +#~ msgstr "mauvais format de fichier affixe pour le drapeau" -#~ msgid "argument for function \"exp\" too big" -#~ msgstr "l'argument de la fonction « exp » est trop gros" +#~ msgid "missing assignment operator" +#~ msgstr "opérateur d'affectation manquant" -#~ msgid "could not convert to time zone \"%s\"" -#~ msgstr "n'a pas pu convertir vers le fuseau horaire « %s »" +#~ msgid "cannot call json_object_keys on an array" +#~ msgstr "ne peut pas appeler json_object_keys sur un tableau" -#~ msgid "WAL writer sleep time between WAL flushes." -#~ msgstr "" -#~ "Temps d'endormissement du processus d'écriture pendant le vidage des\n" -#~ "journaux de transactions en millisecondes." +#~ msgid "cannot call json_object_keys on a scalar" +#~ msgstr "ne peut pas appeler json_object_keys sur un scalaire" -#~ msgid "JSON does not support infinite date values." -#~ msgstr "JSON ne supporte pas les valeurs infinies de date." +#~ msgid "cannot call function with null path elements" +#~ msgstr "ne peut pas appeler une fonction avec des éléments chemins NULL" -#~ msgid "JSON does not support infinite timestamp values." -#~ msgstr "JSON ne supporte pas les valeurs infinies de timestamp." +#~ msgid "cannot call function with empty path elements" +#~ msgstr "ne peut pas appeler une fonction avec des éléments chemins vides" -#~ msgid "cannot override frame clause of window \"%s\"" -#~ msgstr "ne peut pas surcharger la frame clause du window « %s »" +#~ msgid "cannot extract array element from a non-array" +#~ msgstr "ne peut pas extraire un élément du tableau à partir d'un objet qui n'est pas un tableau" -#~ msgid "window functions cannot use named arguments" -#~ msgstr "les fonctions window ne peuvent pas renvoyer des arguments nommés" +#~ msgid "cannot extract field from a non-object" +#~ msgstr "ne peut pas extraire le chemin à partir d'un non-objet" -#~ msgid "invalid list syntax for \"listen_addresses\"" -#~ msgstr "syntaxe de liste invalide pour le paramètre « listen_addresses »" +#~ msgid "cannot call json_array_elements on a non-array" +#~ msgstr "ne peut pas appeler json_array_elements sur un objet qui n'est pas un tableau" -#~ msgid "invalid list syntax for \"unix_socket_directories\"" -#~ msgstr "syntaxe de liste invalide pour le paramètre « unix_socket_directories »" +#~ msgid "cannot call json_array_elements on a scalar" +#~ msgstr "ne peut pas appeler json_array_elements sur un scalaire" -#~ msgid "Valid values are '[]', '[)', '(]', and '()'." -#~ msgstr "Les valeurs valides sont « [] », « [) », « (] » et « () »." +#~ msgid "first argument of json_populate_record must be a row type" +#~ msgstr "le premier argument de json_populate_record doit être un type ROW" -#~ msgid "poll() failed in statistics collector: %m" -#~ msgstr "échec du poll() dans le récupérateur de statistiques : %m" +#~ msgid "first argument of json_populate_recordset must be a row type" +#~ msgstr "le premier argument de json_populate_recordset doit être un type ROW" -#~ msgid "select() failed in logger process: %m" -#~ msgstr "échec de select() dans le processus des journaux applicatifs : %m" +#~ msgid "cannot call json_populate_recordset on an object" +#~ msgstr "ne peut pas appeler json_populate_recordset sur un objet" -#~ msgid "%s: could not open file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu ouvrir le fichier « %s » : %s\n" +#~ msgid "cannot call json_populate_recordset with nested objects" +#~ msgstr "ne peut pas appeler json_populate_recordset sur des objets imbriqués" -#~ msgid "%s: could not open log file \"%s/%s\": %s\n" -#~ msgstr "%s : n'a pas pu ouvrir le journal applicatif « %s/%s » : %s\n" +#~ msgid "must call json_populate_recordset on an array of objects" +#~ msgstr "doit appeler json_populate_recordset sur un tableau d'objets" -#~ msgid "%s: could not fork background process: %s\n" -#~ msgstr "%s : n'a pas pu créer un processus fils : %s\n" +#~ msgid "cannot call json_populate_recordset with nested arrays" +#~ msgstr "ne peut pas appeler json_populate_recordset avec des tableaux imbriqués" -#~ msgid "%s: could not dissociate from controlling TTY: %s\n" -#~ msgstr "%s : n'a pas pu se dissocier du TTY contrôlant : %s\n" +#~ msgid "cannot call json_populate_recordset on a scalar" +#~ msgstr "ne peut pas appeler json_populate_recordset sur un scalaire" -#~ msgid "Runs the server silently." -#~ msgstr "Lance le serveur de manière silencieuse." +#~ msgid "cannot call json_populate_recordset on a nested object" +#~ msgstr "ne peut pas appeler json_populate_recordset sur un objet imbriqué" -#~ msgid "If this parameter is set, the server will automatically run in the background and any controlling terminals are dissociated." -#~ msgstr "" -#~ "Si ce paramètre est initialisé, le serveur sera exécuté automatiquement en\n" -#~ "tâche de fond et les terminaux de contrôles seront dés-associés." +#~ msgid "No description available." +#~ msgstr "Aucune description disponible." -#~ msgid "WAL sender sleep time between WAL replications." -#~ msgstr "" -#~ "Temps d'endormissement du processus d'envoi des journaux de transactions entre\n" -#~ "les réplications des journaux de transactions." +#~ msgid "Sets the name of the Kerberos service." +#~ msgstr "Initialise le nom du service Kerberos." -#~ msgid "Sets the list of known custom variable classes." -#~ msgstr "Initialise la liste des classes variables personnalisées connues." +#~ msgid "time zone offset %d is not a multiple of 900 sec (15 min) in time zone file \"%s\", line %d" +#~ msgstr "" +#~ "le décalage %d du fuseau horaire n'est pas un multiples de 900 secondes\n" +#~ "(15 minutes) dans le fichier des fuseaux horaires « %s », ligne %d" -#~ msgid "foreign key constraint \"%s\" of relation \"%s\" does not exist" -#~ msgstr "la clé étrangère « %s » de la relation « %s » n'existe pas" +#~ msgid "Perhaps out of disk space?" +#~ msgstr "Peut-être manquez-vous de place disque ?" -#~ msgid "removing built-in function \"%s\"" -#~ msgstr "suppression de la fonction interne « %s »" +#~ msgid "could not change directory to \"%s\"" +#~ msgstr "n'a pas pu accéder au répertoire « %s »" -#~ msgid "permission denied to drop foreign-data wrapper \"%s\"" -#~ msgstr "droit refusé pour supprimer le wrapper de données distantes « %s »" +#~ msgid "unlogged GiST indexes are not supported" +#~ msgstr "les index GiST non tracés ne sont pas supportés" -#~ msgid "Must be superuser to drop a foreign-data wrapper." -#~ msgstr "Doit être super-utilisateur pour supprimer un wrapper de données distantes." +#~ msgid "could not open file \"%s\" (log file %u, segment %u): %m" +#~ msgstr "n'a pas pu ouvrir le fichier « %s » (journal de transactions %u, segment %u) : %m" -#~ msgid "must be superuser to drop text search parsers" +#~ msgid "there is no contrecord flag in log file %u, segment %u, offset %u" #~ msgstr "" -#~ "doit être super-utilisateur pour supprimer des analyseurs de recherche plein\n" -#~ "texte" +#~ "il n'y a pas de drapeaux « contrecord » dans le journal de transactions %u,\n" +#~ "segment %u, décalage %u" -#~ msgid "must be superuser to drop text search templates" -#~ msgstr "doit être super-utilisateur pour supprimer des modèles de recherche plein texte" +#~ msgid "invalid contrecord length %u in log file %u, segment %u, offset %u" +#~ msgstr "" +#~ "longueur invalide du « contrecord » %u dans le journal de tranasctions %u,\n" +#~ "segment %u, décalage %u" -#~ msgid "recovery is still in progress, can't accept WAL streaming connections" -#~ msgstr "la restauration est en cours, ne peut pas accepter les connexions de flux WAL" +#~ msgid "Incorrect XLOG_SEG_SIZE in page header." +#~ msgstr "XLOG_SEG_SIZE incorrecte dans l'en-tête de page." -#~ msgid "standby connections not allowed because wal_level=minimal" -#~ msgstr "connexions standby non autorisées car wal_level=minimal" +#~ msgid "Incorrect XLOG_BLCKSZ in page header." +#~ msgstr "XLOG_BLCKSZ incorrect dans l'en-tête de page." -#~ msgid "could not open directory \"pg_tblspc\": %m" -#~ msgstr "n'a pas pu ouvrir le répertoire « pg_tblspc » : %m" +#~ msgid "xrecoff \"%X\" is out of valid range, 0..%X" +#~ msgstr "xrecoff « %X » en dehors des limites valides, 0..%X" -#~ msgid "could not access root certificate file \"%s\": %m" -#~ msgstr "n'a pas pu accéder au fichier du certificat racine « %s » : %m" +#~ msgid "uncataloged table %s" +#~ msgstr "table %s sans catalogue" -#~ msgid "SSL certificate revocation list file \"%s\" not found, skipping: %s" -#~ msgstr "liste de révocation des certificats SSL « %s » introuvable, continue : %s" +#~ msgid "cannot use subquery in default expression" +#~ msgstr "ne peut pas utiliser une sous-requête dans l'expression par défaut" -#~ msgid "Certificates will not be checked against revocation list." -#~ msgstr "Les certificats ne seront pas vérifiés avec la liste de révocation." +#~ msgid "cannot use aggregate function in default expression" +#~ msgstr "ne peut pas utiliser une fonction d'agrégat dans une expression par défaut" -#~ msgid "missing or erroneous pg_hba.conf file" -#~ msgstr "fichier pg_hba.conf manquant ou erroné" +#~ msgid "cannot use window function in default expression" +#~ msgstr "ne peut pas utiliser une fonction window dans une expression par défaut" -#~ msgid "See server log for details." -#~ msgstr "Voir les journaux applicatifs du serveur pour plus de détails." +#~ msgid "cannot use window function in check constraint" +#~ msgstr "ne peut pas utiliser une fonction window dans une contrainte de vérification" -#~ msgid "Make sure the root.crt file is present and readable." -#~ msgstr "Assurez-vous que le certificat racine (root.crt) est présent et lisible" +#~ msgid "A function returning ANYRANGE must have at least one ANYRANGE argument." +#~ msgstr "" +#~ "Une fonction renvoyant ANYRANGE doit avoir au moins un argument du type\n" +#~ "ANYRANGE." -#~ msgid " --help show this help, then exit\n" -#~ msgstr " --help affiche cette aide, puis quitte\n" +#~ msgid "%s already exists in schema \"%s\"" +#~ msgstr "%s existe déjà dans le schéma « %s »" -#~ msgid " --version output version information, then exit\n" -#~ msgstr " --version affiche la version, puis quitte\n" +#~ msgid "CREATE TABLE AS specifies too many column names" +#~ msgstr "CREATE TABLE AS spécifie trop de noms de colonnes" -#~ msgid "CREATE TABLE AS cannot specify INTO" -#~ msgstr "CREATE TABLE AS ne peut pas spécifier INTO" +#~ msgid "cannot use subquery in parameter default value" +#~ msgstr "ne peut pas utiliser une sous-requête dans une valeur par défaut d'un paramètre" -#~ msgid "column name list not allowed in CREATE TABLE / AS EXECUTE" -#~ msgstr "la liste de noms de colonnes n'est pas autorisée dans CREATE TABLE / AS EXECUTE" +#~ msgid "cannot use aggregate function in parameter default value" +#~ msgstr "" +#~ "ne peut pas utiliser une fonction d'agrégat dans la valeur par défaut d'un\n" +#~ "paramètre" -#~ msgid "INSERT ... SELECT cannot specify INTO" -#~ msgstr "INSERT ... SELECT ne peut pas avoir INTO" +#~ msgid "cannot use window function in parameter default value" +#~ msgstr "ne peut pas utiliser la fonction window dans la valeur par défaut d'un paramètre" -#~ msgid "DECLARE CURSOR cannot specify INTO" -#~ msgstr "DECLARE CURSOR ne peut pas spécifier INTO" +#~ msgid "Use ALTER AGGREGATE to rename aggregate functions." +#~ msgstr "Utiliser ALTER AGGREGATE pour renommer les fonctions d'agrégat." -#~ msgid "subquery in FROM cannot have SELECT INTO" -#~ msgstr "la sous-requête du FROM ne peut pas avoir de SELECT INTO" +#~ msgid "Use ALTER AGGREGATE to change owner of aggregate functions." +#~ msgstr "Utiliser ALTER AGGREGATE pour changer le propriétaire des fonctions d'agrégat." -#~ msgid "subquery cannot have SELECT INTO" -#~ msgstr "la sous-requête ne peut pas avoir de SELECT INTO" +#~ msgid "function \"%s\" already exists in schema \"%s\"" +#~ msgstr "la fonction « %s » existe déjà dans le schéma « %s »" -#~ msgid "subquery in WITH cannot have SELECT INTO" -#~ msgstr "la sous-requête du WITH ne peut pas avoir de SELECT INTO" +#~ msgid "cannot use aggregate in index predicate" +#~ msgstr "ne peut pas utiliser un agrégat dans un prédicat d'index" -#~ msgid "tablespace %u is not empty" -#~ msgstr "le tablespace %u n'est pas vide" +#~ msgid "cannot use window function in EXECUTE parameter" +#~ msgstr "ne peut pas utiliser une fonction window dans le paramètre EXECUTE" -#~ msgid "consistent state delayed because recovery snapshot incomplete" -#~ msgstr "état de cohérence pas encore atteint à cause d'un snapshot de restauration incomplet" +#~ msgid "constraints on foreign tables are not supported" +#~ msgstr "les contraintes sur les tables distantes ne sont pas supportées" -#~ msgid "SSPI error %x" -#~ msgstr "erreur SSPI : %x" +#~ msgid "default values on foreign tables are not supported" +#~ msgstr "les valeurs par défaut ne sont pas supportées sur les tables distantes" -#~ msgid "%s (%x)" -#~ msgstr "%s (%x)" +#~ msgid "cannot use window function in transform expression" +#~ msgstr "ne peut pas utiliser la fonction window dans l'expression de la transformation" -#~ msgid "resetting unlogged relations: cleanup %d init %d" -#~ msgstr "réinitialisation des relations non tracées : nettoyage %d initialisation %d" +#~ msgid "Use ALTER FOREIGN TABLE instead." +#~ msgstr "Utilisez ALTER FOREIGN TABLE à la place." -#~ msgid "ALTER TYPE USING is only supported on plain tables" -#~ msgstr "ALTER TYPE USING est seulement supportés sur les tables standards" +#~ msgid "cannot use window function in trigger WHEN condition" +#~ msgstr "ne peut pas utiliser la fonction window dans la condition WHEN d'un trigger" -#~ msgid "index \"%s\" is not a b-tree" -#~ msgstr "l'index « %s » n'est pas un btree" +#~ msgid "must be superuser to rename text search parsers" +#~ msgstr "" +#~ "doit être super-utilisateur pour renommer les analyseurs de recherche plein\n" +#~ "texte" -#~ msgid "unable to read symbolic link %s: %m" -#~ msgstr "incapable de lire le lien symbolique %s : %m" +#~ msgid "must be superuser to rename text search templates" +#~ msgstr "doit être super-utilisateur pour renommer les modèles de recherche plein texte" -#~ msgid "unable to open directory pg_tblspc: %m" -#~ msgstr "impossible d'ouvrir le répertoire p_tblspc : %m" +#~ msgid "automatic vacuum of table \"%s.%s.%s\": cannot (re)acquire exclusive lock for truncate scan" +#~ msgstr "vacuum automatique de la table « %s.%s.%s » : ne peut pas acquérir le verrou exclusif pour la tronquer" -#~ msgid "Write-Ahead Log / Streaming Replication" -#~ msgstr "Write-Ahead Log / Réplication en flux" +#~ msgid "You need an unconditional ON INSERT DO INSTEAD rule or an INSTEAD OF INSERT trigger." +#~ msgstr "Vous avez besoin d'une règle ON INSERT DO INSTEAD sans condition ou d'un trigger INSTEAD OF INSERT." -#~ msgid "syntax error in recovery command file: %s" -#~ msgstr "erreur de syntaxe dans le fichier de restauration : %s" +#~ msgid "You need an unconditional ON UPDATE DO INSTEAD rule or an INSTEAD OF UPDATE trigger." +#~ msgstr "Vous avez besoin d'une règle non conditionnelle ON UPDATE DO INSTEAD ou d'un trigger INSTEAD OF UPDATE." -#~ msgid "Lines should have the format parameter = 'value'." -#~ msgstr "Les lignes devraient avoir le format paramètre = 'valeur'" +#~ msgid "You need an unconditional ON DELETE DO INSTEAD rule or an INSTEAD OF DELETE trigger." +#~ msgstr "Vous avez besoin d'une règle inconditionnelle ON DELETE DO INSTEAD ou d'un trigger INSTEAD OF DELETE." -#~ msgid "index %u/%u/%u needs VACUUM FULL or REINDEX to finish crash recovery" +#~ msgid "LDAP search failed for filter \"%s\" on server \"%s\": user is not unique (%ld matches)" #~ msgstr "" -#~ "l'index %u/%u/%u a besoin d'un VACUUM FULL ou d'un REINDEX pour terminer la\n" -#~ "récupération suite à un arrêt brutal" +#~ "échec de la recherche LDAP pour le filtre « %s » sur le serveur « %s » :\n" +#~ "utilisateur non unique (%ld correspondances)" -#~ msgid "Incomplete insertion detected during crash replay." -#~ msgstr "" -#~ "Insertion incomplète détectée lors de la ré-exécution des requêtes suite à\n" -#~ "l'arrêt brutal." +#~ msgid "VALUES must not contain table references" +#~ msgstr "VALUES ne doit pas contenir de références de table" -#~ msgid "index \"%s\" needs VACUUM or REINDEX to finish crash recovery" -#~ msgstr "" -#~ "l'index « %s » a besoin d'un VACUUM ou d'un REINDEX pour terminer la\n" -#~ "récupération suite à un arrêt brutal" +#~ msgid "VALUES must not contain OLD or NEW references" +#~ msgstr "VALUES ne doit pas contenir des références à OLD et NEW" -#~ msgid "index \"%s\" needs VACUUM FULL or REINDEX to finish crash recovery" -#~ msgstr "" -#~ "l'index « %s » a besoin d'un VACUUM FULL ou d'un REINDEX pour terminer la\n" -#~ "récupération suite à un arrêt brutal" +#~ msgid "Use SELECT ... UNION ALL ... instead." +#~ msgstr "Utilisez à la place SELECT ... UNION ALL ..." -#~ msgid "EnumValuesCreate() can only set a single OID" -#~ msgstr "EnumValuesCreate() peut seulement initialiser un seul OID" +#~ msgid "cannot use aggregate function in VALUES" +#~ msgstr "ne peut pas utiliser la fonction d'agrégat dans un VALUES" -#~ msgid "clustering \"%s.%s\"" -#~ msgstr "exécution de CLUSTER sur « %s.%s »" +#~ msgid "cannot use window function in VALUES" +#~ msgstr "ne peut pas utiliser la fonction window dans un VALUES" -#~ msgid "cannot cluster on index \"%s\" because access method does not handle null values" -#~ msgstr "" -#~ "ne peut pas créer un cluster sur l'index « %s » car la méthode d'accès de\n" -#~ "l'index ne gère pas les valeurs NULL" +#~ msgid "cannot use aggregate function in UPDATE" +#~ msgstr "ne peut pas utiliser une fonction d'agrégat dans un UPDATE" -#~ msgid "You might be able to work around this by marking column \"%s\" NOT NULL, or use ALTER TABLE ... SET WITHOUT CLUSTER to remove the cluster specification from the table." -#~ msgstr "" -#~ "Vous pourriez contourner ceci en marquant la colonne « %s » avec la\n" -#~ "contrainte NOT NULL ou en utilisant ALTER TABLE ... SET WITHOUT CLUSTER pour\n" -#~ "supprimer la spécification CLUSTER de la table." +#~ msgid "cannot use window function in UPDATE" +#~ msgstr "ne peut pas utiliser une fonction window dans un UPDATE" -#~ msgid "You might be able to work around this by marking column \"%s\" NOT NULL." -#~ msgstr "Vous pouvez contourner ceci en marquant la colonne « %s » comme NOT NULL." +#~ msgid "cannot use aggregate function in RETURNING" +#~ msgstr "ne peut pas utiliser une fonction d'agrégat dans RETURNING" -#~ msgid "cannot cluster on expressional index \"%s\" because its index access method does not handle null values" -#~ msgstr "" -#~ "ne peut pas exécuter CLUSTER sur l'index à expression « %s » car sa méthode\n" -#~ "d'accès ne gère pas les valeurs NULL" +#~ msgid "cannot use window function in RETURNING" +#~ msgstr "ne peut pas utiliser une fonction window dans RETURNING" -#~ msgid "\"%s\" is not a table, view, or composite type" -#~ msgstr "« %s » n'est pas une table, une vue ou un type composite" +#~ msgid "RETURNING cannot contain references to other relations" +#~ msgstr "RETURNING ne doit pas contenir de références à d'autres relations" -#~ msgid "must be superuser to comment on procedural language" -#~ msgstr "" -#~ "doit être super-utilisateur pour ajouter un commentaire sur un langage de\n" -#~ "procédures" +#~ msgid "SELECT FOR UPDATE/SHARE is not allowed with GROUP BY clause" +#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé avec la clause GROUP BY" -#~ msgid "must be superuser to comment on text search parser" -#~ msgstr "" -#~ "doit être super-utilisateur pour ajouter un commentaire sur l'analyseur de\n" -#~ "recherche plein texte" +#~ msgid "SELECT FOR UPDATE/SHARE is not allowed with HAVING clause" +#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé avec la clause HAVING" -#~ msgid "must be superuser to comment on text search template" -#~ msgstr "" -#~ "doit être super-utilisateur pour ajouter un commentaire sur un modèle de\n" -#~ "recherche plein texte" +#~ msgid "SELECT FOR UPDATE/SHARE is not allowed with aggregate functions" +#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé avec les fonctions d'agrégats" -#~ msgid "function \"%s\" is already in schema \"%s\"" -#~ msgstr "la fonction « %s » existe déjà dans le schéma « %s »" +#~ msgid "SELECT FOR UPDATE/SHARE is not allowed with window functions" +#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé avec les fonctions window" -#~ msgid "cannot reference temporary table from permanent table constraint" -#~ msgstr "" -#~ "ne peut pas référencer une table temporaire à partir d'une contrainte de\n" -#~ "table permanente" +#~ msgid "SELECT FOR UPDATE/SHARE cannot be used with foreign table \"%s\"" +#~ msgstr "SELECT FOR UPDATE/SHARE ne peut pas être utilisé avec une table distante « %s »" -#~ msgid "cannot reference permanent table from temporary table constraint" -#~ msgstr "" -#~ "ne peut pas référencer une table permanente à partir de la contrainte de\n" -#~ "table temporaire" +#~ msgid "aggregates not allowed in WHERE clause" +#~ msgstr "agrégats non autorisés dans une clause WHERE" -#~ msgid "composite type must have at least one attribute" -#~ msgstr "le type composite doit avoir au moins un attribut" +#~ msgid "window functions not allowed in GROUP BY clause" +#~ msgstr "fonctions window non autorisées dans une clause GROUP BY" -#~ msgid "database \"%s\" not found" -#~ msgstr "base de données « %s » non trouvée" +#~ msgid "JOIN/ON clause refers to \"%s\", which is not part of JOIN" +#~ msgstr "la clause JOIN/ON se réfère à « %s », qui ne fait pas partie du JOIN" -#~ msgid "invalid list syntax for parameter \"datestyle\"" -#~ msgstr "syntaxe de liste invalide pour le paramètre « datestyle »" +#~ msgid "subquery in FROM cannot refer to other relations of same query level" +#~ msgstr "" +#~ "la sous-requête du FROM ne peut pas faire référence à d'autres relations\n" +#~ "dans le même niveau de la requête" -#~ msgid "unrecognized \"datestyle\" key word: \"%s\"" -#~ msgstr "mot clé « datestyle » non reconnu : « %s »" +#~ msgid "function expression in FROM cannot refer to other relations of same query level" +#~ msgstr "" +#~ "l'expression de la fonction du FROM ne peut pas faire référence à d'autres\n" +#~ "relations sur le même niveau de la requête" -#~ msgid "invalid interval value for time zone: month not allowed" -#~ msgstr "valeur d'intervalle invalide pour le fuseau horaire : les mois ne sont pas autorisés" +#~ msgid "cannot use window function in function expression in FROM" +#~ msgstr "" +#~ "ne peut pas utiliser la fonction window dans l'expression de la fonction\n" +#~ "du FROM" -#~ msgid "invalid interval value for time zone: day not allowed" -#~ msgstr "valeur d'intervalle invalide pour le fuseau horaire : jour non autorisé" +#~ msgid "argument of %s must not contain aggregate functions" +#~ msgstr "l'argument de %s ne doit pas contenir de fonctions d'agrégats" -#~ msgid "argument to pg_get_expr() must come from system catalogs" -#~ msgstr "l'argument de pg_get_expr() doit provenir des catalogues systèmes" +#~ msgid "argument of %s must not contain window functions" +#~ msgstr "l'argument de %s ne doit pas contenir des fonctions window" -#~ msgid "could not enable credential reception: %m" -#~ msgstr "n'a pas pu activer la réception de lettres de créance : %m" +#~ msgid "arguments of row IN must all be row expressions" +#~ msgstr "les arguments de la ligne IN doivent tous être des expressions de ligne" -#~ msgid "could not get effective UID from peer credentials: %m" -#~ msgstr "n'a pas pu obtenir l'UID réel à partir des pièces d'identité de l'autre : %m" +#~ msgid "cannot use aggregate function in rule WHERE condition" +#~ msgstr "ne peut pas utiliser la fonction d'agrégat dans la condition d'une règle WHERE" -#~ msgid "Ident authentication is not supported on local connections on this platform" -#~ msgstr "l'authentification Ident n'est pas supportée sur les connexions locales sur cette plateforme" +#~ msgid "cannot use window function in rule WHERE condition" +#~ msgstr "ne peut pas utiliser la fonction window dans la condition d'une règle WHERE" -#~ msgid "could not create log file \"%s\": %m" -#~ msgstr "n'a pas pu créer le journal applicatif « %s » : %m" +#~ msgid "" +#~ "This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter. You can either reduce the request size or reconfigure the kernel with larger SHMMAX. To reduce the request size (currently %lu bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.\n" +#~ "If the request size is already small, it's possible that it is less than your kernel's SHMMIN parameter, in which case raising the request size or reconfiguring SHMMIN is called for.\n" +#~ "The PostgreSQL documentation contains more information about shared memory configuration." +#~ msgstr "" +#~ "Cette erreur signifie habituellement que la demande de PostgreSQL pour un\n" +#~ "segment de mémoire partagée a dépassé le paramètre SHMMAX de votre noyau.\n" +#~ "Vous pouvez soit réduire la taille de la requête soit reconfigurer le noyau\n" +#~ "avec un SHMMAX plus important. Pour réduire la taille de la requête\n" +#~ "(actuellement %lu octets), réduisez l'utilisation de la mémoire partagée par PostgreSQL,par exemple en réduisant shared_buffers ou max_connections\n" +#~ "Si la taille de la requête est déjà petite, il est possible qu'elle soit\n" +#~ "moindre que le paramètre SHMMIN de votre noyau, auquel cas, augmentez la\n" +#~ "taille de la requête ou reconfigurez SHMMIN.\n" +#~ "La documentation de PostgreSQL contient plus d'informations sur la\n" +#~ "configuration de la mémoire partagée." -#~ msgid "could not open new log file \"%s\": %m" -#~ msgstr "n'a pas pu ouvrir le nouveau journal applicatif « %s » : %m" +#~ msgid "terminating all walsender processes to force cascaded standby(s) to update timeline and reconnect" +#~ msgstr "" +#~ "arrêt de tous les processus walsender pour forcer les serveurs standby en\n" +#~ "cascade à mettre à jour la timeline et à se reconnecter" -#~ msgid "Sets immediate fsync at commit." -#~ msgstr "Configure un fsync immédiat lors du commit." +#~ msgid "shutdown requested, aborting active base backup" +#~ msgstr "arrêt demandé, annulation de la sauvegarde active de base" -#~ msgid "invalid list syntax for parameter \"log_destination\"" -#~ msgstr "syntaxe de liste invalide pour le paramètre « log_destination »" +#~ msgid "streaming replication successfully connected to primary" +#~ msgstr "réplication de flux connecté avec succès au serveur principal" -#~ msgid "unrecognized \"log_destination\" key word: \"%s\"" -#~ msgstr "mot clé « log_destination » non reconnu : « %s »" +#~ msgid "invalid standby handshake message type %d" +#~ msgstr "type %d du message de handshake du serveur en attente invalide" -#~ msgid "cannot drop \"%s\" because it is being used by active queries in this session" +#~ msgid "terminating walsender process to force cascaded standby to update timeline and reconnect" #~ msgstr "" -#~ "ne peut pas supprimer « %s » car cet objet est en cours d'utilisation par\n" -#~ "des requêtes actives dans cette session" +#~ "arrêt du processus walreceiver pour forcer le serveur standby en cascade à\n" +#~ "mettre à jour la timeline et à se reconnecter" -#~ msgid "parameter \"recovery_target_inclusive\" requires a Boolean value" -#~ msgstr "le paramètre « recovery_target_inclusive » requiert une valeur booléenne" +#~ msgid "invalid standby query string: %s" +#~ msgstr "chaîne de requête invalide sur le serveur en attente : %s" -#~ msgid "parameter \"standby_mode\" requires a Boolean value" -#~ msgstr "le paramètre « standby_mode » requiert une valeur booléenne" +#~ msgid "large object %u was not opened for writing" +#~ msgstr "le « Large Object » %u n'a pas été ouvert en écriture" -#~ msgid "Sets the message levels that are logged during recovery." -#~ msgstr "Initialise les niveaux de messages qui sont tracés lors de la restauration." +#~ msgid "large object %u was already dropped" +#~ msgstr "le « Large Object » %u a déjà été supprimé" -#~ msgid "Not safe to send CSV data\n" -#~ msgstr "Envoi non sûr des données CSV\n" +#~ msgid "Not enough memory for reassigning the prepared transaction's locks." +#~ msgstr "Pas assez de mémoire pour réaffecter les verrous des transactions préparées." -#~ msgid "recovery restart point at %X/%X with latest known log time %s" -#~ msgstr "" -#~ "point de relancement de la restauration sur %X/%X avec %s comme dernière\n" -#~ "date connue du journal" +#~ msgid "\"interval\" time zone \"%s\" not valid" +#~ msgstr "le fuseau horaire « %s » n'est pas valide pour le type « interval »" -#~ msgid "restartpoint_command = '%s'" -#~ msgstr "restartpoint_command = '%s'" +#~ msgid "inconsistent use of year %04d and \"BC\"" +#~ msgstr "utilisation non cohérente de l'année %04d et de « BC »" -#~ msgid "usermap \"%s\"" -#~ msgstr "correspondance utilisateur « %s »" +#~ msgid "No rows were found in \"%s\"." +#~ msgstr "Aucune ligne trouvée dans « %s »." -#~ msgid "WAL archiving is not active" -#~ msgstr "l'archivage des journaux de transactions n'est pas actif" +#~ msgid "argument number is out of range" +#~ msgstr "le nombre en argument est en dehors des limites" -#~ msgid "archive_mode must be enabled at server start." -#~ msgstr "archive_mode doit être activé au lancement du serveur." +#~ msgid "index \"%s\" is not ready" +#~ msgstr "l'index « %s » n'est pas prêt" -#~ msgid "archive_command must be defined before online backups can be made safely." -#~ msgstr "" -#~ "archive_command doit être défini avant que les sauvegardes à chaud puissent\n" -#~ "s'effectuer correctement." +#~ msgid "could not remove database directory \"%s\"" +#~ msgstr "n'a pas pu supprimer le répertoire de bases de données « %s »" -#~ msgid "During recovery, allows connections and queries. During normal running, causes additional info to be written to WAL to enable hot standby mode on WAL standby nodes." -#~ msgstr "" -#~ "Lors de la restauration, autorise les connexions et les requêtes. Lors d'une\n" -#~ "exécution normale, fait que des informations supplémentaires sont écrites dans\n" -#~ "les journaux de transactions pour activer le mode Hot Standby sur les nœuds\n" -#~ "en attente." +#~ msgid "unexpected end of line at line %d of thesaurus file \"%s\"" +#~ msgstr "fin de ligne inattendue à la ligne %d du thésaurus « %s »" -#~ msgid "unlogged operation performed, data may be missing" -#~ msgstr "opération réalisée non tracée, les données pourraient manquer" +#~ msgid "unexpected end of line or lexeme at line %d of thesaurus file \"%s\"" +#~ msgstr "fin de ligne ou de lexeme inattendu sur la ligne %d du thesaurus « %s »" -#~ msgid "not enough shared memory for walsender" -#~ msgstr "pas assez de mémoire partagée pour le processus d'envoi des journaux de transactions" +#~ msgid "unexpected delimiter at line %d of thesaurus file \"%s\"" +#~ msgstr "délimiteur inattendu sur la ligne %d du thesaurus « %s »" -#~ msgid "not enough shared memory for walreceiver" +#~ msgid "Use the @@@ operator instead." +#~ msgstr "Utilisez à la place l'opérateur @@@." + +#~ msgid "@@ operator does not support lexeme weight restrictions in GIN index searches" #~ msgstr "" -#~ "pas assez de mémoire partagée pour le processus de réception des journaux de\n" -#~ "transactions" +#~ "l'opérateur @@ ne supporte pas les restrictions de poids de lexeme dans les\n" +#~ "recherches par index GIN" -#~ msgid "connection limit exceeded for non-superusers" -#~ msgstr "limite de connexions dépassée pour les utilisateurs standards" +#~ msgid "query requires full scan, which is not supported by GIN indexes" +#~ msgstr "" +#~ "la requête nécessite un parcours complet, ce qui n'est pas supporté par les\n" +#~ "index GIN" -#~ msgid "not enough shared memory for background writer" -#~ msgstr "pas assez de mémoire partagée pour le processus d'écriture en tâche de fond" +#~ msgid "cannot calculate week number without year information" +#~ msgstr "ne peut pas calculer le numéro de la semaine sans informations sur l'année" -#, fuzzy -#~ msgid "couldn't put socket to non-blocking mode: %m" -#~ msgstr "n'a pas pu activer le mode non-bloquant pour la socket : %s\n" +#~ msgid "UTF-16 to UTF-8 translation failed: %lu" +#~ msgstr "échec de la conversion d'UTF16 vers UTF8 : %lu" -#, fuzzy -#~ msgid "couldn't put socket to blocking mode: %m" -#~ msgstr "n'a pas pu activer le mode bloquant pour la socket : %s\n" +#~ msgid "AM/PM hour must be between 1 and 12" +#~ msgstr "l'heure AM/PM doit être compris entre 1 et 12" -#~ msgid "WAL file SYSID is %s, pg_control SYSID is %s" -#~ msgstr "le SYSID du journal de transactions WAL est %s, celui de pg_control est %s" +#~ msgid "Sat" +#~ msgstr "Sam" -#, fuzzy -#~ msgid "sorry, too many standbys already" -#~ msgstr "désolé, trop de clients sont déjà connectés" +#~ msgid "Fri" +#~ msgstr "Ven" -#, fuzzy -#~ msgid "invalid WAL message received from primary" -#~ msgstr "format du message invalide" +#~ msgid "Thu" +#~ msgstr "Jeu" -#~ msgid "PID %d is among the slowest backends." -#~ msgstr "Le PID %d est parmi les processus serveur les plus lents." +#~ msgid "Wed" +#~ msgstr "Mer" -#~ msgid "transaction is read-only" -#~ msgstr "la transaction est en lecture seule" +#~ msgid "Tue" +#~ msgstr "Mar" -#~ msgid "binary value is out of range for type bigint" -#~ msgstr "la valeur binaire est en dehors des limites du type bigint" +#~ msgid "Mon" +#~ msgstr "Lun" -#~ msgid "redo starts at %X/%X, consistency will be reached at %X/%X" -#~ msgstr "la restauration comme à %X/%X, la cohérence sera atteinte à %X/%X" +#~ msgid "Sun" +#~ msgstr "Dim" -#~ msgid "This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by \"client_encoding\"." -#~ msgstr "" -#~ "Cette erreur peut aussi survenir si la séquence d'octets ne correspond pas\n" -#~ "au jeu de caractères attendu par le serveur, le jeu étant contrôlé par\n" -#~ "« client_encoding »." +#~ msgid "Saturday" +#~ msgstr "Samedi" -#~ msgid "Sets the language used in DO statement if LANGUAGE is not specified." -#~ msgstr "" -#~ "Configure le langage utilisé dans une instruction DO si la clause LANGUAGE n'est\n" -#~ "pas spécifiée." +#~ msgid "Friday" +#~ msgstr "Vendredi" -#~ msgid "shared index \"%s\" can only be reindexed in stand-alone mode" -#~ msgstr "un index partagé « %s » peut seulement être réindexé en mode autonome" +#~ msgid "Thursday" +#~ msgstr "Jeudi" -#~ msgid "\"%s\" is a system catalog" -#~ msgstr "« %s » est un catalogue système" +#~ msgid "Wednesday" +#~ msgstr "Mercredi" -#~ msgid "shared table \"%s\" can only be reindexed in stand-alone mode" -#~ msgstr "la table partagée « %s » peut seulement être réindexé en mode autonome" +#~ msgid "Tuesday" +#~ msgstr "Mardi" -#~ msgid "cannot truncate system relation \"%s\"" -#~ msgstr "ne peut pas tronquer la relation système « %s »" +#~ msgid "Monday" +#~ msgstr "Lundi" -#~ msgid "number of distinct values %g is too low" -#~ msgstr "le nombre de valeurs distinctes %g est trop basse" +#~ msgid "Sunday" +#~ msgstr "Dimanche" -#~ msgid "directory \"%s\" is not empty" -#~ msgstr "le répertoire « %s » n'est pas vide" +#~ msgid "Dec" +#~ msgstr "Déc" -#~ msgid "relation \"%s\" TID %u/%u: XMIN_COMMITTED not set for transaction %u --- cannot shrink relation" -#~ msgstr "" -#~ "relation « %s », TID %u/%u : XMIN_COMMITTED non configuré pour la\n" -#~ "transaction %u --- n'a pas pu diminuer la taille de la relation" - -#~ msgid "relation \"%s\" TID %u/%u: dead HOT-updated tuple --- cannot shrink relation" -#~ msgstr "" -#~ "relation « %s », TID %u/%u : ligne morte mise à jour par HOT --- n'a pas pu\n" -#~ "diminuer la taille de la relation" - -#~ msgid "relation \"%s\" TID %u/%u: InsertTransactionInProgress %u --- cannot shrink relation" -#~ msgstr "" -#~ "relation « %s », TID %u/%u : InsertTransactionInProgress %u --- n'a pas pu\n" -#~ "diminuer la taille de la relation" - -#~ msgid "relation \"%s\" TID %u/%u: DeleteTransactionInProgress %u --- cannot shrink relation" -#~ msgstr "" -#~ "relation « %s », TID %u/%u : DeleteTransactionInProgress %u --- n'a pas pu\n" -#~ "diminuer la taille de la relation" - -#~ msgid "" -#~ "%.0f dead row versions cannot be removed yet.\n" -#~ "Nonremovable row versions range from %lu to %lu bytes long.\n" -#~ "There were %.0f unused item pointers.\n" -#~ "Total free space (including removable row versions) is %.0f bytes.\n" -#~ "%u pages are or will become empty, including %u at the end of the table.\n" -#~ "%u pages containing %.0f free bytes are potential move destinations.\n" -#~ "%s." -#~ msgstr "" -#~ "%.0f versions de lignes mortes ne peuvent pas encore être supprimées.\n" -#~ "Les versions non supprimables de ligne vont de %lu to %lu octets.\n" -#~ "Il existait %.0f pointeurs d'éléments inutilisés.\n" -#~ "L'espace libre total (incluant les versions supprimables de ligne) est de\n" -#~ "%.0f octets.\n" -#~ "%u pages sont ou deviendront vides, ceci incluant %u pages en fin de la\n" -#~ "table.\n" -#~ "%u pages contenant %.0f octets libres sont des destinations de déplacement\n" -#~ "disponibles.\n" -#~ "%s." +#~ msgid "Nov" +#~ msgstr "Nov" -#~ msgid "\"%s\": moved %u row versions, truncated %u to %u pages" -#~ msgstr "« %s » : %u versions de ligne déplacées, %u pages tronquées sur %u" +#~ msgid "Oct" +#~ msgstr "Oct" -#~ msgid "" -#~ "%u index pages have been deleted, %u are currently reusable.\n" -#~ "%s." -#~ msgstr "" -#~ "%u pages d'index ont été supprimées, %u sont actuellement réutilisables.\n" -#~ "%s." +#~ msgid "Sep" +#~ msgstr "Sep" -#~ msgid "index \"%s\" contains %.0f row versions, but table contains %.0f row versions" -#~ msgstr "" -#~ "l'index « %s » contient %.0f versions de ligne, mais la table contient %.0f\n" -#~ "versions de ligne" +#~ msgid "Aug" +#~ msgstr "Aoû" -#~ msgid "Rebuild the index with REINDEX." -#~ msgstr "Reconstruisez l'index avec REINDEX." +#~ msgid "Jul" +#~ msgstr "Juil" -#~ msgid "frame start at CURRENT ROW is not implemented" -#~ msgstr "début du frame à CURRENT ROW n'est pas implémenté" +#~ msgid "Jun" +#~ msgstr "Juin" -#~ msgid "database system is in consistent recovery mode" -#~ msgstr "le système de bases de données est dans un mode de restauration cohérent" +#~ msgid "S:May" +#~ msgstr "S:Mai" -#~ msgid "DISTINCT is supported only for single-argument aggregates" -#~ msgstr "DISTINCT est seulement supporté pour les agrégats à un seul argument" +#~ msgid "Apr" +#~ msgstr "Avr" -#~ msgid "index row size %lu exceeds btree maximum, %lu" -#~ msgstr "la taille de la ligne index %lu dépasse le maximum de btree, %lu" +#~ msgid "Mar" +#~ msgstr "Mar" -#~ msgid "Table contains duplicated values." -#~ msgstr "La table contient des valeurs dupliquées." +#~ msgid "Feb" +#~ msgstr "Fév" -#~ msgid "Automatically adds missing table references to FROM clauses." -#~ msgstr "" -#~ "Ajoute automatiquement les références à la table manquant dans les clauses\n" -#~ "FROM." +#~ msgid "Jan" +#~ msgstr "Jan" -#~ msgid "Sets the regular expression \"flavor\"." -#~ msgstr "Initialise l'expression rationnelle « flavor »." +#~ msgid "December" +#~ msgstr "Décembre" -#~ msgid "attempted change of parameter \"%s\" ignored" -#~ msgstr "tentative de modification du paramètre « %s » ignoré" +#~ msgid "November" +#~ msgstr "Novembre" -#~ msgid "This parameter cannot be changed after server start." -#~ msgstr "Ce paramètre ne peut pas être modifié après le lancement du serveur" +#~ msgid "October" +#~ msgstr "Octobre" -#~ msgid "invalid database name \"%s\"" -#~ msgstr "nom de base de données « %s » invalide" +#~ msgid "September" +#~ msgstr "Septembre" -#~ msgid "invalid role name \"%s\"" -#~ msgstr "nom de rôle « %s » invalide" +#~ msgid "August" +#~ msgstr "Août" -#~ msgid "invalid role password \"%s\"" -#~ msgstr "mot de passe « %s » de l'utilisateur invalide" +#~ msgid "July" +#~ msgstr "Juillet" -#~ msgid "cannot specify CSV in BINARY mode" -#~ msgstr "ne peut pas spécifier CSV en mode binaire (BINARY)" +#~ msgid "June" +#~ msgstr "Juin" -#~ msgid "cannot set session authorization within security-definer function" -#~ msgstr "ne peut pas exécuter SESSION AUTHORIZATION sur la fonction SECURITY DEFINER" +#~ msgid "May" +#~ msgstr "Mai" -#~ msgid "SELECT FOR UPDATE/SHARE is not supported within a query with multiple result relations" -#~ msgstr "" -#~ "SELECT FOR UPDATE/SHARE n'est pas supporté dans une requête avec plusieurs\n" -#~ "relations" +#~ msgid "April" +#~ msgstr "Avril" -#~ msgid "could not remove relation %s: %m" -#~ msgstr "n'a pas pu supprimer la relation %s : %m" +#~ msgid "March" +#~ msgstr "Mars" -#~ msgid "could not remove segment %u of relation %s: %m" -#~ msgstr "n'a pas pu supprimer le segment %u de la relation %s : %m" +#~ msgid "February" +#~ msgstr "Février" -#~ msgid "could not seek to block %u of relation %s: %m" -#~ msgstr "n'a pas pu se positionner sur le bloc %u de la relation %s : %m" +#~ msgid "January" +#~ msgstr "Janvier" -#~ msgid "could not extend relation %s: %m" -#~ msgstr "n'a pas pu étendre la relation %s : %m" +#~ msgid "\"TZ\"/\"tz\" not supported" +#~ msgstr "« TZ »/« tz » non supporté" -#~ msgid "could not open relation %s: %m" -#~ msgstr "n'a pas pu ouvrir la relation %s : %m" +#~ msgid "invalid AM/PM string" +#~ msgstr "chaîne AM/PM invalide" -#~ msgid "could not read block %u of relation %s: %m" -#~ msgstr "n'a pas pu lire le bloc %u de la relation %s : %m" +#~ msgid "not unique \"S\"" +#~ msgstr "« S » non unique" -#~ msgid "could not write block %u of relation %s: %m" -#~ msgstr "n'a pas pu écrire le bloc %u de la relation %s : %m" +#~ msgid "invalid argument for power function" +#~ msgstr "argument invalide pour la fonction puissance (power)" -#~ msgid "could not open segment %u of relation %s: %m" -#~ msgstr "n'a pas pu ouvrir le segment %u de la relation %s : %m" +#~ msgid "Valid values are DOCUMENT and CONTENT." +#~ msgstr "Les valeurs valides sont DOCUMENT et CONTENT." -#~ msgid "could not fsync segment %u of relation %s: %m" +#~ msgid "Valid values are LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7." #~ msgstr "" -#~ "n'a pas pu synchroniser sur disque (fsync) le segment %u de la relation\n" -#~ "%s : %m" +#~ "Les valeurs valides sont LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5,\n" +#~ "LOCAL6, LOCAL7." -#~ msgid "could not fsync segment %u of relation %s but retrying: %m" +#~ msgid "This can be set to advanced, extended, or basic." #~ msgstr "" -#~ "n'a pas pu synchroniser sur disque (fsync) le segment %u de la relation\n" -#~ "%s, nouvelle tentative : %m" - -#~ msgid "could not seek to end of segment %u of relation %s: %m" -#~ msgstr "n'a pas pu se déplacer à la fin du segment %u de la relation %s : %m" - -#~ msgid "unsupported PAM conversation %d/%s" -#~ msgstr "conversation PAM %d/%s non supportée" +#~ "Ceci peut être initialisé avec advanced (avancé), extended (étendu) ou\n" +#~ "basic (basique)." -#~ msgid "SELECT FOR UPDATE/SHARE is not allowed in subqueries" -#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé dans les sous-requêtes" +#~ msgid "Sets the hostname of the Kerberos server." +#~ msgstr "Initalise le nom d'hôte du serveur Kerberos." -#~ msgid "adding missing FROM-clause entry for table \"%s\"" -#~ msgstr "ajout d'une entrée manquante dans FROM (table « %s »)" +#~ msgid "Sets realm to match Kerberos and GSSAPI users against." +#~ msgstr "" +#~ "Indique le royaume pour l'authentification des utilisateurs via Kerberos et\n" +#~ "GSSAPI." -#~ msgid "OLD used in query that is not in a rule" -#~ msgstr "OLD utilisé dans une requête qui n'est pas une règle" +#~ msgid "Each session can be either \"origin\", \"replica\", or \"local\"." +#~ msgstr "Chaque session peut valoir soit « origin » soit « replica » soit « local »." -#~ msgid "NEW used in query that is not in a rule" -#~ msgstr "NEW utilisé dans une requête qui ne fait pas partie d'une règle" +#~ msgid "Each SQL transaction has an isolation level, which can be either \"read uncommitted\", \"read committed\", \"repeatable read\", or \"serializable\"." +#~ msgstr "" +#~ "Chaque transaction SQL a un niveau d'isolation qui peut être soit « read\n" +#~ "uncommitted », soit « read committed », soit « repeatable read », soit\n" +#~ "« serializable »." -#~ msgid "hurrying in-progress restartpoint" -#~ msgstr "accélération du restartpoint en cours" +#~ msgid "All SQL statements that cause an error of the specified level or a higher level are logged." +#~ msgstr "" +#~ "Toutes les instructions SQL causant une erreur du niveau spécifié ou d'un\n" +#~ "niveau supérieur sont tracées." -#~ msgid "multiple DELETE events specified" -#~ msgstr "multiples événements DELETE spécifiés" +#~ msgid "Valid values are DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, WARNING, ERROR, LOG, FATAL, and PANIC. Each level includes all the levels that follow it." +#~ msgstr "" +#~ "Les valeurs valides sont DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO,\n" +#~ "NOTICE, WARNING, ERROR, LOG, FATAL et PANIC. Chaque niveau incut tous les\n" +#~ "niveaux qui le suit." -#~ msgid "multiple UPDATE events specified" -#~ msgstr "multiples événements UPDATE spécifiés" +#~ msgid "Valid values are ON, OFF, and SAFE_ENCODING." +#~ msgstr "Les valeurs valides sont ON, OFF et SAFE_ENCODING." -#~ msgid "multiple TRUNCATE events specified" -#~ msgstr "multiples événements TRUNCATE spécifiés" +#~ msgid "Sets the maximum number of disk pages for which free space is tracked." +#~ msgstr "" +#~ "Initialise le nombre maximum de pages disque pour lesquelles l'espace libre\n" +#~ "est tracé." -#~ msgid "could not create XPath object" -#~ msgstr "n'a pas pu créer l'objet XPath" +#~ msgid "Sets the maximum number of tables and indexes for which free space is tracked." +#~ msgstr "" +#~ "Initialise le nombre maximum de tables et index pour lesquels l'espace libre\n" +#~ "est tracé." -#, fuzzy -#~ msgid "wrong number of array_subscripts" -#~ msgstr "mauvais nombre d'indices du tableau" +#~ msgid "Uses the indented output format for EXPLAIN VERBOSE." +#~ msgstr "Utilise le format de sortie indenté pour EXPLAIN VERBOSE." -#~ msgid "fillfactor=%d is out of range (should be between %d and 100)" -#~ msgstr "le facteur de remplissage (%d) est en dehors des limites (il devrait être entre %d et 100)" +#~ msgid "Prints the execution plan to server log." +#~ msgstr "Affiche le plan d'exécution dans les journaux applicatifs du serveur." -#~ msgid "GIN index does not support search with void query" -#~ msgstr "les index GIN ne supportent pas la recherche avec des requêtes vides" +#~ msgid "Prints the parse tree after rewriting to server log." +#~ msgstr "Affiche l'arbre d'analyse après ré-écriture dans les journaux applicatifs du serveur." -#~ msgid "invalid LC_COLLATE setting" -#~ msgstr "paramètre LC_COLLATE invalide" +#~ msgid "Prints the parse tree to the server log." +#~ msgstr "Affiche l'arbre d'analyse dans les journaux applicatifs du serveur." -#~ msgid "invalid LC_CTYPE setting" -#~ msgstr "paramètre LC_CTYPE invalide" +#~ msgid "string is too long for tsvector" +#~ msgstr "la chaîne est trop longue pour un tsvector" -#~ msgid "The database cluster was initialized with LOCALE_NAME_BUFLEN %d, but the server was compiled with LOCALE_NAME_BUFLEN %d." +#~ msgid "Consider increasing the configuration parameter \"max_fsm_pages\" to a value over %.0f." #~ msgstr "" -#~ "Le cluster de bases de données a été initialisé avec un LOCALE_NAME_BUFLEN\n" -#~ "à %d alors que le serveur a été compilé avec un LOCALE_NAME_BUFLEN à %d." +#~ "Considérez l'augmentation du paramètre de configuration « max_fsm_pages »\n" +#~ "à une valeur supérieure à %.0f." -#~ msgid "It looks like you need to initdb or install locale support." -#~ msgstr "" -#~ "Il semble que vous avez besoin d'exécuter initdb ou d'installer le support\n" -#~ "des locales." +#~ msgid "number of page slots needed (%.0f) exceeds max_fsm_pages (%d)" +#~ msgstr "le nombre d'emplacements de pages nécessaires (%.0f) dépasse max_fsm_pages (%d)" -#~ msgid "log_restartpoints = %s" -#~ msgstr "log_restartpoints = %s" +#~ msgid "You have at least %d relations. Consider increasing the configuration parameter \"max_fsm_relations\"." +#~ msgstr "" +#~ "Vous avez au moins %d relations.Considèrez l'augmentation du paramètre de\n" +#~ "configuration « max_fsm_relations »." -#~ msgid "syntax error: cannot back up" -#~ msgstr "erreur de syntaxe : n'a pas pu revenir" +#~ msgid "max_fsm_relations(%d) equals the number of relations checked" +#~ msgstr "max_fsm_relations(%d) équivaut au nombre de relations tracées" -#~ msgid "syntax error; also virtual memory exhausted" -#~ msgstr "erreur de syntaxe ; de plus, mémoire virtuelle saturée" +#~ msgid "" +#~ "A total of %.0f page slots are in use (including overhead).\n" +#~ "%.0f page slots are required to track all free space.\n" +#~ "Current limits are: %d page slots, %d relations, using %.0f kB." +#~ msgstr "" +#~ "Un total de %.0f emplacements de pages est utilisé (ceci incluant la\n" +#~ "surcharge).\n" +#~ "%.0f emplacements de pages sont requis pour tracer tout l'espace libre.\n" +#~ "Les limites actuelles sont : %d emplacements de pages, %d relations,\n" +#~ "utilisant %.0f Ko." -#~ msgid "parser stack overflow" -#~ msgstr "saturation de la pile de l'analyseur" +#~ msgid "free space map contains %d pages in %d relations" +#~ msgstr "la structure FSM contient %d pages dans %d relations" -#~ msgid "failed to drop all objects depending on %s" -#~ msgstr "échec lors de la suppression de tous les objets dépendant de %s" +#~ msgid "max_fsm_pages must exceed max_fsm_relations * %d" +#~ msgstr "max_fsm_pages doit excéder max_fsm_relations * %d" -#~ msgid "there are objects dependent on %s" -#~ msgstr "des objets dépendent de %s" +#~ msgid "insufficient shared memory for free space map" +#~ msgstr "mémoire partagée insuffisante pour la structure FSM" -#~ msgid "multiple constraints named \"%s\" were dropped" -#~ msgstr "les contraintes multiples nommées « %s » ont été supprimées" +#~ msgid "could not set statistics collector timer: %m" +#~ msgstr "n'a pas pu configurer le timer du récupérateur de statistiques : %m" -#~ msgid "constraint definition for check constraint \"%s\" does not match" +#~ msgid "%s: the number of buffers (-B) must be at least twice the number of allowed connections (-N) and at least 16\n" #~ msgstr "" -#~ "la définition de la contrainte « %s » pour la contrainte de vérification ne\n" -#~ "correspond pas" +#~ "%s : le nombre de tampons (-B) doit être au moins deux fois le nombre de\n" +#~ "connexions disponibles (-N) et au moins 16\n" -#~ msgid "relation \"%s.%s\" contains more than \"max_fsm_pages\" pages with useful free space" -#~ msgstr "" -#~ "la relation « %s.%s » contient plus de « max_fsm_pages » pages d'espace\n" -#~ "libre utile" +#~ msgid "adding missing FROM-clause entry in subquery for table \"%s\"" +#~ msgstr "entrée manquante de la clause FROM dans la sous-requête pour la table « %s »" -#~ msgid "Consider using VACUUM FULL on this relation or increasing the configuration parameter \"max_fsm_pages\"." -#~ msgstr "" -#~ "Pensez à compacter cette relation en utilisant VACUUM FULL ou à augmenter le\n" -#~ "paramètre de configuration « max_fsm_pages »." +#~ msgid "missing FROM-clause entry in subquery for table \"%s\"" +#~ msgstr "entrée manquante de la clause FROM dans la sous-requête de la table « %s »" -#~ msgid "cannot change number of columns in view" -#~ msgstr "ne peut pas modifier le nombre de colonnes dans la vue" +#~ msgid "SELECT FOR UPDATE/SHARE is not supported for inheritance queries" +#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas supporté pour les requêtes d'héritage" -#~ msgid "unexpected Kerberos user name received from client (received \"%s\", expected \"%s\")" -#~ msgstr "" -#~ "nom d'utilisateur Kerberos inattendu reçu à partir du client (reçu « %s »,\n" -#~ "attendu « %s »)" +#~ msgid "Ident protocol identifies remote user as \"%s\"" +#~ msgstr "le protocole Ident identifie l'utilisateur distant comme « %s »" -#~ msgid "Kerberos 5 not implemented on this server" -#~ msgstr "Kerberos 5 non implémenté sur ce serveur" +#~ msgid "cannot use Ident authentication without usermap field" +#~ msgstr "n'a pas pu utiliser l'authentication Ident sans le champ usermap" -#~ msgid "GSSAPI not implemented on this server" -#~ msgstr "GSSAPI non implémenté sur ce serveur" +#~ msgid "missing field in file \"%s\" at end of line %d" +#~ msgstr "champ manquant dans le fichier « %s » à la fin de la ligne %d" -#~ msgid "could not get security token from context" -#~ msgstr "n'a pas pu récupérer le jeton de sécurité à partir du contexte" +#~ msgid "invalid entry in file \"%s\" at line %d, token \"%s\"" +#~ msgstr "entrée invalide dans le fichier « %s » à la ligne %d, jeton « %s »" -#~ msgid "unsafe permissions on private key file \"%s\"" -#~ msgstr "droits non sûrs sur le fichier de la clé privée « %s »" +#~ msgid "cannot use authentication method \"crypt\" because password is MD5-encrypted" +#~ msgstr "" +#~ "n'a pas pu utiliser la méthode d'authentification « crypt » car le mot de\n" +#~ "passe est chiffré avec MD5" #~ msgid "File must be owned by the database user and must have no permissions for \"group\" or \"other\"." #~ msgstr "" #~ "Le fichier doit appartenir au propriétaire de la base de données et ne doit\n" #~ "pas avoir de droits pour un groupe ou pour les autres." -#~ msgid "cannot use authentication method \"crypt\" because password is MD5-encrypted" -#~ msgstr "" -#~ "n'a pas pu utiliser la méthode d'authentification « crypt » car le mot de\n" -#~ "passe est chiffré avec MD5" +#~ msgid "unsafe permissions on private key file \"%s\"" +#~ msgstr "droits non sûrs sur le fichier de la clé privée « %s »" -#~ msgid "invalid entry in file \"%s\" at line %d, token \"%s\"" -#~ msgstr "entrée invalide dans le fichier « %s » à la ligne %d, jeton « %s »" +#~ msgid "could not get security token from context" +#~ msgstr "n'a pas pu récupérer le jeton de sécurité à partir du contexte" -#~ msgid "missing field in file \"%s\" at end of line %d" -#~ msgstr "champ manquant dans le fichier « %s » à la fin de la ligne %d" +#~ msgid "GSSAPI not implemented on this server" +#~ msgstr "GSSAPI non implémenté sur ce serveur" -#~ msgid "cannot use Ident authentication without usermap field" -#~ msgstr "n'a pas pu utiliser l'authentication Ident sans le champ usermap" +#~ msgid "Kerberos 5 not implemented on this server" +#~ msgstr "Kerberos 5 non implémenté sur ce serveur" -#~ msgid "Ident protocol identifies remote user as \"%s\"" -#~ msgstr "le protocole Ident identifie l'utilisateur distant comme « %s »" +#~ msgid "unexpected Kerberos user name received from client (received \"%s\", expected \"%s\")" +#~ msgstr "" +#~ "nom d'utilisateur Kerberos inattendu reçu à partir du client (reçu « %s »,\n" +#~ "attendu « %s »)" -#~ msgid "SELECT FOR UPDATE/SHARE is not supported for inheritance queries" -#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas supporté pour les requêtes d'héritage" +#~ msgid "cannot change number of columns in view" +#~ msgstr "ne peut pas modifier le nombre de colonnes dans la vue" -#~ msgid "missing FROM-clause entry in subquery for table \"%s\"" -#~ msgstr "entrée manquante de la clause FROM dans la sous-requête de la table « %s »" +#~ msgid "Consider using VACUUM FULL on this relation or increasing the configuration parameter \"max_fsm_pages\"." +#~ msgstr "" +#~ "Pensez à compacter cette relation en utilisant VACUUM FULL ou à augmenter le\n" +#~ "paramètre de configuration « max_fsm_pages »." -#~ msgid "adding missing FROM-clause entry in subquery for table \"%s\"" -#~ msgstr "entrée manquante de la clause FROM dans la sous-requête pour la table « %s »" +#~ msgid "relation \"%s.%s\" contains more than \"max_fsm_pages\" pages with useful free space" +#~ msgstr "" +#~ "la relation « %s.%s » contient plus de « max_fsm_pages » pages d'espace\n" +#~ "libre utile" -#~ msgid "%s: the number of buffers (-B) must be at least twice the number of allowed connections (-N) and at least 16\n" +#~ msgid "constraint definition for check constraint \"%s\" does not match" #~ msgstr "" -#~ "%s : le nombre de tampons (-B) doit être au moins deux fois le nombre de\n" -#~ "connexions disponibles (-N) et au moins 16\n" +#~ "la définition de la contrainte « %s » pour la contrainte de vérification ne\n" +#~ "correspond pas" -#~ msgid "could not set statistics collector timer: %m" -#~ msgstr "n'a pas pu configurer le timer du récupérateur de statistiques : %m" +#~ msgid "multiple constraints named \"%s\" were dropped" +#~ msgstr "les contraintes multiples nommées « %s » ont été supprimées" -#~ msgid "insufficient shared memory for free space map" -#~ msgstr "mémoire partagée insuffisante pour la structure FSM" +#~ msgid "there are objects dependent on %s" +#~ msgstr "des objets dépendent de %s" -#~ msgid "max_fsm_pages must exceed max_fsm_relations * %d" -#~ msgstr "max_fsm_pages doit excéder max_fsm_relations * %d" +#~ msgid "failed to drop all objects depending on %s" +#~ msgstr "échec lors de la suppression de tous les objets dépendant de %s" + +#~ msgid "parser stack overflow" +#~ msgstr "saturation de la pile de l'analyseur" + +#~ msgid "syntax error; also virtual memory exhausted" +#~ msgstr "erreur de syntaxe ; de plus, mémoire virtuelle saturée" -#~ msgid "free space map contains %d pages in %d relations" -#~ msgstr "la structure FSM contient %d pages dans %d relations" +#~ msgid "syntax error: cannot back up" +#~ msgstr "erreur de syntaxe : n'a pas pu revenir" -#~ msgid "" -#~ "A total of %.0f page slots are in use (including overhead).\n" -#~ "%.0f page slots are required to track all free space.\n" -#~ "Current limits are: %d page slots, %d relations, using %.0f kB." -#~ msgstr "" -#~ "Un total de %.0f emplacements de pages est utilisé (ceci incluant la\n" -#~ "surcharge).\n" -#~ "%.0f emplacements de pages sont requis pour tracer tout l'espace libre.\n" -#~ "Les limites actuelles sont : %d emplacements de pages, %d relations,\n" -#~ "utilisant %.0f Ko." +#~ msgid "log_restartpoints = %s" +#~ msgstr "log_restartpoints = %s" -#~ msgid "max_fsm_relations(%d) equals the number of relations checked" -#~ msgstr "max_fsm_relations(%d) équivaut au nombre de relations tracées" +#~ msgid "It looks like you need to initdb or install locale support." +#~ msgstr "" +#~ "Il semble que vous avez besoin d'exécuter initdb ou d'installer le support\n" +#~ "des locales." -#~ msgid "You have at least %d relations. Consider increasing the configuration parameter \"max_fsm_relations\"." +#~ msgid "The database cluster was initialized with LOCALE_NAME_BUFLEN %d, but the server was compiled with LOCALE_NAME_BUFLEN %d." #~ msgstr "" -#~ "Vous avez au moins %d relations.Considèrez l'augmentation du paramètre de\n" -#~ "configuration « max_fsm_relations »." +#~ "Le cluster de bases de données a été initialisé avec un LOCALE_NAME_BUFLEN\n" +#~ "à %d alors que le serveur a été compilé avec un LOCALE_NAME_BUFLEN à %d." -#~ msgid "number of page slots needed (%.0f) exceeds max_fsm_pages (%d)" -#~ msgstr "le nombre d'emplacements de pages nécessaires (%.0f) dépasse max_fsm_pages (%d)" +#~ msgid "invalid LC_CTYPE setting" +#~ msgstr "paramètre LC_CTYPE invalide" -#~ msgid "Consider increasing the configuration parameter \"max_fsm_pages\" to a value over %.0f." -#~ msgstr "" -#~ "Considérez l'augmentation du paramètre de configuration « max_fsm_pages »\n" -#~ "à une valeur supérieure à %.0f." +#~ msgid "invalid LC_COLLATE setting" +#~ msgstr "paramètre LC_COLLATE invalide" -#~ msgid "string is too long for tsvector" -#~ msgstr "la chaîne est trop longue pour un tsvector" +#~ msgid "GIN index does not support search with void query" +#~ msgstr "les index GIN ne supportent pas la recherche avec des requêtes vides" -#~ msgid "Prints the parse tree to the server log." -#~ msgstr "Affiche l'arbre d'analyse dans les journaux applicatifs du serveur." +#~ msgid "fillfactor=%d is out of range (should be between %d and 100)" +#~ msgstr "le facteur de remplissage (%d) est en dehors des limites (il devrait être entre %d et 100)" -#~ msgid "Prints the parse tree after rewriting to server log." -#~ msgstr "Affiche l'arbre d'analyse après ré-écriture dans les journaux applicatifs du serveur." +#, fuzzy +#~ msgid "wrong number of array_subscripts" +#~ msgstr "mauvais nombre d'indices du tableau" -#~ msgid "Prints the execution plan to server log." -#~ msgstr "Affiche le plan d'exécution dans les journaux applicatifs du serveur." +#~ msgid "could not create XPath object" +#~ msgstr "n'a pas pu créer l'objet XPath" -#~ msgid "Uses the indented output format for EXPLAIN VERBOSE." -#~ msgstr "Utilise le format de sortie indenté pour EXPLAIN VERBOSE." +#~ msgid "multiple TRUNCATE events specified" +#~ msgstr "multiples événements TRUNCATE spécifiés" -#~ msgid "Sets the maximum number of tables and indexes for which free space is tracked." -#~ msgstr "" -#~ "Initialise le nombre maximum de tables et index pour lesquels l'espace libre\n" -#~ "est tracé." +#~ msgid "multiple UPDATE events specified" +#~ msgstr "multiples événements UPDATE spécifiés" -#~ msgid "Sets the maximum number of disk pages for which free space is tracked." -#~ msgstr "" -#~ "Initialise le nombre maximum de pages disque pour lesquelles l'espace libre\n" -#~ "est tracé." +#~ msgid "multiple DELETE events specified" +#~ msgstr "multiples événements DELETE spécifiés" -#~ msgid "Valid values are ON, OFF, and SAFE_ENCODING." -#~ msgstr "Les valeurs valides sont ON, OFF et SAFE_ENCODING." +#~ msgid "hurrying in-progress restartpoint" +#~ msgstr "accélération du restartpoint en cours" -#~ msgid "Valid values are DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, WARNING, ERROR, LOG, FATAL, and PANIC. Each level includes all the levels that follow it." -#~ msgstr "" -#~ "Les valeurs valides sont DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO,\n" -#~ "NOTICE, WARNING, ERROR, LOG, FATAL et PANIC. Chaque niveau incut tous les\n" -#~ "niveaux qui le suit." +#~ msgid "NEW used in query that is not in a rule" +#~ msgstr "NEW utilisé dans une requête qui ne fait pas partie d'une règle" -#~ msgid "All SQL statements that cause an error of the specified level or a higher level are logged." -#~ msgstr "" -#~ "Toutes les instructions SQL causant une erreur du niveau spécifié ou d'un\n" -#~ "niveau supérieur sont tracées." +#~ msgid "OLD used in query that is not in a rule" +#~ msgstr "OLD utilisé dans une requête qui n'est pas une règle" -#~ msgid "Each SQL transaction has an isolation level, which can be either \"read uncommitted\", \"read committed\", \"repeatable read\", or \"serializable\"." -#~ msgstr "" -#~ "Chaque transaction SQL a un niveau d'isolation qui peut être soit « read\n" -#~ "uncommitted », soit « read committed », soit « repeatable read », soit\n" -#~ "« serializable »." +#~ msgid "adding missing FROM-clause entry for table \"%s\"" +#~ msgstr "ajout d'une entrée manquante dans FROM (table « %s »)" -#~ msgid "Each session can be either \"origin\", \"replica\", or \"local\"." -#~ msgstr "Chaque session peut valoir soit « origin » soit « replica » soit « local »." +#~ msgid "SELECT FOR UPDATE/SHARE is not allowed in subqueries" +#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé dans les sous-requêtes" -#~ msgid "Sets realm to match Kerberos and GSSAPI users against." -#~ msgstr "" -#~ "Indique le royaume pour l'authentification des utilisateurs via Kerberos et\n" -#~ "GSSAPI." +#~ msgid "unsupported PAM conversation %d/%s" +#~ msgstr "conversation PAM %d/%s non supportée" -#~ msgid "Sets the hostname of the Kerberos server." -#~ msgstr "Initalise le nom d'hôte du serveur Kerberos." +#~ msgid "could not seek to end of segment %u of relation %s: %m" +#~ msgstr "n'a pas pu se déplacer à la fin du segment %u de la relation %s : %m" -#~ msgid "This can be set to advanced, extended, or basic." +#~ msgid "could not fsync segment %u of relation %s but retrying: %m" #~ msgstr "" -#~ "Ceci peut être initialisé avec advanced (avancé), extended (étendu) ou\n" -#~ "basic (basique)." +#~ "n'a pas pu synchroniser sur disque (fsync) le segment %u de la relation\n" +#~ "%s, nouvelle tentative : %m" -#~ msgid "Valid values are LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7." +#~ msgid "could not fsync segment %u of relation %s: %m" #~ msgstr "" -#~ "Les valeurs valides sont LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5,\n" -#~ "LOCAL6, LOCAL7." +#~ "n'a pas pu synchroniser sur disque (fsync) le segment %u de la relation\n" +#~ "%s : %m" -#~ msgid "Valid values are DOCUMENT and CONTENT." -#~ msgstr "Les valeurs valides sont DOCUMENT et CONTENT." +#~ msgid "could not open segment %u of relation %s: %m" +#~ msgstr "n'a pas pu ouvrir le segment %u de la relation %s : %m" -#~ msgid "invalid argument for power function" -#~ msgstr "argument invalide pour la fonction puissance (power)" +#~ msgid "could not write block %u of relation %s: %m" +#~ msgstr "n'a pas pu écrire le bloc %u de la relation %s : %m" -#~ msgid "not unique \"S\"" -#~ msgstr "« S » non unique" +#~ msgid "could not read block %u of relation %s: %m" +#~ msgstr "n'a pas pu lire le bloc %u de la relation %s : %m" -#~ msgid "invalid AM/PM string" -#~ msgstr "chaîne AM/PM invalide" +#~ msgid "could not open relation %s: %m" +#~ msgstr "n'a pas pu ouvrir la relation %s : %m" -#~ msgid "\"TZ\"/\"tz\" not supported" -#~ msgstr "« TZ »/« tz » non supporté" +#~ msgid "could not extend relation %s: %m" +#~ msgstr "n'a pas pu étendre la relation %s : %m" -#~ msgid "January" -#~ msgstr "Janvier" +#~ msgid "could not seek to block %u of relation %s: %m" +#~ msgstr "n'a pas pu se positionner sur le bloc %u de la relation %s : %m" -#~ msgid "February" -#~ msgstr "Février" +#~ msgid "could not remove segment %u of relation %s: %m" +#~ msgstr "n'a pas pu supprimer le segment %u de la relation %s : %m" -#~ msgid "March" -#~ msgstr "Mars" +#~ msgid "could not remove relation %s: %m" +#~ msgstr "n'a pas pu supprimer la relation %s : %m" -#~ msgid "April" -#~ msgstr "Avril" +#~ msgid "SELECT FOR UPDATE/SHARE is not supported within a query with multiple result relations" +#~ msgstr "" +#~ "SELECT FOR UPDATE/SHARE n'est pas supporté dans une requête avec plusieurs\n" +#~ "relations" -#~ msgid "May" -#~ msgstr "Mai" +#~ msgid "cannot set session authorization within security-definer function" +#~ msgstr "ne peut pas exécuter SESSION AUTHORIZATION sur la fonction SECURITY DEFINER" -#~ msgid "June" -#~ msgstr "Juin" +#~ msgid "cannot specify CSV in BINARY mode" +#~ msgstr "ne peut pas spécifier CSV en mode binaire (BINARY)" -#~ msgid "July" -#~ msgstr "Juillet" +#~ msgid "invalid role password \"%s\"" +#~ msgstr "mot de passe « %s » de l'utilisateur invalide" -#~ msgid "August" -#~ msgstr "Août" +#~ msgid "invalid role name \"%s\"" +#~ msgstr "nom de rôle « %s » invalide" -#~ msgid "September" -#~ msgstr "Septembre" +#~ msgid "invalid database name \"%s\"" +#~ msgstr "nom de base de données « %s » invalide" -#~ msgid "October" -#~ msgstr "Octobre" +#~ msgid "This parameter cannot be changed after server start." +#~ msgstr "Ce paramètre ne peut pas être modifié après le lancement du serveur" -#~ msgid "November" -#~ msgstr "Novembre" +#~ msgid "attempted change of parameter \"%s\" ignored" +#~ msgstr "tentative de modification du paramètre « %s » ignoré" -#~ msgid "December" -#~ msgstr "Décembre" +#~ msgid "Sets the regular expression \"flavor\"." +#~ msgstr "Initialise l'expression rationnelle « flavor »." -#~ msgid "Jan" -#~ msgstr "Jan" +#~ msgid "Automatically adds missing table references to FROM clauses." +#~ msgstr "" +#~ "Ajoute automatiquement les références à la table manquant dans les clauses\n" +#~ "FROM." -#~ msgid "Feb" -#~ msgstr "Fév" +#~ msgid "Table contains duplicated values." +#~ msgstr "La table contient des valeurs dupliquées." -#~ msgid "Mar" -#~ msgstr "Mar" +#~ msgid "index row size %lu exceeds btree maximum, %lu" +#~ msgstr "la taille de la ligne index %lu dépasse le maximum de btree, %lu" -#~ msgid "Apr" -#~ msgstr "Avr" +#~ msgid "DISTINCT is supported only for single-argument aggregates" +#~ msgstr "DISTINCT est seulement supporté pour les agrégats à un seul argument" -#~ msgid "S:May" -#~ msgstr "S:Mai" +#~ msgid "database system is in consistent recovery mode" +#~ msgstr "le système de bases de données est dans un mode de restauration cohérent" -#~ msgid "Jun" -#~ msgstr "Juin" +#~ msgid "frame start at CURRENT ROW is not implemented" +#~ msgstr "début du frame à CURRENT ROW n'est pas implémenté" -#~ msgid "Jul" -#~ msgstr "Juil" +#~ msgid "Rebuild the index with REINDEX." +#~ msgstr "Reconstruisez l'index avec REINDEX." + +#~ msgid "index \"%s\" contains %.0f row versions, but table contains %.0f row versions" +#~ msgstr "" +#~ "l'index « %s » contient %.0f versions de ligne, mais la table contient %.0f\n" +#~ "versions de ligne" + +#~ msgid "" +#~ "%u index pages have been deleted, %u are currently reusable.\n" +#~ "%s." +#~ msgstr "" +#~ "%u pages d'index ont été supprimées, %u sont actuellement réutilisables.\n" +#~ "%s." + +#~ msgid "\"%s\": moved %u row versions, truncated %u to %u pages" +#~ msgstr "« %s » : %u versions de ligne déplacées, %u pages tronquées sur %u" + +#~ msgid "" +#~ "%.0f dead row versions cannot be removed yet.\n" +#~ "Nonremovable row versions range from %lu to %lu bytes long.\n" +#~ "There were %.0f unused item pointers.\n" +#~ "Total free space (including removable row versions) is %.0f bytes.\n" +#~ "%u pages are or will become empty, including %u at the end of the table.\n" +#~ "%u pages containing %.0f free bytes are potential move destinations.\n" +#~ "%s." +#~ msgstr "" +#~ "%.0f versions de lignes mortes ne peuvent pas encore être supprimées.\n" +#~ "Les versions non supprimables de ligne vont de %lu to %lu octets.\n" +#~ "Il existait %.0f pointeurs d'éléments inutilisés.\n" +#~ "L'espace libre total (incluant les versions supprimables de ligne) est de\n" +#~ "%.0f octets.\n" +#~ "%u pages sont ou deviendront vides, ceci incluant %u pages en fin de la\n" +#~ "table.\n" +#~ "%u pages contenant %.0f octets libres sont des destinations de déplacement\n" +#~ "disponibles.\n" +#~ "%s." -#~ msgid "Aug" -#~ msgstr "Aoû" +#~ msgid "relation \"%s\" TID %u/%u: DeleteTransactionInProgress %u --- cannot shrink relation" +#~ msgstr "" +#~ "relation « %s », TID %u/%u : DeleteTransactionInProgress %u --- n'a pas pu\n" +#~ "diminuer la taille de la relation" -#~ msgid "Sep" -#~ msgstr "Sep" +#~ msgid "relation \"%s\" TID %u/%u: InsertTransactionInProgress %u --- cannot shrink relation" +#~ msgstr "" +#~ "relation « %s », TID %u/%u : InsertTransactionInProgress %u --- n'a pas pu\n" +#~ "diminuer la taille de la relation" -#~ msgid "Oct" -#~ msgstr "Oct" +#~ msgid "relation \"%s\" TID %u/%u: dead HOT-updated tuple --- cannot shrink relation" +#~ msgstr "" +#~ "relation « %s », TID %u/%u : ligne morte mise à jour par HOT --- n'a pas pu\n" +#~ "diminuer la taille de la relation" -#~ msgid "Nov" -#~ msgstr "Nov" +#~ msgid "relation \"%s\" TID %u/%u: XMIN_COMMITTED not set for transaction %u --- cannot shrink relation" +#~ msgstr "" +#~ "relation « %s », TID %u/%u : XMIN_COMMITTED non configuré pour la\n" +#~ "transaction %u --- n'a pas pu diminuer la taille de la relation" -#~ msgid "Dec" -#~ msgstr "Déc" +#~ msgid "directory \"%s\" is not empty" +#~ msgstr "le répertoire « %s » n'est pas vide" -#~ msgid "Sunday" -#~ msgstr "Dimanche" +#~ msgid "number of distinct values %g is too low" +#~ msgstr "le nombre de valeurs distinctes %g est trop basse" -#~ msgid "Monday" -#~ msgstr "Lundi" +#~ msgid "cannot truncate system relation \"%s\"" +#~ msgstr "ne peut pas tronquer la relation système « %s »" -#~ msgid "Tuesday" -#~ msgstr "Mardi" +#~ msgid "shared table \"%s\" can only be reindexed in stand-alone mode" +#~ msgstr "la table partagée « %s » peut seulement être réindexé en mode autonome" -#~ msgid "Wednesday" -#~ msgstr "Mercredi" +#~ msgid "\"%s\" is a system catalog" +#~ msgstr "« %s » est un catalogue système" -#~ msgid "Thursday" -#~ msgstr "Jeudi" +#~ msgid "shared index \"%s\" can only be reindexed in stand-alone mode" +#~ msgstr "un index partagé « %s » peut seulement être réindexé en mode autonome" -#~ msgid "Friday" -#~ msgstr "Vendredi" +#~ msgid "Sets the language used in DO statement if LANGUAGE is not specified." +#~ msgstr "" +#~ "Configure le langage utilisé dans une instruction DO si la clause LANGUAGE n'est\n" +#~ "pas spécifiée." -#~ msgid "Saturday" -#~ msgstr "Samedi" +#~ msgid "This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by \"client_encoding\"." +#~ msgstr "" +#~ "Cette erreur peut aussi survenir si la séquence d'octets ne correspond pas\n" +#~ "au jeu de caractères attendu par le serveur, le jeu étant contrôlé par\n" +#~ "« client_encoding »." -#~ msgid "Sun" -#~ msgstr "Dim" +#~ msgid "redo starts at %X/%X, consistency will be reached at %X/%X" +#~ msgstr "la restauration comme à %X/%X, la cohérence sera atteinte à %X/%X" -#~ msgid "Mon" -#~ msgstr "Lun" +#~ msgid "binary value is out of range for type bigint" +#~ msgstr "la valeur binaire est en dehors des limites du type bigint" -#~ msgid "Tue" -#~ msgstr "Mar" +#~ msgid "transaction is read-only" +#~ msgstr "la transaction est en lecture seule" -#~ msgid "Wed" -#~ msgstr "Mer" +#~ msgid "PID %d is among the slowest backends." +#~ msgstr "Le PID %d est parmi les processus serveur les plus lents." -#~ msgid "Thu" -#~ msgstr "Jeu" +#, fuzzy +#~ msgid "invalid WAL message received from primary" +#~ msgstr "format du message invalide" -#~ msgid "Fri" -#~ msgstr "Ven" +#, fuzzy +#~ msgid "sorry, too many standbys already" +#~ msgstr "désolé, trop de clients sont déjà connectés" -#~ msgid "Sat" -#~ msgstr "Sam" +#~ msgid "WAL file SYSID is %s, pg_control SYSID is %s" +#~ msgstr "le SYSID du journal de transactions WAL est %s, celui de pg_control est %s" -#~ msgid "AM/PM hour must be between 1 and 12" -#~ msgstr "l'heure AM/PM doit être compris entre 1 et 12" +#, fuzzy +#~ msgid "couldn't put socket to blocking mode: %m" +#~ msgstr "n'a pas pu activer le mode bloquant pour la socket : %s\n" -#~ msgid "UTF-16 to UTF-8 translation failed: %lu" -#~ msgstr "échec de la conversion d'UTF16 vers UTF8 : %lu" +#, fuzzy +#~ msgid "couldn't put socket to non-blocking mode: %m" +#~ msgstr "n'a pas pu activer le mode non-bloquant pour la socket : %s\n" -#~ msgid "cannot calculate week number without year information" -#~ msgstr "ne peut pas calculer le numéro de la semaine sans informations sur l'année" +#~ msgid "not enough shared memory for background writer" +#~ msgstr "pas assez de mémoire partagée pour le processus d'écriture en tâche de fond" -#~ msgid "query requires full scan, which is not supported by GIN indexes" -#~ msgstr "" -#~ "la requête nécessite un parcours complet, ce qui n'est pas supporté par les\n" -#~ "index GIN" +#~ msgid "connection limit exceeded for non-superusers" +#~ msgstr "limite de connexions dépassée pour les utilisateurs standards" -#~ msgid "@@ operator does not support lexeme weight restrictions in GIN index searches" +#~ msgid "not enough shared memory for walreceiver" #~ msgstr "" -#~ "l'opérateur @@ ne supporte pas les restrictions de poids de lexeme dans les\n" -#~ "recherches par index GIN" - -#~ msgid "Use the @@@ operator instead." -#~ msgstr "Utilisez à la place l'opérateur @@@." +#~ "pas assez de mémoire partagée pour le processus de réception des journaux de\n" +#~ "transactions" -#~ msgid "unexpected delimiter at line %d of thesaurus file \"%s\"" -#~ msgstr "délimiteur inattendu sur la ligne %d du thesaurus « %s »" +#~ msgid "not enough shared memory for walsender" +#~ msgstr "pas assez de mémoire partagée pour le processus d'envoi des journaux de transactions" -#~ msgid "unexpected end of line or lexeme at line %d of thesaurus file \"%s\"" -#~ msgstr "fin de ligne ou de lexeme inattendu sur la ligne %d du thesaurus « %s »" +#~ msgid "unlogged operation performed, data may be missing" +#~ msgstr "opération réalisée non tracée, les données pourraient manquer" -#~ msgid "unexpected end of line at line %d of thesaurus file \"%s\"" -#~ msgstr "fin de ligne inattendue à la ligne %d du thésaurus « %s »" +#~ msgid "During recovery, allows connections and queries. During normal running, causes additional info to be written to WAL to enable hot standby mode on WAL standby nodes." +#~ msgstr "" +#~ "Lors de la restauration, autorise les connexions et les requêtes. Lors d'une\n" +#~ "exécution normale, fait que des informations supplémentaires sont écrites dans\n" +#~ "les journaux de transactions pour activer le mode Hot Standby sur les nœuds\n" +#~ "en attente." -#~ msgid "could not remove database directory \"%s\"" -#~ msgstr "n'a pas pu supprimer le répertoire de bases de données « %s »" +#~ msgid "archive_command must be defined before online backups can be made safely." +#~ msgstr "" +#~ "archive_command doit être défini avant que les sauvegardes à chaud puissent\n" +#~ "s'effectuer correctement." -#~ msgid "index \"%s\" is not ready" -#~ msgstr "l'index « %s » n'est pas prêt" +#~ msgid "archive_mode must be enabled at server start." +#~ msgstr "archive_mode doit être activé au lancement du serveur." -#~ msgid "argument number is out of range" -#~ msgstr "le nombre en argument est en dehors des limites" +#~ msgid "WAL archiving is not active" +#~ msgstr "l'archivage des journaux de transactions n'est pas actif" -#~ msgid "No rows were found in \"%s\"." -#~ msgstr "Aucune ligne trouvée dans « %s »." +#~ msgid "usermap \"%s\"" +#~ msgstr "correspondance utilisateur « %s »" -#~ msgid "inconsistent use of year %04d and \"BC\"" -#~ msgstr "utilisation non cohérente de l'année %04d et de « BC »" +#~ msgid "restartpoint_command = '%s'" +#~ msgstr "restartpoint_command = '%s'" -#~ msgid "\"interval\" time zone \"%s\" not valid" -#~ msgstr "le fuseau horaire « %s » n'est pas valide pour le type « interval »" +#~ msgid "recovery restart point at %X/%X with latest known log time %s" +#~ msgstr "" +#~ "point de relancement de la restauration sur %X/%X avec %s comme dernière\n" +#~ "date connue du journal" -#~ msgid "Not enough memory for reassigning the prepared transaction's locks." -#~ msgstr "Pas assez de mémoire pour réaffecter les verrous des transactions préparées." +#~ msgid "Not safe to send CSV data\n" +#~ msgstr "Envoi non sûr des données CSV\n" -#~ msgid "large object %u was already dropped" -#~ msgstr "le « Large Object » %u a déjà été supprimé" +#~ msgid "Sets the message levels that are logged during recovery." +#~ msgstr "Initialise les niveaux de messages qui sont tracés lors de la restauration." -#~ msgid "large object %u was not opened for writing" -#~ msgstr "le « Large Object » %u n'a pas été ouvert en écriture" +#~ msgid "parameter \"standby_mode\" requires a Boolean value" +#~ msgstr "le paramètre « standby_mode » requiert une valeur booléenne" -#~ msgid "invalid standby query string: %s" -#~ msgstr "chaîne de requête invalide sur le serveur en attente : %s" +#~ msgid "parameter \"recovery_target_inclusive\" requires a Boolean value" +#~ msgstr "le paramètre « recovery_target_inclusive » requiert une valeur booléenne" -#~ msgid "terminating walsender process to force cascaded standby to update timeline and reconnect" +#~ msgid "cannot drop \"%s\" because it is being used by active queries in this session" #~ msgstr "" -#~ "arrêt du processus walreceiver pour forcer le serveur standby en cascade à\n" -#~ "mettre à jour la timeline et à se reconnecter" - -#~ msgid "invalid standby handshake message type %d" -#~ msgstr "type %d du message de handshake du serveur en attente invalide" +#~ "ne peut pas supprimer « %s » car cet objet est en cours d'utilisation par\n" +#~ "des requêtes actives dans cette session" -#~ msgid "streaming replication successfully connected to primary" -#~ msgstr "réplication de flux connecté avec succès au serveur principal" +#~ msgid "unrecognized \"log_destination\" key word: \"%s\"" +#~ msgstr "mot clé « log_destination » non reconnu : « %s »" -#~ msgid "shutdown requested, aborting active base backup" -#~ msgstr "arrêt demandé, annulation de la sauvegarde active de base" +#~ msgid "invalid list syntax for parameter \"log_destination\"" +#~ msgstr "syntaxe de liste invalide pour le paramètre « log_destination »" -#~ msgid "terminating all walsender processes to force cascaded standby(s) to update timeline and reconnect" -#~ msgstr "" -#~ "arrêt de tous les processus walsender pour forcer les serveurs standby en\n" -#~ "cascade à mettre à jour la timeline et à se reconnecter" +#~ msgid "Sets immediate fsync at commit." +#~ msgstr "Configure un fsync immédiat lors du commit." -#~ msgid "" -#~ "This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter. You can either reduce the request size or reconfigure the kernel with larger SHMMAX. To reduce the request size (currently %lu bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.\n" -#~ "If the request size is already small, it's possible that it is less than your kernel's SHMMIN parameter, in which case raising the request size or reconfiguring SHMMIN is called for.\n" -#~ "The PostgreSQL documentation contains more information about shared memory configuration." -#~ msgstr "" -#~ "Cette erreur signifie habituellement que la demande de PostgreSQL pour un\n" -#~ "segment de mémoire partagée a dépassé le paramètre SHMMAX de votre noyau.\n" -#~ "Vous pouvez soit réduire la taille de la requête soit reconfigurer le noyau\n" -#~ "avec un SHMMAX plus important. Pour réduire la taille de la requête\n" -#~ "(actuellement %lu octets), réduisez l'utilisation de la mémoire partagée par PostgreSQL,par exemple en réduisant shared_buffers ou max_connections\n" -#~ "Si la taille de la requête est déjà petite, il est possible qu'elle soit\n" -#~ "moindre que le paramètre SHMMIN de votre noyau, auquel cas, augmentez la\n" -#~ "taille de la requête ou reconfigurez SHMMIN.\n" -#~ "La documentation de PostgreSQL contient plus d'informations sur la\n" -#~ "configuration de la mémoire partagée." +#~ msgid "could not open new log file \"%s\": %m" +#~ msgstr "n'a pas pu ouvrir le nouveau journal applicatif « %s » : %m" -#~ msgid "cannot use window function in rule WHERE condition" -#~ msgstr "ne peut pas utiliser la fonction window dans la condition d'une règle WHERE" +#~ msgid "could not create log file \"%s\": %m" +#~ msgstr "n'a pas pu créer le journal applicatif « %s » : %m" -#~ msgid "cannot use aggregate function in rule WHERE condition" -#~ msgstr "ne peut pas utiliser la fonction d'agrégat dans la condition d'une règle WHERE" +#~ msgid "Ident authentication is not supported on local connections on this platform" +#~ msgstr "l'authentification Ident n'est pas supportée sur les connexions locales sur cette plateforme" -#~ msgid "arguments of row IN must all be row expressions" -#~ msgstr "les arguments de la ligne IN doivent tous être des expressions de ligne" +#~ msgid "could not get effective UID from peer credentials: %m" +#~ msgstr "n'a pas pu obtenir l'UID réel à partir des pièces d'identité de l'autre : %m" -#~ msgid "argument of %s must not contain window functions" -#~ msgstr "l'argument de %s ne doit pas contenir des fonctions window" +#~ msgid "could not enable credential reception: %m" +#~ msgstr "n'a pas pu activer la réception de lettres de créance : %m" -#~ msgid "argument of %s must not contain aggregate functions" -#~ msgstr "l'argument de %s ne doit pas contenir de fonctions d'agrégats" +#~ msgid "argument to pg_get_expr() must come from system catalogs" +#~ msgstr "l'argument de pg_get_expr() doit provenir des catalogues systèmes" -#~ msgid "cannot use window function in function expression in FROM" -#~ msgstr "" -#~ "ne peut pas utiliser la fonction window dans l'expression de la fonction\n" -#~ "du FROM" +#~ msgid "invalid interval value for time zone: day not allowed" +#~ msgstr "valeur d'intervalle invalide pour le fuseau horaire : jour non autorisé" -#~ msgid "function expression in FROM cannot refer to other relations of same query level" -#~ msgstr "" -#~ "l'expression de la fonction du FROM ne peut pas faire référence à d'autres\n" -#~ "relations sur le même niveau de la requête" +#~ msgid "invalid interval value for time zone: month not allowed" +#~ msgstr "valeur d'intervalle invalide pour le fuseau horaire : les mois ne sont pas autorisés" -#~ msgid "subquery in FROM cannot refer to other relations of same query level" -#~ msgstr "" -#~ "la sous-requête du FROM ne peut pas faire référence à d'autres relations\n" -#~ "dans le même niveau de la requête" +#~ msgid "unrecognized \"datestyle\" key word: \"%s\"" +#~ msgstr "mot clé « datestyle » non reconnu : « %s »" -#~ msgid "JOIN/ON clause refers to \"%s\", which is not part of JOIN" -#~ msgstr "la clause JOIN/ON se réfère à « %s », qui ne fait pas partie du JOIN" +#~ msgid "invalid list syntax for parameter \"datestyle\"" +#~ msgstr "syntaxe de liste invalide pour le paramètre « datestyle »" -#~ msgid "window functions not allowed in GROUP BY clause" -#~ msgstr "fonctions window non autorisées dans une clause GROUP BY" +#~ msgid "database \"%s\" not found" +#~ msgstr "base de données « %s » non trouvée" -#~ msgid "aggregates not allowed in WHERE clause" -#~ msgstr "agrégats non autorisés dans une clause WHERE" +#~ msgid "composite type must have at least one attribute" +#~ msgstr "le type composite doit avoir au moins un attribut" -#~ msgid "SELECT FOR UPDATE/SHARE cannot be used with foreign table \"%s\"" -#~ msgstr "SELECT FOR UPDATE/SHARE ne peut pas être utilisé avec une table distante « %s »" +#~ msgid "cannot reference permanent table from temporary table constraint" +#~ msgstr "" +#~ "ne peut pas référencer une table permanente à partir de la contrainte de\n" +#~ "table temporaire" -#~ msgid "SELECT FOR UPDATE/SHARE is not allowed with window functions" -#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé avec les fonctions window" +#~ msgid "cannot reference temporary table from permanent table constraint" +#~ msgstr "" +#~ "ne peut pas référencer une table temporaire à partir d'une contrainte de\n" +#~ "table permanente" -#~ msgid "SELECT FOR UPDATE/SHARE is not allowed with aggregate functions" -#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé avec les fonctions d'agrégats" +#~ msgid "function \"%s\" is already in schema \"%s\"" +#~ msgstr "la fonction « %s » existe déjà dans le schéma « %s »" -#~ msgid "SELECT FOR UPDATE/SHARE is not allowed with HAVING clause" -#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé avec la clause HAVING" +#~ msgid "must be superuser to comment on text search template" +#~ msgstr "" +#~ "doit être super-utilisateur pour ajouter un commentaire sur un modèle de\n" +#~ "recherche plein texte" -#~ msgid "SELECT FOR UPDATE/SHARE is not allowed with GROUP BY clause" -#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé avec la clause GROUP BY" +#~ msgid "must be superuser to comment on text search parser" +#~ msgstr "" +#~ "doit être super-utilisateur pour ajouter un commentaire sur l'analyseur de\n" +#~ "recherche plein texte" -#~ msgid "RETURNING cannot contain references to other relations" -#~ msgstr "RETURNING ne doit pas contenir de références à d'autres relations" +#~ msgid "must be superuser to comment on procedural language" +#~ msgstr "" +#~ "doit être super-utilisateur pour ajouter un commentaire sur un langage de\n" +#~ "procédures" -#~ msgid "cannot use window function in RETURNING" -#~ msgstr "ne peut pas utiliser une fonction window dans RETURNING" +#~ msgid "\"%s\" is not a table, view, or composite type" +#~ msgstr "« %s » n'est pas une table, une vue ou un type composite" -#~ msgid "cannot use aggregate function in RETURNING" -#~ msgstr "ne peut pas utiliser une fonction d'agrégat dans RETURNING" +#~ msgid "cannot cluster on expressional index \"%s\" because its index access method does not handle null values" +#~ msgstr "" +#~ "ne peut pas exécuter CLUSTER sur l'index à expression « %s » car sa méthode\n" +#~ "d'accès ne gère pas les valeurs NULL" -#~ msgid "cannot use window function in UPDATE" -#~ msgstr "ne peut pas utiliser une fonction window dans un UPDATE" +#~ msgid "You might be able to work around this by marking column \"%s\" NOT NULL." +#~ msgstr "Vous pouvez contourner ceci en marquant la colonne « %s » comme NOT NULL." -#~ msgid "cannot use aggregate function in UPDATE" -#~ msgstr "ne peut pas utiliser une fonction d'agrégat dans un UPDATE" +#~ msgid "You might be able to work around this by marking column \"%s\" NOT NULL, or use ALTER TABLE ... SET WITHOUT CLUSTER to remove the cluster specification from the table." +#~ msgstr "" +#~ "Vous pourriez contourner ceci en marquant la colonne « %s » avec la\n" +#~ "contrainte NOT NULL ou en utilisant ALTER TABLE ... SET WITHOUT CLUSTER pour\n" +#~ "supprimer la spécification CLUSTER de la table." -#~ msgid "cannot use window function in VALUES" -#~ msgstr "ne peut pas utiliser la fonction window dans un VALUES" +#~ msgid "cannot cluster on index \"%s\" because access method does not handle null values" +#~ msgstr "" +#~ "ne peut pas créer un cluster sur l'index « %s » car la méthode d'accès de\n" +#~ "l'index ne gère pas les valeurs NULL" -#~ msgid "cannot use aggregate function in VALUES" -#~ msgstr "ne peut pas utiliser la fonction d'agrégat dans un VALUES" +#~ msgid "clustering \"%s.%s\"" +#~ msgstr "exécution de CLUSTER sur « %s.%s »" -#~ msgid "Use SELECT ... UNION ALL ... instead." -#~ msgstr "Utilisez à la place SELECT ... UNION ALL ..." +#~ msgid "EnumValuesCreate() can only set a single OID" +#~ msgstr "EnumValuesCreate() peut seulement initialiser un seul OID" -#~ msgid "VALUES must not contain OLD or NEW references" -#~ msgstr "VALUES ne doit pas contenir des références à OLD et NEW" +#~ msgid "index \"%s\" needs VACUUM FULL or REINDEX to finish crash recovery" +#~ msgstr "" +#~ "l'index « %s » a besoin d'un VACUUM FULL ou d'un REINDEX pour terminer la\n" +#~ "récupération suite à un arrêt brutal" -#~ msgid "VALUES must not contain table references" -#~ msgstr "VALUES ne doit pas contenir de références de table" +#~ msgid "index \"%s\" needs VACUUM or REINDEX to finish crash recovery" +#~ msgstr "" +#~ "l'index « %s » a besoin d'un VACUUM ou d'un REINDEX pour terminer la\n" +#~ "récupération suite à un arrêt brutal" -#~ msgid "LDAP search failed for filter \"%s\" on server \"%s\": user is not unique (%ld matches)" +#~ msgid "Incomplete insertion detected during crash replay." #~ msgstr "" -#~ "échec de la recherche LDAP pour le filtre « %s » sur le serveur « %s » :\n" -#~ "utilisateur non unique (%ld correspondances)" +#~ "Insertion incomplète détectée lors de la ré-exécution des requêtes suite à\n" +#~ "l'arrêt brutal." -#~ msgid "You need an unconditional ON DELETE DO INSTEAD rule or an INSTEAD OF DELETE trigger." -#~ msgstr "Vous avez besoin d'une règle inconditionnelle ON DELETE DO INSTEAD ou d'un trigger INSTEAD OF DELETE." +#~ msgid "index %u/%u/%u needs VACUUM FULL or REINDEX to finish crash recovery" +#~ msgstr "" +#~ "l'index %u/%u/%u a besoin d'un VACUUM FULL ou d'un REINDEX pour terminer la\n" +#~ "récupération suite à un arrêt brutal" -#~ msgid "You need an unconditional ON UPDATE DO INSTEAD rule or an INSTEAD OF UPDATE trigger." -#~ msgstr "Vous avez besoin d'une règle non conditionnelle ON UPDATE DO INSTEAD ou d'un trigger INSTEAD OF UPDATE." +#~ msgid "Lines should have the format parameter = 'value'." +#~ msgstr "Les lignes devraient avoir le format paramètre = 'valeur'" -#~ msgid "You need an unconditional ON INSERT DO INSTEAD rule or an INSTEAD OF INSERT trigger." -#~ msgstr "Vous avez besoin d'une règle ON INSERT DO INSTEAD sans condition ou d'un trigger INSTEAD OF INSERT." +#~ msgid "syntax error in recovery command file: %s" +#~ msgstr "erreur de syntaxe dans le fichier de restauration : %s" -#~ msgid "automatic vacuum of table \"%s.%s.%s\": cannot (re)acquire exclusive lock for truncate scan" -#~ msgstr "vacuum automatique de la table « %s.%s.%s » : ne peut pas acquérir le verrou exclusif pour la tronquer" +#~ msgid "Write-Ahead Log / Streaming Replication" +#~ msgstr "Write-Ahead Log / Réplication en flux" -#~ msgid "must be superuser to rename text search templates" -#~ msgstr "doit être super-utilisateur pour renommer les modèles de recherche plein texte" +#~ msgid "unable to open directory pg_tblspc: %m" +#~ msgstr "impossible d'ouvrir le répertoire p_tblspc : %m" -#~ msgid "must be superuser to rename text search parsers" -#~ msgstr "" -#~ "doit être super-utilisateur pour renommer les analyseurs de recherche plein\n" -#~ "texte" +#~ msgid "unable to read symbolic link %s: %m" +#~ msgstr "incapable de lire le lien symbolique %s : %m" -#~ msgid "cannot use window function in trigger WHEN condition" -#~ msgstr "ne peut pas utiliser la fonction window dans la condition WHEN d'un trigger" +#~ msgid "index \"%s\" is not a b-tree" +#~ msgstr "l'index « %s » n'est pas un btree" -#~ msgid "Use ALTER FOREIGN TABLE instead." -#~ msgstr "Utilisez ALTER FOREIGN TABLE à la place." +#~ msgid "ALTER TYPE USING is only supported on plain tables" +#~ msgstr "ALTER TYPE USING est seulement supportés sur les tables standards" -#~ msgid "cannot use window function in transform expression" -#~ msgstr "ne peut pas utiliser la fonction window dans l'expression de la transformation" +#~ msgid "resetting unlogged relations: cleanup %d init %d" +#~ msgstr "réinitialisation des relations non tracées : nettoyage %d initialisation %d" -#~ msgid "default values on foreign tables are not supported" -#~ msgstr "les valeurs par défaut ne sont pas supportées sur les tables distantes" +#~ msgid "%s (%x)" +#~ msgstr "%s (%x)" -#~ msgid "constraints on foreign tables are not supported" -#~ msgstr "les contraintes sur les tables distantes ne sont pas supportées" +#~ msgid "SSPI error %x" +#~ msgstr "erreur SSPI : %x" -#~ msgid "cannot use window function in EXECUTE parameter" -#~ msgstr "ne peut pas utiliser une fonction window dans le paramètre EXECUTE" +#~ msgid "consistent state delayed because recovery snapshot incomplete" +#~ msgstr "état de cohérence pas encore atteint à cause d'un snapshot de restauration incomplet" -#~ msgid "cannot use aggregate in index predicate" -#~ msgstr "ne peut pas utiliser un agrégat dans un prédicat d'index" +#~ msgid "tablespace %u is not empty" +#~ msgstr "le tablespace %u n'est pas vide" -#~ msgid "function \"%s\" already exists in schema \"%s\"" -#~ msgstr "la fonction « %s » existe déjà dans le schéma « %s »" +#~ msgid "subquery in WITH cannot have SELECT INTO" +#~ msgstr "la sous-requête du WITH ne peut pas avoir de SELECT INTO" -#~ msgid "Use ALTER AGGREGATE to change owner of aggregate functions." -#~ msgstr "Utiliser ALTER AGGREGATE pour changer le propriétaire des fonctions d'agrégat." +#~ msgid "subquery cannot have SELECT INTO" +#~ msgstr "la sous-requête ne peut pas avoir de SELECT INTO" -#~ msgid "Use ALTER AGGREGATE to rename aggregate functions." -#~ msgstr "Utiliser ALTER AGGREGATE pour renommer les fonctions d'agrégat." +#~ msgid "subquery in FROM cannot have SELECT INTO" +#~ msgstr "la sous-requête du FROM ne peut pas avoir de SELECT INTO" -#~ msgid "cannot use window function in parameter default value" -#~ msgstr "ne peut pas utiliser la fonction window dans la valeur par défaut d'un paramètre" +#~ msgid "DECLARE CURSOR cannot specify INTO" +#~ msgstr "DECLARE CURSOR ne peut pas spécifier INTO" -#~ msgid "cannot use aggregate function in parameter default value" -#~ msgstr "" -#~ "ne peut pas utiliser une fonction d'agrégat dans la valeur par défaut d'un\n" -#~ "paramètre" +#~ msgid "INSERT ... SELECT cannot specify INTO" +#~ msgstr "INSERT ... SELECT ne peut pas avoir INTO" -#~ msgid "cannot use subquery in parameter default value" -#~ msgstr "ne peut pas utiliser une sous-requête dans une valeur par défaut d'un paramètre" +#~ msgid "column name list not allowed in CREATE TABLE / AS EXECUTE" +#~ msgstr "la liste de noms de colonnes n'est pas autorisée dans CREATE TABLE / AS EXECUTE" -#~ msgid "CREATE TABLE AS specifies too many column names" -#~ msgstr "CREATE TABLE AS spécifie trop de noms de colonnes" +#~ msgid "CREATE TABLE AS cannot specify INTO" +#~ msgstr "CREATE TABLE AS ne peut pas spécifier INTO" -#~ msgid "%s already exists in schema \"%s\"" -#~ msgstr "%s existe déjà dans le schéma « %s »" +#~ msgid " --version output version information, then exit\n" +#~ msgstr " --version affiche la version, puis quitte\n" -#~ msgid "A function returning ANYRANGE must have at least one ANYRANGE argument." -#~ msgstr "" -#~ "Une fonction renvoyant ANYRANGE doit avoir au moins un argument du type\n" -#~ "ANYRANGE." +#~ msgid " --help show this help, then exit\n" +#~ msgstr " --help affiche cette aide, puis quitte\n" -#~ msgid "cannot use window function in check constraint" -#~ msgstr "ne peut pas utiliser une fonction window dans une contrainte de vérification" +#~ msgid "Make sure the root.crt file is present and readable." +#~ msgstr "Assurez-vous que le certificat racine (root.crt) est présent et lisible" -#~ msgid "cannot use window function in default expression" -#~ msgstr "ne peut pas utiliser une fonction window dans une expression par défaut" +#~ msgid "See server log for details." +#~ msgstr "Voir les journaux applicatifs du serveur pour plus de détails." -#~ msgid "cannot use aggregate function in default expression" -#~ msgstr "ne peut pas utiliser une fonction d'agrégat dans une expression par défaut" +#~ msgid "missing or erroneous pg_hba.conf file" +#~ msgstr "fichier pg_hba.conf manquant ou erroné" -#~ msgid "cannot use subquery in default expression" -#~ msgstr "ne peut pas utiliser une sous-requête dans l'expression par défaut" +#~ msgid "Certificates will not be checked against revocation list." +#~ msgstr "Les certificats ne seront pas vérifiés avec la liste de révocation." -#~ msgid "uncataloged table %s" -#~ msgstr "table %s sans catalogue" +#~ msgid "SSL certificate revocation list file \"%s\" not found, skipping: %s" +#~ msgstr "liste de révocation des certificats SSL « %s » introuvable, continue : %s" -#~ msgid "xrecoff \"%X\" is out of valid range, 0..%X" -#~ msgstr "xrecoff « %X » en dehors des limites valides, 0..%X" +#~ msgid "could not access root certificate file \"%s\": %m" +#~ msgstr "n'a pas pu accéder au fichier du certificat racine « %s » : %m" -#~ msgid "Incorrect XLOG_BLCKSZ in page header." -#~ msgstr "XLOG_BLCKSZ incorrect dans l'en-tête de page." +#~ msgid "could not open directory \"pg_tblspc\": %m" +#~ msgstr "n'a pas pu ouvrir le répertoire « pg_tblspc » : %m" -#~ msgid "Incorrect XLOG_SEG_SIZE in page header." -#~ msgstr "XLOG_SEG_SIZE incorrecte dans l'en-tête de page." +#~ msgid "standby connections not allowed because wal_level=minimal" +#~ msgstr "connexions standby non autorisées car wal_level=minimal" -#~ msgid "invalid contrecord length %u in log file %u, segment %u, offset %u" -#~ msgstr "" -#~ "longueur invalide du « contrecord » %u dans le journal de tranasctions %u,\n" -#~ "segment %u, décalage %u" +#~ msgid "recovery is still in progress, can't accept WAL streaming connections" +#~ msgstr "la restauration est en cours, ne peut pas accepter les connexions de flux WAL" -#~ msgid "there is no contrecord flag in log file %u, segment %u, offset %u" +#~ msgid "must be superuser to drop text search templates" +#~ msgstr "doit être super-utilisateur pour supprimer des modèles de recherche plein texte" + +#~ msgid "must be superuser to drop text search parsers" #~ msgstr "" -#~ "il n'y a pas de drapeaux « contrecord » dans le journal de transactions %u,\n" -#~ "segment %u, décalage %u" +#~ "doit être super-utilisateur pour supprimer des analyseurs de recherche plein\n" +#~ "texte" -#~ msgid "could not open file \"%s\" (log file %u, segment %u): %m" -#~ msgstr "n'a pas pu ouvrir le fichier « %s » (journal de transactions %u, segment %u) : %m" +#~ msgid "Must be superuser to drop a foreign-data wrapper." +#~ msgstr "Doit être super-utilisateur pour supprimer un wrapper de données distantes." -#~ msgid "unlogged GiST indexes are not supported" -#~ msgstr "les index GiST non tracés ne sont pas supportés" +#~ msgid "permission denied to drop foreign-data wrapper \"%s\"" +#~ msgstr "droit refusé pour supprimer le wrapper de données distantes « %s »" -#~ msgid "could not change directory to \"%s\"" -#~ msgstr "n'a pas pu accéder au répertoire « %s »" +#~ msgid "removing built-in function \"%s\"" +#~ msgstr "suppression de la fonction interne « %s »" -#~ msgid "Perhaps out of disk space?" -#~ msgstr "Peut-être manquez-vous de place disque ?" +#~ msgid "foreign key constraint \"%s\" of relation \"%s\" does not exist" +#~ msgstr "la clé étrangère « %s » de la relation « %s » n'existe pas" -#~ msgid "time zone offset %d is not a multiple of 900 sec (15 min) in time zone file \"%s\", line %d" -#~ msgstr "" -#~ "le décalage %d du fuseau horaire n'est pas un multiples de 900 secondes\n" -#~ "(15 minutes) dans le fichier des fuseaux horaires « %s », ligne %d" +#~ msgid "Sets the list of known custom variable classes." +#~ msgstr "Initialise la liste des classes variables personnalisées connues." -#~ msgid "Sets the name of the Kerberos service." -#~ msgstr "Initialise le nom du service Kerberos." +#~ msgid "WAL sender sleep time between WAL replications." +#~ msgstr "" +#~ "Temps d'endormissement du processus d'envoi des journaux de transactions entre\n" +#~ "les réplications des journaux de transactions." -#~ msgid "No description available." -#~ msgstr "Aucune description disponible." +#~ msgid "If this parameter is set, the server will automatically run in the background and any controlling terminals are dissociated." +#~ msgstr "" +#~ "Si ce paramètre est initialisé, le serveur sera exécuté automatiquement en\n" +#~ "tâche de fond et les terminaux de contrôles seront dés-associés." -#~ msgid "cannot call json_populate_recordset on a nested object" -#~ msgstr "ne peut pas appeler json_populate_recordset sur un objet imbriqué" +#~ msgid "Runs the server silently." +#~ msgstr "Lance le serveur de manière silencieuse." -#~ msgid "cannot call json_populate_recordset on a scalar" -#~ msgstr "ne peut pas appeler json_populate_recordset sur un scalaire" +#~ msgid "%s: could not dissociate from controlling TTY: %s\n" +#~ msgstr "%s : n'a pas pu se dissocier du TTY contrôlant : %s\n" -#~ msgid "cannot call json_populate_recordset with nested arrays" -#~ msgstr "ne peut pas appeler json_populate_recordset avec des tableaux imbriqués" +#~ msgid "%s: could not fork background process: %s\n" +#~ msgstr "%s : n'a pas pu créer un processus fils : %s\n" -#~ msgid "must call json_populate_recordset on an array of objects" -#~ msgstr "doit appeler json_populate_recordset sur un tableau d'objets" +#~ msgid "%s: could not open log file \"%s/%s\": %s\n" +#~ msgstr "%s : n'a pas pu ouvrir le journal applicatif « %s/%s » : %s\n" -#~ msgid "cannot call json_populate_recordset with nested objects" -#~ msgstr "ne peut pas appeler json_populate_recordset sur des objets imbriqués" +#~ msgid "%s: could not open file \"%s\": %s\n" +#~ msgstr "%s : n'a pas pu ouvrir le fichier « %s » : %s\n" -#~ msgid "cannot call json_populate_recordset on an object" -#~ msgstr "ne peut pas appeler json_populate_recordset sur un objet" +#~ msgid "select() failed in logger process: %m" +#~ msgstr "échec de select() dans le processus des journaux applicatifs : %m" -#~ msgid "first argument of json_populate_recordset must be a row type" -#~ msgstr "le premier argument de json_populate_recordset doit être un type ROW" +#~ msgid "poll() failed in statistics collector: %m" +#~ msgstr "échec du poll() dans le récupérateur de statistiques : %m" -#~ msgid "first argument of json_populate_record must be a row type" -#~ msgstr "le premier argument de json_populate_record doit être un type ROW" +#~ msgid "Valid values are '[]', '[)', '(]', and '()'." +#~ msgstr "Les valeurs valides sont « [] », « [) », « (] » et « () »." -#~ msgid "cannot call json_array_elements on a scalar" -#~ msgstr "ne peut pas appeler json_array_elements sur un scalaire" +#~ msgid "invalid list syntax for \"unix_socket_directories\"" +#~ msgstr "syntaxe de liste invalide pour le paramètre « unix_socket_directories »" -#~ msgid "cannot call json_array_elements on a non-array" -#~ msgstr "ne peut pas appeler json_array_elements sur un objet qui n'est pas un tableau" +#~ msgid "invalid list syntax for \"listen_addresses\"" +#~ msgstr "syntaxe de liste invalide pour le paramètre « listen_addresses »" -#~ msgid "cannot extract field from a non-object" -#~ msgstr "ne peut pas extraire le chemin à partir d'un non-objet" +#~ msgid "window functions cannot use named arguments" +#~ msgstr "les fonctions window ne peuvent pas renvoyer des arguments nommés" -#~ msgid "cannot extract array element from a non-array" -#~ msgstr "ne peut pas extraire un élément du tableau à partir d'un objet qui n'est pas un tableau" +#~ msgid "cannot override frame clause of window \"%s\"" +#~ msgstr "ne peut pas surcharger la frame clause du window « %s »" -#~ msgid "cannot call function with empty path elements" -#~ msgstr "ne peut pas appeler une fonction avec des éléments chemins vides" +#~ msgid "JSON does not support infinite timestamp values." +#~ msgstr "JSON ne supporte pas les valeurs infinies de timestamp." -#~ msgid "cannot call function with null path elements" -#~ msgstr "ne peut pas appeler une fonction avec des éléments chemins NULL" +#~ msgid "JSON does not support infinite date values." +#~ msgstr "JSON ne supporte pas les valeurs infinies de date." -#~ msgid "cannot call json_object_keys on a scalar" -#~ msgstr "ne peut pas appeler json_object_keys sur un scalaire" +#~ msgid "WAL writer sleep time between WAL flushes." +#~ msgstr "" +#~ "Temps d'endormissement du processus d'écriture pendant le vidage des\n" +#~ "journaux de transactions en millisecondes." -#~ msgid "cannot call json_object_keys on an array" -#~ msgstr "ne peut pas appeler json_object_keys sur un tableau" +#~ msgid "could not convert to time zone \"%s\"" +#~ msgstr "n'a pas pu convertir vers le fuseau horaire « %s »" -#~ msgid "missing assignment operator" -#~ msgstr "opérateur d'affectation manquant" +#~ msgid "argument for function \"exp\" too big" +#~ msgstr "l'argument de la fonction « exp » est trop gros" -#~ msgid "wrong affix file format for flag" -#~ msgstr "mauvais format de fichier affixe pour le drapeau" +#~ msgid "must be superuser to rotate log files" +#~ msgstr "doit être super-utilisateur pour exécuter la rotation des journaux applicatifs" -#~ msgid "Views that return the same column more than once are not automatically updatable." -#~ msgstr "Les vues qui renvoient la même colonne plus d'une fois ne sont pas automatiquement disponibles en écriture." +#~ msgid "must be superuser to signal the postmaster" +#~ msgstr "doit être super-utilisateur pour envoyer un signal au postmaster" -#~ msgid "Security-barrier views are not automatically updatable." -#~ msgstr "Les vues avec barrière de sécurité ne sont pas automatiquement disponibles en écriture." +#~ msgid "could not format \"circle\" value" +#~ msgstr "n'a pas pu formater la valeur « circle »" -#~ msgid "Expected 1 tuple with 3 fields, got %d tuples with %d fields." -#~ msgstr "Attendait 1 ligne avec 3 champs, a obtenu %d lignes avec %d champs." +#~ msgid "invalid input syntax for type circle: \"%s\"" +#~ msgstr "syntaxe en entrée invalide pour le type circle : « %s »" -#~ msgid "too many column aliases specified for function %s" -#~ msgstr "trop d'alias de colonnes spécifiées pour la fonction %s" +#~ msgid "invalid input syntax for type polygon: \"%s\"" +#~ msgstr "syntaxe en entrée invalide pour le type polygon : « %s »" -#~ msgid "%s: could not determine user name (GetUserName failed)\n" -#~ msgstr "%s : n'a pas pu déterminer le nom de l'utilisateur (GetUserName a échoué)\n" +#~ msgid "invalid input syntax for type lseg: \"%s\"" +#~ msgstr "syntaxe en entrée invalide pour le type lseg : « %s »" -#~ msgid "%s: invalid effective UID: %d\n" -#~ msgstr "%s : UID effectif invalide : %d\n" +#~ msgid "invalid input syntax for type point: \"%s\"" +#~ msgstr "syntaxe en entrée invalide pour le type point : « %s »" -#~ msgid "krb5 authentication is not supported on local sockets" -#~ msgstr "" -#~ "l'authentification krb5 n'est pas supportée sur les connexions locales par\n" -#~ "socket" +#~ msgid "invalid input syntax for type path: \"%s\"" +#~ msgstr "syntaxe en entrée invalide pour le type path : « %s »" -#~ msgid "SSL renegotiation failure" -#~ msgstr "échec lors de la re-négotiation SSL" +#~ msgid "invalid input syntax for type line: \"%s\"" +#~ msgstr "syntaxe en entrée invalide pour le type line: « %s »" -#~ msgid "local user with ID %d does not exist" -#~ msgstr "l'utilisateur local dont l'identifiant est %d n'existe pas" +#~ msgid "invalid input syntax for type box: \"%s\"" +#~ msgstr "syntaxe en entrée invalide pour le type box : « %s »" -#~ msgid "Kerberos unparse_name returned error %d" -#~ msgstr "unparse_name de Kerberos a renvoyé l'erreur %d" +#~ msgid "could not format \"path\" value" +#~ msgstr "n'a pas pu formater la valeur « path »" -#~ msgid "Kerberos recvauth returned error %d" -#~ msgstr "recvauth de Kerberos a renvoyé l'erreur %d" +#~ msgid "multibyte flag character is not allowed" +#~ msgstr "un caractère drapeau multi-octet n'est pas autorisé" -#~ msgid "Kerberos sname_to_principal(\"%s\", \"%s\") returned error %d" -#~ msgstr "sname_to_principal(« %s », « %s ») de Kerberos a renvoyé l'erreur %d" +#~ msgid "socket not open" +#~ msgstr "socket non ouvert" -#~ msgid "Kerberos keytab resolving returned error %d" -#~ msgstr "la résolution keytab de Kerberos a renvoyé l'erreur %d" +#~ msgid "must be superuser to reset statistics counters" +#~ msgstr "doit être super-utilisateur pour réinitialiser les compteurs statistiques" -#~ msgid "Kerberos initialization returned error %d" -#~ msgstr "l'initialisation de Kerberos a retourné l'erreur %d" +#~ msgid "function %s must return type \"tsm_handler\"" +#~ msgstr "la fonction %s doit renvoyer le type « tsm_handler »" -#~ msgid "Kerberos 5 authentication failed for user \"%s\"" -#~ msgstr "authentification Kerberos 5 échouée pour l'utilisateur « %s »" +#~ msgid "Permissions should be u=rw (0600) or less." +#~ msgstr "Les droits devraient être u=rwx (0600) ou inférieures." -#~ msgid "trigger \"%s\" for table \"%s\" does not exist, skipping" -#~ msgstr "le trigger « %s » pour la table « %s » n'existe pas, poursuite du traitement" +#~ msgid "typmod_in function %s must return type \"integer\"" +#~ msgstr "la fonction typmod_in %s doit renvoyer le type « entier »" -#~ msgid "invalid input syntax for transaction log location: \"%s\"" -#~ msgstr "syntaxe invalide en entrée pour l'emplacement du journal de transactions : « %s »" +#~ msgid "type send function %s must return type \"bytea\"" +#~ msgstr "la fonction send du type %s doit renvoyer le type « bytea »" -#~ msgid "could not parse transaction log location \"%s\"" -#~ msgstr "n'a pas pu analyser l'emplacement du journal des transactions « %s »" +#~ msgid "type output function %s must return type \"cstring\"" +#~ msgstr "le type de sortie de la fonction %s doit être « cstring »" -#~ msgid "%s \"%s\": return code %d" -#~ msgstr "%s « %s » : code de retour %d" +#~ msgid "changing return type of function %s from \"opaque\" to \"cstring\"" +#~ msgstr "changement du type de retour de la fonction %s d'« opaque » vers « cstring »" -#~ msgid "assertion checking is not supported by this build" -#~ msgstr "la vérification de l'assertion n'a pas été intégrée lors de la compilation" +#~ msgid "function %s must return type \"trigger\"" +#~ msgstr "la fonction %s doit renvoyer le type « trigger »" -#~ msgid "SET AUTOCOMMIT TO OFF is no longer supported" -#~ msgstr "SET AUTOCOMMIT TO OFF n'est plus supporté" +#~ msgid "function %s must return type \"language_handler\"" +#~ msgstr "la fonction %s doit renvoyer le type « language_handler »" -#~ msgid "Set the amount of traffic to send and receive before renegotiating the encryption keys." -#~ msgstr "" -#~ "Configure la quantité de trafic à envoyer et recevoir avant la renégotiation\n" -#~ "des clés d'enchiffrement." +#~ msgid "could not reposition held cursor" +#~ msgstr "n'a pas pu repositionner le curseur détenu" -#~ msgid "Sets the maximum distance in log segments between automatic WAL checkpoints." -#~ msgstr "" -#~ "Initialise la distance maximale dans les journaux de transaction entre chaque\n" -#~ "point de vérification (checkpoints) des journaux." +#~ msgid "function %s must return type \"fdw_handler\"" +#~ msgstr "la fonction %s doit renvoyer le type « fdw_handler »" -#~ msgid "It's just here so that we won't choke on SET AUTOCOMMIT TO ON from 7.3-vintage clients." -#~ msgstr "" -#~ "C'est ici uniquement pour ne pas avoir de problèmes avec le SET AUTOCOMMIT\n" -#~ "TO ON des clients 7.3." +#~ msgid "function \"%s\" must return type \"event_trigger\"" +#~ msgstr "la fonction « %s » doit renvoyer le type « event_trigger »" -#~ msgid "This parameter doesn't do anything." -#~ msgstr "Ce paramètre ne fait rien." +#~ msgid "%s is already in schema \"%s\"" +#~ msgstr "%s existe déjà dans le schéma « %s »" -#~ msgid "This is a debugging aid." -#~ msgstr "C'est une aide de débogage." +#~ msgid "invalid record length at %X/%X" +#~ msgstr "longueur invalide de l'enregistrement à %X/%X" -#~ msgid "Turns on various assertion checks." -#~ msgstr "Active les différentes vérifications des assertions." +#~ msgid "must be superuser to control recovery" +#~ msgstr "doit être super-utilisateur pour contrôler la restauration" -#~ msgid "cannot accept a value of type pg_node_tree" -#~ msgstr "ne peut pas accepter une valeur de type pg_node_tree" +#~ msgid "must be superuser to create a restore point" +#~ msgstr "doit être super-utilisateur pour créer un point de restauration" -#~ msgid "must be superuser or have the same role to terminate other server processes" -#~ msgstr "" -#~ "doit être super-utilisateur ou avoir le même rôle pour fermer les connexions\n" -#~ "exécutées dans les autres processus serveur" +#~ msgid "must be superuser to switch transaction log files" +#~ msgstr "doit être super-utilisateur pour changer de journal de transactions" -#~ msgid "must be superuser or have the same role to cancel queries running in other server processes" -#~ msgstr "" -#~ "doit être super-utilisateur ou avoir le même rôle pour annuler des requêtes\n" -#~ "exécutées dans les autres processus serveur" +#~ msgid "must be superuser or replication role to run a backup" +#~ msgstr "doit être super-utilisateur ou avoir l'attribut de réplication pour exécuter une sauvegarde" -#~ msgid "invalid symbol" -#~ msgstr "symbole invalide" +#~ msgid "ignoring \"%s\" file because no \"%s\" file exists" +#~ msgstr "ignore le fichier « %s » parce que le fichier « %s » n'existe pas" -#~ msgid "unexpected \"=\"" -#~ msgstr "« = » inattendu" +#~ msgid "could not rename file \"%s\" to \"%s\" (initialization of log file): %m" +#~ msgstr "n'a pas pu renommer le fichier « %s » en « %s » (initialisation du journal de transactions) : %m" -#~ msgid "neither input type is an array" -#~ msgstr "aucun type de données n'est un tableau" +#~ msgid "could not link file \"%s\" to \"%s\" (initialization of log file): %m" +#~ msgstr "n'a pas pu lier le fichier « %s » à « %s » (initialisation du journal de transactions) : %m" -#~ msgid "could not determine input data types" -#~ msgstr "n'a pas pu déterminer les types de données en entrée" +#~ msgid "could not close two-phase state file \"%s\": %m" +#~ msgstr "" +#~ "n'a pas pu fermer le fichier d'état de la validation en deux phases nommé\n" +#~ "« %s » : %m" -#~ msgid "archive member \"%s\" too large for tar format" -#~ msgstr "membre « %s » de l'archive trop volumineux pour le format tar" +#~ msgid "could not fsync two-phase state file \"%s\": %m" +#~ msgstr "" +#~ "n'a pas pu synchroniser sur disque (fsync) le fichier d'état de la\n" +#~ "validation en deux phases nommé « %s » : %m" -#~ msgid "postmaster became multithreaded" -#~ msgstr "le postmaster est devenu multithreadé" +#~ msgid "two-phase state file for transaction %u is corrupt" +#~ msgstr "" +#~ "le fichier d'état de la validation en deux phases est corrompu pour la\n" +#~ "transaction %u" -#~ msgid "invalid value for parameter \"replication\"" -#~ msgstr "valeur invalide pour le paramètre « replication »" +#~ msgid "could not seek in two-phase state file: %m" +#~ msgstr "" +#~ "n'a pas pu se déplacer dans le fichier de statut de la validation en deux\n" +#~ "phases : %m" -#~ msgid "WAL archival (archive_mode=on) requires wal_level \"archive\", \"hot_standby\", or \"logical\"" +#~ msgid "could not create two-phase state file \"%s\": %m" #~ msgstr "" -#~ "l'archivage des journaux de transactions (archive_mode=on) nécessite que\n" -#~ "le paramètre wal_level soit initialisé avec « archive », « hot_standby » ou « logical »" +#~ "n'a pas pu créer le fichier de statut de la validation en deux phases nommé\n" +#~ "« %s » : %m" -#~ msgid "Consider increasing the configuration parameter \"checkpoint_segments\"." -#~ msgstr "Considèrez l'augmentation du paramètre « checkpoint_segments »." +#~ msgid "argument %d: could not determine data type" +#~ msgstr "argument %d : n'a pas pu déterminer le type de données" -#~ msgid "subquery must return a column" -#~ msgstr "la sous-requête doit renvoyer une colonne" +#~ msgid "could not determine data type for argument 2" +#~ msgstr "n'a pas pu déterminer le type de données pour l'argument 2" -#~ msgid " -A 1|0 enable/disable run-time assert checking\n" -#~ msgstr "" -#~ " -A 1|0 active/désactive la vérification des limites (assert) à\n" -#~ " l'exécution\n" +#~ msgid "could not determine data type for argument 1" +#~ msgstr "n'a pas pu déterminer le type de données pour l'argument 1" -#~ msgid "%s: setsysinfo failed: %s\n" -#~ msgstr "%s : setsysinfo a échoué : %s\n" +#~ msgid "%u transaction needs to finish." +#~ msgid_plural "%u transactions need to finish." +#~ msgstr[0] "La transaction %u doit se terminer." +#~ msgstr[1] "Les transactions %u doivent se terminer." -#~ msgid "could not set socket to blocking mode: %m" -#~ msgstr "n'a pas pu activer le mode bloquant pour la socket : %m" +#~ msgid "Transaction ID %u finished; no more running transactions." +#~ msgstr "Identifiant de transaction %u terminé ; plus de transactions en cours." -#~ msgid "SSL failed to renegotiate connection before limit expired" -#~ msgstr "SSL a échoué à renégotier la connexion avant l'expiration du délai" +#~ msgid "cannot create temporary tables in parallel mode" +#~ msgstr "ne peut pas créer des tables temporaires dans le mode de parallélisation" -#~ msgid "could not complete SSL handshake on renegotiation, too many failures" -#~ msgstr "n'a pas pu terminer la poignée de main de renégotiation, trop d'échecs" +#~ msgid "spgist operator class \"%s\" is missing operator(s)" +#~ msgstr "il manque des opérateurs pour la classe d'opérateur spgist « %s »" -#~ msgid "SSL handshake failure on renegotiation, retrying" -#~ msgstr "échec du handshake SSL lors de la renégotiation, nouvelle tentative" +#~ msgid "spgist operator family \"%s\" is missing operator(s) for types %s and %s" +#~ msgstr "" +#~ "la famille d'opérateur spgist « %s » nécessite des opérateurs supplémentaires\n" +#~ "pour les types %s et %s" -#~ msgid "SSL failure during renegotiation start" -#~ msgstr "échec SSL au début de la re-négotiation" +#~ msgid "spgist operator family \"%s\" contains operator %s with wrong signature" +#~ msgstr "la famille d'opérateur spgist « %s » contient l'opérateur %s avec une mauvaise signature" -#~ msgid "received password packet" -#~ msgstr "paquet du mot de passe reçu" +#~ msgid "spgist operator family \"%s\" contains invalid ORDER BY specification for operator %s" +#~ msgstr "" +#~ "la famille d'opérateur spgist « %s » contient une spécification\n" +#~ "ORDER BY invalide pour l'opérateur %s" -#~ msgid "interval precision specified twice" -#~ msgstr "précision d'intervalle spécifiée deux fois" +#~ msgid "spgist operator family \"%s\" contains operator %s with invalid strategy number %d" +#~ msgstr "" +#~ "la famille d'opérateur spgist « %s » contient l'opérateur %s\n" +#~ "avec le numéro de stratégie invalide %d" -#~ msgid "" -#~ "%.0f dead row versions cannot be removed yet.\n" -#~ "There were %.0f unused item pointers.\n" -#~ "%u pages are entirely empty.\n" -#~ "%s." +#~ msgid "spgist operator family \"%s\" contains function %s with wrong signature for support number %d" #~ msgstr "" -#~ "%.0f versions de lignes mortes ne peuvent pas encore être supprimées.\n" -#~ "Il y avait %.0f pointeurs d'éléments inutilisés.\n" -#~ "%u pages sont entièrement vides.\n" -#~ "%s." +#~ "la famille d'opérateur spgist « %s » contient la fonction %s\n" +#~ "avec une mauvaise signature pour le numéro de support %d" -#~ msgid "" -#~ "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n" -#~ "pages: %d removed, %d remain\n" -#~ "tuples: %.0f removed, %.0f remain, %.0f are dead but not yet removable\n" -#~ "buffer usage: %d hits, %d misses, %d dirtied\n" -#~ "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n" -#~ "system usage: %s" +#~ msgid "spgist operator family \"%s\" contains function %s with invalid support number %d" #~ msgstr "" -#~ "VACUUM automatique de la table « %s.%s.%s » : parcours d'index : %d\n" -#~ "pages : %d supprimées, %d restantes\n" -#~ "lignes : %.0f supprimées, %.0f restantes, %.0f sont mortes mais non supprimables\n" -#~ "utilisation des tampons : %d lus dans le cache, %d lus hors du cache, %d modifiés\n" -#~ "taux moyen de lecture : %.3f Mo/s, taux moyen d'écriture : %.3f Mo/s\n" -#~ "utilisation système : %s" +#~ "la famille d'opérateur spgist « %s » contient la fonction %s\n" +#~ "avec le numéro de support %d invalide" -#~ msgid "Specify a USING expression to perform the conversion." -#~ msgstr "Donnez une expression USING pour réaliser la conversion." +#~ msgid "spgist operator family \"%s\" contains support procedure %s with cross-type registration" +#~ msgstr "" +#~ "la famille d'opérateur spgist « %s » contient la procédure de support\n" +#~ "%s avec un enregistrement inter-type" -#~ msgid "\"%s\" is not a table, materialized view, composite type, or foreign table" -#~ msgstr "« %s » n'est ni une table, ni une vue matérialisée, ni un type composite, ni une table distante" +#~ msgid "btree operator family \"%s\" is missing cross-type operator(s)" +#~ msgstr "il manque des opérateurs inter-type pour la famille d'opérateur btree « %s »" -#~ msgid "inherited relation \"%s\" is not a table" -#~ msgstr "la relation héritée « %s » n'est pas une table" +#~ msgid "btree operator class \"%s\" is missing operator(s)" +#~ msgstr "il manque des opérateurs pour la classe d'opérateur btree « %s »" -#~ msgid "This name may be disallowed altogether in future versions of PostgreSQL." -#~ msgstr "Ce nom pourrait être interdit dans les prochaines versions de PostgreSQL." +#~ msgid "btree operator family \"%s\" is missing operator(s) for types %s and %s" +#~ msgstr "" +#~ "la famille d'opérateur btree « %s » nécessite des opérateurs supplémentaires\n" +#~ "pour les types %s et %s" -#~ msgid "=> is deprecated as an operator name" -#~ msgstr "=> est un nom d'opérateur obsolète" +#~ msgid "btree operator family \"%s\" contains operator %s with wrong signature" +#~ msgstr "la famille d'opérateur btree « %s » contient l'opérateur %s avec une mauvaise signature" -#~ msgid "WAL file is from different database system: Incorrect XLOG_BLCKSZ in page header." +#~ msgid "btree operator family \"%s\" contains invalid ORDER BY specification for operator %s" #~ msgstr "" -#~ "le journal de transactions provient d'un système de bases de données différent :\n" -#~ "XLOG_BLCKSZ incorrect dans l'en-tête de page." +#~ "la famille d'opérateur btree « %s » contient une spécification\n" +#~ "ORDER BY invalide pour l'opérateur %s" -#~ msgid "WAL file is from different database system: Incorrect XLOG_SEG_SIZE in page header." +#~ msgid "btree operator family \"%s\" contains operator %s with invalid strategy number %d" #~ msgstr "" -#~ "le journal de transactions provient d'un système de bases de données différent :\n" -#~ "XLOG_SEG_SIZE incorrect dans l'en-tête de page." +#~ "la famille d'opérateur btree « %s » contient l'opérateur %s\n" +#~ "avec le numéro de stratégie invalide %d" -#~ msgid "WAL file is from different database system: WAL file database system identifier is %s, pg_control database system identifier is %s." +#~ msgid "btree operator family \"%s\" contains function %s with wrong signature for support number %d" #~ msgstr "" -#~ "L'identifiant du journal de transactions du système de base de données est %s,\n" -#~ "l'identifiant pg_control du système de base de données dans pg_control est %s." +#~ "la famille d'opérateur btree « %s » contient la fonction %s\n" +#~ "avec une mauvaise signature pour le numéro de support %d" -#~ msgid "incorrect total length in record at %X/%X" -#~ msgstr "longueur totale incorrecte à l'enregistrement %X/%X" +#~ msgid "btree operator family \"%s\" contains function %s with invalid support number %d" +#~ msgstr "" +#~ "la famille d'opérateur btree « %s » contient la fonction %s\n" +#~ "avec le numéro de support invalide %d" -#~ msgid "incorrect hole size in record at %X/%X" -#~ msgstr "taille du trou incorrect à l'enregistrement %X/%X" +#~ msgid "hash operator class \"%s\" is missing operator(s)" +#~ msgstr "il manque des opérateurs pour la classe d'opérateur hash « %s »" -#~ msgid "invalid backup block size in record at %X/%X" -#~ msgstr "taille du bloc de sauvegarde invalide dans l'enregistrement à %X/%X" +#~ msgid "hash operator family \"%s\" is missing operator(s) for types %s and %s" +#~ msgstr "" +#~ "la famille d'opérateur hash « %s » nécessite des opérateurs supplémentaires\n" +#~ "pour les types %s et %s" -#~ msgid "record with zero length at %X/%X" -#~ msgstr "enregistrement de longueur nulle à %X/%X" +#~ msgid "hash operator family \"%s\" contains operator %s with wrong signature" +#~ msgstr "la famille d'opérateur hash « %s » contient l'opérateur %s avec une mauvaise signature" -#~ msgid "invalid xlog switch record at %X/%X" -#~ msgstr "enregistrement de basculement du journal de transaction invalide à %X/%X" +#~ msgid "hash operator family \"%s\" contains invalid ORDER BY specification for operator %s" +#~ msgstr "" +#~ "la famille d'opérateur hash « %s » contient la spécification ORDER BY\n" +#~ "non supportée pour l'opérateur %s" -#~ msgid "oldest unfrozen transaction ID: %u, in database %u" +#~ msgid "hash operator family \"%s\" contains operator %s with invalid strategy number %d" #~ msgstr "" -#~ "identifiant de transaction non gelé le plus ancien : %u, dans la base de\n" -#~ "données %u" +#~ "la famille d'opérateur hash « %s » contient l'opérateur %s avec le numéro\n" +#~ "de stratégie invalide %d" -#~ msgid "next MultiXactId: %u; next MultiXactOffset: %u" -#~ msgstr "prochain MultiXactId : %u ; prochain MultiXactOffset : %u" +#~ msgid "hash operator family \"%s\" contains function %s with invalid support number %d" +#~ msgstr "" +#~ "la famille d'opérateur hash « %s » contient la fonction %s avec\n" +#~ "le numéro de support invalide %d" -#~ msgid "next transaction ID: %u/%u; next OID: %u" -#~ msgstr "prochain identifiant de transaction : %u/%u ; prochain OID : %u" +#~ msgid "hash operator family \"%s\" contains function %s with wrong signature for support number %d" +#~ msgstr "" +#~ "la famille d'opérateur hash « %s » contient la fonction %s avec une mauvaise\n" +#~ "signature pour le numéro de support %d" -#~ msgid "redo record is at %X/%X; shutdown %s" -#~ msgstr "l'enregistrement à ré-exécuter se trouve à %X/%X ; arrêt %s" +#~ msgid "hash operator family \"%s\" contains support procedure %s with cross-type registration" +#~ msgstr "" +#~ "la famille d'opérateur hash « %s » contient la procédure de support\n" +#~ "%s avec un enregistrement inter-type" -#~ msgid "invalid value for recovery parameter \"recovery_target\"" -#~ msgstr "valeur invalide pour le paramètre de restauration « recovery_target »" +#~ msgid "gist operator class \"%s\" is missing support function %d" +#~ msgstr "la famille d'opérateur gist « %s » nécessite la fonction de support %d" -#~ msgid "unrecognized win32 error code: %lu" -#~ msgstr "code d'erreur win32 non reconnu : %lu" +#~ msgid "gist operator family \"%s\" contains operator %s with wrong signature" +#~ msgstr "la famille d'opérateur gist « %s » contient l'opérateur %s avec une mauvaise signature" -#~ msgid "mapped win32 error code %lu to %d" -#~ msgstr "correspondance du code d'erreur win32 %lu en %d" +#~ msgid "gist operator family \"%s\" contains operator %s with invalid strategy number %d" +#~ msgstr "" +#~ "la famille d'opérateur gist « %s » contient l'opérateur %s avec le numéro\n" +#~ "de stratégie invalide %d" -#~ msgid "too few arguments for format" -#~ msgstr "trop peu d'arguments pour le format" +#~ msgid "gist operator family \"%s\" contains function %s with wrong signature for support number %d" +#~ msgstr "" +#~ "la famille d'opérateur gist « %s » contient la fonction %s avec une mauvaise\n" +#~ "signature pour le numéro de support %d" -#~ msgid "invalid length in external \"numeric\" value" -#~ msgstr "longueur invalide dans la valeur externe « numeric »" +#~ msgid "gist operator family \"%s\" contains function %s with invalid support number %d" +#~ msgstr "" +#~ "la famille d'opérateur gist « %s » contient la fonction %s avec\n" +#~ "le numéro de support invalide %d" -#~ msgid "time zone abbreviation \"%s\" is not used in time zone \"%s\"" -#~ msgstr "l'abréviation « %s » du fuseau horaire n'est pas utilisée dans le fuseau horaire « %s »" +#~ msgid "gist operator family \"%s\" contains support procedure %s with cross-type registration" +#~ msgstr "" +#~ "la famille d'opérateur gist « %s » contient la procédure de support\n" +#~ "%s avec un enregistrement inter-type" -#~ msgid "role \"%s\" is reserved" -#~ msgstr "le rôle « %s » est réservé" +#~ msgid "brin operator class \"%s\" is missing support function %d" +#~ msgstr "la classe d'opérateur brin « %s » nécessite la fonction de support %d" -#~ msgid "system columns cannot be used in an ON CONFLICT clause" -#~ msgstr "les colonnes systèmes ne peuvent pas être utilisées dans une clause ON CONFLICT" +#~ msgid "brin operator family \"%s\" contains operator %s with wrong signature" +#~ msgstr "la famille d'opérateur brin « %s » contient l'opérateur %s avec une mauvaise signature" -#~ msgid "function returning set of rows cannot return null value" +#~ msgid "brin operator family \"%s\" contains invalid ORDER BY specification for operator %s" #~ msgstr "" -#~ "la fonction renvoyant un ensemble de lignes ne peut pas renvoyer une valeur\n" -#~ "NULL" +#~ "la famille d'opérateur brin « %s » contient une spécification\n" +#~ "ORDER BY invalide pour l'opérateur %s" -#~ msgid "Only superusers can use untrusted languages." +#~ msgid "brin operator family \"%s\" contains operator %s with invalid strategy number %d" #~ msgstr "" -#~ "Seuls les super-utilisateurs peuvent utiliser des langages qui ne sont pas\n" -#~ "de confiance." +#~ "la famille d'opérateur brin « %s » contient l'opérateur %s\n" +#~ "avec le numéro de stratégie %d invalide" -#~ msgid "huge TLB pages not supported on this platform" -#~ msgstr "Huge Pages TLB non supporté sur cette plateforme." +#~ msgid "brin operator family \"%s\" contains function %s with wrong signature for support number %d" +#~ msgstr "" +#~ "la famille d'opérateur brin « %s » contient la fonction %s\n" +#~ "avec une mauvaise signature pour le numéro de support %d" -#~ msgid "Lower bound of dimension array must be one." -#~ msgstr "La limite inférieure du tableau doit valoir un." +#~ msgid "brin operator family \"%s\" contains function %s with invalid support number %d" +#~ msgstr "" +#~ "la famille d'opérateur brin « %s » contient la fonction %s\n" +#~ "avec le numéro de support %d invalide" -#~ msgid "wrong range of array subscripts" -#~ msgstr "mauvais échelle des indices du tableau" +#~ msgid "index row size %lu exceeds maximum %lu for index \"%s\"" +#~ msgstr "la taille de la ligne index, %lu, dépasse le maximum, %lu, pour l'index « %s »" diff -Nru postgresql-9.6-9.6.5/src/backend/po/it.po postgresql-9.6-9.6.6/src/backend/po/it.po --- postgresql-9.6-9.6.5/src/backend/po/it.po 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/po/it.po 2017-11-06 22:08:55.000000000 +0000 @@ -16,8 +16,8 @@ msgstr "" "Project-Id-Version: postgres (PostgreSQL) 9.6\n" "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n" -"POT-Creation-Date: 2017-05-22 15:38+0000\n" -"PO-Revision-Date: 2017-06-03 01:29+0100\n" +"POT-Creation-Date: 2017-10-23 23:17+0000\n" +"PO-Revision-Date: 2017-10-24 08:30+0100\n" "Last-Translator: Daniele Varrazzo \n" "Language-Team: Gruppo traduzioni ITPUG \n" "Language: it\n" @@ -26,7 +26,7 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Poedit-SourceCharset: utf-8\n" -"X-Generator: Poedit 1.8.7.1\n" +"X-Generator: Poedit 1.5.4\n" #: ../common/config_info.c:131 ../common/config_info.c:139 #: ../common/config_info.c:147 ../common/config_info.c:155 @@ -36,7 +36,7 @@ msgid "not recorded" msgstr "non registrato" -#: ../common/controldata_utils.c:52 commands/copy.c:2834 +#: ../common/controldata_utils.c:52 commands/copy.c:2843 #: commands/extension.c:3144 utils/adt/genfile.c:134 #, c-format msgid "could not open file \"%s\" for reading: %m" @@ -48,14 +48,14 @@ msgstr "%s: apertura del file \"%s\" in lettura fallita: %s\n" #: ../common/controldata_utils.c:66 access/transam/timeline.c:346 -#: access/transam/xlog.c:3226 access/transam/xlog.c:10442 -#: access/transam/xlog.c:10455 access/transam/xlog.c:10850 -#: access/transam/xlog.c:10893 access/transam/xlog.c:10932 -#: access/transam/xlog.c:10975 access/transam/xlogfuncs.c:660 +#: access/transam/xlog.c:3226 access/transam/xlog.c:10453 +#: access/transam/xlog.c:10466 access/transam/xlog.c:10861 +#: access/transam/xlog.c:10904 access/transam/xlog.c:10943 +#: access/transam/xlog.c:10986 access/transam/xlogfuncs.c:660 #: access/transam/xlogfuncs.c:679 commands/extension.c:3154 -#: replication/logical/origin.c:668 replication/logical/origin.c:698 -#: replication/logical/reorderbuffer.c:3099 replication/walsender.c:499 -#: storage/file/copydir.c:176 utils/adt/genfile.c:151 +#: replication/logical/origin.c:672 replication/logical/origin.c:702 +#: replication/logical/reorderbuffer.c:3100 replication/walsender.c:504 +#: storage/file/copydir.c:202 utils/adt/genfile.c:151 #, c-format msgid "could not read file \"%s\": %m" msgstr "lettura de file \"%s\" fallita: %m" @@ -163,24 +163,25 @@ msgstr "chiusura della directory \"%s\" fallita: %s\n" #: ../common/psprintf.c:179 ../port/path.c:630 ../port/path.c:668 -#: ../port/path.c:685 access/transam/twophase.c:1262 access/transam/xlog.c:6114 -#: lib/stringinfo.c:258 libpq/auth.c:850 libpq/auth.c:1213 libpq/auth.c:1281 -#: libpq/auth.c:1797 postmaster/bgworker.c:310 postmaster/bgworker.c:813 -#: postmaster/postmaster.c:2349 postmaster/postmaster.c:2380 -#: postmaster/postmaster.c:3913 postmaster/postmaster.c:4603 -#: postmaster/postmaster.c:4678 postmaster/postmaster.c:5353 -#: postmaster/postmaster.c:5657 +#: ../port/path.c:685 access/transam/twophase.c:1262 +#: access/transam/xlog.c:6114 lib/stringinfo.c:258 libpq/auth.c:864 +#: libpq/auth.c:1227 libpq/auth.c:1295 libpq/auth.c:1811 +#: postmaster/bgworker.c:310 postmaster/bgworker.c:813 +#: postmaster/postmaster.c:2357 postmaster/postmaster.c:2388 +#: postmaster/postmaster.c:3922 postmaster/postmaster.c:4620 +#: postmaster/postmaster.c:4695 postmaster/postmaster.c:5368 +#: postmaster/postmaster.c:5690 #: replication/libpqwalreceiver/libpqwalreceiver.c:143 #: replication/logical/logical.c:169 storage/buffer/localbuf.c:436 #: storage/file/fd.c:736 storage/file/fd.c:1164 storage/file/fd.c:1282 -#: storage/file/fd.c:1993 storage/ipc/procarray.c:1061 -#: storage/ipc/procarray.c:1547 storage/ipc/procarray.c:1554 -#: storage/ipc/procarray.c:1968 storage/ipc/procarray.c:2579 +#: storage/file/fd.c:1993 storage/ipc/procarray.c:1062 +#: storage/ipc/procarray.c:1548 storage/ipc/procarray.c:1555 +#: storage/ipc/procarray.c:1969 storage/ipc/procarray.c:2580 #: utils/adt/formatting.c:1522 utils/adt/formatting.c:1642 #: utils/adt/formatting.c:1763 utils/adt/pg_locale.c:463 #: utils/adt/pg_locale.c:647 utils/adt/regexp.c:219 utils/adt/varlena.c:4440 #: utils/adt/varlena.c:4461 utils/fmgr/dfmgr.c:216 utils/hash/dynahash.c:429 -#: utils/hash/dynahash.c:535 utils/hash/dynahash.c:1047 utils/mb/mbutils.c:376 +#: utils/hash/dynahash.c:535 utils/hash/dynahash.c:1046 utils/mb/mbutils.c:376 #: utils/mb/mbutils.c:709 utils/misc/guc.c:3888 utils/misc/guc.c:3904 #: utils/misc/guc.c:3917 utils/misc/guc.c:6863 utils/misc/tzparser.c:468 #: utils/mmgr/aset.c:510 utils/mmgr/mcxt.c:767 utils/mmgr/mcxt.c:802 @@ -251,7 +252,7 @@ msgid "could not look up effective user ID %ld: %s" msgstr "ID utente effettivo %ld non trovato: %s" -#: ../common/username.c:47 libpq/auth.c:1744 +#: ../common/username.c:47 libpq/auth.c:1758 msgid "user does not exist" msgstr "l'utente non esiste" @@ -300,7 +301,8 @@ msgid "could not determine encoding for codeset \"%s\"" msgstr "determinazione della codifica per il codeset \"%s\" fallita" -#: ../port/chklocale.c:294 ../port/chklocale.c:423 postmaster/postmaster.c:4882 +#: ../port/chklocale.c:294 ../port/chklocale.c:423 +#: postmaster/postmaster.c:4899 #, c-format msgid "Please report this to ." msgstr "Per favore segnala questo problema a ." @@ -388,61 +390,76 @@ msgid "could not open parent table of index %s" msgstr "apertura della tabella dell'indice %s non riuscita" -#: access/brin/brin_pageops.c:76 access/brin/brin_pageops.c:362 -#: access/brin/brin_pageops.c:828 +#: access/brin/brin_pageops.c:76 access/brin/brin_pageops.c:360 +#: access/brin/brin_pageops.c:824 access/gin/ginentrypage.c:109 +#: access/gist/gist.c:1337 access/nbtree/nbtinsert.c:576 +#: access/nbtree/nbtsort.c:488 access/spgist/spgdoinsert.c:1907 #, c-format -msgid "index row size %lu exceeds maximum %lu for index \"%s\"" -msgstr "la dimensione %lu della riga dell'indice supera il massimo %lu per l'indice \"%s\"" +msgid "index row size %zu exceeds maximum %zu for index \"%s\"" +msgstr "la dimensione %zu della riga dell'indice supera il massimo %zu per l'indice \"%s\"" #: access/brin/brin_revmap.c:459 #, c-format msgid "unexpected page type 0x%04X in BRIN index \"%s\" block %u" msgstr "tipo di pagina inaspettato 0x%04X nell'indice BRIN \"%s\" blocco %u" -#: access/brin/brin_validate.c:115 +#: access/brin/brin_validate.c:115 access/gin/ginvalidate.c:148 +#: access/gist/gistvalidate.c:145 access/hash/hashvalidate.c:130 +#: access/nbtree/nbtvalidate.c:100 access/spgist/spgvalidate.c:115 #, c-format -msgid "brin operator family \"%s\" contains function %s with invalid support number %d" -msgstr "la famiglia di operatori brin \"%s\" contiene la funzione %s con numero di supporto non valido %d" +msgid "operator family \"%s\" of access method %s contains function %s with invalid support number %d" +msgstr "la famiglia di operatori \"%s\" del metodo di accesso %s contiene la funzione %s con numero di supporto non valido %d" -#: access/brin/brin_validate.c:131 +#: access/brin/brin_validate.c:131 access/gin/ginvalidate.c:160 +#: access/gist/gistvalidate.c:157 access/hash/hashvalidate.c:113 +#: access/nbtree/nbtvalidate.c:112 access/spgist/spgvalidate.c:127 #, c-format -msgid "brin operator family \"%s\" contains function %s with wrong signature for support number %d" -msgstr "la famiglia di operatori brin \"%s\" contiene la funzione %s con signature non valida per il numero di supporto %d" +msgid "operator family \"%s\" of access method %s contains function %s with wrong signature for support number %d" +msgstr "la famiglia di operatori \"%s\" del metodo di accesso %s contiene la funzione %s con signature errata per il numero di supporto %d" -#: access/brin/brin_validate.c:153 +#: access/brin/brin_validate.c:153 access/gin/ginvalidate.c:179 +#: access/gist/gistvalidate.c:177 access/hash/hashvalidate.c:151 +#: access/nbtree/nbtvalidate.c:132 access/spgist/spgvalidate.c:146 #, c-format -msgid "brin operator family \"%s\" contains operator %s with invalid strategy number %d" -msgstr "la famiglia di operatori brin \"%s\" contiene la funzione %s con numero di strategia non valido %d" +msgid "operator family \"%s\" of access method %s contains operator %s with invalid strategy number %d" +msgstr "la famiglia di operatori \"%s\" del metodo di accesso %s contiene l'operatore %s con numero di strategia %d non valido" -#: access/brin/brin_validate.c:182 +#: access/brin/brin_validate.c:182 access/gin/ginvalidate.c:192 +#: access/hash/hashvalidate.c:164 access/nbtree/nbtvalidate.c:145 +#: access/spgist/spgvalidate.c:159 #, c-format -msgid "brin operator family \"%s\" contains invalid ORDER BY specification for operator %s" -msgstr "la famiglia di operatori brin \"%s\" contiene una specifica ORDER BY non valida per l'operatore %s" +msgid "operator family \"%s\" of access method %s contains invalid ORDER BY specification for operator %s" +msgstr "la famiglia di operatori \"%s\" del metodo di accesso %s contiene una specifica ORDER BY non valida per l'operatore %s" -#: access/brin/brin_validate.c:195 +#: access/brin/brin_validate.c:195 access/gin/ginvalidate.c:205 +#: access/gist/gistvalidate.c:225 access/hash/hashvalidate.c:177 +#: access/nbtree/nbtvalidate.c:158 access/spgist/spgvalidate.c:172 #, c-format -msgid "brin operator family \"%s\" contains operator %s with wrong signature" -msgstr "la famiglia di operatori brin \"%s\" contiene l'operatore %s con signature non valida" +msgid "operator family \"%s\" of access method %s contains operator %s with wrong signature" +msgstr "la famiglia di operatori \"%s\" del metodo di accesso %s contiene l'operatore %s con signature non valida" -#: access/brin/brin_validate.c:233 +#: access/brin/brin_validate.c:233 access/hash/hashvalidate.c:217 +#: access/nbtree/nbtvalidate.c:200 access/spgist/spgvalidate.c:200 #, c-format -msgid "brin operator family \"%s\" is missing operator(s) for types %s and %s" -msgstr "alla famiglia di operatori brin \"%s\" mancano operatori per i tipi %s e %s" +msgid "operator family \"%s\" of access method %s is missing operator(s) for types %s and %s" +msgstr "alla famiglia di operatori \"%s\" del metodo di accesso %s mancano operatori per i tipi %s e %s" #: access/brin/brin_validate.c:243 #, c-format -msgid "brin operator family \"%s\" is missing support function(s) for types %s and %s" -msgstr "alla famiglia di operatori brin \"%s\" mancano funzioni di supporto per i tipi %s e %s" +msgid "operator family \"%s\" of access method %s is missing support function(s) for types %s and %s" +msgstr "alla famiglia di operatori \"%s\" del metodo di accesso %s mancano funzioni di supporto per i tipi %s e %s" -#: access/brin/brin_validate.c:256 +#: access/brin/brin_validate.c:256 access/hash/hashvalidate.c:231 +#: access/nbtree/nbtvalidate.c:224 access/spgist/spgvalidate.c:233 #, c-format -msgid "brin operator class \"%s\" is missing operator(s)" -msgstr "alla classe di operatori brin \"%s\" mancano operatori" +msgid "operator class \"%s\" of access method %s is missing operator(s)" +msgstr "alla famiglia di operatori \"%s\" del metodo di accesso %s mancano operatori" -#: access/brin/brin_validate.c:267 +#: access/brin/brin_validate.c:267 access/gin/ginvalidate.c:246 +#: access/gist/gistvalidate.c:264 #, c-format -msgid "brin operator class \"%s\" is missing support function %d" -msgstr "alla classe di operatori brin \"%s\" manca la funzione di supporto %d" +msgid "operator class \"%s\" of access method %s is missing support function %d" +msgstr "alla famiglia di operatori \"%s\" del metodo di accesso %s manca la funzione di supporto %d" #: access/common/heaptuple.c:708 access/common/heaptuple.c:1339 #, c-format @@ -460,7 +477,7 @@ msgstr "la riga dell'indice richiede %zu byte, la dimensione massima è %zu" #: access/common/printtup.c:292 tcop/fastpath.c:182 tcop/fastpath.c:532 -#: tcop/postgres.c:1719 +#: tcop/postgres.c:1711 #, c-format msgid "unsupported format code: %d" msgstr "codice di formato non supportato: %d" @@ -555,15 +572,8 @@ msgid "Reduce maintenance_work_mem." msgstr "Riduci maintenance_work_mem." -#: access/gin/ginentrypage.c:109 access/gist/gist.c:1337 -#: access/nbtree/nbtinsert.c:576 access/nbtree/nbtsort.c:488 -#: access/spgist/spgdoinsert.c:1907 -#, c-format -msgid "index row size %zu exceeds maximum %zu for index \"%s\"" -msgstr "la dimensione %zu della riga dell'indice supera il massimo %zu per l'indice \"%s\"" - -#: access/gin/ginfast.c:989 access/transam/xlog.c:9864 -#: access/transam/xlog.c:10381 access/transam/xlogfuncs.c:288 +#: access/gin/ginfast.c:989 access/transam/xlog.c:9875 +#: access/transam/xlog.c:10392 access/transam/xlogfuncs.c:288 #: access/transam/xlogfuncs.c:315 access/transam/xlogfuncs.c:354 #: access/transam/xlogfuncs.c:375 access/transam/xlogfuncs.c:396 #: access/transam/xlogfuncs.c:466 access/transam/xlogfuncs.c:522 @@ -596,45 +606,16 @@ msgid "To fix this, do REINDEX INDEX \"%s\"." msgstr "Per correggere questo problema esegui REINDEX INDEX \"%s\"." -#: access/gin/ginvalidate.c:92 -#, c-format -msgid "gin operator family \"%s\" contains support procedure %s with cross-type registration" -msgstr "la famiglia di operatori gin \"%s\" contiene la procedura di supporto %s con tipi misti" - -#: access/gin/ginvalidate.c:148 -#, c-format -msgid "gin operator family \"%s\" contains function %s with invalid support number %d" -msgstr "la famiglia di operatori gin \"%s\" contiene la funzione %s con numero di supporto non valido %d" - -#: access/gin/ginvalidate.c:160 +#: access/gin/ginvalidate.c:92 access/gist/gistvalidate.c:92 +#: access/hash/hashvalidate.c:98 access/spgist/spgvalidate.c:92 #, c-format -msgid "gin operator family \"%s\" contains function %s with wrong signature for support number %d" -msgstr "la famiglia di operatori gin \"%s\" contiene la funzione %s con signature non valida per il numero di supporto %d" - -#: access/gin/ginvalidate.c:179 -#, c-format -msgid "gin operator family \"%s\" contains operator %s with invalid strategy number %d" -msgstr "la famiglia di operatori gin \"%s\" contiene l'operatore %s con numero di strategia non valido %d" - -#: access/gin/ginvalidate.c:192 -#, c-format -msgid "gin operator family \"%s\" contains invalid ORDER BY specification for operator %s" -msgstr "la famiglia di operatori gin \"%s\" contiene una specifica ORDER BY non valida per l'operatore %s" - -#: access/gin/ginvalidate.c:205 -#, c-format -msgid "gin operator family \"%s\" contains operator %s with wrong signature" -msgstr "la famiglia di operatori gin \"%s\" contiene l'operatore %s con signature non valida" - -#: access/gin/ginvalidate.c:246 -#, c-format -msgid "gin operator class \"%s\" is missing support function %d" -msgstr "alla classe di operatori gin \"%s\" manca la funzione di supporto %d" +msgid "operator family \"%s\" of access method %s contains support procedure %s with different left and right input types" +msgstr "la famiglia di operatori \"%s\" del metodo di accesso %s contiene la procedura di supporto %s con tipi di input sinistro e destro diversi" #: access/gin/ginvalidate.c:256 #, c-format -msgid "gin operator class \"%s\" is missing support function %d or %d" -msgstr "alla classe di operatori gin \"%s\" mancano le funzioni di supporto %d o %d" +msgid "operator class \"%s\" of access method %s is missing support function %d or %d" +msgstr "alla classe di operatori \"%s\" del metodo di accesso %s manca la funzione di supporto %d o %d" #: access/gist/gist.c:680 access/gist/gistvacuum.c:258 #, c-format @@ -646,11 +627,11 @@ msgid "This is caused by an incomplete page split at crash recovery before upgrading to PostgreSQL 9.1." msgstr "Ciò è causato da una separazione di pagina incompleta al ripristino del crash prima dell'aggiornamento a PostgreSQL 9.1." -#: access/gist/gist.c:683 access/gist/gistutil.c:738 access/gist/gistutil.c:749 -#: access/gist/gistvacuum.c:261 access/hash/hashutil.c:172 -#: access/hash/hashutil.c:183 access/hash/hashutil.c:195 -#: access/hash/hashutil.c:216 access/nbtree/nbtpage.c:518 -#: access/nbtree/nbtpage.c:529 +#: access/gist/gist.c:683 access/gist/gistutil.c:738 +#: access/gist/gistutil.c:749 access/gist/gistvacuum.c:261 +#: access/hash/hashutil.c:172 access/hash/hashutil.c:183 +#: access/hash/hashutil.c:195 access/hash/hashutil.c:216 +#: access/nbtree/nbtpage.c:518 access/nbtree/nbtpage.c:529 #, c-format msgid "Please REINDEX it." msgstr "Si richiede l'esecuzione di REINDEX." @@ -692,45 +673,15 @@ msgid "index \"%s\" contains corrupted page at block %u" msgstr "l'indice \"%s\" contiene una pagina corrotta al blocco %u" -#: access/gist/gistvalidate.c:92 -#, c-format -msgid "gist operator family \"%s\" contains support procedure %s with cross-type registration" -msgstr "la famiglia di operatori gist \"%s\" contiene la procedura di supporto %s con tipi misti" - -#: access/gist/gistvalidate.c:145 -#, c-format -msgid "gist operator family \"%s\" contains function %s with invalid support number %d" -msgstr "la famiglia di operatori gist \"%s\" contiene la funzione %s con numero di supporto non valido %d" - -#: access/gist/gistvalidate.c:157 -#, c-format -msgid "gist operator family \"%s\" contains function %s with wrong signature for support number %d" -msgstr "la famiglia di operatori gist \"%s\" contiene la funzione %s con signature non valida per il numero di supporto %d" - -#: access/gist/gistvalidate.c:177 -#, c-format -msgid "gist operator family \"%s\" contains operator %s with invalid strategy number %d" -msgstr "la famiglia di operatori gist \"%s\" contiene l'operatore %s con numero di strategia non valido %d" - #: access/gist/gistvalidate.c:195 #, c-format -msgid "gist operator family \"%s\" contains unsupported ORDER BY specification for operator %s" -msgstr "la famiglia di operatori gist \"%s\" contiene una specifica ORDER BY non supportata per l'operatore %s" +msgid "operator family \"%s\" of access method %s contains unsupported ORDER BY specification for operator %s" +msgstr "la famiglia di operatori \"%s\" del metodo di accesso %s contiene una specifica ORDER BY non supportata per l'operatore %s" #: access/gist/gistvalidate.c:206 #, c-format -msgid "gist operator family \"%s\" contains incorrect ORDER BY opfamily specification for operator %s" -msgstr "la famiglia di operatori gist \"%s\" contiene una specifica ORDER BY non corretta per l'operatore %s" - -#: access/gist/gistvalidate.c:225 -#, c-format -msgid "gist operator family \"%s\" contains operator %s with wrong signature" -msgstr "la famiglia di operatori gist \"%s\" contiene l'operatore %s con signature non valida" - -#: access/gist/gistvalidate.c:264 -#, c-format -msgid "gist operator class \"%s\" is missing support function %d" -msgstr "-alla classe di operatori gist \"%s\" manca la funzione di supporto %d" +msgid "operator family \"%s\" of access method %s contains incorrect ORDER BY opfamily specification for operator %s" +msgstr "la famiglia di operatori \"%s\" del metodo di accesso %s contiene una specifica opfamily ORDER BY non corretta per l'operatore %s" #: access/hash/hashinsert.c:70 #, c-format @@ -763,55 +714,15 @@ msgid "index \"%s\" has wrong hash version" msgstr "l'indice \"%s\" ha una versione errata dell'hash" -#: access/hash/hashvalidate.c:98 -#, c-format -msgid "hash operator family \"%s\" contains support procedure %s with cross-type registration" -msgstr "la famiglia di operatori hash \"%s\" contiene la procedura di supporto %s con tipi misti" - -#: access/hash/hashvalidate.c:113 -#, c-format -msgid "hash operator family \"%s\" contains function %s with wrong signature for support number %d" -msgstr "la famiglia di operatori hash \"%s\" contiene la funzione %s con signature non valida per il numero di supporto %d" - -#: access/hash/hashvalidate.c:130 -#, c-format -msgid "hash operator family \"%s\" contains function %s with invalid support number %d" -msgstr "la famiglia di operatori hash \"%s\" contiene la funzione %s con numero di supporto non valido %d" - -#: access/hash/hashvalidate.c:151 -#, c-format -msgid "hash operator family \"%s\" contains operator %s with invalid strategy number %d" -msgstr "la famiglia di operatori hash \"%s\" contiene l'operatore %s con numero di strategia non valido %d" - -#: access/hash/hashvalidate.c:164 -#, c-format -msgid "hash operator family \"%s\" contains invalid ORDER BY specification for operator %s" -msgstr "la famiglia di operatori hash \"%s\" contiene una specifica ORDER BY non valida per l'operatore %s" - -#: access/hash/hashvalidate.c:177 -#, c-format -msgid "hash operator family \"%s\" contains operator %s with wrong signature" -msgstr "la famiglia di operatori hash \"%s\" contiene l'operatore %s con signature non valida" - #: access/hash/hashvalidate.c:189 #, c-format -msgid "hash operator family \"%s\" lacks support function for operator %s" -msgstr "alla famiglia di operatori hash \"%s\" manca la funzione di supporto per l'operatore %s" +msgid "operator family \"%s\" of access method %s lacks support function for operator %s" +msgstr "alla famiglia di operatori \"%s\" del metodo di accesso %s manca la funzione di supporto per l'operatore %s" -#: access/hash/hashvalidate.c:217 +#: access/hash/hashvalidate.c:247 access/nbtree/nbtvalidate.c:241 #, c-format -msgid "hash operator family \"%s\" is missing operator(s) for types %s and %s" -msgstr "alla famiglia di operatori hash \"%s\" mancano operatori per i tipi %s e %s" - -#: access/hash/hashvalidate.c:231 -#, c-format -msgid "hash operator class \"%s\" is missing operator(s)" -msgstr "alla classe di operatori hash \"%s\" mancano operatori" - -#: access/hash/hashvalidate.c:247 -#, c-format -msgid "hash operator family \"%s\" is missing cross-type operator(s)" -msgstr "alla famiglia di operatori hash \"%s\" mancano operatori tra tipi diversi" +msgid "operator family \"%s\" of access method %s is missing cross-type operator(s)" +msgstr "alla famiglia di operatori \"%s\" del metodo di accesso %s mancano operatori tra tipi diversi" #: access/heap/heapam.c:1295 access/heap/heapam.c:1323 #: access/heap/heapam.c:1355 catalog/aclchk.c:1756 @@ -820,39 +731,39 @@ msgstr "\"%s\" è un indice" #: access/heap/heapam.c:1300 access/heap/heapam.c:1328 -#: access/heap/heapam.c:1360 catalog/aclchk.c:1763 commands/tablecmds.c:9082 -#: commands/tablecmds.c:12190 +#: access/heap/heapam.c:1360 catalog/aclchk.c:1763 commands/tablecmds.c:9095 +#: commands/tablecmds.c:12203 #, c-format msgid "\"%s\" is a composite type" msgstr "\"%s\" è un tipo composito" -#: access/heap/heapam.c:2567 +#: access/heap/heapam.c:2610 #, c-format msgid "cannot insert tuples during a parallel operation" msgstr "non è possibile inserire tuple durante un'operazione parallela" -#: access/heap/heapam.c:3017 +#: access/heap/heapam.c:3060 #, c-format msgid "cannot delete tuples during a parallel operation" msgstr "non è possibile eliminare tuple durante un'operazione parallela" -#: access/heap/heapam.c:3063 +#: access/heap/heapam.c:3106 #, c-format msgid "attempted to delete invisible tuple" msgstr "tentativo di eliminare tuple invisibili" -#: access/heap/heapam.c:3489 access/heap/heapam.c:6240 +#: access/heap/heapam.c:3532 access/heap/heapam.c:6316 #, c-format msgid "cannot update tuples during a parallel operation" msgstr "non è possibile aggiornare tuple durante un'operazione parallela" -#: access/heap/heapam.c:3611 +#: access/heap/heapam.c:3654 #, c-format msgid "attempted to update invisible tuple" msgstr "tentativo di aggiornare tuple invisibili" -#: access/heap/heapam.c:4963 access/heap/heapam.c:5001 -#: access/heap/heapam.c:5253 executor/execMain.c:2314 +#: access/heap/heapam.c:5007 access/heap/heapam.c:5045 +#: access/heap/heapam.c:5297 executor/execMain.c:2313 #, c-format msgid "could not obtain lock on row in relation \"%s\"" msgstr "lock di riga nella relazione \"%s\" fallito" @@ -881,10 +792,10 @@ #: access/heap/rewriteheap.c:1018 access/heap/rewriteheap.c:1138 #: access/transam/timeline.c:315 access/transam/timeline.c:461 #: access/transam/xlog.c:3049 access/transam/xlog.c:3198 -#: access/transam/xlog.c:10198 access/transam/xlog.c:10236 -#: access/transam/xlog.c:10625 postmaster/postmaster.c:4378 -#: replication/logical/origin.c:542 replication/slot.c:1062 -#: storage/file/copydir.c:162 storage/smgr/md.c:327 utils/time/snapmgr.c:1275 +#: access/transam/xlog.c:10209 access/transam/xlog.c:10247 +#: access/transam/xlog.c:10636 postmaster/postmaster.c:4387 +#: replication/logical/origin.c:546 replication/slot.c:1062 +#: storage/file/copydir.c:176 storage/smgr/md.c:327 utils/time/snapmgr.c:1275 #, c-format msgid "could not create file \"%s\": %m" msgstr "creazione del file \"%s\" fallita: %m" @@ -894,7 +805,7 @@ msgid "could not truncate file \"%s\" to %u: %m" msgstr "troncamento del file \"%s\" a %u fallito: %m" -#: access/heap/rewriteheap.c:1154 replication/walsender.c:481 +#: access/heap/rewriteheap.c:1154 replication/walsender.c:486 #: storage/smgr/md.c:1899 #, c-format msgid "could not seek to end of file \"%s\": %m" @@ -903,10 +814,10 @@ #: access/heap/rewriteheap.c:1165 access/transam/timeline.c:367 #: access/transam/timeline.c:401 access/transam/timeline.c:477 #: access/transam/xlog.c:3084 access/transam/xlog.c:3248 -#: postmaster/postmaster.c:4388 postmaster/postmaster.c:4398 -#: replication/logical/origin.c:551 replication/logical/origin.c:590 -#: replication/logical/origin.c:606 replication/logical/snapbuild.c:1589 -#: replication/slot.c:1091 storage/file/copydir.c:187 +#: postmaster/postmaster.c:4397 postmaster/postmaster.c:4407 +#: replication/logical/origin.c:555 replication/logical/origin.c:594 +#: replication/logical/origin.c:610 replication/logical/snapbuild.c:1589 +#: replication/slot.c:1091 storage/file/copydir.c:213 #: utils/init/miscinit.c:1228 utils/init/miscinit.c:1237 #: utils/init/miscinit.c:1244 utils/misc/guc.c:6846 utils/misc/guc.c:6877 #: utils/misc/guc.c:8727 utils/misc/guc.c:8741 utils/time/snapmgr.c:1280 @@ -915,10 +826,10 @@ msgid "could not write to file \"%s\": %m" msgstr "scrittura nel file \"%s\" fallita: %m" -#: access/heap/rewriteheap.c:1248 access/transam/xlog.c:10460 +#: access/heap/rewriteheap.c:1248 access/transam/xlog.c:10471 #: access/transam/xlogarchive.c:114 access/transam/xlogarchive.c:468 -#: replication/logical/origin.c:529 replication/logical/reorderbuffer.c:2632 -#: replication/logical/reorderbuffer.c:2689 +#: replication/logical/origin.c:533 replication/logical/reorderbuffer.c:2633 +#: replication/logical/reorderbuffer.c:2690 #: replication/logical/snapbuild.c:1538 replication/logical/snapbuild.c:1901 #: replication/slot.c:1164 storage/ipc/dsm.c:326 storage/smgr/md.c:427 #: storage/smgr/md.c:476 storage/smgr/md.c:1394 @@ -932,12 +843,12 @@ #: access/transam/xlog.c:3183 access/transam/xlog.c:3456 #: access/transam/xlog.c:3534 access/transam/xlogutils.c:701 #: replication/basebackup.c:403 replication/basebackup.c:1150 -#: replication/logical/origin.c:661 replication/logical/reorderbuffer.c:2156 -#: replication/logical/reorderbuffer.c:2402 -#: replication/logical/reorderbuffer.c:3081 +#: replication/logical/origin.c:665 replication/logical/reorderbuffer.c:2156 +#: replication/logical/reorderbuffer.c:2403 +#: replication/logical/reorderbuffer.c:3082 #: replication/logical/snapbuild.c:1582 replication/logical/snapbuild.c:1666 -#: replication/slot.c:1179 replication/walsender.c:474 -#: replication/walsender.c:2101 storage/file/copydir.c:155 +#: replication/slot.c:1179 replication/walsender.c:479 +#: replication/walsender.c:2144 storage/file/copydir.c:169 #: storage/file/fd.c:614 storage/file/fd.c:3041 storage/file/fd.c:3108 #: storage/smgr/md.c:609 utils/error/elog.c:1879 utils/init/miscinit.c:1163 #: utils/init/miscinit.c:1284 utils/init/miscinit.c:1362 utils/misc/guc.c:7105 @@ -958,7 +869,7 @@ #: access/index/indexam.c:155 catalog/objectaddress.c:1196 #: commands/indexcmds.c:1800 commands/tablecmds.c:242 -#: commands/tablecmds.c:12181 +#: commands/tablecmds.c:12194 #, c-format msgid "\"%s\" is not an index" msgstr "\"%s\" non è un indice" @@ -993,7 +904,7 @@ "Si consiglia un indice funzionale su un hash MD5 del valore o l'uso del full text indexing." #: access/nbtree/nbtpage.c:168 access/nbtree/nbtpage.c:371 -#: access/nbtree/nbtpage.c:458 parser/parse_utilcmd.c:1702 +#: access/nbtree/nbtpage.c:458 parser/parse_utilcmd.c:1703 #, c-format msgid "index \"%s\" is not a btree" msgstr "l'indice \"%s\" non è un btree" @@ -1014,100 +925,20 @@ msgid "This can be caused by an interrupted VACUUM in version 9.3 or older, before upgrade. Please REINDEX it." msgstr "Ciò può essere causato da un VACUUM interrotto in una versione 9.3 o precedente, prima dell'aggiornamento. Si consiglia un REINDEX." -#: access/nbtree/nbtvalidate.c:100 -#, c-format -msgid "btree operator family \"%s\" contains function %s with invalid support number %d" -msgstr "la famiglia di operatori btree \"%s\" contiene la funzione %s con numero di supporto non valido %d" - -#: access/nbtree/nbtvalidate.c:112 -#, c-format -msgid "btree operator family \"%s\" contains function %s with wrong signature for support number %d" -msgstr "la famiglia di operatori btree \"%s\" contiene la funzione %s con signature non valida per il numero di supporto %d" - -#: access/nbtree/nbtvalidate.c:132 -#, c-format -msgid "btree operator family \"%s\" contains operator %s with invalid strategy number %d" -msgstr "la famiglia di operatori btree \"%s\" contiene l'operatore %s con numero di strategia non valido %d" - -#: access/nbtree/nbtvalidate.c:145 -#, c-format -msgid "btree operator family \"%s\" contains invalid ORDER BY specification for operator %s" -msgstr "la famiglia di operatori btree \"%s\" contiene una specifica ORDER BY non valida per l'operatore %s" - -#: access/nbtree/nbtvalidate.c:158 -#, c-format -msgid "btree operator family \"%s\" contains operator %s with wrong signature" -msgstr "la famiglia di operatori btree \"%s\" contiene l'operatore %s con signature non valida" - -#: access/nbtree/nbtvalidate.c:200 -#, c-format -msgid "btree operator family \"%s\" is missing operator(s) for types %s and %s" -msgstr "alla famiglia di operatori btree \"%s\" mancano operatori per i tipi %s e %s" - #: access/nbtree/nbtvalidate.c:210 #, c-format -msgid "btree operator family \"%s\" is missing support function for types %s and %s" -msgstr "alla famiglia di operatori btree \"%s\" mancano funzioni di supporto per i tipi %s e %s" - -#: access/nbtree/nbtvalidate.c:224 -#, c-format -msgid "btree operator class \"%s\" is missing operator(s)" -msgstr "alla classe di operatori btree \"%s\" mancano operatori" - -#: access/nbtree/nbtvalidate.c:241 -#, c-format -msgid "btree operator family \"%s\" is missing cross-type operator(s)" -msgstr "alla famiglia di operatori btree \"%s\" mancano operatori tra tipi diversi" +msgid "operator family \"%s\" of access method %s is missing support function for types %s and %s" +msgstr "alla famiglia di operatori \"%s\" del metodo di accesso %s manca la funzione di supporto per i tipi %s e %s" #: access/spgist/spgutils.c:700 #, c-format msgid "SP-GiST inner tuple size %zu exceeds maximum %zu" msgstr "La dimensione %zu della tupla interna SP-GiST supera il massimo %zu" -#: access/spgist/spgvalidate.c:92 -#, c-format -msgid "spgist operator family \"%s\" contains support procedure %s with cross-type registration" -msgstr "la famiglia di operatori spgist \"%s\" contiene la procedura di supporto %s con tipi misti" - -#: access/spgist/spgvalidate.c:115 -#, c-format -msgid "spgist operator family \"%s\" contains function %s with invalid support number %d" -msgstr "la famiglia di operatori spgist \"%s\" contiene la funzione %s con numero di supporto non valido %d" - -#: access/spgist/spgvalidate.c:127 -#, c-format -msgid "spgist operator family \"%s\" contains function %s with wrong signature for support number %d" -msgstr "la famiglia di operatori spgist \"%s\" contiene la funzione %s con signature non valida per il numero di supporto %d" - -#: access/spgist/spgvalidate.c:146 -#, c-format -msgid "spgist operator family \"%s\" contains operator %s with invalid strategy number %d" -msgstr "la famiglia di operatori spgist \"%s\" contiene l'operatore %s con numero di strategia non valido %d" - -#: access/spgist/spgvalidate.c:159 -#, c-format -msgid "spgist operator family \"%s\" contains invalid ORDER BY specification for operator %s" -msgstr "la famiglia di operatori spgist \"%s\" contiene una specifica ORDER BY non valida per l'operatore %s" - -#: access/spgist/spgvalidate.c:172 -#, c-format -msgid "spgist operator family \"%s\" contains operator %s with wrong signature" -msgstr "la famiglia di operatori spgist \"%s\" contiene l'operatore %s con signature non valida" - -#: access/spgist/spgvalidate.c:200 -#, c-format -msgid "spgist operator family \"%s\" is missing operator(s) for types %s and %s" -msgstr "alla famiglia di operatori spgist \"%s\" mancano operatori per i tipi %s e %s" - #: access/spgist/spgvalidate.c:220 #, c-format -msgid "spgist operator family \"%s\" is missing support function %d for type %s" -msgstr "alla famiglia di operatori spgist \"%s\" manca la funzione di supporto %d per il tipo %s" - -#: access/spgist/spgvalidate.c:233 -#, c-format -msgid "spgist operator class \"%s\" is missing operator(s)" -msgstr "alla classe di operatori spgist \"%s\" mancano operatori" +msgid "operator family \"%s\" of access method %s is missing support function %d for type %s" +msgstr "alla famiglia di operatori \"%s\" del metodo di accesso %s manca la funzione di supporto %d per il tipo %s" #: access/tablesample/bernoulli.c:152 access/tablesample/system.c:156 #, c-format @@ -1129,7 +960,7 @@ msgid "Make sure the configuration parameter \"%s\" is set on the master server." msgstr "Assicurati che il parametro di configurazione \"%s\" sia impostato sul server master." -#: access/transam/commit_ts.c:396 libpq/hba.c:1439 +#: access/transam/commit_ts.c:396 libpq/hba.c:1429 #, c-format msgid "Make sure the configuration parameter \"%s\" is set." msgstr "Assicurati che il parametro di configurazione \"%s\" sia impostato." @@ -1282,54 +1113,54 @@ msgid "invalid magic number in dynamic shared memory segment" msgstr "numero magico non valido nel segmento di memoria dinamica condivisa" -#: access/transam/slru.c:665 +#: access/transam/slru.c:669 #, c-format msgid "file \"%s\" doesn't exist, reading as zeroes" msgstr "il file \"%s\" non esiste, interpretato come zeri" -#: access/transam/slru.c:895 access/transam/slru.c:901 -#: access/transam/slru.c:908 access/transam/slru.c:915 -#: access/transam/slru.c:922 access/transam/slru.c:929 +#: access/transam/slru.c:899 access/transam/slru.c:905 +#: access/transam/slru.c:912 access/transam/slru.c:919 +#: access/transam/slru.c:926 access/transam/slru.c:933 #, c-format msgid "could not access status of transaction %u" msgstr "non è stato possibile accedere allo stato della transazione %u" -#: access/transam/slru.c:896 +#: access/transam/slru.c:900 #, c-format msgid "Could not open file \"%s\": %m." msgstr "Apertura del file \"%s\" fallita: %m." -#: access/transam/slru.c:902 +#: access/transam/slru.c:906 #, c-format msgid "Could not seek in file \"%s\" to offset %u: %m." msgstr "Spostamento nel file \"%s\" all'offset %u fallito: %m." -#: access/transam/slru.c:909 +#: access/transam/slru.c:913 #, c-format msgid "Could not read from file \"%s\" at offset %u: %m." msgstr "Lettura dal file \"%s\" all'offset %u fallita: %m." -#: access/transam/slru.c:916 +#: access/transam/slru.c:920 #, c-format msgid "Could not write to file \"%s\" at offset %u: %m." msgstr "Scrittura nel file \"%s\" all'offset %u fallita: %m." -#: access/transam/slru.c:923 +#: access/transam/slru.c:927 #, c-format msgid "Could not fsync file \"%s\": %m." msgstr "fsync del file \"%s\" fallito: %m." -#: access/transam/slru.c:930 +#: access/transam/slru.c:934 #, c-format msgid "Could not close file \"%s\": %m." msgstr "Chiusura del file \"%s\" fallita: %m." -#: access/transam/slru.c:1185 +#: access/transam/slru.c:1189 #, c-format msgid "could not truncate directory \"%s\": apparent wraparound" msgstr "troncamento della directory \"%s\" fallito: probabile wraparound" -#: access/transam/slru.c:1240 access/transam/slru.c:1296 +#: access/transam/slru.c:1244 access/transam/slru.c:1300 #, c-format msgid "removing file \"%s\"" msgstr "cancellazione del file \"%s\"" @@ -1372,7 +1203,7 @@ #: access/transam/timeline.c:412 access/transam/timeline.c:488 #: access/transam/xlog.c:3099 access/transam/xlog.c:3260 #: access/transam/xlogfuncs.c:685 commands/copy.c:1709 -#: storage/file/copydir.c:201 +#: storage/file/copydir.c:223 #, c-format msgid "could not close file \"%s\": %m" msgstr "chiusura del file \"%s\" fallita: %m" @@ -1575,95 +1406,95 @@ msgid "maximum number of committed subtransactions (%d) exceeded" msgstr "il numero massimo di sottotransazioni committed (%d) è stato superato" -#: access/transam/xact.c:2263 +#: access/transam/xact.c:2260 #, c-format msgid "cannot PREPARE a transaction that has operated on temporary tables" msgstr "non è possibile eseguire PREPARE in una transazione che ha operato su tabelle temporanee" -#: access/transam/xact.c:2273 +#: access/transam/xact.c:2270 #, c-format msgid "cannot PREPARE a transaction that has exported snapshots" msgstr "non è possibile eseguire PREPARE in una transazione che ha esportato snapshot" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3155 +#: access/transam/xact.c:3148 #, c-format msgid "%s cannot run inside a transaction block" msgstr "non è possibile eseguire %s all'interno di un blocco di transazione" # translator: %s represents an SQL statement name #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3165 +#: access/transam/xact.c:3158 #, c-format msgid "%s cannot run inside a subtransaction" msgstr "non è possibile eseguire %s all'interno di una sottotransazione" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3175 +#: access/transam/xact.c:3168 #, c-format msgid "%s cannot be executed from a function or multi-command string" msgstr "una funzione o una stringa multi-comando non può eseguire %s" # translator: %s represents an SQL statement name #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3246 +#: access/transam/xact.c:3239 #, c-format msgid "%s can only be used in transaction blocks" msgstr "si può usare %s solo entro blocchi di transazione" -#: access/transam/xact.c:3430 +#: access/transam/xact.c:3423 #, c-format msgid "there is already a transaction in progress" msgstr "c'è già una transazione in corso" -#: access/transam/xact.c:3598 access/transam/xact.c:3701 +#: access/transam/xact.c:3591 access/transam/xact.c:3694 #, c-format msgid "there is no transaction in progress" msgstr "non c'è alcuna transazione in corso" -#: access/transam/xact.c:3609 +#: access/transam/xact.c:3602 #, c-format msgid "cannot commit during a parallel operation" msgstr "non è possibile effettuare un commit durante un'operazione parallela" -#: access/transam/xact.c:3712 +#: access/transam/xact.c:3705 #, c-format msgid "cannot abort during a parallel operation" msgstr "non è possibile interrompere durante un'operazione parallela" -#: access/transam/xact.c:3754 +#: access/transam/xact.c:3747 #, c-format msgid "cannot define savepoints during a parallel operation" msgstr "non è possibile definire un punto di salvataggio durante un'operazione parallela" -#: access/transam/xact.c:3821 +#: access/transam/xact.c:3814 #, c-format msgid "cannot release savepoints during a parallel operation" msgstr "non è possibile rilasciare un punto di salvataggio durante un'operazione parallela" -#: access/transam/xact.c:3832 access/transam/xact.c:3884 -#: access/transam/xact.c:3890 access/transam/xact.c:3946 -#: access/transam/xact.c:3996 access/transam/xact.c:4002 +#: access/transam/xact.c:3825 access/transam/xact.c:3877 +#: access/transam/xact.c:3883 access/transam/xact.c:3939 +#: access/transam/xact.c:3989 access/transam/xact.c:3995 #, c-format msgid "no such savepoint" msgstr "punto di salvataggio inesistente" -#: access/transam/xact.c:3934 +#: access/transam/xact.c:3927 #, c-format msgid "cannot rollback to savepoints during a parallel operation" msgstr "non è possibile effettuare un rollback durante un'operazione parallela" -#: access/transam/xact.c:4062 +#: access/transam/xact.c:4055 #, c-format msgid "cannot start subtransactions during a parallel operation" msgstr "non è possibile iniziare una sub-transazione durante un'operazione parallela" -#: access/transam/xact.c:4129 +#: access/transam/xact.c:4122 #, c-format msgid "cannot commit subtransactions during a parallel operation" msgstr "non è possibile effettuare il commit di una sub-transazione durante un'operazione parallela" -#: access/transam/xact.c:4737 +#: access/transam/xact.c:4751 #, c-format msgid "cannot have more than 2^32-1 subtransactions in a transaction" msgstr "non è possibile avere più di 2^32-1 comandi in una sottotransazione" @@ -1699,7 +1530,7 @@ msgstr "chiusura del file di log %s fallita: %m" #: access/transam/xlog.c:3617 access/transam/xlogutils.c:696 -#: replication/walsender.c:2096 +#: replication/walsender.c:2139 #, c-format msgid "requested WAL segment %s has already been removed" msgstr "il segmento WAL richiesto %s è stato già rimosso" @@ -2001,15 +1832,15 @@ msgid "parameter \"%s\" requires a temporal value" msgstr "il parametro \"%s\" richiede un valore temporale" -#: access/transam/xlog.c:5187 catalog/dependency.c:990 catalog/dependency.c:991 -#: catalog/dependency.c:997 catalog/dependency.c:998 catalog/dependency.c:1009 -#: catalog/dependency.c:1010 catalog/objectaddress.c:1100 -#: commands/tablecmds.c:796 commands/tablecmds.c:9543 commands/user.c:1045 -#: commands/view.c:499 libpq/auth.c:307 replication/syncrep.c:919 -#: storage/lmgr/deadlock.c:1139 storage/lmgr/proc.c:1278 utils/adt/acl.c:5281 -#: utils/misc/guc.c:5662 utils/misc/guc.c:5755 utils/misc/guc.c:9708 -#: utils/misc/guc.c:9742 utils/misc/guc.c:9776 utils/misc/guc.c:9810 -#: utils/misc/guc.c:9845 +#: access/transam/xlog.c:5187 catalog/dependency.c:990 +#: catalog/dependency.c:991 catalog/dependency.c:997 catalog/dependency.c:998 +#: catalog/dependency.c:1009 catalog/dependency.c:1010 +#: catalog/objectaddress.c:1100 commands/tablecmds.c:796 +#: commands/tablecmds.c:9556 commands/user.c:1045 commands/view.c:499 +#: libpq/auth.c:307 replication/syncrep.c:929 storage/lmgr/deadlock.c:1139 +#: storage/lmgr/proc.c:1278 utils/adt/acl.c:5283 utils/misc/guc.c:5662 +#: utils/misc/guc.c:5755 utils/misc/guc.c:9708 utils/misc/guc.c:9742 +#: utils/misc/guc.c:9776 utils/misc/guc.c:9810 utils/misc/guc.c:9845 #, c-format msgid "%s" msgstr "%s" @@ -2219,7 +2050,7 @@ msgid "ignoring file \"%s\" because no file \"%s\" exists" msgstr "il file \"%s\" verrà ignorato perché il file \"%s\" non esiste" -#: access/transam/xlog.c:6223 access/transam/xlog.c:11054 +#: access/transam/xlog.c:6223 access/transam/xlog.c:11065 #, c-format msgid "File \"%s\" was renamed to \"%s\"." msgstr "Il file \"%s\" è stato rinominato in \"%s\"." @@ -2309,7 +2140,7 @@ msgid "redo done at %X/%X" msgstr "redo concluso in %X/%X" -#: access/transam/xlog.c:7027 access/transam/xlog.c:8975 +#: access/transam/xlog.c:7027 access/transam/xlog.c:8986 #, c-format msgid "last completed transaction was at log time %s" msgstr "l'ultima transazione è stata completata all'orario di log %s" @@ -2429,78 +2260,78 @@ msgid "shutting down" msgstr "arresto in corso" -#: access/transam/xlog.c:8520 +#: access/transam/xlog.c:8531 #, c-format msgid "concurrent transaction log activity while database system is shutting down" msgstr "rilevata attività concorrente sul log delle transazioni durante l'arresto del database" -#: access/transam/xlog.c:8774 +#: access/transam/xlog.c:8785 #, c-format msgid "skipping restartpoint, recovery has already ended" msgstr "si tralascia il restartpoint, il ripristino è ormai terminato" -#: access/transam/xlog.c:8797 +#: access/transam/xlog.c:8808 #, c-format msgid "skipping restartpoint, already performed at %X/%X" msgstr "si tralascia il restartpoint, già eseguito in %X/%X" -#: access/transam/xlog.c:8973 +#: access/transam/xlog.c:8984 #, c-format msgid "recovery restart point at %X/%X" msgstr "punto di avvio del ripristino in %X/%X" -#: access/transam/xlog.c:9106 +#: access/transam/xlog.c:9117 #, c-format msgid "restore point \"%s\" created at %X/%X" msgstr "punto di ripristino \"%s\" creato in %X/%X" -#: access/transam/xlog.c:9236 +#: access/transam/xlog.c:9247 #, c-format msgid "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint record" msgstr "timeline precedente con ID %u non prevista (l'ID della timeline corrente è %u) nel record di checkpoint" -#: access/transam/xlog.c:9245 +#: access/transam/xlog.c:9256 #, c-format msgid "unexpected timeline ID %u (after %u) in checkpoint record" msgstr "timeline ID %u imprevista (dopo %u) nel record di checkpoint" -#: access/transam/xlog.c:9261 +#: access/transam/xlog.c:9272 #, c-format msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u" msgstr "timeline ID %u imprevista nel record di checkpoint, prima di raggiungere il punto di recupero minimo %X/%X sulla timeline %u" -#: access/transam/xlog.c:9332 +#: access/transam/xlog.c:9343 #, c-format msgid "online backup was canceled, recovery cannot continue" msgstr "il backup online è stato annullato, il ripristino non può continuare" -#: access/transam/xlog.c:9388 access/transam/xlog.c:9435 -#: access/transam/xlog.c:9458 +#: access/transam/xlog.c:9399 access/transam/xlog.c:9446 +#: access/transam/xlog.c:9469 #, c-format msgid "unexpected timeline ID %u (should be %u) in checkpoint record" msgstr "l'ID della timeline %u (che dovrebbe essere %u) non era prevista nel record di checkpoint" -#: access/transam/xlog.c:9733 +#: access/transam/xlog.c:9744 #, c-format msgid "could not fsync log segment %s: %m" msgstr "fsync del segmento di log %s fallito: %m" -#: access/transam/xlog.c:9757 +#: access/transam/xlog.c:9768 #, c-format msgid "could not fsync log file %s: %m" msgstr "fsync del file di log %s fallito: %m" -#: access/transam/xlog.c:9765 +#: access/transam/xlog.c:9776 #, c-format msgid "could not fsync write-through log file %s: %m" msgstr "fsync write-through del file di log %s fallito: %m" -#: access/transam/xlog.c:9774 +#: access/transam/xlog.c:9785 #, c-format msgid "could not fdatasync log file %s: %m" msgstr "fdatasync del file di log %s fallito: %m" -#: access/transam/xlog.c:9865 access/transam/xlog.c:10382 +#: access/transam/xlog.c:9876 access/transam/xlog.c:10393 #: access/transam/xlogfuncs.c:289 access/transam/xlogfuncs.c:316 #: access/transam/xlogfuncs.c:355 access/transam/xlogfuncs.c:376 #: access/transam/xlogfuncs.c:397 @@ -2508,64 +2339,65 @@ msgid "WAL control functions cannot be executed during recovery." msgstr "le funzioni di controllo WAL non possono essere eseguite durante il ripristino." -#: access/transam/xlog.c:9874 access/transam/xlog.c:10391 +#: access/transam/xlog.c:9885 access/transam/xlog.c:10402 #, c-format msgid "WAL level not sufficient for making an online backup" msgstr "livello WAL non sufficiente per creare un backup online" -#: access/transam/xlog.c:9875 access/transam/xlog.c:10392 +#: access/transam/xlog.c:9886 access/transam/xlog.c:10403 #: access/transam/xlogfuncs.c:322 #, c-format msgid "wal_level must be set to \"replica\" or \"logical\" at server start." msgstr "Il wal_level deve essere impostato a \"replica\" o \"logical\" all'avvio del server." -#: access/transam/xlog.c:9880 +#: access/transam/xlog.c:9891 #, c-format msgid "backup label too long (max %d bytes)" msgstr "etichetta di backup troppo lunga (massimo %d byte)" -#: access/transam/xlog.c:9917 access/transam/xlog.c:10189 -#: access/transam/xlog.c:10227 +#: access/transam/xlog.c:9928 access/transam/xlog.c:10200 +#: access/transam/xlog.c:10238 #, c-format msgid "a backup is already in progress" msgstr "c'è già un backup in corso" -#: access/transam/xlog.c:9918 +#: access/transam/xlog.c:9929 #, c-format msgid "Run pg_stop_backup() and try again." msgstr "Esegui pg_stop_backup() e prova di nuovo." -#: access/transam/xlog.c:10013 +#: access/transam/xlog.c:10024 #, c-format msgid "WAL generated with full_page_writes=off was replayed since last restartpoint" msgstr "un WAL generato con full_page_writes=off è stato riprodotto dopo l'ultimo restartpoint" -#: access/transam/xlog.c:10015 access/transam/xlog.c:10576 +#: access/transam/xlog.c:10026 access/transam/xlog.c:10587 #, c-format msgid "This means that the backup being taken on the standby is corrupt and should not be used. Enable full_page_writes and run CHECKPOINT on the master, and then try an online backup again." msgstr "Ciò vuol dire che il backup che sta venendo preso sullo standby è corrotto e non dovrebbe essere usato. Abilita full_page_writes ed esegui CHECKPOINT sul master, poi prova ad effettuare nuovamente un backup online.\"" -#: access/transam/xlog.c:10082 replication/basebackup.c:1026 +#: access/transam/xlog.c:10093 replication/basebackup.c:1026 #: utils/adt/misc.c:498 #, c-format msgid "could not read symbolic link \"%s\": %m" msgstr "lettura del link simbolico \"%s\" fallita: %m" -#: access/transam/xlog.c:10089 replication/basebackup.c:1031 +#: access/transam/xlog.c:10100 replication/basebackup.c:1031 #: utils/adt/misc.c:503 #, c-format msgid "symbolic link \"%s\" target is too long" msgstr "la destinazione del link simbolico \"%s\" è troppo lunga" -#: access/transam/xlog.c:10142 commands/tablespace.c:391 -#: commands/tablespace.c:553 replication/basebackup.c:1047 utils/adt/misc.c:511 +#: access/transam/xlog.c:10153 commands/tablespace.c:391 +#: commands/tablespace.c:553 replication/basebackup.c:1047 +#: utils/adt/misc.c:511 #, c-format msgid "tablespaces are not supported on this platform" msgstr "i tablespace non sono supportati su questa piattaforma" -#: access/transam/xlog.c:10183 access/transam/xlog.c:10221 -#: access/transam/xlog.c:10430 access/transam/xlogarchive.c:106 -#: access/transam/xlogarchive.c:265 commands/copy.c:1816 commands/copy.c:2840 +#: access/transam/xlog.c:10194 access/transam/xlog.c:10232 +#: access/transam/xlog.c:10441 access/transam/xlogarchive.c:106 +#: access/transam/xlogarchive.c:265 commands/copy.c:1825 commands/copy.c:2849 #: commands/extension.c:3133 commands/tablespace.c:782 #: commands/tablespace.c:873 replication/basebackup.c:409 #: replication/basebackup.c:477 replication/logical/snapbuild.c:1496 @@ -2577,128 +2409,128 @@ msgid "could not stat file \"%s\": %m" msgstr "non è stato possibile ottenere informazioni sul file \"%s\": %m" -#: access/transam/xlog.c:10190 access/transam/xlog.c:10228 +#: access/transam/xlog.c:10201 access/transam/xlog.c:10239 #, c-format msgid "If you're sure there is no backup in progress, remove file \"%s\" and try again." msgstr "Se si è certi che non ci sono backup in corso, rimuovi il file \"%s\" e prova di nuovo." -#: access/transam/xlog.c:10207 access/transam/xlog.c:10245 -#: access/transam/xlog.c:10637 +#: access/transam/xlog.c:10218 access/transam/xlog.c:10256 +#: access/transam/xlog.c:10648 #, c-format msgid "could not write file \"%s\": %m" msgstr "scrittura nel file \"%s\" fallita: %m" -#: access/transam/xlog.c:10407 +#: access/transam/xlog.c:10418 #, c-format msgid "exclusive backup not in progress" msgstr "non c'è un backup esclusivo in corso" -#: access/transam/xlog.c:10434 +#: access/transam/xlog.c:10445 #, c-format msgid "a backup is not in progress" msgstr "non c'è un backup in esecuzione" -#: access/transam/xlog.c:10511 access/transam/xlog.c:10524 -#: access/transam/xlog.c:10864 access/transam/xlog.c:10870 -#: access/transam/xlog.c:10954 access/transam/xlogfuncs.c:690 +#: access/transam/xlog.c:10522 access/transam/xlog.c:10535 +#: access/transam/xlog.c:10875 access/transam/xlog.c:10881 +#: access/transam/xlog.c:10965 access/transam/xlogfuncs.c:690 #, c-format msgid "invalid data in file \"%s\"" msgstr "i dati nel file \"%s\" non sono validi" -#: access/transam/xlog.c:10528 replication/basebackup.c:938 +#: access/transam/xlog.c:10539 replication/basebackup.c:938 #, c-format msgid "the standby was promoted during online backup" msgstr "lo standby è stato promosso durante il backup online" -#: access/transam/xlog.c:10529 replication/basebackup.c:939 +#: access/transam/xlog.c:10540 replication/basebackup.c:939 #, c-format msgid "This means that the backup being taken is corrupt and should not be used. Try taking another online backup." msgstr "Ciò vuol dire che il backup che stava venendo salvato è corrotto e non dovrebbe essere usato. Prova ad effettuare un altro backup online." -#: access/transam/xlog.c:10574 +#: access/transam/xlog.c:10585 #, c-format msgid "WAL generated with full_page_writes=off was replayed during online backup" msgstr "un WAL generato con full_page_writes=off è stato riprodotto durante il backup online" -#: access/transam/xlog.c:10686 +#: access/transam/xlog.c:10697 #, c-format msgid "pg_stop_backup cleanup done, waiting for required WAL segments to be archived" msgstr "pulizia di pg_stop_backup effettuata, in attesa che i segmenti WAL richiesti vengano archiviati" -#: access/transam/xlog.c:10696 +#: access/transam/xlog.c:10707 #, c-format msgid "pg_stop_backup still waiting for all required WAL segments to be archived (%d seconds elapsed)" msgstr "pg_stop_backup è ancora in attesa che tutti i segmenti WAL richiesti siano stati archiviati (sono passati %d secondi)" -#: access/transam/xlog.c:10698 +#: access/transam/xlog.c:10709 #, c-format msgid "Check that your archive_command is executing properly. pg_stop_backup can be canceled safely, but the database backup will not be usable without all the WAL segments." msgstr "Controlla che il tuo archive_command venga eseguito correttamente. pg_stop_backup può essere interrotto in sicurezza ma il backup del database non sarà utilizzabile senza tutti i segmenti WAL." -#: access/transam/xlog.c:10705 +#: access/transam/xlog.c:10716 #, c-format msgid "pg_stop_backup complete, all required WAL segments have been archived" msgstr "pg_stop_backup completo, tutti i segmenti WAL richiesti sono stati archiviati" -#: access/transam/xlog.c:10709 +#: access/transam/xlog.c:10720 #, c-format msgid "WAL archiving is not enabled; you must ensure that all required WAL segments are copied through other means to complete the backup" msgstr "l'archiviazione WAL non è abilitata; devi verificare che tutti i segmenti WAL richiesti vengano copiati in qualche altro modo per completare il backup" #. translator: %s is an XLog record description -#: access/transam/xlog.c:10994 +#: access/transam/xlog.c:11005 #, c-format msgid "xlog redo at %X/%X for %s" msgstr "ripristino xlog a %X/%X per %s" -#: access/transam/xlog.c:11043 +#: access/transam/xlog.c:11054 #, c-format msgid "online backup mode was not canceled" msgstr "la modalità di backup online non è stata annullata" -#: access/transam/xlog.c:11044 +#: access/transam/xlog.c:11055 #, c-format msgid "File \"%s\" could not be renamed to \"%s\": %m." msgstr "Non è stato possibile rinominare il file \"%s\" in \"%s\": %m." -#: access/transam/xlog.c:11053 access/transam/xlog.c:11065 -#: access/transam/xlog.c:11075 +#: access/transam/xlog.c:11064 access/transam/xlog.c:11076 +#: access/transam/xlog.c:11086 #, c-format msgid "online backup mode canceled" msgstr "modalità backup online annullata" -#: access/transam/xlog.c:11066 +#: access/transam/xlog.c:11077 #, c-format msgid "Files \"%s\" and \"%s\" were renamed to \"%s\" and \"%s\", respectively." msgstr "File \"%s\" e \"%s\" rinominati rispettivamente in \"%s\" e \"%s\"." -#: access/transam/xlog.c:11076 +#: access/transam/xlog.c:11087 #, c-format msgid "File \"%s\" was renamed to \"%s\", but file \"%s\" could not be renamed to \"%s\": %m." msgstr "File \"%s\" rinominato in \"%s\", ma non è stato possibile rinominare il file \"%s\" in \"%s\": %m." -#: access/transam/xlog.c:11198 access/transam/xlogutils.c:718 -#: replication/walreceiver.c:994 replication/walsender.c:2113 +#: access/transam/xlog.c:11209 access/transam/xlogutils.c:718 +#: replication/walreceiver.c:999 replication/walsender.c:2156 #, c-format msgid "could not seek in log segment %s to offset %u: %m" msgstr "spostamento nel segmento di log %s alla posizione %u fallito: %m" -#: access/transam/xlog.c:11210 +#: access/transam/xlog.c:11221 #, c-format msgid "could not read from log segment %s, offset %u: %m" msgstr "lettura del segmento di log %s, posizione %u fallita: %m" -#: access/transam/xlog.c:11684 +#: access/transam/xlog.c:11695 #, c-format msgid "received promote request" msgstr "richiesta di promozione ricevuta" -#: access/transam/xlog.c:11697 +#: access/transam/xlog.c:11708 #, c-format msgid "trigger file found: %s" msgstr "trovato il file trigger: %s" -#: access/transam/xlog.c:11706 +#: access/transam/xlog.c:11717 #, c-format msgid "could not stat trigger file \"%s\": %m" msgstr "non è stato possibile ottenere informazioni sul file trigger \"%s\": %m" @@ -2754,7 +2586,7 @@ msgstr "c'è già un backup in corso in questa sessione" #: access/transam/xlogfuncs.c:93 commands/tablespace.c:705 -#: commands/tablespace.c:715 postmaster/postmaster.c:1420 +#: commands/tablespace.c:715 postmaster/postmaster.c:1424 #: replication/basebackup.c:297 replication/basebackup.c:637 #: storage/file/copydir.c:53 storage/file/copydir.c:96 storage/file/fd.c:2369 #: storage/file/fd.c:2968 storage/ipc/dsm.c:300 utils/adt/genfile.c:439 @@ -2778,13 +2610,13 @@ #: commands/extension.c:1841 commands/extension.c:2034 commands/prepare.c:702 #: executor/execQual.c:1757 executor/execQual.c:1782 executor/execQual.c:2157 #: executor/execQual.c:5438 executor/functions.c:1031 foreign/foreign.c:492 -#: replication/logical/logicalfuncs.c:175 replication/logical/origin.c:1394 -#: replication/slotfuncs.c:189 replication/walsender.c:2762 +#: replication/logical/logicalfuncs.c:175 replication/logical/origin.c:1398 +#: replication/slotfuncs.c:189 replication/walsender.c:2882 #: utils/adt/jsonfuncs.c:1483 utils/adt/jsonfuncs.c:1613 #: utils/adt/jsonfuncs.c:1801 utils/adt/jsonfuncs.c:1928 #: utils/adt/jsonfuncs.c:2694 utils/adt/pgstatfuncs.c:554 #: utils/adt/pgstatfuncs.c:655 utils/fmgr/funcapi.c:61 utils/misc/guc.c:8436 -#: utils/mmgr/portalmem.c:1074 +#: utils/mmgr/portalmem.c:1088 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "la funzione che restituisce insiemi è chiamata in un contesto che non può accettare un insieme" @@ -2793,10 +2625,10 @@ #: commands/event_trigger.c:2000 commands/extension.c:1736 #: commands/extension.c:1845 commands/extension.c:2038 commands/prepare.c:706 #: foreign/foreign.c:497 replication/logical/logicalfuncs.c:179 -#: replication/logical/origin.c:1398 replication/slotfuncs.c:193 -#: replication/walsender.c:2766 utils/adt/pgstatfuncs.c:558 +#: replication/logical/origin.c:1402 replication/slotfuncs.c:193 +#: replication/walsender.c:2886 utils/adt/pgstatfuncs.c:558 #: utils/adt/pgstatfuncs.c:659 utils/misc/guc.c:8440 utils/misc/pg_config.c:44 -#: utils/mmgr/portalmem.c:1078 +#: utils/mmgr/portalmem.c:1092 #, c-format msgid "materialize mode required, but it is not allowed in this context" msgstr "necessaria modalità materializzata, ma non ammessa in questo contesto" @@ -2978,23 +2810,23 @@ msgid "invalid compressed image at %X/%X, block %d" msgstr "immagine compressa non valida a %X/%X, blocco %d" -#: access/transam/xlogutils.c:739 replication/walsender.c:2130 +#: access/transam/xlogutils.c:739 replication/walsender.c:2173 #, c-format msgid "could not read from log segment %s, offset %u, length %lu: %m" msgstr "lettura del segmento di log %s, posizione %u, lunghezza %lu fallita: %m" -#: bootstrap/bootstrap.c:269 postmaster/postmaster.c:807 tcop/postgres.c:3501 +#: bootstrap/bootstrap.c:269 postmaster/postmaster.c:811 tcop/postgres.c:3497 #, c-format msgid "--%s requires a value" msgstr "--%s richiede un valore" -#: bootstrap/bootstrap.c:274 postmaster/postmaster.c:812 tcop/postgres.c:3506 +#: bootstrap/bootstrap.c:274 postmaster/postmaster.c:816 tcop/postgres.c:3502 #, c-format msgid "-c %s requires a value" msgstr "-c %s richiede un valore" -#: bootstrap/bootstrap.c:285 postmaster/postmaster.c:824 -#: postmaster/postmaster.c:837 +#: bootstrap/bootstrap.c:285 postmaster/postmaster.c:828 +#: postmaster/postmaster.c:841 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Prova \"%s --help\" per maggiori informazioni.\n" @@ -3138,8 +2970,8 @@ #: commands/foreigncmds.c:539 commands/foreigncmds.c:548 #: commands/functioncmds.c:533 commands/functioncmds.c:649 #: commands/functioncmds.c:657 commands/functioncmds.c:665 -#: commands/functioncmds.c:673 commands/functioncmds.c:2085 -#: commands/functioncmds.c:2093 commands/sequence.c:1189 +#: commands/functioncmds.c:673 commands/functioncmds.c:2105 +#: commands/functioncmds.c:2113 commands/sequence.c:1189 #: commands/sequence.c:1197 commands/sequence.c:1205 commands/sequence.c:1213 #: commands/sequence.c:1221 commands/sequence.c:1229 commands/sequence.c:1237 #: commands/sequence.c:1245 commands/typecmds.c:295 commands/typecmds.c:1382 @@ -3162,24 +2994,24 @@ msgid "default privileges cannot be set for columns" msgstr "i privilegi predefiniti non possono essere impostati sulle colonne" -#: catalog/aclchk.c:1502 catalog/objectaddress.c:1390 commands/analyze.c:376 -#: commands/copy.c:4459 commands/sequence.c:1491 commands/tablecmds.c:5198 -#: commands/tablecmds.c:5304 commands/tablecmds.c:5364 -#: commands/tablecmds.c:5477 commands/tablecmds.c:5534 -#: commands/tablecmds.c:5628 commands/tablecmds.c:5724 -#: commands/tablecmds.c:7916 commands/tablecmds.c:8178 -#: commands/tablecmds.c:8598 commands/trigger.c:642 parser/analyze.c:2228 +#: catalog/aclchk.c:1502 catalog/objectaddress.c:1390 commands/analyze.c:380 +#: commands/copy.c:4468 commands/sequence.c:1491 commands/tablecmds.c:5211 +#: commands/tablecmds.c:5317 commands/tablecmds.c:5377 +#: commands/tablecmds.c:5490 commands/tablecmds.c:5547 +#: commands/tablecmds.c:5641 commands/tablecmds.c:5737 +#: commands/tablecmds.c:7929 commands/tablecmds.c:8191 +#: commands/tablecmds.c:8611 commands/trigger.c:642 parser/analyze.c:2228 #: parser/parse_relation.c:2628 parser/parse_relation.c:2690 -#: parser/parse_target.c:951 parser/parse_type.c:127 utils/adt/acl.c:2840 -#: utils/adt/ruleutils.c:1984 +#: parser/parse_target.c:951 parser/parse_type.c:127 utils/adt/acl.c:2842 +#: utils/adt/ruleutils.c:1987 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" msgstr "la colonna \"%s\" della relazione \"%s\" non esiste" #: catalog/aclchk.c:1771 catalog/objectaddress.c:1203 commands/sequence.c:1078 -#: commands/tablecmds.c:224 commands/tablecmds.c:12155 utils/adt/acl.c:2076 -#: utils/adt/acl.c:2106 utils/adt/acl.c:2138 utils/adt/acl.c:2170 -#: utils/adt/acl.c:2198 utils/adt/acl.c:2228 +#: commands/tablecmds.c:224 commands/tablecmds.c:12168 utils/adt/acl.c:2078 +#: utils/adt/acl.c:2108 utils/adt/acl.c:2140 utils/adt/acl.c:2172 +#: utils/adt/acl.c:2200 utils/adt/acl.c:2230 #, c-format msgid "\"%s\" is not a sequence" msgstr "\"%s\" non è una sequenza" @@ -3224,7 +3056,7 @@ msgid "Set the privileges of the element type instead." msgstr "Puoi impostare i privilegi del tipo dell'elemento." -#: catalog/aclchk.c:3137 catalog/objectaddress.c:1523 commands/typecmds.c:3146 +#: catalog/aclchk.c:3137 catalog/objectaddress.c:1523 commands/typecmds.c:3161 #, c-format msgid "\"%s\" is not a domain" msgstr "\"%s\" non è un dominio" @@ -3624,12 +3456,12 @@ msgstr "Le modifiche al catalogo di sistema non sono attualmente consentite." #: catalog/heap.c:415 commands/tablecmds.c:1439 commands/tablecmds.c:1896 -#: commands/tablecmds.c:4820 +#: commands/tablecmds.c:4833 #, c-format msgid "tables can have at most %d columns" msgstr "le tabelle possono avere al massimo %d colonne" -#: catalog/heap.c:432 commands/tablecmds.c:5081 +#: catalog/heap.c:432 commands/tablecmds.c:5094 #, c-format msgid "column name \"%s\" conflicts with a system column name" msgstr "il nome della colonna \"%s\" è in conflitto con il nome di una colonna di sistema" @@ -3668,8 +3500,9 @@ #: commands/indexcmds.c:1133 commands/view.c:103 regex/regc_pg_locale.c:262 #: utils/adt/formatting.c:1513 utils/adt/formatting.c:1565 #: utils/adt/formatting.c:1633 utils/adt/formatting.c:1685 -#: utils/adt/formatting.c:1754 utils/adt/formatting.c:1818 utils/adt/like.c:213 -#: utils/adt/selfuncs.c:5434 utils/adt/varlena.c:1421 utils/adt/varlena.c:1826 +#: utils/adt/formatting.c:1754 utils/adt/formatting.c:1818 +#: utils/adt/like.c:213 utils/adt/selfuncs.c:5434 utils/adt/varlena.c:1421 +#: utils/adt/varlena.c:1826 #, c-format msgid "Use the COLLATE clause to set the collation explicitly." msgstr "Usa la clausola COLLATE per impostare esplicitamente l'ordinamento." @@ -3679,7 +3512,7 @@ msgid "relation \"%s\" already exists" msgstr "la relazione \"%s\" esiste già" -#: catalog/heap.c:1083 catalog/pg_type.c:412 catalog/pg_type.c:722 +#: catalog/heap.c:1083 catalog/pg_type.c:412 catalog/pg_type.c:737 #: commands/typecmds.c:237 commands/typecmds.c:784 commands/typecmds.c:1135 #: commands/typecmds.c:1357 commands/typecmds.c:2113 #, c-format @@ -3701,7 +3534,7 @@ msgid "check constraint \"%s\" already exists" msgstr "il vincolo di controllo \"%s\" esiste già" -#: catalog/heap.c:2456 catalog/pg_constraint.c:654 commands/tablecmds.c:6069 +#: catalog/heap.c:2456 catalog/pg_constraint.c:654 commands/tablecmds.c:6082 #, c-format msgid "constraint \"%s\" for relation \"%s\" already exists" msgstr "il vincolo \"%s\" per la relazione \"%s\" esiste già" @@ -3736,14 +3569,14 @@ msgid "default expression must not return a set" msgstr "le espressioni predefinite non devono restituire un insieme" -#: catalog/heap.c:2625 rewrite/rewriteHandler.c:1084 +#: catalog/heap.c:2625 rewrite/rewriteHandler.c:1115 #, c-format msgid "column \"%s\" is of type %s but default expression is of type %s" msgstr "la colonna \"%s\" è di tipo %s ma l'espressione predefinita è di tipo %s" #: catalog/heap.c:2630 commands/prepare.c:374 parser/parse_node.c:428 #: parser/parse_target.c:539 parser/parse_target.c:789 -#: parser/parse_target.c:799 rewrite/rewriteHandler.c:1089 +#: parser/parse_target.c:799 rewrite/rewriteHandler.c:1120 #, c-format msgid "You will need to rewrite or cast the expression." msgstr "Devi riscrivere o convertire il tipo dell'espressione" @@ -3778,7 +3611,7 @@ msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE." msgstr "Troncare la tabella \"%s\" nello stesso tempo o usare TRUNCATE ... CASCADE." -#: catalog/index.c:210 parser/parse_utilcmd.c:1473 parser/parse_utilcmd.c:1559 +#: catalog/index.c:210 parser/parse_utilcmd.c:1474 parser/parse_utilcmd.c:1560 #, c-format msgid "multiple primary keys for table \"%s\" are not allowed" msgstr "non è possibile avere più di una chiave primaria per la tabella \"%s\"" @@ -3804,7 +3637,7 @@ msgstr "indici condivisi non possono essere creati dopo initdb" #: catalog/index.c:784 commands/createas.c:249 commands/sequence.c:141 -#: parser/parse_utilcmd.c:191 +#: parser/parse_utilcmd.c:192 #, c-format msgid "relation \"%s\" already exists, skipping" msgstr "la relazione \"%s\" esiste già, saltata" @@ -3834,14 +3667,8 @@ msgid "index \"%s\" was reindexed" msgstr "l'indice \"%s\" è stato reindicizzato" -#: catalog/index.c:3456 commands/vacuumlazy.c:1345 commands/vacuumlazy.c:1421 -#: commands/vacuumlazy.c:1610 commands/vacuumlazy.c:1820 -#, c-format -msgid "%s." -msgstr "%s." - #: catalog/namespace.c:249 catalog/namespace.c:447 catalog/namespace.c:541 -#: commands/trigger.c:4523 +#: commands/trigger.c:4560 #, c-format msgid "cross-database references are not implemented: \"%s.%s.%s\"" msgstr "i riferimenti tra database diversi non sono implementati: \"%s.%s.%s\"" @@ -3867,7 +3694,7 @@ msgstr "la relazione \"%s.%s\" non esiste" #: catalog/namespace.c:419 parser/parse_relation.c:1151 -#: parser/parse_relation.c:1159 utils/adt/regproc.c:1034 +#: parser/parse_relation.c:1159 utils/adt/regproc.c:1035 #, c-format msgid "relation \"%s\" does not exist" msgstr "la relazione \"%s\" non esiste" @@ -3920,7 +3747,7 @@ msgstr "i riferimenti tra database diversi non sono implementati: %s" #: catalog/namespace.c:2652 parser/parse_expr.c:799 parser/parse_target.c:1148 -#: gram.y:13454 gram.y:14823 +#: gram.y:13463 gram.y:14832 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "nome qualificato improprio (troppi nomi puntati): %s" @@ -3935,8 +3762,8 @@ msgid "cannot move objects into or out of TOAST schema" msgstr "non posso spostare oggetti dentro o fuori lo schema TOAST" -#: catalog/namespace.c:2862 commands/schemacmds.c:238 commands/schemacmds.c:317 -#: commands/tablecmds.c:741 +#: catalog/namespace.c:2862 commands/schemacmds.c:238 +#: commands/schemacmds.c:317 commands/tablecmds.c:741 #, c-format msgid "schema \"%s\" does not exist" msgstr "lo schema \"%s\" non esiste" @@ -3968,8 +3795,8 @@ #: catalog/namespace.c:3688 #, c-format -msgid "cannot create temporary tables in parallel mode" -msgstr "non è possibile creare tabelle temporanee in modalità parallela" +msgid "cannot create temporary tables during a parallel operation" +msgstr "non è possibile creare tabelle temporanee durante un'operazione parallela" #: catalog/namespace.c:3932 commands/tablespace.c:1173 commands/variable.c:63 #: utils/misc/guc.c:9875 @@ -4021,25 +3848,25 @@ #: catalog/objectaddress.c:1210 commands/lockcmds.c:94 commands/policy.c:94 #: commands/policy.c:382 commands/policy.c:471 commands/tablecmds.c:218 #: commands/tablecmds.c:1300 commands/tablecmds.c:4347 -#: commands/tablecmds.c:8018 +#: commands/tablecmds.c:8031 #, c-format msgid "\"%s\" is not a table" msgstr "\"%s\" non è una tabella" #: catalog/objectaddress.c:1217 commands/tablecmds.c:230 -#: commands/tablecmds.c:4377 commands/tablecmds.c:12160 commands/view.c:141 +#: commands/tablecmds.c:4377 commands/tablecmds.c:12173 commands/view.c:141 #, c-format msgid "\"%s\" is not a view" msgstr "\"%s\" non è una vista" -#: catalog/objectaddress.c:1224 commands/matview.c:174 commands/tablecmds.c:236 -#: commands/tablecmds.c:12165 +#: catalog/objectaddress.c:1224 commands/matview.c:174 +#: commands/tablecmds.c:236 commands/tablecmds.c:12178 #, c-format msgid "\"%s\" is not a materialized view" msgstr "\"%s\" non è una vista materializzata" #: catalog/objectaddress.c:1231 commands/tablecmds.c:254 -#: commands/tablecmds.c:4380 commands/tablecmds.c:12170 +#: commands/tablecmds.c:4380 commands/tablecmds.c:12183 #, c-format msgid "\"%s\" is not a foreign table" msgstr "\"%s\" non è una tabella esterna" @@ -4055,9 +3882,9 @@ msgstr "il valore di default per la colonna \"%s\" della relazione \"%s\" non esiste" #: catalog/objectaddress.c:1512 commands/functioncmds.c:128 -#: commands/tablecmds.c:246 commands/typecmds.c:3214 parser/parse_type.c:226 -#: parser/parse_type.c:255 parser/parse_type.c:795 utils/adt/acl.c:4374 -#: utils/adt/regproc.c:1225 +#: commands/tablecmds.c:246 commands/typecmds.c:3229 parser/parse_type.c:226 +#: parser/parse_type.c:255 parser/parse_type.c:795 utils/adt/acl.c:4376 +#: utils/adt/regproc.c:1226 #, c-format msgid "type \"%s\" does not exist" msgstr "il tipo \"%s\" non esiste" @@ -4078,7 +3905,8 @@ msgstr "la mappatura per l'utente \"%s\" sul server \"%s\" non esiste" #: catalog/objectaddress.c:1726 commands/foreigncmds.c:430 -#: commands/foreigncmds.c:997 commands/foreigncmds.c:1359 foreign/foreign.c:692 +#: commands/foreigncmds.c:997 commands/foreigncmds.c:1359 +#: foreign/foreign.c:692 #, c-format msgid "server \"%s\" does not exist" msgstr "il server \"%s\" non esiste" @@ -4140,7 +3968,7 @@ msgid "must be owner of large object %u" msgstr "occorre essere proprietari del large object %u" -#: catalog/objectaddress.c:2184 commands/functioncmds.c:1426 +#: catalog/objectaddress.c:2184 commands/functioncmds.c:1446 #, c-format msgid "must be owner of type %s or type %s" msgstr "occorre essere proprietari del tipo %s o del tipo %s" @@ -4472,8 +4300,8 @@ #: catalog/pg_aggregate.c:436 #, c-format -msgid "combine function with \"%s\" transition type must not be declared STRICT" -msgstr "una funzione di combinazione con \"%s\" tipi di transizione non può essere dichiarata STRICT" +msgid "combine function with transition type %s must not be declared STRICT" +msgstr "la funzione di combinazione con il tipo di transizione %s non deve essere dichiarata STRICT" #: catalog/pg_aggregate.c:455 #, c-format @@ -4515,12 +4343,12 @@ msgid "sort operator can only be specified for single-argument aggregates" msgstr "l'operatore di ordinamento può essere specificato sono per aggregati con un solo argomento" -#: catalog/pg_aggregate.c:812 commands/typecmds.c:1705 commands/typecmds.c:1756 -#: commands/typecmds.c:1787 commands/typecmds.c:1810 commands/typecmds.c:1831 -#: commands/typecmds.c:1858 commands/typecmds.c:1885 commands/typecmds.c:1962 -#: commands/typecmds.c:2004 parser/parse_func.c:364 parser/parse_func.c:393 -#: parser/parse_func.c:418 parser/parse_func.c:432 parser/parse_func.c:507 -#: parser/parse_func.c:518 parser/parse_func.c:1923 +#: catalog/pg_aggregate.c:812 commands/typecmds.c:1705 +#: commands/typecmds.c:1756 commands/typecmds.c:1787 commands/typecmds.c:1810 +#: commands/typecmds.c:1831 commands/typecmds.c:1858 commands/typecmds.c:1885 +#: commands/typecmds.c:1962 commands/typecmds.c:2004 parser/parse_func.c:364 +#: parser/parse_func.c:393 parser/parse_func.c:418 parser/parse_func.c:432 +#: parser/parse_func.c:507 parser/parse_func.c:518 parser/parse_func.c:1923 #, c-format msgid "function %s does not exist" msgstr "la funzione %s non esiste" @@ -4887,13 +4715,13 @@ msgid "fixed-size types must have storage PLAIN" msgstr "i tipi a dimensione fissa devono avere immagazzinamento PLAIN" -#: catalog/pg_type.c:789 +#: catalog/pg_type.c:809 #, c-format msgid "could not form array type name for type \"%s\"" msgstr "creazione del nome per il tipo array del tipo \"%s\" fallita" #: catalog/toasting.c:105 commands/indexcmds.c:389 commands/tablecmds.c:4359 -#: commands/tablecmds.c:12048 +#: commands/tablecmds.c:12061 #, c-format msgid "\"%s\" is not a table or materialized view" msgstr "\"%s\" non è una tabella né una vista materializzata" @@ -5121,66 +4949,71 @@ msgid "analyzing \"%s.%s\"" msgstr "analisi di \"%s.%s\"" -#: commands/analyze.c:650 +#: commands/analyze.c:385 +#, c-format +msgid "column \"%s\" of relation \"%s\" appears more than once" +msgstr "la colonna \"%s\" della relazione \"%s\" è specificata più di una volta" + +#: commands/analyze.c:661 #, c-format msgid "automatic analyze of table \"%s.%s.%s\" system usage: %s" msgstr "analisi automatica della tabella \"%s.%s.%s\" uso del sistema: %s" -#: commands/analyze.c:1204 +#: commands/analyze.c:1215 #, c-format msgid "\"%s\": scanned %d of %u pages, containing %.0f live rows and %.0f dead rows; %d rows in sample, %.0f estimated total rows" msgstr "\"%s\": esaminate %d pagine su %u, contenenti %.0f righe vive e %.0f righe morte; %d righe nel campione, %.0f righe totali stimate" -#: commands/analyze.c:1283 +#: commands/analyze.c:1294 #, c-format msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no child tables" msgstr "analyze dell'albero di ereditarietà \"%s.%s\" saltato --- questo albero non ha tabelle figlie" -#: commands/analyze.c:1372 +#: commands/analyze.c:1383 #, c-format msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no analyzable child tables" msgstr "analyze dell'albero di ereditarietà \"%s.%s\" saltato --- questo albero non ha tabelle figlie analizzabili" -#: commands/analyze.c:1420 commands/tablecmds.c:8080 executor/execQual.c:2927 +#: commands/analyze.c:1431 commands/tablecmds.c:8093 executor/execQual.c:2927 msgid "could not convert row type" msgstr "conversione del tipo riga fallita" -#: commands/async.c:555 +#: commands/async.c:558 #, c-format msgid "channel name cannot be empty" msgstr "Il nome del canale non può essere vuoto" -#: commands/async.c:560 +#: commands/async.c:563 #, c-format msgid "channel name too long" msgstr "il nome del canale è troppo lungo" -#: commands/async.c:567 +#: commands/async.c:570 #, c-format msgid "payload string too long" msgstr "la stringa del carico è troppo lunga" -#: commands/async.c:753 +#: commands/async.c:756 #, c-format msgid "cannot PREPARE a transaction that has executed LISTEN, UNLISTEN, or NOTIFY" msgstr "non è possibile eseguire PREPARE in una transazione che ha eseguito LISTEN, UNLISTEN o NOTIFY" -#: commands/async.c:856 +#: commands/async.c:859 #, c-format msgid "too many notifications in the NOTIFY queue" msgstr "troppe notifiche nella coda di NOTIFY" -#: commands/async.c:1486 +#: commands/async.c:1491 #, c-format msgid "NOTIFY queue is %.0f%% full" msgstr "la coda di NOTIFY è piena al %.0f%%" -#: commands/async.c:1488 +#: commands/async.c:1493 #, c-format msgid "The server process with PID %d is among those with the oldest transactions." msgstr "Il processo server con PID %d è tra quelli con le transazioni più vecchie." -#: commands/async.c:1491 +#: commands/async.c:1496 #, c-format msgid "The NOTIFY queue cannot be emptied until that process ends its current transaction." msgstr "La coda di NOTIFY non può essere svuotata finché quel processo non avrà terminato la sua transazione corrente." @@ -5195,7 +5028,7 @@ msgid "there is no previously clustered index for table \"%s\"" msgstr "non esiste un indice già raggruppato per la tabella \"%s\"" -#: commands/cluster.c:173 commands/tablecmds.c:9384 commands/tablecmds.c:11144 +#: commands/cluster.c:173 commands/tablecmds.c:9397 commands/tablecmds.c:11157 #, c-format msgid "index \"%s\" for table \"%s\" does not exist" msgstr "l'indice \"%s\" per la tabella \"%s\" non esiste" @@ -5210,7 +5043,7 @@ msgid "cannot vacuum temporary tables of other sessions" msgstr "non è possibile ripulire tabelle temporanee di altre sessioni" -#: commands/cluster.c:431 commands/tablecmds.c:11154 +#: commands/cluster.c:431 commands/tablecmds.c:11167 #, c-format msgid "\"%s\" is not an index for table \"%s\"" msgstr "\"%s\" non è un indice per la tabella \"%s\"" @@ -5293,7 +5126,7 @@ msgid "database \"%s\" does not exist" msgstr "il database \"%s\" non esiste" -#: commands/comment.c:101 commands/seclabel.c:116 parser/parse_utilcmd.c:753 +#: commands/comment.c:101 commands/seclabel.c:116 parser/parse_utilcmd.c:754 #, c-format msgid "\"%s\" is not a table, view, materialized view, composite type, or foreign table" msgstr "\"%s\" non è una tabella, vista, vista materializzata, tipo composito né una tabella esterna" @@ -5355,7 +5188,7 @@ msgstr "lettura dal file COPY fallita: %m" #: commands/copy.c:595 commands/copy.c:616 commands/copy.c:620 -#: tcop/postgres.c:341 tcop/postgres.c:377 tcop/postgres.c:404 +#: tcop/postgres.c:333 tcop/postgres.c:369 tcop/postgres.c:396 #, c-format msgid "unexpected EOF on client connection with an open transaction" msgstr "fine-file inaspettato sulla connessione del client con una transazione aperta" @@ -5616,7 +5449,7 @@ msgid "cannot copy from non-table relation \"%s\"" msgstr "non è possibile copiare dalla relazione \"%s\" perché non è una tabella" -#: commands/copy.c:1787 commands/copy.c:2823 +#: commands/copy.c:1787 commands/copy.c:2832 #, c-format msgid "could not execute command \"%s\": %m" msgstr "esecuzione del comando \"%s\" fallita: %m" @@ -5626,214 +5459,214 @@ msgid "relative path not allowed for COPY to file" msgstr "i percorsi relativi non sono consentiti per il COPY verso un file" -#: commands/copy.c:1810 +#: commands/copy.c:1819 #, c-format msgid "could not open file \"%s\" for writing: %m" msgstr "apertura del file \"%s\" in scrittura fallita: %m" -#: commands/copy.c:1822 commands/copy.c:2846 +#: commands/copy.c:1831 commands/copy.c:2855 #, c-format msgid "\"%s\" is a directory" msgstr "\"%s\" è una directory" -#: commands/copy.c:2145 +#: commands/copy.c:2154 #, c-format msgid "COPY %s, line %d, column %s" msgstr "COPY %s, riga %d, colonna %s" -#: commands/copy.c:2149 commands/copy.c:2196 +#: commands/copy.c:2158 commands/copy.c:2205 #, c-format msgid "COPY %s, line %d" msgstr "COPY %s, riga %d" -#: commands/copy.c:2160 +#: commands/copy.c:2169 #, c-format msgid "COPY %s, line %d, column %s: \"%s\"" msgstr "COPY %s, riga %d, colonna %s: \"%s\"" -#: commands/copy.c:2168 +#: commands/copy.c:2177 #, c-format msgid "COPY %s, line %d, column %s: null input" msgstr "COPY %s, riga %d, colonna %s: input nullo" -#: commands/copy.c:2190 +#: commands/copy.c:2199 #, c-format msgid "COPY %s, line %d: \"%s\"" msgstr "COPY %s, riga %d: \"%s\"" -#: commands/copy.c:2274 +#: commands/copy.c:2283 #, c-format msgid "cannot copy to view \"%s\"" msgstr "non è possibile copiare verso la vista \"%s\"" -#: commands/copy.c:2279 +#: commands/copy.c:2288 #, c-format msgid "cannot copy to materialized view \"%s\"" msgstr "non è possibile copiare verso la vista materializzata \"%s\"" -#: commands/copy.c:2284 +#: commands/copy.c:2293 #, c-format msgid "cannot copy to foreign table \"%s\"" msgstr "non è possibile copiare verso la tabella esterna \"%s\"" -#: commands/copy.c:2289 +#: commands/copy.c:2298 #, c-format msgid "cannot copy to sequence \"%s\"" msgstr "non è possibile copiare verso sequenza \"%s\"" -#: commands/copy.c:2294 +#: commands/copy.c:2303 #, c-format msgid "cannot copy to non-table relation \"%s\"" msgstr "non è possibile copiare verso la relazione \"%s\" perché non è una tabella" -#: commands/copy.c:2357 +#: commands/copy.c:2366 #, c-format msgid "cannot perform FREEZE because of prior transaction activity" msgstr "non è possibile eseguire FREEZE a causa di precedente attività della transazione" -#: commands/copy.c:2363 +#: commands/copy.c:2372 #, c-format msgid "cannot perform FREEZE because the table was not created or truncated in the current subtransaction" msgstr "non è possibile eseguire FREEZE perché la tabella non è stata creata o troncata nella sottotransazione corrente" -#: commands/copy.c:2866 +#: commands/copy.c:2875 #, c-format msgid "COPY file signature not recognized" msgstr "formato del file COPY non riconosciuto" -#: commands/copy.c:2871 +#: commands/copy.c:2880 #, c-format msgid "invalid COPY file header (missing flags)" msgstr "intestazione del file COPY non valida (flag mancanti)" -#: commands/copy.c:2877 +#: commands/copy.c:2886 #, c-format msgid "unrecognized critical flags in COPY file header" msgstr "alcune flag critici non sono stati riconosciuti nell'intestazione del file COPY" -#: commands/copy.c:2883 +#: commands/copy.c:2892 #, c-format msgid "invalid COPY file header (missing length)" msgstr "intestazione del file COPY non valida (manca la lunghezza)" -#: commands/copy.c:2890 +#: commands/copy.c:2899 #, c-format msgid "invalid COPY file header (wrong length)" msgstr "intestazione del file COPY non valida (lunghezza errata)" -#: commands/copy.c:3023 commands/copy.c:3730 commands/copy.c:3960 +#: commands/copy.c:3032 commands/copy.c:3739 commands/copy.c:3969 #, c-format msgid "extra data after last expected column" msgstr "ci sono dati in eccesso dopo l'ultima colonna attesa" -#: commands/copy.c:3033 +#: commands/copy.c:3042 #, c-format msgid "missing data for OID column" msgstr "dati per la colonna OID mancanti" -#: commands/copy.c:3039 +#: commands/copy.c:3048 #, c-format msgid "null OID in COPY data" msgstr "OID nullo nei dati da COPY" -#: commands/copy.c:3049 commands/copy.c:3172 +#: commands/copy.c:3058 commands/copy.c:3181 #, c-format msgid "invalid OID in COPY data" msgstr "OID non valido nei dati da COPY" -#: commands/copy.c:3064 +#: commands/copy.c:3073 #, c-format msgid "missing data for column \"%s\"" msgstr "dati mancanti per la colonna \"%s\"" -#: commands/copy.c:3147 +#: commands/copy.c:3156 #, c-format msgid "received copy data after EOF marker" msgstr "dati da copiare ricevuti dopo il segnalatore di fine file" -#: commands/copy.c:3154 +#: commands/copy.c:3163 #, c-format msgid "row field count is %d, expected %d" msgstr "il numero di campi è %d, ne erano attesi %d" -#: commands/copy.c:3494 commands/copy.c:3511 +#: commands/copy.c:3503 commands/copy.c:3520 #, c-format msgid "literal carriage return found in data" msgstr "\"ritorno carrello\" trovato nei dati" -#: commands/copy.c:3495 commands/copy.c:3512 +#: commands/copy.c:3504 commands/copy.c:3521 #, c-format msgid "unquoted carriage return found in data" msgstr "\"ritorno carrello\" non quotato trovato nei dati" -#: commands/copy.c:3497 commands/copy.c:3514 +#: commands/copy.c:3506 commands/copy.c:3523 #, c-format msgid "Use \"\\r\" to represent carriage return." msgstr "Usa \"\\r\" per rappresentare i caratteri \"ritorno carrello\"." -#: commands/copy.c:3498 commands/copy.c:3515 +#: commands/copy.c:3507 commands/copy.c:3524 #, c-format msgid "Use quoted CSV field to represent carriage return." msgstr "Usa un campo CSV quotato per rappresentare i caratteri \"ritorno carrello\"." -#: commands/copy.c:3527 +#: commands/copy.c:3536 #, c-format msgid "literal newline found in data" msgstr "\"nuova riga\" letterale trovato nei dati" -#: commands/copy.c:3528 +#: commands/copy.c:3537 #, c-format msgid "unquoted newline found in data" msgstr "\"nuova riga\" non quotato trovato nei dati" -#: commands/copy.c:3530 +#: commands/copy.c:3539 #, c-format msgid "Use \"\\n\" to represent newline." msgstr "Usa \"\\n\" per rappresentare i caratteri \"nuova riga\"." -#: commands/copy.c:3531 +#: commands/copy.c:3540 #, c-format msgid "Use quoted CSV field to represent newline." msgstr "Usa un campo CSV quotato per rappresentare i caratteri \"nuova riga\"." -#: commands/copy.c:3577 commands/copy.c:3613 +#: commands/copy.c:3586 commands/copy.c:3622 #, c-format msgid "end-of-copy marker does not match previous newline style" msgstr "il marcatore di fine copia non combacia con il precedente stile \"nuova riga\"" -#: commands/copy.c:3586 commands/copy.c:3602 +#: commands/copy.c:3595 commands/copy.c:3611 #, c-format msgid "end-of-copy marker corrupt" msgstr "il marcatore di fine copia è corrotto" -#: commands/copy.c:4044 +#: commands/copy.c:4053 #, c-format msgid "unterminated CSV quoted field" msgstr "campo CSV tra virgolette non terminato" -#: commands/copy.c:4121 commands/copy.c:4140 +#: commands/copy.c:4130 commands/copy.c:4149 #, c-format msgid "unexpected EOF in COPY data" msgstr "fine file inattesa dei dati da COPY" -#: commands/copy.c:4130 +#: commands/copy.c:4139 #, c-format msgid "invalid field size" msgstr "dimensione del campo non valida" -#: commands/copy.c:4153 +#: commands/copy.c:4162 #, c-format msgid "incorrect binary data format" msgstr "formato di dati binari non corretto" -#: commands/copy.c:4464 commands/indexcmds.c:1054 commands/tablecmds.c:1464 +#: commands/copy.c:4473 commands/indexcmds.c:1054 commands/tablecmds.c:1464 #: commands/tablecmds.c:2291 parser/parse_relation.c:3177 #: parser/parse_relation.c:3197 utils/adt/tsvector_op.c:2559 #, c-format msgid "column \"%s\" does not exist" msgstr "la colonna \"%s\" non esiste" -#: commands/copy.c:4471 commands/tablecmds.c:1490 commands/trigger.c:651 +#: commands/copy.c:4480 commands/tablecmds.c:1490 commands/trigger.c:651 #: parser/parse_target.c:967 parser/parse_target.c:978 #, c-format msgid "column \"%s\" specified more than once" @@ -6107,7 +5940,7 @@ msgstr "argomento non valido per %s: \"%s\"" #: commands/dropcmds.c:112 commands/functioncmds.c:1203 -#: utils/adt/ruleutils.c:2080 +#: utils/adt/ruleutils.c:2083 #, c-format msgid "\"%s\" is an aggregate function" msgstr "\"%s\" è una funzione di aggregazione" @@ -6119,7 +5952,7 @@ #: commands/dropcmds.c:165 commands/sequence.c:424 commands/tablecmds.c:2378 #: commands/tablecmds.c:2529 commands/tablecmds.c:2571 -#: commands/tablecmds.c:11525 tcop/utility.c:1119 +#: commands/tablecmds.c:11538 tcop/utility.c:1119 #, c-format msgid "relation \"%s\" does not exist, skipping" msgstr "la relazione \"%s\" non esiste, saltata" @@ -6768,13 +6601,13 @@ msgid "only one AS item needed for language \"%s\"" msgstr "solo un elemento AS è necessario per il linguaggio \"%s\"" -#: commands/functioncmds.c:929 commands/functioncmds.c:2119 +#: commands/functioncmds.c:929 commands/functioncmds.c:2139 #: commands/proclang.c:563 #, c-format msgid "language \"%s\" does not exist" msgstr "il linguaggio \"%s\" non esiste" -#: commands/functioncmds.c:931 commands/functioncmds.c:2121 +#: commands/functioncmds.c:931 commands/functioncmds.c:2141 #, c-format msgid "Use CREATE LANGUAGE to load the language into the database." msgstr "Usa CREATE LANGUAGE per caricare il linguaggio nel database." @@ -6799,187 +6632,187 @@ msgid "ROWS is not applicable when function does not return a set" msgstr "ROWS è non applicabile quando la funzione non restituisce un insieme" -#: commands/functioncmds.c:1412 +#: commands/functioncmds.c:1432 #, c-format msgid "source data type %s is a pseudo-type" msgstr "il tipo di dati di origine %s è uno pseudo-tipo" -#: commands/functioncmds.c:1418 +#: commands/functioncmds.c:1438 #, c-format msgid "target data type %s is a pseudo-type" msgstr "il tipo di dati di destinazione %s è uno pseudo-tipo" -#: commands/functioncmds.c:1442 +#: commands/functioncmds.c:1462 #, c-format msgid "cast will be ignored because the source data type is a domain" msgstr "la conversione verrà ignorata perché il tipo di dato di origine è un dominio" -#: commands/functioncmds.c:1447 +#: commands/functioncmds.c:1467 #, c-format msgid "cast will be ignored because the target data type is a domain" msgstr "la conversione verrà ignorata perché il tipo di dato di destinazione è un dominio" -#: commands/functioncmds.c:1474 +#: commands/functioncmds.c:1494 #, c-format msgid "cast function must take one to three arguments" msgstr "la funzione di conversione deve prendere da uno a tre argomenti" -#: commands/functioncmds.c:1478 +#: commands/functioncmds.c:1498 #, c-format msgid "argument of cast function must match or be binary-coercible from source data type" msgstr "l'argomento della funzione di conversione deve combaciare o essere convertibile a livello binario dal tipo di dato di origine" -#: commands/functioncmds.c:1482 +#: commands/functioncmds.c:1502 #, c-format msgid "second argument of cast function must be type integer" msgstr "il secondo argomento della funzione di conversione deve essere un tipo intero" -#: commands/functioncmds.c:1486 +#: commands/functioncmds.c:1506 #, c-format msgid "third argument of cast function must be type boolean" msgstr "il terzo argomento della funzione di conversione deve essere un tipo booleano" -#: commands/functioncmds.c:1490 +#: commands/functioncmds.c:1510 #, c-format msgid "return data type of cast function must match or be binary-coercible to target data type" msgstr "il tipo di dato restituito dalla funzione di conversione deve combaciare o essere convertibile a livello binario nel tipo di dato di destinazione" -#: commands/functioncmds.c:1501 +#: commands/functioncmds.c:1521 #, c-format msgid "cast function must not be volatile" msgstr "la funzione di conversione non può essere volatile" -#: commands/functioncmds.c:1506 +#: commands/functioncmds.c:1526 #, c-format msgid "cast function must not be an aggregate function" msgstr "la funzione di conversione non può essere una funzione di aggregazione" -#: commands/functioncmds.c:1510 +#: commands/functioncmds.c:1530 #, c-format msgid "cast function must not be a window function" msgstr "la funzione di conversione non può essere una funzione finestra" -#: commands/functioncmds.c:1514 +#: commands/functioncmds.c:1534 #, c-format msgid "cast function must not return a set" msgstr "la funzione di conversione non può restituire un insieme" -#: commands/functioncmds.c:1540 +#: commands/functioncmds.c:1560 #, c-format msgid "must be superuser to create a cast WITHOUT FUNCTION" msgstr "occorre essere un superutente per creare un cast WITHOUT FUNCTION" -#: commands/functioncmds.c:1555 +#: commands/functioncmds.c:1575 #, c-format msgid "source and target data types are not physically compatible" msgstr "i tipi di dati di origine e di destinazione non sono fisicamente compatibili" -#: commands/functioncmds.c:1570 +#: commands/functioncmds.c:1590 #, c-format msgid "composite data types are not binary-compatible" msgstr "i tipi di dati compositi non sono compatibili a livello binario" -#: commands/functioncmds.c:1576 +#: commands/functioncmds.c:1596 #, c-format msgid "enum data types are not binary-compatible" msgstr "le enumerazioni non sono compatibili a livello binario" -#: commands/functioncmds.c:1582 +#: commands/functioncmds.c:1602 #, c-format msgid "array data types are not binary-compatible" msgstr "i tipi di dati array non sono compatibili a livello binario" -#: commands/functioncmds.c:1599 +#: commands/functioncmds.c:1619 #, c-format msgid "domain data types must not be marked binary-compatible" msgstr "i tipi di dominio non devono essere marcati come compatibili a livello binario" -#: commands/functioncmds.c:1609 +#: commands/functioncmds.c:1629 #, c-format msgid "source data type and target data type are the same" msgstr "i tipi di dati di origine e di destinazione sono gli stessi" -#: commands/functioncmds.c:1642 +#: commands/functioncmds.c:1662 #, c-format msgid "cast from type %s to type %s already exists" msgstr "la conversione dal tipo %s al tipo %s esiste già" -#: commands/functioncmds.c:1717 +#: commands/functioncmds.c:1737 #, c-format msgid "cast from type %s to type %s does not exist" msgstr "la conversione dal tipo %s al tipo %s non esiste" -#: commands/functioncmds.c:1756 +#: commands/functioncmds.c:1776 #, c-format msgid "transform function must not be volatile" msgstr "la funzione di trasformazione non può essere volatile" -#: commands/functioncmds.c:1760 +#: commands/functioncmds.c:1780 #, c-format msgid "transform function must not be an aggregate function" msgstr "la funzione di trasformazione non può essere una funzione aggregata" -#: commands/functioncmds.c:1764 +#: commands/functioncmds.c:1784 #, c-format msgid "transform function must not be a window function" msgstr "la funzione di trasformazione non può essere una funzione finestra" -#: commands/functioncmds.c:1768 +#: commands/functioncmds.c:1788 #, c-format msgid "transform function must not return a set" msgstr "la funzione di trasformazione non può restituire un insieme" -#: commands/functioncmds.c:1772 +#: commands/functioncmds.c:1792 #, c-format msgid "transform function must take one argument" msgstr "la funzione di trasformazione deve poter ricevere un solo argomento" -#: commands/functioncmds.c:1776 +#: commands/functioncmds.c:1796 #, c-format msgid "first argument of transform function must be type \"internal\"" msgstr "il primo argomento della funzione di trasformazione dev'essere di tipo \"internal\"" -#: commands/functioncmds.c:1813 +#: commands/functioncmds.c:1833 #, c-format msgid "data type %s is a pseudo-type" msgstr "il tipo di dato %s è uno pseudo-tipo" -#: commands/functioncmds.c:1819 +#: commands/functioncmds.c:1839 #, c-format msgid "data type %s is a domain" msgstr "il tipo di dato %s è un dominio" -#: commands/functioncmds.c:1859 +#: commands/functioncmds.c:1879 #, c-format msgid "return data type of FROM SQL function must be \"internal\"" msgstr "il tipo di dato restituito da una funzione FROM SQL dev'essere \"internal\"" -#: commands/functioncmds.c:1884 +#: commands/functioncmds.c:1904 #, c-format msgid "return data type of TO SQL function must be the transform data type" msgstr "il tipo di dati restituito da una funzione TO SQL dev'essere il tipo di dato della trasformazione" -#: commands/functioncmds.c:1911 +#: commands/functioncmds.c:1931 #, c-format msgid "transform for type %s language \"%s\" already exists" msgstr "la trasformazione per il tipo %s linguaggio \"%s\" esiste già" -#: commands/functioncmds.c:2002 +#: commands/functioncmds.c:2022 #, c-format msgid "transform for type %s language \"%s\" does not exist" msgstr "la trasformazione per il tipo %s linguaggio \"%s\" non esiste" -#: commands/functioncmds.c:2053 +#: commands/functioncmds.c:2073 #, c-format msgid "function %s already exists in schema \"%s\"" msgstr "la funzione %s esiste già nello schema \"%s\"" -#: commands/functioncmds.c:2106 +#: commands/functioncmds.c:2126 #, c-format msgid "no inline code specified" msgstr "nessun codice inline specificato" -#: commands/functioncmds.c:2151 +#: commands/functioncmds.c:2171 #, c-format msgid "language \"%s\" does not support inline code execution" msgstr "il linguaggio \"%s\" non supporta l'esecuzione di codice inline" @@ -7004,7 +6837,7 @@ msgid "cannot create indexes on temporary tables of other sessions" msgstr "non è possibile creare indici su tabelle temporanee di altre sessioni" -#: commands/indexcmds.c:455 commands/tablecmds.c:546 commands/tablecmds.c:9695 +#: commands/indexcmds.c:455 commands/tablecmds.c:546 commands/tablecmds.c:9708 #, c-format msgid "only shared relations can be placed in pg_global tablespace" msgstr "solo le relazioni condivise possono essere poste nel tablespace pg_global" @@ -7049,7 +6882,7 @@ msgid "functions in index predicate must be marked IMMUTABLE" msgstr "le funzioni nel predicato dell'indice devono essere marcate IMMUTABLE" -#: commands/indexcmds.c:1049 parser/parse_utilcmd.c:1881 +#: commands/indexcmds.c:1049 parser/parse_utilcmd.c:1882 #, c-format msgid "column \"%s\" named in key does not exist" msgstr "la colonna \"%s\" nominata nella chiave non esiste" @@ -7065,7 +6898,7 @@ msgstr "non è stato possibile determinare quale ordinamento usare per l'espressione dell'indice" #: commands/indexcmds.c:1140 commands/typecmds.c:827 parser/parse_expr.c:2608 -#: parser/parse_type.c:550 parser/parse_utilcmd.c:2807 utils/adt/misc.c:666 +#: parser/parse_type.c:550 parser/parse_utilcmd.c:2808 utils/adt/misc.c:666 #, c-format msgid "collations are not supported by type %s" msgstr "gli ordinamenti non sono supportati dal tipo %s" @@ -7374,10 +7207,11 @@ msgstr "l'attributo dell'operatore \"%s\" non può essere cambiato" #: commands/policy.c:87 commands/policy.c:388 commands/policy.c:477 -#: commands/tablecmds.c:971 commands/tablecmds.c:1313 commands/tablecmds.c:2185 -#: commands/tablecmds.c:4329 commands/tablecmds.c:6280 -#: commands/tablecmds.c:12081 commands/tablecmds.c:12116 commands/trigger.c:241 -#: commands/trigger.c:1125 commands/trigger.c:1233 rewrite/rewriteDefine.c:273 +#: commands/tablecmds.c:971 commands/tablecmds.c:1313 +#: commands/tablecmds.c:2185 commands/tablecmds.c:4329 +#: commands/tablecmds.c:6293 commands/tablecmds.c:12094 +#: commands/tablecmds.c:12129 commands/trigger.c:241 commands/trigger.c:1125 +#: commands/trigger.c:1233 rewrite/rewriteDefine.c:273 #: rewrite/rewriteDefine.c:917 #, c-format msgid "permission denied: \"%s\" is a system catalog" @@ -7423,7 +7257,8 @@ msgid "only USING expression allowed for SELECT, DELETE" msgstr "solo le espressioni USING sono permesse per SELECT e DELETE" -#: commands/portalcmds.c:61 commands/portalcmds.c:160 commands/portalcmds.c:212 +#: commands/portalcmds.c:61 commands/portalcmds.c:160 +#: commands/portalcmds.c:212 #, c-format msgid "invalid cursor name: must not be empty" msgstr "nome di cursore non valido: non deve essere vuoto" @@ -7439,7 +7274,7 @@ msgid "invalid statement name: must not be empty" msgstr "nome di istruzione non valido: non deve essere vuoto" -#: commands/prepare.c:129 parser/parse_param.c:304 tcop/postgres.c:1343 +#: commands/prepare.c:129 parser/parse_param.c:304 tcop/postgres.c:1335 #, c-format msgid "could not determine data type of parameter $%d" msgstr "non è stato possibile determinare il tipo di dato del parametro $%d" @@ -7685,7 +7520,7 @@ msgid "Use DROP MATERIALIZED VIEW to remove a materialized view." msgstr "Usa DROP MATERIALIZED VIEW per rimuovere una vista materializzata." -#: commands/tablecmds.c:240 parser/parse_utilcmd.c:1630 +#: commands/tablecmds.c:240 parser/parse_utilcmd.c:1631 #, c-format msgid "index \"%s\" does not exist" msgstr "l'indice \"%s\" non esiste" @@ -7708,8 +7543,8 @@ msgid "Use DROP TYPE to remove a type." msgstr "Usa DROP TYPE per eliminare un tipo." -#: commands/tablecmds.c:252 commands/tablecmds.c:8584 -#: commands/tablecmds.c:11336 +#: commands/tablecmds.c:252 commands/tablecmds.c:8597 +#: commands/tablecmds.c:11349 #, c-format msgid "foreign table \"%s\" does not exist" msgstr "la tabella esterna \"%s\" non esiste" @@ -7753,22 +7588,22 @@ msgid "cannot truncate temporary tables of other sessions" msgstr "non è possibile troncare tabelle temporanee di altre sessioni" -#: commands/tablecmds.c:1529 parser/parse_utilcmd.c:1844 +#: commands/tablecmds.c:1529 parser/parse_utilcmd.c:1845 #, c-format msgid "inherited relation \"%s\" is not a table or foreign table" msgstr "la relazione ereditata \"%s\" non è una tabella o tabella esterna" -#: commands/tablecmds.c:1536 commands/tablecmds.c:10151 +#: commands/tablecmds.c:1536 commands/tablecmds.c:10164 #, c-format msgid "cannot inherit from temporary relation \"%s\"" msgstr "non è possibile ereditare dalla relazione temporanea \"%s\"" -#: commands/tablecmds.c:1544 commands/tablecmds.c:10159 +#: commands/tablecmds.c:1544 commands/tablecmds.c:10172 #, c-format msgid "cannot inherit from temporary relation of another session" msgstr "non è possibile ereditare da una relazione temporanea di un'altra sessione" -#: commands/tablecmds.c:1560 commands/tablecmds.c:10193 +#: commands/tablecmds.c:1560 commands/tablecmds.c:10206 #, c-format msgid "relation \"%s\" would be inherited from more than once" msgstr "la relazione \"%s\" sarebbe ereditata più di una volta" @@ -7798,7 +7633,7 @@ msgstr "la colonna ereditata \"%s\" ha un conflitto di ordinamento" #: commands/tablecmds.c:1629 commands/tablecmds.c:1851 -#: commands/tablecmds.c:4767 +#: commands/tablecmds.c:4780 #, c-format msgid "\"%s\" versus \"%s\"" msgstr "tra \"%s\" e \"%s\"" @@ -7808,14 +7643,14 @@ msgid "inherited column \"%s\" has a storage parameter conflict" msgstr "la colonna ereditata \"%s\" ha un conflitto di parametro di memorizzazione" -#: commands/tablecmds.c:1752 commands/tablecmds.c:8089 -#: parser/parse_utilcmd.c:923 parser/parse_utilcmd.c:1274 -#: parser/parse_utilcmd.c:1350 +#: commands/tablecmds.c:1752 commands/tablecmds.c:8102 +#: parser/parse_utilcmd.c:924 parser/parse_utilcmd.c:1275 +#: parser/parse_utilcmd.c:1351 #, c-format msgid "cannot convert whole-row table reference" msgstr "non è possibile convertire riferimenti ad una riga intera di tabella" -#: commands/tablecmds.c:1753 parser/parse_utilcmd.c:924 +#: commands/tablecmds.c:1753 parser/parse_utilcmd.c:925 #, c-format msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"." msgstr "Il vincolo \"%s\" contiene un riferimento alla riga intera alla tabella \"%s\"." @@ -7942,13 +7777,13 @@ msgid "column \"%s\" contains null values" msgstr "la colonna \"%s\" contiene valori null" -#: commands/tablecmds.c:4202 commands/tablecmds.c:7386 +#: commands/tablecmds.c:4202 commands/tablecmds.c:7399 #, c-format msgid "check constraint \"%s\" is violated by some row" msgstr "il vincolo di controllo \"%s\" è violato da alcune righe" -#: commands/tablecmds.c:4350 commands/trigger.c:235 rewrite/rewriteDefine.c:267 -#: rewrite/rewriteDefine.c:912 +#: commands/tablecmds.c:4350 commands/trigger.c:235 +#: rewrite/rewriteDefine.c:267 rewrite/rewriteDefine.c:912 #, c-format msgid "\"%s\" is not a table or view" msgstr "\"%s\" non è una tabella né una vista" @@ -7983,7 +7818,7 @@ msgid "\"%s\" is not a table, composite type, or foreign table" msgstr "\"%s\" non è una tabella, un tipo composito né una tabella esterna" -#: commands/tablecmds.c:4374 commands/tablecmds.c:5426 +#: commands/tablecmds.c:4374 commands/tablecmds.c:5439 #, c-format msgid "\"%s\" is not a table, materialized view, index, or foreign table" msgstr "\"%s\" non è una tabella, una vista materializzata, un indice né una tabella esterna" @@ -7993,558 +7828,558 @@ msgid "\"%s\" is of the wrong type" msgstr "\"%s\" è del tipo sbagliato" -#: commands/tablecmds.c:4536 commands/tablecmds.c:4543 +#: commands/tablecmds.c:4557 commands/tablecmds.c:4564 #, c-format msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it" msgstr "non è possibile modificare il tipo \"%s\" perché la colonna \"%s.%s\" lo usa" -#: commands/tablecmds.c:4550 +#: commands/tablecmds.c:4571 #, c-format msgid "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type" msgstr "non è possibile modificare la tabella esterna \"%s\" perché la colonna \"%s.%s\" usa il suo tipo di riga" -#: commands/tablecmds.c:4557 +#: commands/tablecmds.c:4578 #, c-format msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type" msgstr "non è possibile modificare la tabella \"%s\" perché la colonna \"%s.%s\" usa il suo tipo di riga" -#: commands/tablecmds.c:4619 +#: commands/tablecmds.c:4632 #, c-format msgid "cannot alter type \"%s\" because it is the type of a typed table" msgstr "non è possibile modificare il tipo \"%s\" perché è il tipo di una tabella con tipo" -#: commands/tablecmds.c:4621 +#: commands/tablecmds.c:4634 #, c-format msgid "Use ALTER ... CASCADE to alter the typed tables too." msgstr "Usa DROP ... CASCADE per eliminare anche le tabelle con tipo." -#: commands/tablecmds.c:4665 +#: commands/tablecmds.c:4678 #, c-format msgid "type %s is not a composite type" msgstr "il tipo %s non è un tipo composito" -#: commands/tablecmds.c:4691 +#: commands/tablecmds.c:4704 #, c-format msgid "cannot add column to typed table" msgstr "non è possibile aggiungere una colonna ad una tabella con tipo" -#: commands/tablecmds.c:4759 commands/tablecmds.c:10352 +#: commands/tablecmds.c:4772 commands/tablecmds.c:10365 #, c-format msgid "child table \"%s\" has different type for column \"%s\"" msgstr "la tabella figlia \"%s\" ha tipo diverso per la colonna \"%s\"" -#: commands/tablecmds.c:4765 commands/tablecmds.c:10359 +#: commands/tablecmds.c:4778 commands/tablecmds.c:10372 #, c-format msgid "child table \"%s\" has different collation for column \"%s\"" msgstr "la tabella figlia \"%s\" ha ordinamento diverso per la colonna \"%s\"" -#: commands/tablecmds.c:4775 +#: commands/tablecmds.c:4788 #, c-format msgid "child table \"%s\" has a conflicting \"%s\" column" msgstr "la tabella figlia \"%s\" ha la colonna \"%s\" in conflitto" -#: commands/tablecmds.c:4787 +#: commands/tablecmds.c:4800 #, c-format msgid "merging definition of column \"%s\" for child \"%s\"" msgstr "unione delle definizioni della colonna \"%s\" per la tabella figlia \"%s\"" -#: commands/tablecmds.c:5014 +#: commands/tablecmds.c:5027 #, c-format msgid "column must be added to child tables too" msgstr "la colonna deve essere aggiunta anche alle tabelle figlie" -#: commands/tablecmds.c:5089 +#: commands/tablecmds.c:5102 #, c-format msgid "column \"%s\" of relation \"%s\" already exists, skipping" msgstr "la colonna \"%s\" della relazione \"%s\" esiste già, saltata" -#: commands/tablecmds.c:5096 +#: commands/tablecmds.c:5109 #, c-format msgid "column \"%s\" of relation \"%s\" already exists" msgstr "la colonna \"%s\" della relazione \"%s\" esiste già" -#: commands/tablecmds.c:5207 commands/tablecmds.c:5313 -#: commands/tablecmds.c:5371 commands/tablecmds.c:5485 -#: commands/tablecmds.c:5542 commands/tablecmds.c:5636 -#: commands/tablecmds.c:7925 commands/tablecmds.c:8607 +#: commands/tablecmds.c:5220 commands/tablecmds.c:5326 +#: commands/tablecmds.c:5384 commands/tablecmds.c:5498 +#: commands/tablecmds.c:5555 commands/tablecmds.c:5649 +#: commands/tablecmds.c:7938 commands/tablecmds.c:8620 #, c-format msgid "cannot alter system column \"%s\"" msgstr "non è possibile modificare la colonna di sistema \"%s\"" -#: commands/tablecmds.c:5243 +#: commands/tablecmds.c:5256 #, c-format msgid "column \"%s\" is in a primary key" msgstr "la colonna \"%s\" è in una chiave primaria" -#: commands/tablecmds.c:5458 +#: commands/tablecmds.c:5471 #, c-format msgid "statistics target %d is too low" msgstr "il target delle statistiche %d è troppo basso" -#: commands/tablecmds.c:5466 +#: commands/tablecmds.c:5479 #, c-format msgid "lowering statistics target to %d" msgstr "target delle statistiche abbassato a %d" -#: commands/tablecmds.c:5616 +#: commands/tablecmds.c:5629 #, c-format msgid "invalid storage type \"%s\"" msgstr "tipo di immagazzinamento non valido \"%s\"" -#: commands/tablecmds.c:5648 +#: commands/tablecmds.c:5661 #, c-format msgid "column data type %s can only have storage PLAIN" msgstr "il tipo di dato della colonna %s può avere solo immagazzinamento PLAIN" -#: commands/tablecmds.c:5686 +#: commands/tablecmds.c:5699 #, c-format msgid "cannot drop column from typed table" msgstr "non è possibile eliminare la colonna da una tabella con tipo" -#: commands/tablecmds.c:5730 +#: commands/tablecmds.c:5743 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist, skipping" msgstr "la colonna \"%s\" della relazione \"%s\" non esiste, saltato" -#: commands/tablecmds.c:5743 +#: commands/tablecmds.c:5756 #, c-format msgid "cannot drop system column \"%s\"" msgstr "non è possibile eliminare la colonna di sistema \"%s\"" -#: commands/tablecmds.c:5750 +#: commands/tablecmds.c:5763 #, c-format msgid "cannot drop inherited column \"%s\"" msgstr "non è possibile eliminare la colonna ereditata \"%s\"" -#: commands/tablecmds.c:5990 +#: commands/tablecmds.c:6003 #, c-format msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX will rename index \"%s\" to \"%s\"" msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX rinominerà l'indice \"%s\" in \"%s\"" -#: commands/tablecmds.c:6203 +#: commands/tablecmds.c:6216 #, c-format msgid "constraint must be added to child tables too" msgstr "il vincolo deve essere aggiunto anche alle tabelle figlie" -#: commands/tablecmds.c:6274 +#: commands/tablecmds.c:6287 #, c-format msgid "referenced relation \"%s\" is not a table" msgstr "la relazione referenziata \"%s\" non è una tabella" -#: commands/tablecmds.c:6297 +#: commands/tablecmds.c:6310 #, c-format msgid "constraints on permanent tables may reference only permanent tables" msgstr "i vincoli su tabelle permanenti possono referenziare solo tabelle permanenti" -#: commands/tablecmds.c:6304 +#: commands/tablecmds.c:6317 #, c-format msgid "constraints on unlogged tables may reference only permanent or unlogged tables" msgstr "i vincoli su tabelle non loggate possono referenziare solo tabelle permanenti o non loggate" -#: commands/tablecmds.c:6310 +#: commands/tablecmds.c:6323 #, c-format msgid "constraints on temporary tables may reference only temporary tables" msgstr "i vincoli su tabelle temporanee possono referenziare solo tabelle temporanee" -#: commands/tablecmds.c:6314 +#: commands/tablecmds.c:6327 #, c-format msgid "constraints on temporary tables must involve temporary tables of this session" msgstr "i vincoli su tabelle temporanee devono riferirsi a tabelle temporanee di questa sessione" -#: commands/tablecmds.c:6375 +#: commands/tablecmds.c:6388 #, c-format msgid "number of referencing and referenced columns for foreign key disagree" msgstr "i numeri di colonne referenzianti e referenziate per la chiave esterna non combaciano" -#: commands/tablecmds.c:6482 +#: commands/tablecmds.c:6495 #, c-format msgid "foreign key constraint \"%s\" cannot be implemented" msgstr "non è possibile implementare il vincolo di chiave esterna \"%s\"" -#: commands/tablecmds.c:6485 +#: commands/tablecmds.c:6498 #, c-format msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s." msgstr "Le colonne chiave \"%s\" e \"%s\" hanno tipi incompatibili: %s e %s." -#: commands/tablecmds.c:6692 commands/tablecmds.c:6860 -#: commands/tablecmds.c:7764 commands/tablecmds.c:7820 +#: commands/tablecmds.c:6705 commands/tablecmds.c:6873 +#: commands/tablecmds.c:7777 commands/tablecmds.c:7833 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist" msgstr "il vincolo \"%s\" della relazione \"%s\" non esiste" -#: commands/tablecmds.c:6698 +#: commands/tablecmds.c:6711 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint" msgstr "il vincolo \"%s\" della relazione \"%s\" non è una chiave esterna" -#: commands/tablecmds.c:6867 +#: commands/tablecmds.c:6880 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint" msgstr "il vincolo \"%s\" della relazione \"%s\" non è una chiave esterna o un vincolo di controllo" -#: commands/tablecmds.c:6936 +#: commands/tablecmds.c:6949 #, c-format msgid "constraint must be validated on child tables too" msgstr "i vincoli devono essere validati anche sulle tabelle figlie" -#: commands/tablecmds.c:7005 +#: commands/tablecmds.c:7018 #, c-format msgid "column \"%s\" referenced in foreign key constraint does not exist" msgstr "la colonna \"%s\" referenziata dal vincolo di chiave esterna non esiste" -#: commands/tablecmds.c:7010 +#: commands/tablecmds.c:7023 #, c-format msgid "cannot have more than %d keys in a foreign key" msgstr "non possono esserci più di %d chiavi in una chiave esterna" -#: commands/tablecmds.c:7075 +#: commands/tablecmds.c:7088 #, c-format msgid "cannot use a deferrable primary key for referenced table \"%s\"" msgstr "non è possibile usare una chiave primaria deferita per la tabella referenziata \"%s\"" -#: commands/tablecmds.c:7092 +#: commands/tablecmds.c:7105 #, c-format msgid "there is no primary key for referenced table \"%s\"" msgstr "la tabella referenziata \"%s\" non ha una chiave primaria" -#: commands/tablecmds.c:7157 +#: commands/tablecmds.c:7170 #, c-format msgid "foreign key referenced-columns list must not contain duplicates" msgstr "la lista di colonne referenziate dalla chiave esterna non deve contenere duplicati" -#: commands/tablecmds.c:7251 +#: commands/tablecmds.c:7264 #, c-format msgid "cannot use a deferrable unique constraint for referenced table \"%s\"" msgstr "non è possibile usare un vincolo univoco deferito per la tabella referenziata \"%s\"" -#: commands/tablecmds.c:7256 +#: commands/tablecmds.c:7269 #, c-format msgid "there is no unique constraint matching given keys for referenced table \"%s\"" msgstr "non c'è alcun vincolo univoco che corrisponda alle chiavi indicate per la tabella referenziata \"%s\"" -#: commands/tablecmds.c:7419 +#: commands/tablecmds.c:7432 #, c-format msgid "validating foreign key constraint \"%s\"" msgstr "validazione del vincolo di chiave esterna \"%s\"" -#: commands/tablecmds.c:7718 +#: commands/tablecmds.c:7731 #, c-format msgid "cannot drop inherited constraint \"%s\" of relation \"%s\"" msgstr "non è possibile eliminare il vincolo ereditato \"%s\" della relazione \"%s\"" -#: commands/tablecmds.c:7770 +#: commands/tablecmds.c:7783 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping" msgstr "il vincolo \"%s\" della relazione \"%s\" non esiste, saltato" -#: commands/tablecmds.c:7909 +#: commands/tablecmds.c:7922 #, c-format msgid "cannot alter column type of typed table" msgstr "non è possibile modificare il tipo di colonna di una tabella con tipo" -#: commands/tablecmds.c:7932 +#: commands/tablecmds.c:7945 #, c-format msgid "cannot alter inherited column \"%s\"" msgstr "non è possibile modificare la colonna ereditata \"%s\"" -#: commands/tablecmds.c:7981 +#: commands/tablecmds.c:7994 #, c-format msgid "result of USING clause for column \"%s\" cannot be cast automatically to type %s" msgstr "il risultato della clausola USING per la colonna \"%s\" non può essere convertito automaticamente al tipo %s" -#: commands/tablecmds.c:7984 +#: commands/tablecmds.c:7997 #, c-format msgid "You might need to add an explicit cast." msgstr "Potresti dover aggiungere una conversione esplicita." -#: commands/tablecmds.c:7988 +#: commands/tablecmds.c:8001 #, c-format msgid "column \"%s\" cannot be cast automatically to type %s" msgstr "la colonna \"%s\" non può essere convertita automaticamente al tipo %s" #. translator: USING is SQL, don't translate it -#: commands/tablecmds.c:7991 +#: commands/tablecmds.c:8004 #, c-format msgid "You might need to specify \"USING %s::%s\"." msgstr "Potresti dover specificare \"USING %s::%s\"." -#: commands/tablecmds.c:8090 +#: commands/tablecmds.c:8103 #, c-format msgid "USING expression contains a whole-row table reference." msgstr "L'espressione USING contiene un riferimento alla riga completa della tabella." -#: commands/tablecmds.c:8101 +#: commands/tablecmds.c:8114 #, c-format msgid "type of inherited column \"%s\" must be changed in child tables too" msgstr "il tipo della colonna ereditata \"%s\" deve essere cambiato anche nelle tabelle figlie" -#: commands/tablecmds.c:8188 +#: commands/tablecmds.c:8201 #, c-format msgid "cannot alter type of column \"%s\" twice" msgstr "non è possibile cambiare il tipo della colonna \"%s\" due volte" -#: commands/tablecmds.c:8224 +#: commands/tablecmds.c:8237 #, c-format msgid "default for column \"%s\" cannot be cast automatically to type %s" msgstr "il valore predefinito della colonna \"%s\" non può essere convertito automaticamente al tipo %s" -#: commands/tablecmds.c:8350 +#: commands/tablecmds.c:8363 #, c-format msgid "cannot alter type of a column used by a view or rule" msgstr "non è possibile cambiare il tipo di una colonna usata in una vista o una regola" -#: commands/tablecmds.c:8351 commands/tablecmds.c:8370 -#: commands/tablecmds.c:8388 +#: commands/tablecmds.c:8364 commands/tablecmds.c:8383 +#: commands/tablecmds.c:8401 #, c-format msgid "%s depends on column \"%s\"" msgstr "%s dipende dalla colonna \"%s\"" -#: commands/tablecmds.c:8369 +#: commands/tablecmds.c:8382 #, c-format msgid "cannot alter type of a column used in a trigger definition" msgstr "non è possibile cambiare il tipo di una colonna usata nella definizione di un trigger" -#: commands/tablecmds.c:8387 +#: commands/tablecmds.c:8400 #, c-format msgid "cannot alter type of a column used in a policy definition" msgstr "non è possibile cambiare il tipo di una colonna usata nella definizione di una regola di sicurezza" -#: commands/tablecmds.c:9052 +#: commands/tablecmds.c:9065 #, c-format msgid "cannot change owner of index \"%s\"" msgstr "non è possibile cambiare il proprietario dell'indice \"%s\"" -#: commands/tablecmds.c:9054 +#: commands/tablecmds.c:9067 #, c-format msgid "Change the ownership of the index's table, instead." msgstr "Cambia il proprietario della tabella dell'indice invece." -#: commands/tablecmds.c:9070 +#: commands/tablecmds.c:9083 #, c-format msgid "cannot change owner of sequence \"%s\"" msgstr "non è possibile cambiare il proprietario della sequenza \"%s\"" -#: commands/tablecmds.c:9072 commands/tablecmds.c:11544 +#: commands/tablecmds.c:9085 commands/tablecmds.c:11557 #, c-format msgid "Sequence \"%s\" is linked to table \"%s\"." msgstr "La sequenza \"%s\" è collegata alla tabella \"%s\"." -#: commands/tablecmds.c:9084 commands/tablecmds.c:12191 +#: commands/tablecmds.c:9097 commands/tablecmds.c:12204 #, c-format msgid "Use ALTER TYPE instead." msgstr "È possibile usare ALTER TYPE invece." -#: commands/tablecmds.c:9093 +#: commands/tablecmds.c:9106 #, c-format msgid "\"%s\" is not a table, view, sequence, or foreign table" msgstr "\"%s\" non è una tabella, una vista, una sequenza né una tabella esterna" -#: commands/tablecmds.c:9436 +#: commands/tablecmds.c:9449 #, c-format msgid "cannot have multiple SET TABLESPACE subcommands" msgstr "non è possibile avere più di un sottocomando SET TABLESPACE" -#: commands/tablecmds.c:9509 +#: commands/tablecmds.c:9522 #, c-format msgid "\"%s\" is not a table, view, materialized view, index, or TOAST table" msgstr "\"%s\" non è una tabella, una vista, una vista materializzata né una tabella TOAST" -#: commands/tablecmds.c:9542 commands/view.c:498 +#: commands/tablecmds.c:9555 commands/view.c:498 #, c-format msgid "WITH CHECK OPTION is supported only on automatically updatable views" msgstr "WITH CHECK OPTION è supportato solo su viste aggiornabili automaticamente" -#: commands/tablecmds.c:9688 +#: commands/tablecmds.c:9701 #, c-format msgid "cannot move system relation \"%s\"" msgstr "non è possibile spostare la relazione \"%s\"" -#: commands/tablecmds.c:9704 +#: commands/tablecmds.c:9717 #, c-format msgid "cannot move temporary tables of other sessions" msgstr "non è possibile spostare tabelle temporanee di altre sessioni" -#: commands/tablecmds.c:9841 +#: commands/tablecmds.c:9854 #, c-format msgid "only tables, indexes, and materialized views exist in tablespaces" msgstr "solo tabelle, indici e viste materializzate esistono nei tablespace" -#: commands/tablecmds.c:9853 +#: commands/tablecmds.c:9866 #, c-format msgid "cannot move relations in to or out of pg_global tablespace" msgstr "non è possibile spostare relazioni dentro o fuori il tablespace pg_global" -#: commands/tablecmds.c:9944 +#: commands/tablecmds.c:9957 #, c-format msgid "aborting because lock on relation \"%s.%s\" is not available" msgstr "interruzione perché non c'è un lock disponibile sulla relazione \"%s.%s\"" -#: commands/tablecmds.c:9960 +#: commands/tablecmds.c:9973 #, c-format msgid "no matching relations in tablespace \"%s\" found" msgstr "nessuna relazione corrispondente trovata nel tablespace \"%s\"" -#: commands/tablecmds.c:10034 storage/buffer/bufmgr.c:915 +#: commands/tablecmds.c:10047 storage/buffer/bufmgr.c:915 #, c-format msgid "invalid page in block %u of relation %s" msgstr "pagina non valida nel blocco %u della relazione %s" -#: commands/tablecmds.c:10116 +#: commands/tablecmds.c:10129 #, c-format msgid "cannot change inheritance of typed table" msgstr "non è possibile cambiare ereditarietà di tabelle con tipo" -#: commands/tablecmds.c:10166 +#: commands/tablecmds.c:10179 #, c-format msgid "cannot inherit to temporary relation of another session" msgstr "non è possibile ereditare tabelle temporanee di un'altra sessione" -#: commands/tablecmds.c:10220 +#: commands/tablecmds.c:10233 #, c-format msgid "circular inheritance not allowed" msgstr "l'ereditarietà circolare non è consentita" -#: commands/tablecmds.c:10221 +#: commands/tablecmds.c:10234 #, c-format msgid "\"%s\" is already a child of \"%s\"." msgstr "\"%s\" è già figlia di \"%s\"." -#: commands/tablecmds.c:10229 +#: commands/tablecmds.c:10242 #, c-format msgid "table \"%s\" without OIDs cannot inherit from table \"%s\" with OIDs" msgstr "la tabella \"%s\" senza OID non può ereditare dalla tabella \"%s\" con OID" -#: commands/tablecmds.c:10370 +#: commands/tablecmds.c:10383 #, c-format msgid "column \"%s\" in child table must be marked NOT NULL" msgstr "la colonna \"%s\" nella tabella figlia dev'essere marcata NOT NULL" -#: commands/tablecmds.c:10386 commands/tablecmds.c:10419 +#: commands/tablecmds.c:10399 commands/tablecmds.c:10432 #, c-format msgid "child table is missing column \"%s\"" msgstr "la tabella figlia non ha la colonna \"%s\"" -#: commands/tablecmds.c:10502 +#: commands/tablecmds.c:10515 #, c-format msgid "child table \"%s\" has different definition for check constraint \"%s\"" msgstr "la tabella figlia \"%s\" ha una definizione diversa del vincolo di controllo \"%s\"" -#: commands/tablecmds.c:10510 +#: commands/tablecmds.c:10523 #, c-format msgid "constraint \"%s\" conflicts with non-inherited constraint on child table \"%s\"" msgstr "il vincolo \"%s\" è in conflitto con un vincolo non ereditato nella tabella figlia \"%s\"" -#: commands/tablecmds.c:10521 +#: commands/tablecmds.c:10534 #, c-format msgid "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\"" msgstr "il vincolo \"%s\" è in conflitto con un vincolo non valido nella tabella figlia \"%s\"" -#: commands/tablecmds.c:10545 +#: commands/tablecmds.c:10558 #, c-format msgid "child table is missing constraint \"%s\"" msgstr "la tabella figlia non ha il vincolo \"%s\"" -#: commands/tablecmds.c:10629 +#: commands/tablecmds.c:10642 #, c-format msgid "relation \"%s\" is not a parent of relation \"%s\"" msgstr "la relazione \"%s\" non è genitore della relazione \"%s\"" -#: commands/tablecmds.c:10863 +#: commands/tablecmds.c:10876 #, c-format msgid "typed tables cannot inherit" msgstr "le tabelle con tipo non possono essere ereditate" -#: commands/tablecmds.c:10894 +#: commands/tablecmds.c:10907 #, c-format msgid "table is missing column \"%s\"" msgstr "la tabella non ha la colonna \"%s\"" -#: commands/tablecmds.c:10904 +#: commands/tablecmds.c:10917 #, c-format msgid "table has column \"%s\" where type requires \"%s\"" msgstr "la tabella ha la colonna \"%s\" laddove il tipo richiede \"%s\"" -#: commands/tablecmds.c:10913 +#: commands/tablecmds.c:10926 #, c-format msgid "table \"%s\" has different type for column \"%s\"" msgstr "la tabella \"%s\" ha tipo diverso per la colonna \"%s\"" -#: commands/tablecmds.c:10926 +#: commands/tablecmds.c:10939 #, c-format msgid "table has extra column \"%s\"" msgstr "la tabella ha la colonna \"%s\" in eccesso" -#: commands/tablecmds.c:10978 +#: commands/tablecmds.c:10991 #, c-format msgid "\"%s\" is not a typed table" msgstr "\"%s\" non è una tabella con tipo" -#: commands/tablecmds.c:11162 +#: commands/tablecmds.c:11175 #, c-format msgid "cannot use non-unique index \"%s\" as replica identity" msgstr "non è possibile usare l'indice non univoco \"%s\" come identità di replica" -#: commands/tablecmds.c:11168 +#: commands/tablecmds.c:11181 #, c-format msgid "cannot use non-immediate index \"%s\" as replica identity" msgstr "non è possibile usare l'indice non immediato \"%s\" come identità di replica" -#: commands/tablecmds.c:11174 +#: commands/tablecmds.c:11187 #, c-format msgid "cannot use expression index \"%s\" as replica identity" msgstr "non è possibile usare l'indice su espressione \"%s\" come identità di replica" -#: commands/tablecmds.c:11180 +#: commands/tablecmds.c:11193 #, c-format msgid "cannot use partial index \"%s\" as replica identity" msgstr "non è possibile usare l'indice parziale \"%s\" come identità di replica" -#: commands/tablecmds.c:11186 +#: commands/tablecmds.c:11199 #, c-format msgid "cannot use invalid index \"%s\" as replica identity" msgstr "non è possibile usare l'indice non valido \"%s\" come identità di replica" -#: commands/tablecmds.c:11207 +#: commands/tablecmds.c:11220 #, c-format msgid "index \"%s\" cannot be used as replica identity because column %d is a system column" msgstr "l'indice \"%s\" non può essere usato come identità di replica perché la colonna %d è una colonna di sistema" -#: commands/tablecmds.c:11214 +#: commands/tablecmds.c:11227 #, c-format msgid "index \"%s\" cannot be used as replica identity because column \"%s\" is nullable" msgstr "l'indice \"%s\" non può essere usato come identità di replica perché la colonna \"%s\" può essere NULL" -#: commands/tablecmds.c:11417 +#: commands/tablecmds.c:11430 #, c-format msgid "cannot change logged status of table \"%s\" because it is temporary" msgstr "non è possibile cambiare lo stato di log della tabella \"%s\" perché è temporanea" -#: commands/tablecmds.c:11476 +#: commands/tablecmds.c:11489 #, c-format msgid "could not change table \"%s\" to logged because it references unlogged table \"%s\"" msgstr "non è possibile cambiare lo stato della tabella \"%s\" a loggata perché referenzia la tabella non loggata \"%s\"" -#: commands/tablecmds.c:11486 +#: commands/tablecmds.c:11499 #, c-format msgid "could not change table \"%s\" to unlogged because it references logged table \"%s\"" msgstr "non è possibile cambiare lo stato della tabella \"%s\" a non loggata perché referenzia la tabella loggata \"%s\"" -#: commands/tablecmds.c:11543 +#: commands/tablecmds.c:11556 #, c-format msgid "cannot move an owned sequence into another schema" msgstr "non è possibile spostare una sequenza con proprietario in uno schema diverso" -#: commands/tablecmds.c:11648 +#: commands/tablecmds.c:11661 #, c-format msgid "relation \"%s\" already exists in schema \"%s\"" msgstr "la relazione \"%s\" esiste già nello schema \"%s\"" -#: commands/tablecmds.c:12175 +#: commands/tablecmds.c:12188 #, c-format msgid "\"%s\" is not a composite type" msgstr "\"%s\" non è un tipo composito" -#: commands/tablecmds.c:12205 +#: commands/tablecmds.c:12218 #, c-format msgid "\"%s\" is not a table, view, materialized view, sequence, or foreign table" msgstr "\"%s\" non è una tabella, una vista, una vista materializzata, una sequenza né una tabella esterna" @@ -8829,19 +8664,20 @@ msgid "Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows." msgstr "Considera l'utilizzo di un trigger AFTER invece di un trigger BEFORE per propagare i cambiamenti ad altre righe." -#: commands/trigger.c:2741 executor/execMain.c:2379 executor/nodeLockRows.c:216 -#: executor/nodeModifyTable.c:213 executor/nodeModifyTable.c:692 -#: executor/nodeModifyTable.c:985 executor/nodeModifyTable.c:1151 +#: commands/trigger.c:2741 executor/execMain.c:2378 +#: executor/nodeLockRows.c:216 executor/nodeModifyTable.c:213 +#: executor/nodeModifyTable.c:692 executor/nodeModifyTable.c:985 +#: executor/nodeModifyTable.c:1151 #, c-format msgid "could not serialize access due to concurrent update" msgstr "serializzazione dell'accesso fallita a causa di modifiche concorrenti" -#: commands/trigger.c:4575 +#: commands/trigger.c:4612 #, c-format msgid "constraint \"%s\" is not deferrable" msgstr "il vincolo \"%s\" non è deferibile" -#: commands/trigger.c:4598 +#: commands/trigger.c:4635 #, c-format msgid "constraint \"%s\" does not exist" msgstr "il vincolo \"%s\" non esiste" @@ -9086,7 +8922,7 @@ msgid "specifying constraint deferrability not supported for domains" msgstr "specificare la deferibilità dei vincoli non è ammesso per i domini" -#: commands/typecmds.c:1291 utils/cache/typcache.c:1630 +#: commands/typecmds.c:1291 utils/cache/typcache.c:1680 #, c-format msgid "%s is not an enum" msgstr "%s non è una enumerazione" @@ -9186,42 +9022,42 @@ msgid "column \"%s\" of table \"%s\" contains values that violate the new constraint" msgstr "la colonna \"%s\" della tabella \"%s\" contiene valori che violano il nuovo vincolo" -#: commands/typecmds.c:2971 commands/typecmds.c:3228 commands/typecmds.c:3417 +#: commands/typecmds.c:2986 commands/typecmds.c:3243 commands/typecmds.c:3432 #, c-format msgid "%s is not a domain" msgstr "%s non è un dominio" -#: commands/typecmds.c:3005 +#: commands/typecmds.c:3020 #, c-format msgid "constraint \"%s\" for domain \"%s\" already exists" msgstr "il vincolo \"%s\" del dominio \"%s\" esiste già" -#: commands/typecmds.c:3055 +#: commands/typecmds.c:3070 #, c-format msgid "cannot use table references in domain check constraint" msgstr "non è possibile usare riferimenti a tabelle nel vincolo di controllo del dominio" -#: commands/typecmds.c:3158 commands/typecmds.c:3240 commands/typecmds.c:3534 +#: commands/typecmds.c:3173 commands/typecmds.c:3255 commands/typecmds.c:3549 #, c-format msgid "%s is a table's row type" msgstr "%s è il tipo della riga di una tabella" -#: commands/typecmds.c:3160 commands/typecmds.c:3242 commands/typecmds.c:3536 +#: commands/typecmds.c:3175 commands/typecmds.c:3257 commands/typecmds.c:3551 #, c-format msgid "Use ALTER TABLE instead." msgstr "Usa ALTER TABLE invece." -#: commands/typecmds.c:3167 commands/typecmds.c:3249 commands/typecmds.c:3449 +#: commands/typecmds.c:3182 commands/typecmds.c:3264 commands/typecmds.c:3464 #, c-format msgid "cannot alter array type %s" msgstr "non è possibile modificare il tipo di array %s" -#: commands/typecmds.c:3169 commands/typecmds.c:3251 commands/typecmds.c:3451 +#: commands/typecmds.c:3184 commands/typecmds.c:3266 commands/typecmds.c:3466 #, c-format msgid "You can alter type %s, which will alter the array type as well." msgstr "puoi modificare il tipo %s, il che modificherà il tipo dell'array come conseguenza." -#: commands/typecmds.c:3519 +#: commands/typecmds.c:3534 #, c-format msgid "type \"%s\" already exists in schema \"%s\"" msgstr "il tipo \"%s\" esiste già nello schema \"%s\"" @@ -9252,7 +9088,7 @@ msgstr "permesso di creare il ruolo negato" #: commands/user.c:322 commands/user.c:1176 commands/user.c:1183 -#: utils/adt/acl.c:5279 utils/adt/acl.c:5285 gram.y:13619 gram.y:13654 +#: utils/adt/acl.c:5281 utils/adt/acl.c:5287 gram.y:13628 gram.y:13663 #, c-format msgid "role name \"%s\" is reserved" msgstr "il nome di ruolo \"%s\" è riservato" @@ -9304,8 +9140,8 @@ msgstr "non è possibile usare lo specificatore di ruolo speciale in DROP ROLE" #: commands/user.c:990 commands/user.c:1147 commands/variable.c:825 -#: commands/variable.c:897 utils/adt/acl.c:5121 utils/adt/acl.c:5173 -#: utils/adt/acl.c:5206 utils/adt/acl.c:5224 utils/init/miscinit.c:502 +#: commands/variable.c:897 utils/adt/acl.c:5123 utils/adt/acl.c:5175 +#: utils/adt/acl.c:5208 utils/adt/acl.c:5226 utils/init/miscinit.c:502 #, c-format msgid "role \"%s\" does not exist" msgstr "il ruolo \"%s\" non esiste" @@ -9495,61 +9331,66 @@ msgid "system usage: %s" msgstr "utilizzo di sistema: %s" -#: commands/vacuumlazy.c:853 +#: commands/vacuumlazy.c:852 #, c-format msgid "relation \"%s\" page %u is uninitialized --- fixing" msgstr "la relazione \"%s\" pagina %u non è inizializzata --- in correzione" -#: commands/vacuumlazy.c:1323 +#: commands/vacuumlazy.c:1322 #, c-format msgid "\"%s\": removed %.0f row versions in %u pages" msgstr "\"%s\": %.0f versioni di riga rimosse in %u pagine" -#: commands/vacuumlazy.c:1333 +#: commands/vacuumlazy.c:1332 #, c-format msgid "%.0f dead row versions cannot be removed yet.\n" msgstr "%.0f versioni di righe morte non possono essere ancora rimosse.\n" -#: commands/vacuumlazy.c:1335 +#: commands/vacuumlazy.c:1334 #, c-format msgid "There were %.0f unused item pointers.\n" msgstr "C'erano %.0f puntatori ad elementi non usati.\n" -#: commands/vacuumlazy.c:1337 +#: commands/vacuumlazy.c:1336 #, c-format msgid "Skipped %u page due to buffer pins.\n" msgid_plural "Skipped %u pages due to buffer pins.\n" msgstr[0] "%u pagina saltata a causa di blocchi dei buffer.\n" msgstr[1] "%u pagine saltate a causa di blocchi dei buffer.\n" -#: commands/vacuumlazy.c:1341 +#: commands/vacuumlazy.c:1340 #, c-format msgid "%u page is entirely empty.\n" msgid_plural "%u pages are entirely empty.\n" msgstr[0] "%u pagina è completamente vuota.\n" msgstr[1] "%u pagina sono completamente vuote.\n" -#: commands/vacuumlazy.c:1349 +#: commands/vacuumlazy.c:1344 +#, c-format +msgid "%s." +msgstr "%s." + +#: commands/vacuumlazy.c:1347 #, c-format msgid "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u out of %u pages" msgstr "\"%s\": trovate %.0f versioni di riga removibili, %.0f non removibili in %u pagine su %u" -#: commands/vacuumlazy.c:1418 +#: commands/vacuumlazy.c:1416 #, c-format msgid "\"%s\": removed %d row versions in %d pages" msgstr "\"%s\": %d versioni di riga rimosse in %d pagine" -#: commands/vacuumlazy.c:1607 +#: commands/vacuumlazy.c:1604 #, c-format msgid "scanned index \"%s\" to remove %d row versions" msgstr "effettuata la scansione dell'indice \"%s\" per rimuovere %d versioni di riga" -#: commands/vacuumlazy.c:1653 +#: commands/vacuumlazy.c:1650 #, c-format msgid "index \"%s\" now contains %.0f row versions in %u pages" msgstr "l'indice \"%s\" ora contiene %.0f versioni di riga in %u pagine" -#: commands/vacuumlazy.c:1657 +#: commands/vacuumlazy.c:1654 #, c-format msgid "" "%.0f index row versions were removed.\n" @@ -9560,17 +9401,17 @@ "%u pagine dell'indice sono state cancellate, %u sono attualmente riusabili.\n" "%s." -#: commands/vacuumlazy.c:1752 +#: commands/vacuumlazy.c:1749 #, c-format msgid "\"%s\": stopping truncate due to conflicting lock request" msgstr "\"%s\": truncate interrotto a causa di una richiesta di lock in conflitto" -#: commands/vacuumlazy.c:1817 +#: commands/vacuumlazy.c:1814 #, c-format msgid "\"%s\": truncated %u to %u pages" msgstr "\"%s\": %u pagine ridotte a %u" -#: commands/vacuumlazy.c:1873 +#: commands/vacuumlazy.c:1870 #, c-format msgid "\"%s\": suspending truncate due to conflicting lock request" msgstr "\"%s\": annullamento del troncamento a causa di richieste di lock in conflitto" @@ -9635,7 +9476,7 @@ msgid "SET TRANSACTION ISOLATION LEVEL must not be called in a subtransaction" msgstr "SET TRANSACTION ISOLATION LEVEL non può essere invocato in una sotto-transazione" -#: commands/variable.c:574 storage/lmgr/predicate.c:1587 +#: commands/variable.c:574 storage/lmgr/predicate.c:1602 #, c-format msgid "cannot use serializable mode in a hot standby" msgstr "non è possibile usare la modalità SERIALIZABLE in un hot standby" @@ -9667,8 +9508,8 @@ #: commands/variable.c:779 #, c-format -msgid "cannot change client_encoding in a parallel worker" -msgstr "non è possibile cambiare client_encoding in un worker parallelo" +msgid "cannot change client_encoding during a parallel operation" +msgstr "non è possibile cambiare client_encoding durante un'operazione parallela" #: commands/variable.c:915 #, c-format @@ -9820,32 +9661,32 @@ msgid "cannot change TOAST relation \"%s\"" msgstr "non è possibile modificare la relazione TOAST \"%s\"" -#: executor/execMain.c:1051 rewrite/rewriteHandler.c:2648 +#: executor/execMain.c:1051 rewrite/rewriteHandler.c:2679 #, c-format msgid "cannot insert into view \"%s\"" msgstr "non è possibile inserire nella vista \"%s\"" -#: executor/execMain.c:1053 rewrite/rewriteHandler.c:2651 +#: executor/execMain.c:1053 rewrite/rewriteHandler.c:2682 #, c-format msgid "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or an unconditional ON INSERT DO INSTEAD rule." msgstr "Per consentire inserimenti nella vista occorre fornire un trigger INSTEAD OF INSERT oppure una regola ON INSERT DO INSTEAD senza condizioni." -#: executor/execMain.c:1059 rewrite/rewriteHandler.c:2656 +#: executor/execMain.c:1059 rewrite/rewriteHandler.c:2687 #, c-format msgid "cannot update view \"%s\"" msgstr "non è possibile modificare la vista \"%s\"" -#: executor/execMain.c:1061 rewrite/rewriteHandler.c:2659 +#: executor/execMain.c:1061 rewrite/rewriteHandler.c:2690 #, c-format msgid "To enable updating the view, provide an INSTEAD OF UPDATE trigger or an unconditional ON UPDATE DO INSTEAD rule." msgstr "Per consentire modifiche alla vista occorre fornire un trigger INSTEAD OF UPDATE oppure una regola ON UPDATE DO INSTEAD senza condizioni." -#: executor/execMain.c:1067 rewrite/rewriteHandler.c:2664 +#: executor/execMain.c:1067 rewrite/rewriteHandler.c:2695 #, c-format msgid "cannot delete from view \"%s\"" msgstr "non è possibile cancellare dalla vista \"%s\"" -#: executor/execMain.c:1069 rewrite/rewriteHandler.c:2667 +#: executor/execMain.c:1069 rewrite/rewriteHandler.c:2698 #, c-format msgid "To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an unconditional ON DELETE DO INSTEAD rule." msgstr "Per consentire eliminazioni dalla vista occorre fornire un trigger INSTEAD OF DELETE oppure una regola ON DELETE DO INSTEAD senza condizioni." @@ -9910,7 +9751,7 @@ msgid "cannot lock rows in materialized view \"%s\"" msgstr "non è possibile bloccare righe nella vista materializzata \"%s\"" -#: executor/execMain.c:1192 executor/execMain.c:2613 +#: executor/execMain.c:1192 executor/execMain.c:2611 #: executor/nodeLockRows.c:132 #, c-format msgid "cannot lock rows in foreign table \"%s\"" @@ -10152,7 +9993,7 @@ msgstr "%s non è consentito in una funzione SQL" #. translator: %s is a SQL statement name -#: executor/functions.c:524 executor/spi.c:1364 executor/spi.c:2154 +#: executor/functions.c:524 executor/spi.c:1370 executor/spi.c:2160 #, c-format msgid "%s is not allowed in a non-volatile function" msgstr "%s non è consentito in una funzione non volatile" @@ -10214,17 +10055,17 @@ msgid "return type %s is not supported for SQL functions" msgstr "il tipo di risultato %s non è supportato per le funzioni SQL" -#: executor/nodeAgg.c:3038 +#: executor/nodeAgg.c:3041 #, c-format msgid "combine function for aggregate %u must be declared as STRICT" msgstr "la funzione di combinazione per l'aggregato %u deve essere dichiarata STRICT" -#: executor/nodeAgg.c:3083 executor/nodeWindowAgg.c:2318 +#: executor/nodeAgg.c:3086 executor/nodeWindowAgg.c:2318 #, c-format msgid "aggregate %u needs to have compatible input type and transition type" msgstr "l'aggregato %u deve avere tipi di input e transizione compatibili" -#: executor/nodeAgg.c:3149 parser/parse_agg.c:612 parser/parse_agg.c:642 +#: executor/nodeAgg.c:3152 parser/parse_agg.c:612 parser/parse_agg.c:642 #, c-format msgid "aggregate function calls cannot be nested" msgstr "le chiamate a funzioni di aggregazione non possono essere annidate" @@ -10340,43 +10181,43 @@ msgid "frame ending offset must not be negative" msgstr "l'offset di fine della finestra non può essere negativo" -#: executor/spi.c:210 +#: executor/spi.c:211 #, c-format msgid "transaction left non-empty SPI stack" msgstr "la transazione ha lasciato lo stack SPI non vuoto" -#: executor/spi.c:211 executor/spi.c:275 +#: executor/spi.c:212 executor/spi.c:276 #, c-format msgid "Check for missing \"SPI_finish\" calls." msgstr "Verifica che non ci siano chiamate \"SPI_finish\" mancanti." -#: executor/spi.c:274 +#: executor/spi.c:275 #, c-format msgid "subtransaction left non-empty SPI stack" msgstr "la sottotransazione ha lasciato lo stack SPI non vuoto" -#: executor/spi.c:1225 +#: executor/spi.c:1231 #, c-format msgid "cannot open multi-query plan as cursor" msgstr "non è possibile aprire un piano multi-query come cursore" #. translator: %s is name of a SQL command, eg INSERT -#: executor/spi.c:1230 +#: executor/spi.c:1236 #, c-format msgid "cannot open %s query as cursor" msgstr "non è possibile aprire una query %s come cursore" -#: executor/spi.c:1338 +#: executor/spi.c:1344 #, c-format msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported" msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE non è supportato" -#: executor/spi.c:1339 parser/analyze.c:2360 +#: executor/spi.c:1345 parser/analyze.c:2360 #, c-format msgid "Scrollable cursors must be READ ONLY." msgstr "Un cursore scorribile dev'essere READ ONLY." -#: executor/spi.c:2459 +#: executor/spi.c:2465 #, c-format msgid "SQL statement \"%s\"" msgstr "istruzione SQL \"%s\"" @@ -10554,7 +10395,7 @@ msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\"" msgstr "nessuna voce in pg_hba.conf per l'host \"%s\", utente \"%s\", database \"%s\"" -#: libpq/auth.c:536 libpq/hba.c:1178 +#: libpq/auth.c:536 libpq/hba.c:1168 #, c-format msgid "MD5 authentication is not supported when \"db_user_namespace\" is enabled" msgstr "l'autenticazione MD5 non è supportata quando \"db_user_namespace\" è abilitato" @@ -10569,357 +10410,357 @@ msgid "invalid password packet size" msgstr "dimensione del pacchetto password non valida" -#: libpq/auth.c:828 +#: libpq/auth.c:712 +#, c-format +msgid "empty password returned by client" +msgstr "il client ha restituito una password vuota" + +#: libpq/auth.c:842 #, c-format msgid "GSSAPI is not supported in protocol version 2" msgstr "GSSAPI non è supportato con la versione 2 del protocollo" -#: libpq/auth.c:888 +#: libpq/auth.c:902 #, c-format msgid "expected GSS response, got message type %d" msgstr "era attesa una risposta GSS, ricevuto messaggio di tipo %d" -#: libpq/auth.c:949 +#: libpq/auth.c:963 msgid "accepting GSS security context failed" msgstr "contesto di sicurezza accettazione GSS fallito" -#: libpq/auth.c:975 +#: libpq/auth.c:989 msgid "retrieving GSS user name failed" msgstr "la richiesta del GSS user name è fallita" -#: libpq/auth.c:1094 +#: libpq/auth.c:1108 #, c-format msgid "SSPI is not supported in protocol version 2" msgstr "SSPI non è supportato con la versione 2 del protocollo" -#: libpq/auth.c:1109 +#: libpq/auth.c:1123 msgid "could not acquire SSPI credentials" msgstr "non è stato possibile ottenere le credenziali SSPI" -#: libpq/auth.c:1127 +#: libpq/auth.c:1141 #, c-format msgid "expected SSPI response, got message type %d" msgstr "era attesa una risposta SSPI, ricevuto messaggio di tipo %d" -#: libpq/auth.c:1199 +#: libpq/auth.c:1213 msgid "could not accept SSPI security context" msgstr "non è stato possibile accettare il contesto di sicurezza SSPI" -#: libpq/auth.c:1261 +#: libpq/auth.c:1275 msgid "could not get token from SSPI security context" msgstr "non è stato possibile ottenere il token dal contesto di sicurezza SSPI" -#: libpq/auth.c:1380 libpq/auth.c:1399 +#: libpq/auth.c:1394 libpq/auth.c:1413 #, c-format msgid "could not translate name" msgstr "non è stato possibile tradurre il nome" -#: libpq/auth.c:1412 +#: libpq/auth.c:1426 #, c-format msgid "realm name too long" msgstr "nome di realm troppo lungo" -#: libpq/auth.c:1427 +#: libpq/auth.c:1441 #, c-format msgid "translated account name too long" msgstr "nome di account tradotto troppo lungo" -#: libpq/auth.c:1613 +#: libpq/auth.c:1627 #, c-format msgid "could not create socket for Ident connection: %m" msgstr "creazione del socket per la connessione Ident fallita: %m" -#: libpq/auth.c:1628 +#: libpq/auth.c:1642 #, c-format msgid "could not bind to local address \"%s\": %m" msgstr "bind sull'indirizzo locale \"%s\" fallito: %m" -#: libpq/auth.c:1640 +#: libpq/auth.c:1654 #, c-format msgid "could not connect to Ident server at address \"%s\", port %s: %m" msgstr "connessione al server Ident all'indirizzo \"%s\", porta %s fallita: %m" -#: libpq/auth.c:1662 +#: libpq/auth.c:1676 #, c-format msgid "could not send query to Ident server at address \"%s\", port %s: %m" msgstr "invio della query al server Ident all'indirizzo \"%s\", porta %s fallito: %m" -#: libpq/auth.c:1679 +#: libpq/auth.c:1693 #, c-format msgid "could not receive response from Ident server at address \"%s\", port %s: %m" msgstr "ricezione della risposta dal server Ident all'indirizzo \"%s\", porta %s fallita: %m" -#: libpq/auth.c:1689 +#: libpq/auth.c:1703 #, c-format msgid "invalidly formatted response from Ident server: \"%s\"" msgstr "risposta dal server Ident formattata in maniera non corretta: \"%s\"" -#: libpq/auth.c:1729 +#: libpq/auth.c:1743 #, c-format msgid "peer authentication is not supported on this platform" msgstr "il metodo di autenticazione peer non è supportato su questa piattaforma" -#: libpq/auth.c:1733 +#: libpq/auth.c:1747 #, c-format msgid "could not get peer credentials: %m" msgstr "non è stato possibile recuperare le credenziali del peer: %m" -#: libpq/auth.c:1742 +#: libpq/auth.c:1756 #, c-format msgid "could not look up local user ID %ld: %s" msgstr "ricerca dell'ID utente locale %ld fallita: %s" -#: libpq/auth.c:1826 libpq/auth.c:2152 libpq/auth.c:2515 -#, c-format -msgid "empty password returned by client" -msgstr "il client ha restituito una password vuota" - -#: libpq/auth.c:1836 +#: libpq/auth.c:1844 #, c-format msgid "error from underlying PAM layer: %s" msgstr "errore dal livello PAM sottostante: %s" -#: libpq/auth.c:1917 +#: libpq/auth.c:1925 #, c-format msgid "could not create PAM authenticator: %s" msgstr "creazione dell'autenticatore PAM fallita: %s" -#: libpq/auth.c:1928 +#: libpq/auth.c:1936 #, c-format msgid "pam_set_item(PAM_USER) failed: %s" msgstr "pam_set_item(PAM_USER) fallita: %s" -#: libpq/auth.c:1939 +#: libpq/auth.c:1947 #, c-format msgid "pam_set_item(PAM_RHOST) failed: %s" msgstr "pam_set_item(PAM_RHOST) fallita: %s" -#: libpq/auth.c:1950 +#: libpq/auth.c:1958 #, c-format msgid "pam_set_item(PAM_CONV) failed: %s" msgstr "pam_set_item(PAM_CONV) fallita: %s" -#: libpq/auth.c:1961 +#: libpq/auth.c:1969 #, c-format msgid "pam_authenticate failed: %s" msgstr "pam_authenticate fallita: %s" -#: libpq/auth.c:1972 +#: libpq/auth.c:1980 #, c-format msgid "pam_acct_mgmt failed: %s" msgstr "pam_acct_mgmt fallita: %s" -#: libpq/auth.c:1983 +#: libpq/auth.c:1991 #, c-format msgid "could not release PAM authenticator: %s" msgstr "rilascio dell'autenticatore PAM fallito: %s" -#: libpq/auth.c:2048 +#: libpq/auth.c:2056 #, c-format msgid "could not initialize LDAP: %m" msgstr "inizializzazione LDAP fallita: %m" -#: libpq/auth.c:2051 +#: libpq/auth.c:2059 #, c-format msgid "could not initialize LDAP: error code %d" msgstr "inizializzazione LDAP fallita: codice errore %d" -#: libpq/auth.c:2061 +#: libpq/auth.c:2069 #, c-format msgid "could not set LDAP protocol version: %s" msgstr "impostazione della versione del protocollo LDAP fallita: %s" -#: libpq/auth.c:2090 +#: libpq/auth.c:2098 #, c-format msgid "could not load wldap32.dll" msgstr "caricamento wldap32.dll fallito" -#: libpq/auth.c:2098 +#: libpq/auth.c:2106 #, c-format msgid "could not load function _ldap_start_tls_sA in wldap32.dll" msgstr "caricamento della funzione _ldap_start_tls_sA in wldap32.dll fallito" -#: libpq/auth.c:2099 +#: libpq/auth.c:2107 #, c-format msgid "LDAP over SSL is not supported on this platform." msgstr "LDAP su SSL non è supportato su questa piattaforma." -#: libpq/auth.c:2114 +#: libpq/auth.c:2122 #, c-format msgid "could not start LDAP TLS session: %s" msgstr "avvio della sessione TLS LDAP fallito: %s" -#: libpq/auth.c:2136 +#: libpq/auth.c:2144 #, c-format msgid "LDAP server not specified" msgstr "server LDAP non specificato" -#: libpq/auth.c:2189 +#: libpq/auth.c:2192 #, c-format msgid "invalid character in user name for LDAP authentication" msgstr "carattere non valido nel nome utente per l'autenticazione LDAP" -#: libpq/auth.c:2204 +#: libpq/auth.c:2207 #, c-format msgid "could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": %s" msgstr "bind iniziale LDAP fallito per ldapbinddn \"%s\" sul server \"%s\": %s" -#: libpq/auth.c:2228 +#: libpq/auth.c:2231 #, c-format msgid "could not search LDAP for filter \"%s\" on server \"%s\": %s" msgstr "ricerca in LDAP del filtro \"%s\" sul server \"%s\" fallita: %s" -#: libpq/auth.c:2239 +#: libpq/auth.c:2242 #, c-format msgid "LDAP user \"%s\" does not exist" msgstr "l'utente LDAP \"%s\" non esiste" -#: libpq/auth.c:2240 +#: libpq/auth.c:2243 #, c-format msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries." msgstr "La ricerca LDAP del filtro \"%s\" sul server \"%s\" non ha restituito risultati." -#: libpq/auth.c:2244 +#: libpq/auth.c:2247 #, c-format msgid "LDAP user \"%s\" is not unique" msgstr "L'utente LDAP \"%s\" non è unico" -#: libpq/auth.c:2245 +#: libpq/auth.c:2248 #, c-format msgid "LDAP search for filter \"%s\" on server \"%s\" returned %d entry." msgid_plural "LDAP search for filter \"%s\" on server \"%s\" returned %d entries." msgstr[0] "La ricerca LDAP del filtro \"%s\" sul server \"%s\" ha restituito %d risultato." msgstr[1] "La ricerca LDAP del filtro \"%s\" sul server \"%s\" ha restituito %d risultati." -#: libpq/auth.c:2263 +#: libpq/auth.c:2266 #, c-format msgid "could not get dn for the first entry matching \"%s\" on server \"%s\": %s" msgstr "dn per il primo risultato di \"%s\" non trovato sul server \"%s\": %s" -#: libpq/auth.c:2283 +#: libpq/auth.c:2286 #, c-format msgid "could not unbind after searching for user \"%s\" on server \"%s\": %s" msgstr "unbind fallito dopo aver cercato l'utente \"%s\" sul server \"%s\": %s" -#: libpq/auth.c:2313 +#: libpq/auth.c:2316 #, c-format msgid "LDAP login failed for user \"%s\" on server \"%s\": %s" msgstr "login LDAP fallito per l'utente \"%s\" sul server \"%s\": %s" -#: libpq/auth.c:2341 +#: libpq/auth.c:2344 #, c-format msgid "certificate authentication failed for user \"%s\": client certificate contains no user name" msgstr "autenticazione con certificato fallita per l'utente \"%s\": il certificato del client non contiene alcun nome utente" -#: libpq/auth.c:2471 +#: libpq/auth.c:2474 #, c-format msgid "RADIUS server not specified" msgstr "server RADIUS non specificato" -#: libpq/auth.c:2478 +#: libpq/auth.c:2481 #, c-format msgid "RADIUS secret not specified" msgstr "segreto RADIUS non specificato" -#: libpq/auth.c:2494 libpq/hba.c:1632 +#: libpq/auth.c:2497 libpq/hba.c:1622 #, c-format msgid "could not translate RADIUS server name \"%s\" to address: %s" msgstr "conversione del nome del server RADIUS \"%s\" in indirizzo fallita: %s" -#: libpq/auth.c:2522 +#: libpq/auth.c:2518 #, c-format msgid "RADIUS authentication does not support passwords longer than %d characters" msgstr "l'autenticazione RADIUS non supporta password più lunghe di %d caratteri" -#: libpq/auth.c:2534 +#: libpq/auth.c:2530 #, c-format msgid "could not generate random encryption vector" msgstr "generazione del vettore di criptaggio casuale fallita" -#: libpq/auth.c:2572 +#: libpq/auth.c:2568 #, c-format msgid "could not perform MD5 encryption of password" msgstr "criptaggio MD5 della password fallito" -#: libpq/auth.c:2597 +#: libpq/auth.c:2593 #, c-format msgid "could not create RADIUS socket: %m" msgstr "creazione del socket RADIUS fallita: %m" -#: libpq/auth.c:2618 +#: libpq/auth.c:2614 #, c-format msgid "could not bind local RADIUS socket: %m" msgstr "bind del socket RADIUS fallito: %m" -#: libpq/auth.c:2628 +#: libpq/auth.c:2624 #, c-format msgid "could not send RADIUS packet: %m" msgstr "invio del pacchetto RADIUS fallito: %m" -#: libpq/auth.c:2661 libpq/auth.c:2686 +#: libpq/auth.c:2657 libpq/auth.c:2682 #, c-format msgid "timeout waiting for RADIUS response" msgstr "tempo scaduto in attesa della risposta RADIUS" -#: libpq/auth.c:2679 +#: libpq/auth.c:2675 #, c-format msgid "could not check status on RADIUS socket: %m" msgstr "controllo dello stato sul socket RADIUS fallito: %m" -#: libpq/auth.c:2708 +#: libpq/auth.c:2704 #, c-format msgid "could not read RADIUS response: %m" msgstr "lettura della risposta RADIUS fallita: %m" -#: libpq/auth.c:2720 libpq/auth.c:2724 +#: libpq/auth.c:2716 libpq/auth.c:2720 #, c-format msgid "RADIUS response was sent from incorrect port: %d" msgstr "la risposta RADIUS è stata inviata da una porta sbagliata: %d" -#: libpq/auth.c:2733 +#: libpq/auth.c:2729 #, c-format msgid "RADIUS response too short: %d" msgstr "risposta RADIUS troppo breve: %d" -#: libpq/auth.c:2740 +#: libpq/auth.c:2736 #, c-format msgid "RADIUS response has corrupt length: %d (actual length %d)" msgstr "la risposta RADIUS ha una lunghezza corrotta: %d (lunghezza reale %d)" -#: libpq/auth.c:2748 +#: libpq/auth.c:2744 #, c-format msgid "RADIUS response is to a different request: %d (should be %d)" msgstr "la risposta RADIUS è a una richiesta differente: %d (dovrebbe essere %d)" -#: libpq/auth.c:2773 +#: libpq/auth.c:2769 #, c-format msgid "could not perform MD5 encryption of received packet" msgstr "criptaggio MD5 dei pacchetti ricevuti fallito" -#: libpq/auth.c:2782 +#: libpq/auth.c:2778 #, c-format msgid "RADIUS response has incorrect MD5 signature" msgstr "la firma MD5 della risposta RADIUS non è corretta" -#: libpq/auth.c:2799 +#: libpq/auth.c:2795 #, c-format msgid "RADIUS response has invalid code (%d) for user \"%s\"" msgstr "il codice della risposta RADIUS (%d) per l'utente \"%s\" non è corretto" #: libpq/be-fsstubs.c:132 libpq/be-fsstubs.c:163 libpq/be-fsstubs.c:197 #: libpq/be-fsstubs.c:237 libpq/be-fsstubs.c:262 libpq/be-fsstubs.c:310 -#: libpq/be-fsstubs.c:333 libpq/be-fsstubs.c:581 +#: libpq/be-fsstubs.c:333 libpq/be-fsstubs.c:590 #, c-format msgid "invalid large-object descriptor: %d" msgstr "descrittore di large object non valido: %d" -#: libpq/be-fsstubs.c:178 libpq/be-fsstubs.c:216 libpq/be-fsstubs.c:600 -#: libpq/be-fsstubs.c:788 +#: libpq/be-fsstubs.c:178 libpq/be-fsstubs.c:216 libpq/be-fsstubs.c:609 +#: libpq/be-fsstubs.c:797 libpq/be-fsstubs.c:917 #, c-format msgid "permission denied for large object %u" msgstr "permesso per il large object %u negato" -#: libpq/be-fsstubs.c:203 libpq/be-fsstubs.c:587 +#: libpq/be-fsstubs.c:203 libpq/be-fsstubs.c:596 #, c-format msgid "large object descriptor %d was not opened for writing" msgstr "il descrittore per il large object %d non era aperto in scrittura" @@ -10964,22 +10805,22 @@ msgid "Anyone can use the client-side lo_export() provided by libpq." msgstr "Chiunque può invece usare lo_export() lato client fornito da libpq." -#: libpq/be-fsstubs.c:547 +#: libpq/be-fsstubs.c:556 #, c-format msgid "could not create server file \"%s\": %m" msgstr "creazione del file del server \"%s\" fallita: %m" -#: libpq/be-fsstubs.c:559 +#: libpq/be-fsstubs.c:568 #, c-format msgid "could not write server file \"%s\": %m" msgstr "scrittura del file del server \"%s\" fallita: %m" -#: libpq/be-fsstubs.c:813 +#: libpq/be-fsstubs.c:822 #, c-format msgid "large object read request is too large" msgstr "la richiesta di lettura per il large object è troppo grande" -#: libpq/be-fsstubs.c:855 utils/adt/genfile.c:211 utils/adt/genfile.c:252 +#: libpq/be-fsstubs.c:864 utils/adt/genfile.c:211 utils/adt/genfile.c:252 #, c-format msgid "requested length cannot be negative" msgstr "la lunghezza richiesta non può essere negativa" @@ -11029,87 +10870,87 @@ msgid "check of private key failed: %s" msgstr "controllo della chiave privata fallito: %s" -#: libpq/be-secure-openssl.c:292 +#: libpq/be-secure-openssl.c:300 #, c-format msgid "could not load root certificate file \"%s\": %s" msgstr "caricamento del file del certificato radice \"%s\" fallito: %s" -#: libpq/be-secure-openssl.c:316 +#: libpq/be-secure-openssl.c:324 #, c-format msgid "SSL certificate revocation list file \"%s\" ignored" msgstr "il file di lista di revoche di certificati SSL \"%s\" è stato ignorato" -#: libpq/be-secure-openssl.c:318 +#: libpq/be-secure-openssl.c:326 #, c-format msgid "SSL library does not support certificate revocation lists." msgstr "La libreria SSL non supporta le liste di revoca dei certificati." -#: libpq/be-secure-openssl.c:323 +#: libpq/be-secure-openssl.c:331 #, c-format msgid "could not load SSL certificate revocation list file \"%s\": %s" msgstr "caricamento del file di lista di revoche di certificati SSL \"%s\" fallito: %s" -#: libpq/be-secure-openssl.c:370 +#: libpq/be-secure-openssl.c:378 #, c-format msgid "could not initialize SSL connection: %s" msgstr "inizializzazione della connessione SSL fallita: %s" -#: libpq/be-secure-openssl.c:378 +#: libpq/be-secure-openssl.c:386 #, c-format msgid "could not set SSL socket: %s" msgstr "impostazione del socket SSL fallita: %s" -#: libpq/be-secure-openssl.c:432 +#: libpq/be-secure-openssl.c:440 #, c-format msgid "could not accept SSL connection: %m" msgstr "accettazione della connessione SSL fallita: %m" -#: libpq/be-secure-openssl.c:436 libpq/be-secure-openssl.c:447 +#: libpq/be-secure-openssl.c:444 libpq/be-secure-openssl.c:455 #, c-format msgid "could not accept SSL connection: EOF detected" msgstr "accettazione della connessione SSL fallita: fine file individuata" -#: libpq/be-secure-openssl.c:441 +#: libpq/be-secure-openssl.c:449 #, c-format msgid "could not accept SSL connection: %s" msgstr "accettazione della connessione SSL fallita: %s" -#: libpq/be-secure-openssl.c:452 libpq/be-secure-openssl.c:593 -#: libpq/be-secure-openssl.c:653 +#: libpq/be-secure-openssl.c:460 libpq/be-secure-openssl.c:603 +#: libpq/be-secure-openssl.c:669 #, c-format msgid "unrecognized SSL error code: %d" msgstr "codice di errore SSL sconosciuto: %d" -#: libpq/be-secure-openssl.c:496 +#: libpq/be-secure-openssl.c:504 #, c-format msgid "SSL certificate's common name contains embedded null" msgstr "Il nome comune del certificato SSL contiene un null" -#: libpq/be-secure-openssl.c:507 +#: libpq/be-secure-openssl.c:515 #, c-format msgid "SSL connection from \"%s\"" msgstr "connessione SSL da \"%s\"" -#: libpq/be-secure-openssl.c:584 libpq/be-secure-openssl.c:644 +#: libpq/be-secure-openssl.c:592 libpq/be-secure-openssl.c:654 #, c-format msgid "SSL error: %s" msgstr "errore SSL: %s" -#: libpq/be-secure-openssl.c:1055 +#: libpq/be-secure-openssl.c:1071 #, c-format msgid "ECDH: unrecognized curve name: %s" msgstr "ECDH: nome della curva non riconosciuto: %s" -#: libpq/be-secure-openssl.c:1060 +#: libpq/be-secure-openssl.c:1076 #, c-format msgid "ECDH: could not create key" msgstr "ECDH: chiave non creata" -#: libpq/be-secure-openssl.c:1084 +#: libpq/be-secure-openssl.c:1100 msgid "no SSL error reported" msgstr "nessun errore SSL riportato" -#: libpq/be-secure-openssl.c:1088 +#: libpq/be-secure-openssl.c:1104 #, c-format msgid "SSL error code %lu" msgstr "codice di errore SSL: %lu" @@ -11129,464 +10970,464 @@ msgid "User \"%s\" has no password assigned." msgstr "L'utente \"%s\" non ha una password assegnata." -#: libpq/crypt.c:79 +#: libpq/crypt.c:88 libpq/crypt.c:103 #, c-format msgid "User \"%s\" has an empty password." msgstr "Il ruolo \"%s\" ha una password vuota." -#: libpq/crypt.c:159 +#: libpq/crypt.c:184 #, c-format msgid "User \"%s\" has an expired password." msgstr "L'utente \"%s\" ha la password scaduta." -#: libpq/crypt.c:167 +#: libpq/crypt.c:192 #, c-format msgid "Password does not match for user \"%s\"." msgstr "Le password non combaciano per l'utente \"%s\"." -#: libpq/hba.c:188 +#: libpq/hba.c:178 #, c-format msgid "authentication file token too long, skipping: \"%s\"" msgstr "token del file di autenticazione troppo lungo, saltato: \"%s\"" -#: libpq/hba.c:332 +#: libpq/hba.c:322 #, c-format msgid "could not open secondary authentication file \"@%s\" as \"%s\": %m" msgstr "apertura del file secondario di autenticazione \"@%s\" come \"%s\" fallita: %m" -#: libpq/hba.c:407 +#: libpq/hba.c:397 #, c-format msgid "authentication file line too long" msgstr "riga del file di autenticazione troppo lunga" -#: libpq/hba.c:408 libpq/hba.c:755 libpq/hba.c:771 libpq/hba.c:801 -#: libpq/hba.c:847 libpq/hba.c:860 libpq/hba.c:882 libpq/hba.c:891 -#: libpq/hba.c:912 libpq/hba.c:924 libpq/hba.c:943 libpq/hba.c:964 -#: libpq/hba.c:975 libpq/hba.c:1030 libpq/hba.c:1048 libpq/hba.c:1060 -#: libpq/hba.c:1077 libpq/hba.c:1087 libpq/hba.c:1101 libpq/hba.c:1117 -#: libpq/hba.c:1132 libpq/hba.c:1143 libpq/hba.c:1179 libpq/hba.c:1217 -#: libpq/hba.c:1228 libpq/hba.c:1248 libpq/hba.c:1259 libpq/hba.c:1276 -#: libpq/hba.c:1325 libpq/hba.c:1362 libpq/hba.c:1372 libpq/hba.c:1428 -#: libpq/hba.c:1440 libpq/hba.c:1453 libpq/hba.c:1545 libpq/hba.c:1634 -#: libpq/hba.c:1652 libpq/hba.c:1673 tsearch/ts_locale.c:182 +#: libpq/hba.c:398 libpq/hba.c:745 libpq/hba.c:761 libpq/hba.c:791 +#: libpq/hba.c:837 libpq/hba.c:850 libpq/hba.c:872 libpq/hba.c:881 +#: libpq/hba.c:902 libpq/hba.c:914 libpq/hba.c:933 libpq/hba.c:954 +#: libpq/hba.c:965 libpq/hba.c:1020 libpq/hba.c:1038 libpq/hba.c:1050 +#: libpq/hba.c:1067 libpq/hba.c:1077 libpq/hba.c:1091 libpq/hba.c:1107 +#: libpq/hba.c:1122 libpq/hba.c:1133 libpq/hba.c:1169 libpq/hba.c:1207 +#: libpq/hba.c:1218 libpq/hba.c:1238 libpq/hba.c:1249 libpq/hba.c:1266 +#: libpq/hba.c:1315 libpq/hba.c:1352 libpq/hba.c:1362 libpq/hba.c:1418 +#: libpq/hba.c:1430 libpq/hba.c:1443 libpq/hba.c:1535 libpq/hba.c:1624 +#: libpq/hba.c:1642 libpq/hba.c:1663 tsearch/ts_locale.c:182 #, c-format msgid "line %d of configuration file \"%s\"" msgstr "riga %d del file di configurazione \"%s\"" #. translator: the second %s is a list of auth methods -#: libpq/hba.c:753 +#: libpq/hba.c:743 #, c-format msgid "authentication option \"%s\" is only valid for authentication methods %s" msgstr "l'opzione di autenticazione \"%s\" è valida solo per i metodi di autenticazione %s" -#: libpq/hba.c:769 +#: libpq/hba.c:759 #, c-format msgid "authentication method \"%s\" requires argument \"%s\" to be set" msgstr "il metodo di autenticazione \"%s\" richiede che l'argomenti \"%s\" sia impostato" -#: libpq/hba.c:790 +#: libpq/hba.c:780 #, c-format msgid "missing entry in file \"%s\" at end of line %d" msgstr "voce mancante nel file \"%s\" alla fine della riga %d" -#: libpq/hba.c:800 +#: libpq/hba.c:790 #, c-format msgid "multiple values in ident field" msgstr "più di un valore nel campo ident" -#: libpq/hba.c:845 +#: libpq/hba.c:835 #, c-format msgid "multiple values specified for connection type" msgstr "più di un valore specificato per il tipo di connessione" -#: libpq/hba.c:846 +#: libpq/hba.c:836 #, c-format msgid "Specify exactly one connection type per line." msgstr "Specifica esattamente un tipo di connessione per riga." -#: libpq/hba.c:859 +#: libpq/hba.c:849 #, c-format msgid "local connections are not supported by this build" msgstr "le connessioni locali non sono supportate in questo binario" -#: libpq/hba.c:880 +#: libpq/hba.c:870 #, c-format msgid "hostssl requires SSL to be turned on" msgstr "hostssl richiede che SSL sia abilitato" -#: libpq/hba.c:881 +#: libpq/hba.c:871 #, c-format msgid "Set ssl = on in postgresql.conf." msgstr "Imposta ssl = on in postgresql.conf." -#: libpq/hba.c:889 +#: libpq/hba.c:879 #, c-format msgid "hostssl is not supported by this build" msgstr "hostssl non è supportato in questo binario" -#: libpq/hba.c:890 +#: libpq/hba.c:880 #, c-format msgid "Compile with --with-openssl to use SSL connections." msgstr "Compila con --with-openssl per usare connessioni SSL." -#: libpq/hba.c:910 +#: libpq/hba.c:900 #, c-format msgid "invalid connection type \"%s\"" msgstr "tipo di connessione \"%s\" non valido" -#: libpq/hba.c:923 +#: libpq/hba.c:913 #, c-format msgid "end-of-line before database specification" msgstr "fine riga prima della specificazione del database" -#: libpq/hba.c:942 +#: libpq/hba.c:932 #, c-format msgid "end-of-line before role specification" msgstr "fine riga prima della specificazione del ruolo" -#: libpq/hba.c:963 +#: libpq/hba.c:953 #, c-format msgid "end-of-line before IP address specification" msgstr "fine riga prima della specificazione dell'indirizzo IP" -#: libpq/hba.c:973 +#: libpq/hba.c:963 #, c-format msgid "multiple values specified for host address" msgstr "più di un valore specificato per l'indirizzo host" -#: libpq/hba.c:974 +#: libpq/hba.c:964 #, c-format msgid "Specify one address range per line." msgstr "Specifica un intervallo di indirizzi per riga." -#: libpq/hba.c:1028 +#: libpq/hba.c:1018 #, c-format msgid "invalid IP address \"%s\": %s" msgstr "indirizzo IP non valido \"%s\": %s" -#: libpq/hba.c:1046 +#: libpq/hba.c:1036 #, c-format msgid "specifying both host name and CIDR mask is invalid: \"%s\"" msgstr "specificare sia un nome host che una maschera CIDR non è consentito: \"%s\"" -#: libpq/hba.c:1058 +#: libpq/hba.c:1048 #, c-format msgid "invalid CIDR mask in address \"%s\"" msgstr "maschera CIDR non valida nell'indirizzo \"%s\"" -#: libpq/hba.c:1075 +#: libpq/hba.c:1065 #, c-format msgid "end-of-line before netmask specification" msgstr "fine riga prima della specificazione della maschera di rete" -#: libpq/hba.c:1076 +#: libpq/hba.c:1066 #, c-format msgid "Specify an address range in CIDR notation, or provide a separate netmask." msgstr "Specifica un intervallo di indirizzi in notazione CIDR, oppure fornisci una maschera di rete separata." -#: libpq/hba.c:1086 +#: libpq/hba.c:1076 #, c-format msgid "multiple values specified for netmask" msgstr "più di un valore specificato per la maschera di rete" -#: libpq/hba.c:1099 +#: libpq/hba.c:1089 #, c-format msgid "invalid IP mask \"%s\": %s" msgstr "maschera IP non valida \"%s\": %s" -#: libpq/hba.c:1116 +#: libpq/hba.c:1106 #, c-format msgid "IP address and mask do not match" msgstr "l'indirizzo IP e la maschera non combaciano" -#: libpq/hba.c:1131 +#: libpq/hba.c:1121 #, c-format msgid "end-of-line before authentication method" msgstr "fine riga prima del metodo di autenticazione" -#: libpq/hba.c:1141 +#: libpq/hba.c:1131 #, c-format msgid "multiple values specified for authentication type" msgstr "più di un valore specificato per il tipo di autenticazione" -#: libpq/hba.c:1142 +#: libpq/hba.c:1132 #, c-format msgid "Specify exactly one authentication type per line." msgstr "Specifica esattamente un tipo di autenticazione per riga." -#: libpq/hba.c:1215 +#: libpq/hba.c:1205 #, c-format msgid "invalid authentication method \"%s\"" msgstr "metodo di autenticazione \"%s\" non valido" -#: libpq/hba.c:1226 +#: libpq/hba.c:1216 #, c-format msgid "invalid authentication method \"%s\": not supported by this build" msgstr "metodo di autenticazione \"%s\" non valido: non supportato in questo binario" -#: libpq/hba.c:1247 +#: libpq/hba.c:1237 #, c-format msgid "gssapi authentication is not supported on local sockets" msgstr "l'autenticazione gssapi non è supportata su socket locali" -#: libpq/hba.c:1258 +#: libpq/hba.c:1248 #, c-format msgid "peer authentication is only supported on local sockets" msgstr "l'autenticazione peer è supportata solo su socket locali" -#: libpq/hba.c:1275 +#: libpq/hba.c:1265 #, c-format msgid "cert authentication is only supported on hostssl connections" msgstr "l'autenticazione cert è supportata solo su connessioni hostssl" -#: libpq/hba.c:1324 +#: libpq/hba.c:1314 #, c-format msgid "authentication option not in name=value format: %s" msgstr "opzione di autenticazione non in formato nome=valore: %s" -#: libpq/hba.c:1361 +#: libpq/hba.c:1351 #, c-format msgid "cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, or ldapurl together with ldapprefix" msgstr "non si possono usare ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute né ldapurl insieme a ldapprefix" -#: libpq/hba.c:1371 +#: libpq/hba.c:1361 #, c-format msgid "authentication method \"ldap\" requires argument \"ldapbasedn\", \"ldapprefix\", or \"ldapsuffix\" to be set" msgstr "il metodo di autenticazione \"ldap\" richiede che gli argomenti \"ldapbasedn\", \"ldapprefix\" o \"ldapsuffix\" siano impostati" -#: libpq/hba.c:1414 +#: libpq/hba.c:1404 msgid "ident, peer, gssapi, sspi, and cert" msgstr "ident, peer, gssapi, sspi e cert" -#: libpq/hba.c:1427 +#: libpq/hba.c:1417 #, c-format msgid "clientcert can only be configured for \"hostssl\" rows" msgstr "il clientcert può essere configurato solo per le righe \"hostssl\"" -#: libpq/hba.c:1438 +#: libpq/hba.c:1428 #, c-format msgid "client certificates can only be checked if a root certificate store is available" msgstr "il certificato del client può essere controllato solo se un root certificate store è disponibile" -#: libpq/hba.c:1452 +#: libpq/hba.c:1442 #, c-format msgid "clientcert can not be set to 0 when using \"cert\" authentication" msgstr "clientcert non può essere impostato a 0 quando si usa l'autenticazione \"cert\"" -#: libpq/hba.c:1488 +#: libpq/hba.c:1478 #, c-format msgid "could not parse LDAP URL \"%s\": %s" msgstr "impossibile interpretare la URL LDAP \"%s\": %s" -#: libpq/hba.c:1496 +#: libpq/hba.c:1486 #, c-format msgid "unsupported LDAP URL scheme: %s" msgstr "schema di URL LDAP non supportato: %s" -#: libpq/hba.c:1512 +#: libpq/hba.c:1502 #, c-format msgid "filters not supported in LDAP URLs" msgstr "i filtri non sono supportati nelle URL LDAP" -#: libpq/hba.c:1520 +#: libpq/hba.c:1510 #, c-format msgid "LDAP URLs not supported on this platform" msgstr "URL LDAP non supportate su questa piattaforma" -#: libpq/hba.c:1544 +#: libpq/hba.c:1534 #, c-format msgid "invalid LDAP port number: \"%s\"" msgstr "numero di porta LDAP non valido: \"%s\"" -#: libpq/hba.c:1584 libpq/hba.c:1591 +#: libpq/hba.c:1574 libpq/hba.c:1581 msgid "gssapi and sspi" msgstr "gssapi e sspi" -#: libpq/hba.c:1600 libpq/hba.c:1609 +#: libpq/hba.c:1590 libpq/hba.c:1599 msgid "sspi" msgstr "sspi" -#: libpq/hba.c:1651 +#: libpq/hba.c:1641 #, c-format msgid "invalid RADIUS port number: \"%s\"" msgstr "numero di porta RADIUS non valido: \"%s\"" -#: libpq/hba.c:1671 +#: libpq/hba.c:1661 #, c-format msgid "unrecognized authentication option name: \"%s\"" msgstr "nome di opzione di autenticazione sconosciuto: \"%s\"" -#: libpq/hba.c:1806 guc-file.l:593 +#: libpq/hba.c:1796 guc-file.l:593 #, c-format msgid "could not open configuration file \"%s\": %m" msgstr "apertura del file di configurazione \"%s\" fallita: %m" -#: libpq/hba.c:1855 +#: libpq/hba.c:1845 #, c-format msgid "configuration file \"%s\" contains no entries" msgstr "il file di configurazione \"%s\" non contiene alcuna voce" -#: libpq/hba.c:1951 +#: libpq/hba.c:1941 #, c-format msgid "invalid regular expression \"%s\": %s" msgstr "espressione regolare non valida \"%s\": %s" -#: libpq/hba.c:2011 +#: libpq/hba.c:2001 #, c-format msgid "regular expression match for \"%s\" failed: %s" msgstr "corrispondenza dell'espressione regolare \"%s\" fallita: %s" -#: libpq/hba.c:2030 +#: libpq/hba.c:2020 #, c-format msgid "regular expression \"%s\" has no subexpressions as requested by backreference in \"%s\"" msgstr "l'espressione regolare \"%s\" non ha la sottoespressione richiesta dal riferimento in \"%s\"" -#: libpq/hba.c:2127 +#: libpq/hba.c:2117 #, c-format msgid "provided user name (%s) and authenticated user name (%s) do not match" msgstr "il nome utente fornito (%s) e il nome utente autenticato (%s) non combaciano" -#: libpq/hba.c:2147 +#: libpq/hba.c:2137 #, c-format msgid "no match in usermap \"%s\" for user \"%s\" authenticated as \"%s\"" msgstr "nessuna corrispondenza nella mappa utenti \"%s\" per l'utente \"%s\" autenticato come \"%s\"" -#: libpq/hba.c:2182 +#: libpq/hba.c:2172 #, c-format msgid "could not open usermap file \"%s\": %m" msgstr "apertura del file usermap \"%s\" fallita: %m" -#: libpq/pqcomm.c:202 +#: libpq/pqcomm.c:221 #, c-format msgid "could not set socket to nonblocking mode: %m" msgstr "impossibile impostare il socket in modalità non bloccante: %m" -#: libpq/pqcomm.c:354 +#: libpq/pqcomm.c:373 #, c-format msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)" msgstr "Il percorso del socket di dominio unix \"%s\" è troppo lungo (massimo %d byte)" -#: libpq/pqcomm.c:375 +#: libpq/pqcomm.c:394 #, c-format msgid "could not translate host name \"%s\", service \"%s\" to address: %s" msgstr "conversione del nome host \"%s\", servizio \"%s\" in indirizzo fallita: %s" -#: libpq/pqcomm.c:379 +#: libpq/pqcomm.c:398 #, c-format msgid "could not translate service \"%s\" to address: %s" msgstr "conversione del servizio \"%s\" in indirizzo fallita: %s" -#: libpq/pqcomm.c:406 +#: libpq/pqcomm.c:425 #, c-format msgid "could not bind to all requested addresses: MAXLISTEN (%d) exceeded" msgstr "bind a tutti gli indirizzi richiesti fallito: MAXLISTEN (%d) superato" -#: libpq/pqcomm.c:415 +#: libpq/pqcomm.c:434 msgid "IPv4" msgstr "IPv4" -#: libpq/pqcomm.c:419 +#: libpq/pqcomm.c:438 msgid "IPv6" msgstr "IPv6" -#: libpq/pqcomm.c:424 +#: libpq/pqcomm.c:443 msgid "Unix" msgstr "Unix" -#: libpq/pqcomm.c:429 +#: libpq/pqcomm.c:448 #, c-format msgid "unrecognized address family %d" msgstr "famiglia di indirizzi %d sconosciuto" #. translator: %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:440 +#: libpq/pqcomm.c:459 #, c-format msgid "could not create %s socket: %m" msgstr "non è stato possibile creare il socket %s: %m" -#: libpq/pqcomm.c:465 +#: libpq/pqcomm.c:484 #, c-format msgid "setsockopt(SO_REUSEADDR) failed: %m" msgstr "setsockopt(SO_REUSEADDR) fallito: %m" -#: libpq/pqcomm.c:480 +#: libpq/pqcomm.c:499 #, c-format msgid "setsockopt(IPV6_V6ONLY) failed: %m" msgstr "setsockopt(IPV6_V6ONLY) fallito: %m" #. translator: %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:499 +#: libpq/pqcomm.c:518 #, c-format msgid "could not bind %s socket: %m" msgstr "bind del socket %s fallito: %m" -#: libpq/pqcomm.c:502 +#: libpq/pqcomm.c:521 #, c-format msgid "Is another postmaster already running on port %d? If not, remove socket file \"%s\" and retry." msgstr "C'è già un altro postmaster in funzione sulla porta %d? Se non c'è, rimuovi il file socket \"%s\" e riprova." -#: libpq/pqcomm.c:505 +#: libpq/pqcomm.c:524 #, c-format msgid "Is another postmaster already running on port %d? If not, wait a few seconds and retry." msgstr "C'è già un altro postmaster in funzione sulla porta %d? Se non c'è, aspetta alcuni secondi e riprova." #. translator: %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:538 +#: libpq/pqcomm.c:557 #, c-format msgid "could not listen on %s socket: %m" msgstr "ascolto sul socket %s fallito: %m" -#: libpq/pqcomm.c:623 +#: libpq/pqcomm.c:642 #, c-format msgid "group \"%s\" does not exist" msgstr "il gruppo \"%s\" non esiste" -#: libpq/pqcomm.c:633 +#: libpq/pqcomm.c:652 #, c-format msgid "could not set group of file \"%s\": %m" msgstr "impostazione del gruppo del file \"%s\" fallita: %m" -#: libpq/pqcomm.c:644 +#: libpq/pqcomm.c:663 #, c-format msgid "could not set permissions of file \"%s\": %m" msgstr "impostazione dei permessi del file \"%s\" fallita: %m" -#: libpq/pqcomm.c:674 +#: libpq/pqcomm.c:693 #, c-format msgid "could not accept new connection: %m" msgstr "impossibile accettare la nuova connessione: %m" -#: libpq/pqcomm.c:885 +#: libpq/pqcomm.c:904 #, c-format msgid "there is no client connection" msgstr "c'è alcuna connessione client" -#: libpq/pqcomm.c:936 libpq/pqcomm.c:1032 +#: libpq/pqcomm.c:955 libpq/pqcomm.c:1051 #, c-format msgid "could not receive data from client: %m" msgstr "ricezione dati dal client fallita: %m" -#: libpq/pqcomm.c:1177 tcop/postgres.c:3917 +#: libpq/pqcomm.c:1196 tcop/postgres.c:3913 #, c-format msgid "terminating connection because protocol synchronization was lost" msgstr "la connessione verrà terminata perché la sincronizzazione del protocollo è stata persa" -#: libpq/pqcomm.c:1243 +#: libpq/pqcomm.c:1262 #, c-format msgid "unexpected EOF within message length word" msgstr "fine file inattesa nella word della lunghezza del messaggio" -#: libpq/pqcomm.c:1254 +#: libpq/pqcomm.c:1273 #, c-format msgid "invalid message length" msgstr "lunghezza del messaggio non valida" -#: libpq/pqcomm.c:1276 libpq/pqcomm.c:1289 +#: libpq/pqcomm.c:1295 libpq/pqcomm.c:1308 #, c-format msgid "incomplete message from client" msgstr "messaggio incompleto dal client" -#: libpq/pqcomm.c:1422 +#: libpq/pqcomm.c:1441 #, c-format msgid "could not send data to client: %m" msgstr "invio dati al client fallito: %m" @@ -12949,7 +12790,7 @@ msgid "NULLIF requires = operator to yield boolean" msgstr "NULLIF richiede che l'operatore = restituisca un valore booleano" -#: parser/parse_expr.c:1501 gram.y:9887 +#: parser/parse_expr.c:1501 gram.y:9896 #, c-format msgid "number of columns does not match number of values" msgstr "il numero di colonne non corrisponde al numero di valori" @@ -13252,8 +13093,8 @@ msgid "array assignment requires type %s but expression is of type %s" msgstr "l'assegnamento all'array richiede il tipo %s ma l'espressione è di tipo %s" -#: parser/parse_oper.c:125 parser/parse_oper.c:722 utils/adt/regproc.c:583 -#: utils/adt/regproc.c:603 utils/adt/regproc.c:787 +#: parser/parse_oper.c:125 parser/parse_oper.c:722 utils/adt/regproc.c:584 +#: utils/adt/regproc.c:604 utils/adt/regproc.c:788 #, c-format msgid "operator does not exist: %s" msgstr "l'operatore non esiste: %s" @@ -13487,7 +13328,7 @@ msgid "type reference %s converted to %s" msgstr "riferimento al tipo %s convertito in %s" -#: parser/parse_type.c:261 parser/parse_type.c:805 utils/cache/typcache.c:239 +#: parser/parse_type.c:261 parser/parse_type.c:805 utils/cache/typcache.c:241 #, c-format msgid "type \"%s\" is only a shell" msgstr "il tipo \"%s\" non è completamente definito" @@ -13507,224 +13348,224 @@ msgid "invalid type name \"%s\"" msgstr "nome di tipo \"%s\" non valido" -#: parser/parse_utilcmd.c:384 +#: parser/parse_utilcmd.c:385 #, c-format msgid "array of serial is not implemented" msgstr "gli array di serial non sono implementati" -#: parser/parse_utilcmd.c:432 +#: parser/parse_utilcmd.c:433 #, c-format msgid "%s will create implicit sequence \"%s\" for serial column \"%s.%s\"" msgstr "%s creerà la sequenza implicita \"%s\" per la colonna serial \"%s.%s\"" -#: parser/parse_utilcmd.c:526 parser/parse_utilcmd.c:538 +#: parser/parse_utilcmd.c:527 parser/parse_utilcmd.c:539 #, c-format msgid "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\"" msgstr "dichiarazioni NULL/NOT NULL in conflitto per la colonna \"%s\" della tabella \"%s\"" -#: parser/parse_utilcmd.c:550 +#: parser/parse_utilcmd.c:551 #, c-format msgid "multiple default values specified for column \"%s\" of table \"%s\"" msgstr "più di un valore predefinito specificato per la colonna \"%s\" della tabella \"%s\"" -#: parser/parse_utilcmd.c:567 parser/parse_utilcmd.c:658 +#: parser/parse_utilcmd.c:568 parser/parse_utilcmd.c:659 #, c-format msgid "primary key constraints are not supported on foreign tables" msgstr "i vincoli di chiave primaria non sono supportati sulle tabelle esterne" -#: parser/parse_utilcmd.c:576 parser/parse_utilcmd.c:668 +#: parser/parse_utilcmd.c:577 parser/parse_utilcmd.c:669 #, c-format msgid "unique constraints are not supported on foreign tables" msgstr "i vincoli di unicità non sono supportati sulle tabelle esterne" -#: parser/parse_utilcmd.c:593 parser/parse_utilcmd.c:692 +#: parser/parse_utilcmd.c:594 parser/parse_utilcmd.c:693 #, c-format msgid "foreign key constraints are not supported on foreign tables" msgstr "i vincoli di chiave esterna non sono supportati sulle tabelle esterne" -#: parser/parse_utilcmd.c:678 +#: parser/parse_utilcmd.c:679 #, c-format msgid "exclusion constraints are not supported on foreign tables" msgstr "i vincoli esclusione non sono supportati sulle tabelle esterne" -#: parser/parse_utilcmd.c:742 +#: parser/parse_utilcmd.c:743 #, c-format msgid "LIKE is not supported for creating foreign tables" msgstr "LIKE non è supportato nella creazione di tabelle esterne" -#: parser/parse_utilcmd.c:1275 parser/parse_utilcmd.c:1351 +#: parser/parse_utilcmd.c:1276 parser/parse_utilcmd.c:1352 #, c-format msgid "Index \"%s\" contains a whole-row table reference." msgstr "L'indice \"%s\" contiene un riferimento all'intera riga della tabella." -#: parser/parse_utilcmd.c:1621 +#: parser/parse_utilcmd.c:1622 #, c-format msgid "cannot use an existing index in CREATE TABLE" msgstr "non è possibile usare un indice preesistente in CREATE TABLE" -#: parser/parse_utilcmd.c:1641 +#: parser/parse_utilcmd.c:1642 #, c-format msgid "index \"%s\" is already associated with a constraint" msgstr "l'indice \"%s\" è già associato ad un vincolo" -#: parser/parse_utilcmd.c:1649 +#: parser/parse_utilcmd.c:1650 #, c-format msgid "index \"%s\" does not belong to table \"%s\"" msgstr "l'indice \"%s\" non appartiene alla tabella \"%s\"" -#: parser/parse_utilcmd.c:1656 +#: parser/parse_utilcmd.c:1657 #, c-format msgid "index \"%s\" is not valid" msgstr "l'indice \"%s\" non è valido" -#: parser/parse_utilcmd.c:1662 +#: parser/parse_utilcmd.c:1663 #, c-format msgid "\"%s\" is not a unique index" msgstr "\"%s\" non è un indice univoco" -#: parser/parse_utilcmd.c:1663 parser/parse_utilcmd.c:1670 -#: parser/parse_utilcmd.c:1677 parser/parse_utilcmd.c:1747 +#: parser/parse_utilcmd.c:1664 parser/parse_utilcmd.c:1671 +#: parser/parse_utilcmd.c:1678 parser/parse_utilcmd.c:1748 #, c-format msgid "Cannot create a primary key or unique constraint using such an index." msgstr "Non è possibile creare una chiave primaria o un vincolo univoco usando tale indice." -#: parser/parse_utilcmd.c:1669 +#: parser/parse_utilcmd.c:1670 #, c-format msgid "index \"%s\" contains expressions" msgstr "l'indice \"%s\" contiene espressioni" -#: parser/parse_utilcmd.c:1676 +#: parser/parse_utilcmd.c:1677 #, c-format msgid "\"%s\" is a partial index" msgstr "\"%s\" è un indice parziale" -#: parser/parse_utilcmd.c:1688 +#: parser/parse_utilcmd.c:1689 #, c-format msgid "\"%s\" is a deferrable index" msgstr "\"%s\" è un indice deferibile" -#: parser/parse_utilcmd.c:1689 +#: parser/parse_utilcmd.c:1690 #, c-format msgid "Cannot create a non-deferrable constraint using a deferrable index." msgstr "Non è possibile creare un vincolo non deferibile usando un indice deferibile." -#: parser/parse_utilcmd.c:1746 +#: parser/parse_utilcmd.c:1747 #, c-format msgid "index \"%s\" does not have default sorting behavior" msgstr "l'indice \"%s\" non ha un ordinamento predefinito" -#: parser/parse_utilcmd.c:1893 +#: parser/parse_utilcmd.c:1894 #, c-format msgid "column \"%s\" appears twice in primary key constraint" msgstr "la colonna \"%s\" appare due volte nel vincolo di chiave primaria" -#: parser/parse_utilcmd.c:1899 +#: parser/parse_utilcmd.c:1900 #, c-format msgid "column \"%s\" appears twice in unique constraint" msgstr "la colonna \"%s\" appare due volte nel vincolo univoco" -#: parser/parse_utilcmd.c:2103 +#: parser/parse_utilcmd.c:2104 #, c-format msgid "index expression cannot return a set" msgstr "l'espressione dell'indice non può restituire un insieme" -#: parser/parse_utilcmd.c:2114 +#: parser/parse_utilcmd.c:2115 #, c-format msgid "index expressions and predicates can refer only to the table being indexed" msgstr "le espressioni e i predicati dell'indice possono riferirsi solo alla tabella indicizzata" -#: parser/parse_utilcmd.c:2160 +#: parser/parse_utilcmd.c:2161 #, c-format msgid "rules on materialized views are not supported" msgstr "le regole sulle viste materializzate non sono supportate" -#: parser/parse_utilcmd.c:2221 +#: parser/parse_utilcmd.c:2222 #, c-format msgid "rule WHERE condition cannot contain references to other relations" msgstr "le condizioni WHERE delle regole non possono avere riferimenti ad altre relazioni" -#: parser/parse_utilcmd.c:2293 +#: parser/parse_utilcmd.c:2294 #, c-format msgid "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE actions" msgstr "le regole con una condizione WHERE possono avere solo azione SELECT, INSERT, UPDATE o DELETE" -#: parser/parse_utilcmd.c:2311 parser/parse_utilcmd.c:2410 +#: parser/parse_utilcmd.c:2312 parser/parse_utilcmd.c:2411 #: rewrite/rewriteHandler.c:485 rewrite/rewriteManip.c:1015 #, c-format msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented" msgstr "le istruzioni UNION/INTERSECT/EXCEPT condizionali non sono implementate" -#: parser/parse_utilcmd.c:2329 +#: parser/parse_utilcmd.c:2330 #, c-format msgid "ON SELECT rule cannot use OLD" msgstr "la regola ON SELECT non può usare OLD" -#: parser/parse_utilcmd.c:2333 +#: parser/parse_utilcmd.c:2334 #, c-format msgid "ON SELECT rule cannot use NEW" msgstr "la regola ON SELECT non può usare NEW" -#: parser/parse_utilcmd.c:2342 +#: parser/parse_utilcmd.c:2343 #, c-format msgid "ON INSERT rule cannot use OLD" msgstr "la regola ON INSERT non può usare OLD" -#: parser/parse_utilcmd.c:2348 +#: parser/parse_utilcmd.c:2349 #, c-format msgid "ON DELETE rule cannot use NEW" msgstr "La regola ON DELETE non può usare NEW" -#: parser/parse_utilcmd.c:2376 +#: parser/parse_utilcmd.c:2377 #, c-format msgid "cannot refer to OLD within WITH query" msgstr "non ci si può riferire ad OLD nella query WITH" -#: parser/parse_utilcmd.c:2383 +#: parser/parse_utilcmd.c:2384 #, c-format msgid "cannot refer to NEW within WITH query" msgstr "non ci si può riferire a NEW nella query WITH" -#: parser/parse_utilcmd.c:2586 +#: parser/parse_utilcmd.c:2587 #, c-format msgid "transform expression must not return a set" msgstr "l'espressione di trasformazione non può restituire un insieme" -#: parser/parse_utilcmd.c:2700 +#: parser/parse_utilcmd.c:2701 #, c-format msgid "misplaced DEFERRABLE clause" msgstr "clausola DEFERRABLE mal posizionata" -#: parser/parse_utilcmd.c:2705 parser/parse_utilcmd.c:2720 +#: parser/parse_utilcmd.c:2706 parser/parse_utilcmd.c:2721 #, c-format msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed" msgstr "clausole DEFERRABLE/NOT DEFERRABLE multiple non consentite" -#: parser/parse_utilcmd.c:2715 +#: parser/parse_utilcmd.c:2716 #, c-format msgid "misplaced NOT DEFERRABLE clause" msgstr "clausola NOT DEFERRABLE mal posizionata" -#: parser/parse_utilcmd.c:2728 parser/parse_utilcmd.c:2754 gram.y:4902 +#: parser/parse_utilcmd.c:2729 parser/parse_utilcmd.c:2755 gram.y:4911 #, c-format msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" msgstr "un vincolo dichiarato INITIALLY DEFERRED dev'essere DEFERRABLE" -#: parser/parse_utilcmd.c:2736 +#: parser/parse_utilcmd.c:2737 #, c-format msgid "misplaced INITIALLY DEFERRED clause" msgstr "clausola INITIALLY DEFERRED mal posizionata" -#: parser/parse_utilcmd.c:2741 parser/parse_utilcmd.c:2767 +#: parser/parse_utilcmd.c:2742 parser/parse_utilcmd.c:2768 #, c-format msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed" msgstr "clausole INITIALLY IMMEDIATE/DEFERRED multiple non sono consentite" -#: parser/parse_utilcmd.c:2762 +#: parser/parse_utilcmd.c:2763 #, c-format msgid "misplaced INITIALLY IMMEDIATE clause" msgstr "clausola INITIALLY IMMEDIATE mal posizionata" -#: parser/parse_utilcmd.c:2953 +#: parser/parse_utilcmd.c:2954 #, c-format msgid "CREATE specifies a schema (%s) different from the one being created (%s)" msgstr "CREATE specifica uno schema (%s) differente da quello che sta venendo creato (%s)" @@ -14080,7 +13921,7 @@ msgid "archive command was terminated by exception 0x%X" msgstr "comando di archiviazione terminato da eccezione 0x%X" -#: postmaster/pgarch.c:598 postmaster/postmaster.c:3505 +#: postmaster/pgarch.c:598 postmaster/postmaster.c:3514 #, c-format msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value." msgstr "Consulta il file include C \"ntstatus.h\" per una spiegazione del valore esadecimale." @@ -14110,293 +13951,293 @@ msgid "could not open archive status directory \"%s\": %m" msgstr "apertura della directory dello stato dell'archivio \"%s\" fallita: %m" -#: postmaster/pgstat.c:355 +#: postmaster/pgstat.c:358 #, c-format msgid "could not resolve \"localhost\": %s" msgstr "risoluzione di \"localhost\" fallita: %s" -#: postmaster/pgstat.c:378 +#: postmaster/pgstat.c:381 #, c-format msgid "trying another address for the statistics collector" msgstr "si sta tentando di usare un diverso indirizzo per il raccoglitore di statistiche" -#: postmaster/pgstat.c:387 +#: postmaster/pgstat.c:390 #, c-format msgid "could not create socket for statistics collector: %m" msgstr "creazione del socket per il raccoglitore di statistiche fallita: %m" -#: postmaster/pgstat.c:399 +#: postmaster/pgstat.c:402 #, c-format msgid "could not bind socket for statistics collector: %m" msgstr "bind del socket per il raccoglitore di statistiche fallito: %m" -#: postmaster/pgstat.c:410 +#: postmaster/pgstat.c:413 #, c-format msgid "could not get address of socket for statistics collector: %m" msgstr "non è stato possibile ottenere l'indirizzo del socket per il raccoglitore di statistiche: %m" -#: postmaster/pgstat.c:426 +#: postmaster/pgstat.c:429 #, c-format msgid "could not connect socket for statistics collector: %m" msgstr "connessione al socket per il raccoglitore statistiche fallita: %m" -#: postmaster/pgstat.c:447 +#: postmaster/pgstat.c:450 #, c-format msgid "could not send test message on socket for statistics collector: %m" msgstr "invio del messaggio di prova al socket per il raccoglitore di statistiche fallito: %m" -#: postmaster/pgstat.c:473 +#: postmaster/pgstat.c:476 #, c-format msgid "select() failed in statistics collector: %m" msgstr "select() fallita nel raccoglitore di statistiche: %m" -#: postmaster/pgstat.c:488 +#: postmaster/pgstat.c:491 #, c-format msgid "test message did not get through on socket for statistics collector" msgstr "il messaggio di prova non ha raggiunto il socket per il raccoglitore di statistiche" -#: postmaster/pgstat.c:503 +#: postmaster/pgstat.c:506 #, c-format msgid "could not receive test message on socket for statistics collector: %m" msgstr "ricezione del messaggio di prova sul socket per il raccoglitore di statistiche fallito: %m" -#: postmaster/pgstat.c:513 +#: postmaster/pgstat.c:516 #, c-format msgid "incorrect test message transmission on socket for statistics collector" msgstr "trasmissione errata del messaggio di prova per il raccoglitore di statistiche" -#: postmaster/pgstat.c:536 +#: postmaster/pgstat.c:539 #, c-format msgid "could not set statistics collector socket to nonblocking mode: %m" msgstr "impostazione del socket per il raccoglitore di statistiche in modalità non bloccante fallita: %m" -#: postmaster/pgstat.c:546 +#: postmaster/pgstat.c:578 #, c-format msgid "disabling statistics collector for lack of working socket" msgstr "raccoglitore di statistiche disabilitato per mancanza di un socket funzionante" -#: postmaster/pgstat.c:693 +#: postmaster/pgstat.c:725 #, c-format msgid "could not fork statistics collector: %m" msgstr "fork del raccoglitore di statistiche fallito: %m" -#: postmaster/pgstat.c:1261 +#: postmaster/pgstat.c:1293 #, c-format msgid "unrecognized reset target: \"%s\"" msgstr "destinazione di reset sconosciuta: \"%s\"" -#: postmaster/pgstat.c:1262 +#: postmaster/pgstat.c:1294 #, c-format msgid "Target must be \"archiver\" or \"bgwriter\"." msgstr "La destinazione deve essere \"archiver\" o \"bgwriter\"." -#: postmaster/pgstat.c:3587 +#: postmaster/pgstat.c:3619 #, c-format msgid "could not read statistics message: %m" msgstr "lettura del messaggio delle statistiche fallito: %m" -#: postmaster/pgstat.c:3918 postmaster/pgstat.c:4075 +#: postmaster/pgstat.c:3950 postmaster/pgstat.c:4107 #, c-format msgid "could not open temporary statistics file \"%s\": %m" msgstr "apertura del file temporaneo delle statistiche \"%s\" fallita: %m" -#: postmaster/pgstat.c:3985 postmaster/pgstat.c:4120 +#: postmaster/pgstat.c:4017 postmaster/pgstat.c:4152 #, c-format msgid "could not write temporary statistics file \"%s\": %m" msgstr "scrittura del file temporaneo delle statistiche \"%s\" fallita: %m" -#: postmaster/pgstat.c:3994 postmaster/pgstat.c:4129 +#: postmaster/pgstat.c:4026 postmaster/pgstat.c:4161 #, c-format msgid "could not close temporary statistics file \"%s\": %m" msgstr "chiusura del file temporaneo delle statistiche \"%s\" fallita: %m" -#: postmaster/pgstat.c:4002 postmaster/pgstat.c:4137 +#: postmaster/pgstat.c:4034 postmaster/pgstat.c:4169 #, c-format msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m" msgstr "non è stato possibile rinominare il file temporaneo delle statistiche \"%s\" in \"%s\": %m" -#: postmaster/pgstat.c:4226 postmaster/pgstat.c:4411 postmaster/pgstat.c:4564 +#: postmaster/pgstat.c:4258 postmaster/pgstat.c:4464 postmaster/pgstat.c:4617 #, c-format msgid "could not open statistics file \"%s\": %m" msgstr "apertura del file delle statistiche \"%s\" fallita: %m" -#: postmaster/pgstat.c:4238 postmaster/pgstat.c:4248 postmaster/pgstat.c:4258 -#: postmaster/pgstat.c:4279 postmaster/pgstat.c:4294 postmaster/pgstat.c:4348 -#: postmaster/pgstat.c:4423 postmaster/pgstat.c:4443 postmaster/pgstat.c:4461 -#: postmaster/pgstat.c:4477 postmaster/pgstat.c:4495 postmaster/pgstat.c:4511 -#: postmaster/pgstat.c:4576 postmaster/pgstat.c:4588 postmaster/pgstat.c:4600 -#: postmaster/pgstat.c:4625 postmaster/pgstat.c:4647 +#: postmaster/pgstat.c:4270 postmaster/pgstat.c:4280 postmaster/pgstat.c:4301 +#: postmaster/pgstat.c:4323 postmaster/pgstat.c:4338 postmaster/pgstat.c:4401 +#: postmaster/pgstat.c:4476 postmaster/pgstat.c:4496 postmaster/pgstat.c:4514 +#: postmaster/pgstat.c:4530 postmaster/pgstat.c:4548 postmaster/pgstat.c:4564 +#: postmaster/pgstat.c:4629 postmaster/pgstat.c:4641 postmaster/pgstat.c:4653 +#: postmaster/pgstat.c:4678 postmaster/pgstat.c:4700 #, c-format msgid "corrupted statistics file \"%s\"" msgstr "file delle statistiche corrotto \"%s\"" -#: postmaster/pgstat.c:4776 +#: postmaster/pgstat.c:4829 #, c-format msgid "using stale statistics instead of current ones because stats collector is not responding" msgstr "verranno utilizzate statistiche vecchie invece di quelle correnti perché il processo di raccolta statistiche non risponde" -#: postmaster/pgstat.c:5103 +#: postmaster/pgstat.c:5156 #, c-format msgid "database hash table corrupted during cleanup --- abort" msgstr "tabella hash del database corrotta durante la pulizia --- interruzione" -#: postmaster/postmaster.c:698 +#: postmaster/postmaster.c:702 #, c-format msgid "%s: invalid argument for option -f: \"%s\"\n" msgstr "%s: argomento non valido per l'opzione -f: \"%s\"\n" -#: postmaster/postmaster.c:784 +#: postmaster/postmaster.c:788 #, c-format msgid "%s: invalid argument for option -t: \"%s\"\n" msgstr "%s: argomento non valido per l'opzione -t: \"%s\"\n" -#: postmaster/postmaster.c:835 +#: postmaster/postmaster.c:839 #, c-format msgid "%s: invalid argument: \"%s\"\n" msgstr "%s: argomento non valido: \"%s\"\n" -#: postmaster/postmaster.c:874 +#: postmaster/postmaster.c:878 #, c-format msgid "%s: superuser_reserved_connections must be less than max_connections\n" msgstr "%s: superuser_reserved_connections dev'essere minore di max_connections\n" -#: postmaster/postmaster.c:879 +#: postmaster/postmaster.c:883 #, c-format msgid "%s: max_wal_senders must be less than max_connections\n" msgstr "%s: max_wal_senders dev'essere minore di max_connections\n" -#: postmaster/postmaster.c:884 +#: postmaster/postmaster.c:888 #, c-format msgid "WAL archival cannot be enabled when wal_level is \"minimal\"" msgstr "l'archiviazione dei WAL non può essere attivata quando wal_level è \"minimal\"" -#: postmaster/postmaster.c:887 +#: postmaster/postmaster.c:891 #, c-format msgid "WAL streaming (max_wal_senders > 0) requires wal_level \"replica\" or \"logical\"" msgstr "lo streaming WAL (max_wal_senders > 0) richiede wal_level \"replica\" oppure \"logical\"" -#: postmaster/postmaster.c:895 +#: postmaster/postmaster.c:899 #, c-format msgid "%s: invalid datetoken tables, please fix\n" msgstr "%s: datetoken tables non valido, per favore correggilo\n" -#: postmaster/postmaster.c:987 postmaster/postmaster.c:1085 +#: postmaster/postmaster.c:991 postmaster/postmaster.c:1089 #: utils/init/miscinit.c:1429 #, c-format msgid "invalid list syntax in parameter \"%s\"" msgstr "sintassi di lista non valida nel parametro \"%s\"" -#: postmaster/postmaster.c:1018 +#: postmaster/postmaster.c:1022 #, c-format msgid "could not create listen socket for \"%s\"" msgstr "creazione del socket di ascolto per \"%s\" fallita" -#: postmaster/postmaster.c:1024 +#: postmaster/postmaster.c:1028 #, c-format msgid "could not create any TCP/IP sockets" msgstr "non è stato possibile creare alcun socket TCP/IP" -#: postmaster/postmaster.c:1107 +#: postmaster/postmaster.c:1111 #, c-format msgid "could not create Unix-domain socket in directory \"%s\"" msgstr "creazione del socket di dominio Unix fallita nella directory \"%s\"" -#: postmaster/postmaster.c:1113 +#: postmaster/postmaster.c:1117 #, c-format msgid "could not create any Unix-domain sockets" msgstr "creazione del socket di dominio Unix fallita" -#: postmaster/postmaster.c:1125 +#: postmaster/postmaster.c:1129 #, c-format msgid "no socket created for listening" msgstr "nessun socket per l'ascolto è stato creato" -#: postmaster/postmaster.c:1165 +#: postmaster/postmaster.c:1169 #, c-format msgid "could not create I/O completion port for child queue" msgstr "creazione della porta di completamento I/O per la coda dei figli fallita" -#: postmaster/postmaster.c:1194 +#: postmaster/postmaster.c:1198 #, c-format msgid "%s: could not change permissions of external PID file \"%s\": %s\n" msgstr "%s: modifica dei permessi del file PID esterno \"%s\" fallita: %s\n" -#: postmaster/postmaster.c:1198 +#: postmaster/postmaster.c:1202 #, c-format msgid "%s: could not write external PID file \"%s\": %s\n" msgstr "%s: scrittura del file PID esterno \"%s\" fallita: %s\n" -#: postmaster/postmaster.c:1248 +#: postmaster/postmaster.c:1252 #, c-format msgid "ending log output to stderr" msgstr "terminazione dell'output del log su stderr" -#: postmaster/postmaster.c:1249 +#: postmaster/postmaster.c:1253 #, c-format msgid "Future log output will go to log destination \"%s\"." msgstr "L'output dei prossimi log andrà su \"%s\"." -#: postmaster/postmaster.c:1275 utils/init/postinit.c:213 +#: postmaster/postmaster.c:1279 utils/init/postinit.c:213 #, c-format msgid "could not load pg_hba.conf" msgstr "caricamento di pg_hba.conf fallito" -#: postmaster/postmaster.c:1301 +#: postmaster/postmaster.c:1305 #, c-format msgid "postmaster became multithreaded during startup" msgstr "il postmaster è diventato multithread durante l'avvio" -#: postmaster/postmaster.c:1302 +#: postmaster/postmaster.c:1306 #, c-format msgid "Set the LC_ALL environment variable to a valid locale." msgstr "Imposta la variabile d'ambiente LC_ALL non corrisponde ad un locale valido." -#: postmaster/postmaster.c:1399 +#: postmaster/postmaster.c:1403 #, c-format msgid "%s: could not locate matching postgres executable" msgstr "%s: eseguibile postgres corrispondente non trovato" -#: postmaster/postmaster.c:1422 utils/misc/tzparser.c:341 +#: postmaster/postmaster.c:1426 utils/misc/tzparser.c:341 #, c-format msgid "This may indicate an incomplete PostgreSQL installation, or that the file \"%s\" has been moved away from its proper location." msgstr "Questo potrebbe indicare una installazione di PostgreSQL incompleta, o che il file \"%s\" sia stato spostato dalla sua posizione corretta." -#: postmaster/postmaster.c:1450 +#: postmaster/postmaster.c:1454 #, c-format msgid "data directory \"%s\" does not exist" msgstr "la directory dei dati \"%s\" non esiste" -#: postmaster/postmaster.c:1455 +#: postmaster/postmaster.c:1459 #, c-format msgid "could not read permissions of directory \"%s\": %m" msgstr "lettura dei permessi della directory \"%s\" fallita: %m" -#: postmaster/postmaster.c:1463 +#: postmaster/postmaster.c:1467 #, c-format msgid "specified data directory \"%s\" is not a directory" msgstr "la directory dei dati specificata \"%s\" non è una directory" -#: postmaster/postmaster.c:1479 +#: postmaster/postmaster.c:1483 #, c-format msgid "data directory \"%s\" has wrong ownership" msgstr "la directory dei dati \"%s\" ha il proprietario errato" -#: postmaster/postmaster.c:1481 +#: postmaster/postmaster.c:1485 #, c-format msgid "The server must be started by the user that owns the data directory." msgstr "Il server deve essere avviato dall'utente che possiede la directory dei dati." -#: postmaster/postmaster.c:1501 +#: postmaster/postmaster.c:1505 #, c-format msgid "data directory \"%s\" has group or world access" msgstr "la directory dei dati \"%s\" è accessibile dal gruppo o da tutti" -#: postmaster/postmaster.c:1503 +#: postmaster/postmaster.c:1507 #, c-format msgid "Permissions should be u=rwx (0700)." msgstr "I permessi dovrebbero essere u=rwx (0700)." -#: postmaster/postmaster.c:1514 +#: postmaster/postmaster.c:1518 #, c-format msgid "" "%s: could not find the database system\n" @@ -14407,365 +14248,375 @@ "Sarebbe dovuto essere nella directory \"%s\",\n" "ma l'apertura del file \"%s\" è fallita: %s\n" -#: postmaster/postmaster.c:1691 +#: postmaster/postmaster.c:1695 #, c-format msgid "select() failed in postmaster: %m" msgstr "select() fallita in postmaster: %m" -#: postmaster/postmaster.c:1842 +#: postmaster/postmaster.c:1850 #, c-format msgid "performing immediate shutdown because data directory lock file is invalid" msgstr "arresto immediato perché il file di lock della directory dati non è valido" -#: postmaster/postmaster.c:1920 postmaster/postmaster.c:1951 +#: postmaster/postmaster.c:1928 postmaster/postmaster.c:1959 #, c-format msgid "incomplete startup packet" msgstr "pacchetto di avvio incompleto" -#: postmaster/postmaster.c:1932 +#: postmaster/postmaster.c:1940 #, c-format msgid "invalid length of startup packet" msgstr "dimensione del pacchetto di avvio non valida" -#: postmaster/postmaster.c:1990 +#: postmaster/postmaster.c:1998 #, c-format msgid "failed to send SSL negotiation response: %m" msgstr "invio della risposta di negoziazione SSL fallito: %m" -#: postmaster/postmaster.c:2019 +#: postmaster/postmaster.c:2027 #, c-format msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u" msgstr "protocollo frontend non supportato %u.%u: il server supporta da %u.0 a %u.%u" -#: postmaster/postmaster.c:2082 utils/misc/guc.c:5660 utils/misc/guc.c:5753 +#: postmaster/postmaster.c:2090 utils/misc/guc.c:5660 utils/misc/guc.c:5753 #: utils/misc/guc.c:7051 utils/misc/guc.c:9805 utils/misc/guc.c:9839 #, c-format msgid "invalid value for parameter \"%s\": \"%s\"" msgstr "valore non valido per il parametro \"%s\": \"%s\"" -#: postmaster/postmaster.c:2085 +#: postmaster/postmaster.c:2093 #, c-format msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"." msgstr "I valori validi sono: \"false\", 0, \"true\", 1, \"database\"." -#: postmaster/postmaster.c:2105 +#: postmaster/postmaster.c:2113 #, c-format msgid "invalid startup packet layout: expected terminator as last byte" msgstr "formato del pacchetto di avvio non valido: atteso il terminatore all'ultimo byte" -#: postmaster/postmaster.c:2133 +#: postmaster/postmaster.c:2141 #, c-format msgid "no PostgreSQL user name specified in startup packet" msgstr "nessun utente PostgreSQL specificato nel pacchetto di avvio" -#: postmaster/postmaster.c:2192 +#: postmaster/postmaster.c:2200 #, c-format msgid "the database system is starting up" msgstr "il database si sta avviando" -#: postmaster/postmaster.c:2197 +#: postmaster/postmaster.c:2205 #, c-format msgid "the database system is shutting down" msgstr "il database si sta spegnendo" -#: postmaster/postmaster.c:2202 +#: postmaster/postmaster.c:2210 #, c-format msgid "the database system is in recovery mode" msgstr "il database è in modalità di ripristino" -#: postmaster/postmaster.c:2207 storage/ipc/procarray.c:297 +#: postmaster/postmaster.c:2215 storage/ipc/procarray.c:298 #: storage/ipc/sinvaladt.c:298 storage/lmgr/proc.c:340 #, c-format msgid "sorry, too many clients already" msgstr "spiacente, troppi client già connessi" -#: postmaster/postmaster.c:2269 +#: postmaster/postmaster.c:2277 #, c-format msgid "wrong key in cancel request for process %d" msgstr "chiave sbagliata nella richiesta di annullamento per il processo %d" -#: postmaster/postmaster.c:2277 +#: postmaster/postmaster.c:2285 #, c-format msgid "PID %d in cancel request did not match any process" msgstr "il PID %d nella richiesta di annullamento non corrisponde ad alcun processo" -#: postmaster/postmaster.c:2497 +#: postmaster/postmaster.c:2505 #, c-format msgid "received SIGHUP, reloading configuration files" msgstr "SIGHUP ricevuto, sto ricaricando i file di configurazione" -#: postmaster/postmaster.c:2522 +#: postmaster/postmaster.c:2530 #, c-format msgid "pg_hba.conf not reloaded" msgstr "pg_hba.conf non è stato ricaricato" -#: postmaster/postmaster.c:2526 +#: postmaster/postmaster.c:2534 #, c-format msgid "pg_ident.conf not reloaded" msgstr "pg_ident.conf non è stato ricaricato" -#: postmaster/postmaster.c:2567 +#: postmaster/postmaster.c:2575 #, c-format msgid "received smart shutdown request" msgstr "richiesta di arresto smart ricevuta" -#: postmaster/postmaster.c:2622 +#: postmaster/postmaster.c:2630 #, c-format msgid "received fast shutdown request" msgstr "richiesta di arresto fast ricevuta" -#: postmaster/postmaster.c:2652 +#: postmaster/postmaster.c:2660 #, c-format msgid "aborting any active transactions" msgstr "interruzione di tutte le transazioni attive" -#: postmaster/postmaster.c:2686 +#: postmaster/postmaster.c:2694 #, c-format msgid "received immediate shutdown request" msgstr "richiesta di arresto immediate ricevuta" -#: postmaster/postmaster.c:2750 +#: postmaster/postmaster.c:2758 #, c-format msgid "shutdown at recovery target" msgstr "arresto alla destinazione di recupero" -#: postmaster/postmaster.c:2766 postmaster/postmaster.c:2789 +#: postmaster/postmaster.c:2774 postmaster/postmaster.c:2797 msgid "startup process" msgstr "avvio del processo" -#: postmaster/postmaster.c:2769 +#: postmaster/postmaster.c:2777 #, c-format msgid "aborting startup due to startup process failure" msgstr "avvio interrotto a causa del fallimento del processo di avvio" -#: postmaster/postmaster.c:2830 +#: postmaster/postmaster.c:2838 #, c-format msgid "database system is ready to accept connections" msgstr "il database è pronto ad accettare connessioni" -#: postmaster/postmaster.c:2849 +#: postmaster/postmaster.c:2857 msgid "background writer process" msgstr "processo di scrittura in background" -#: postmaster/postmaster.c:2903 +#: postmaster/postmaster.c:2911 msgid "checkpointer process" msgstr "processo di creazione checkpoint" -#: postmaster/postmaster.c:2919 +#: postmaster/postmaster.c:2927 msgid "WAL writer process" msgstr "processo di scrittura WAL" -#: postmaster/postmaster.c:2933 +#: postmaster/postmaster.c:2942 msgid "WAL receiver process" msgstr "processo di ricezione WAL" -#: postmaster/postmaster.c:2948 +#: postmaster/postmaster.c:2957 msgid "autovacuum launcher process" msgstr "processo del lanciatore di autovacuum" -#: postmaster/postmaster.c:2963 +#: postmaster/postmaster.c:2972 msgid "archiver process" msgstr "processo di archiviazione" -#: postmaster/postmaster.c:2979 +#: postmaster/postmaster.c:2988 msgid "statistics collector process" msgstr "processo del raccoglitore di statistiche" -#: postmaster/postmaster.c:2993 +#: postmaster/postmaster.c:3002 msgid "system logger process" msgstr "processo del logger di sistema" -#: postmaster/postmaster.c:3055 +#: postmaster/postmaster.c:3064 msgid "worker process" msgstr "processo di lavoro" -#: postmaster/postmaster.c:3138 postmaster/postmaster.c:3158 -#: postmaster/postmaster.c:3165 postmaster/postmaster.c:3183 +#: postmaster/postmaster.c:3147 postmaster/postmaster.c:3167 +#: postmaster/postmaster.c:3174 postmaster/postmaster.c:3192 msgid "server process" msgstr "processo del server" -#: postmaster/postmaster.c:3237 +#: postmaster/postmaster.c:3246 #, c-format msgid "terminating any other active server processes" msgstr "interruzione di tutti gli altri processi attivi del server" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3493 +#: postmaster/postmaster.c:3502 #, c-format msgid "%s (PID %d) exited with exit code %d" msgstr "%s (PID %d) è uscito con codice di uscita %d" -#: postmaster/postmaster.c:3495 postmaster/postmaster.c:3506 -#: postmaster/postmaster.c:3517 postmaster/postmaster.c:3526 -#: postmaster/postmaster.c:3536 +#: postmaster/postmaster.c:3504 postmaster/postmaster.c:3515 +#: postmaster/postmaster.c:3526 postmaster/postmaster.c:3535 +#: postmaster/postmaster.c:3545 #, c-format msgid "Failed process was running: %s" msgstr "Il processo fallito stava eseguendo: %s" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3503 +#: postmaster/postmaster.c:3512 #, c-format msgid "%s (PID %d) was terminated by exception 0x%X" msgstr "%s (PID %d) è stato terminato dall'eccezione 0x%X" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3513 +#: postmaster/postmaster.c:3522 #, c-format msgid "%s (PID %d) was terminated by signal %d: %s" msgstr "%s (PID %d) è stato terminato dal segnale %d: %s" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3524 +#: postmaster/postmaster.c:3533 #, c-format msgid "%s (PID %d) was terminated by signal %d" msgstr "%s (PID %d) è stato terminato dal segnale %d" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3534 +#: postmaster/postmaster.c:3543 #, c-format msgid "%s (PID %d) exited with unrecognized status %d" msgstr "%s (PID %d) uscito con stato sconosciuto %d" -#: postmaster/postmaster.c:3721 +#: postmaster/postmaster.c:3730 #, c-format msgid "abnormal database system shutdown" msgstr "spegnimento anormale del database" -#: postmaster/postmaster.c:3761 +#: postmaster/postmaster.c:3770 #, c-format msgid "all server processes terminated; reinitializing" msgstr "tutti i processi server sono terminati; re-inizializzazione" -#: postmaster/postmaster.c:3973 +#: postmaster/postmaster.c:3982 #, c-format msgid "could not fork new process for connection: %m" msgstr "fork del nuovo processo per la connessione fallito: %m" -#: postmaster/postmaster.c:4015 +#: postmaster/postmaster.c:4024 msgid "could not fork new process for connection: " msgstr "fork del nuovo processo per la connessione fallito: " -#: postmaster/postmaster.c:4129 +#: postmaster/postmaster.c:4138 #, c-format msgid "connection received: host=%s port=%s" msgstr "connessione ricevuta: host=%s porta=%s" -#: postmaster/postmaster.c:4134 +#: postmaster/postmaster.c:4143 #, c-format msgid "connection received: host=%s" msgstr "connessione ricevuta: host=%s" -#: postmaster/postmaster.c:4417 +#: postmaster/postmaster.c:4426 #, c-format msgid "could not execute server process \"%s\": %m" msgstr "esecuzione del processo del server \"%s\" fallita: %m" -#: postmaster/postmaster.c:4961 +#: postmaster/postmaster.c:4579 +#, c-format +msgid "giving up after too many tries to reserve shared memory" +msgstr "mi sono arreso dopo troppi tentativi di riservare memoria condivisa" + +#: postmaster/postmaster.c:4580 +#, c-format +msgid "This might be caused by ASLR or antivirus software." +msgstr "Ciò potrebbe essere causato da ASLR o software antivirus." + +#: postmaster/postmaster.c:4978 #, c-format msgid "database system is ready to accept read only connections" msgstr "il database è pronto ad accettare connessioni in sola lettura" -#: postmaster/postmaster.c:5252 +#: postmaster/postmaster.c:5267 #, c-format msgid "could not fork startup process: %m" msgstr "fork del processo di avvio fallito: %m" -#: postmaster/postmaster.c:5256 +#: postmaster/postmaster.c:5271 #, c-format msgid "could not fork background writer process: %m" msgstr "fork del processo di scrittura in background fallito: %m" -#: postmaster/postmaster.c:5260 +#: postmaster/postmaster.c:5275 #, c-format msgid "could not fork checkpointer process: %m" msgstr "fork del processo di creazione dei checkpoint fallito: %m" -#: postmaster/postmaster.c:5264 +#: postmaster/postmaster.c:5279 #, c-format msgid "could not fork WAL writer process: %m" msgstr "fork del processo di scrittura dei WAL fallito: %m" -#: postmaster/postmaster.c:5268 +#: postmaster/postmaster.c:5283 #, c-format msgid "could not fork WAL receiver process: %m" msgstr "fork del processo di ricezione dei WAL fallito: %m" -#: postmaster/postmaster.c:5272 +#: postmaster/postmaster.c:5287 #, c-format msgid "could not fork process: %m" msgstr "fork del processo fallito: %m" -#: postmaster/postmaster.c:5434 postmaster/postmaster.c:5457 +#: postmaster/postmaster.c:5467 postmaster/postmaster.c:5490 #, c-format msgid "database connection requirement not indicated during registration" msgstr "requisiti di connessione a database non indicati durante la registrazione" -#: postmaster/postmaster.c:5441 postmaster/postmaster.c:5464 +#: postmaster/postmaster.c:5474 postmaster/postmaster.c:5497 #, c-format msgid "invalid processing mode in background worker" msgstr "modalità di processo non valida nel processo di lavoro in background" -#: postmaster/postmaster.c:5536 +#: postmaster/postmaster.c:5569 #, c-format msgid "starting background worker process \"%s\"" msgstr "avvio del processo di lavoro in background \"%s\"" -#: postmaster/postmaster.c:5548 +#: postmaster/postmaster.c:5581 #, c-format msgid "could not fork worker process: %m" msgstr "fork del processo di lavoro in background fallito: %m" -#: postmaster/postmaster.c:5965 +#: postmaster/postmaster.c:5998 #, c-format msgid "could not duplicate socket %d for use in backend: error code %d" msgstr "duplicazione del socket %d da usare nel backend fallita: codice errore %d" -#: postmaster/postmaster.c:5997 +#: postmaster/postmaster.c:6030 #, c-format msgid "could not create inherited socket: error code %d\n" msgstr "creazione del socket ereditato fallita: codice errore %d\n" -#: postmaster/postmaster.c:6026 +#: postmaster/postmaster.c:6059 #, c-format msgid "could not open backend variables file \"%s\": %s\n" msgstr "apertura del file delle variabili del backend \"%s\" fallita: %s\n" -#: postmaster/postmaster.c:6033 +#: postmaster/postmaster.c:6066 #, c-format msgid "could not read from backend variables file \"%s\": %s\n" msgstr "lettura dal file delle variabili del backend \"%s\" fallita: %s\n" -#: postmaster/postmaster.c:6042 +#: postmaster/postmaster.c:6075 #, c-format msgid "could not remove file \"%s\": %s\n" msgstr "rimozione del file \"%s\" fallita: %s\n" -#: postmaster/postmaster.c:6059 +#: postmaster/postmaster.c:6092 #, c-format msgid "could not map view of backend variables: error code %lu\n" msgstr "non è stato possibile mappare la vista delle variabili del backend: codice errore %lu\n" -#: postmaster/postmaster.c:6068 +#: postmaster/postmaster.c:6101 #, c-format msgid "could not unmap view of backend variables: error code %lu\n" msgstr "non è stato possibile rimuovere la mappa della vista delle variabili del backend: codice errore %lu\n" -#: postmaster/postmaster.c:6075 +#: postmaster/postmaster.c:6108 #, c-format msgid "could not close handle to backend parameter variables: error code %lu\n" msgstr "chiusura dell'handle dei parametri variabili del backend fallita: codice errore %lu\n" -#: postmaster/postmaster.c:6236 +#: postmaster/postmaster.c:6269 #, c-format msgid "could not read exit code for process\n" msgstr "lettura del codice di uscita del processo fallita\n" -#: postmaster/postmaster.c:6241 +#: postmaster/postmaster.c:6274 #, c-format msgid "could not post child completion status\n" msgstr "invio dello stato di completamento del figlio fallito\n" @@ -14965,19 +14816,20 @@ msgid "invalid socket: %s" msgstr "socket non valido: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:426 storage/ipc/latch.c:1343 +#: replication/libpqwalreceiver/libpqwalreceiver.c:426 +#: storage/ipc/latch.c:1343 #, c-format msgid "select() failed: %m" msgstr "select() fallita: %m" -#: replication/libpqwalreceiver/libpqwalreceiver.c:549 -#: replication/libpqwalreceiver/libpqwalreceiver.c:576 +#: replication/libpqwalreceiver/libpqwalreceiver.c:555 #: replication/libpqwalreceiver/libpqwalreceiver.c:582 +#: replication/libpqwalreceiver/libpqwalreceiver.c:588 #, c-format msgid "could not receive data from WAL stream: %s" msgstr "ricezione dati dallo stream WAL fallita: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:601 +#: replication/libpqwalreceiver/libpqwalreceiver.c:607 #, c-format msgid "could not send data to WAL stream: %s" msgstr "invio dati allo stream WAL fallito: %s" @@ -15083,86 +14935,96 @@ msgid "cannot manipulate replication origins during recovery" msgstr "non è possibile manipolare le origini di replica durante il recupero" -#: replication/logical/origin.c:316 +#: replication/logical/origin.c:226 +#, c-format +msgid "replication origin \"%s\" does not exist" +msgstr "l'origine di replica \"%s\" non esiste" + +#: replication/logical/origin.c:318 #, c-format msgid "could not find free replication origin OID" msgstr "non è stato trovato alcun OID di origine di replica libero" -#: replication/logical/origin.c:353 +#: replication/logical/origin.c:355 #, c-format msgid "could not drop replication origin with OID %d, in use by PID %d" msgstr "impossibile eliminare l'origine di replica con OID %d, in uso dal pid %d" -#: replication/logical/origin.c:674 +#: replication/logical/origin.c:429 +#, c-format +msgid "replication origin with OID %u does not exist" +msgstr "l'origine di replica con OID %u non esiste" + +#: replication/logical/origin.c:678 #, c-format msgid "replication checkpoint has wrong magic %u instead of %u" msgstr "il checkpoint di replica ha numero magico sbagliato %u invece di %u" -#: replication/logical/origin.c:706 +#: replication/logical/origin.c:710 #, c-format msgid "could not read file \"%s\": read %d of %zu" msgstr "lettura del file \"%s\" fallita: letti %d di %zu" -#: replication/logical/origin.c:715 +#: replication/logical/origin.c:719 #, c-format msgid "could not find free replication state, increase max_replication_slots" msgstr "nessuno stato di replica libero trovato, incrementa \"max_replication_slots\"" -#: replication/logical/origin.c:733 +#: replication/logical/origin.c:737 #, c-format msgid "replication slot checkpoint has wrong checksum %u, expected %u" msgstr "il checkpoint dello slot di replica ha il checksum sbagliato %u, atteso %u" -#: replication/logical/origin.c:857 +#: replication/logical/origin.c:861 #, c-format msgid "replication origin with OID %d is already active for PID %d" msgstr "l'origine di replica con OID %d è già attiva per il PID %d" -#: replication/logical/origin.c:868 replication/logical/origin.c:1048 +#: replication/logical/origin.c:872 replication/logical/origin.c:1052 #, c-format msgid "could not find free replication state slot for replication origin with OID %u" msgstr "nessuno slot di stato di replica trovato per l'origine di replica con OID %u" -#: replication/logical/origin.c:870 replication/logical/origin.c:1050 +#: replication/logical/origin.c:874 replication/logical/origin.c:1054 #: replication/slot.c:1316 #, c-format msgid "Increase max_replication_slots and try again." msgstr "Incrementa max_replication_slots e prova di nuovo." -#: replication/logical/origin.c:1007 +#: replication/logical/origin.c:1011 #, c-format msgid "cannot setup replication origin when one is already setup" msgstr "non è possibile impostare l'origine di replica quando una è già impostata" -#: replication/logical/origin.c:1036 +#: replication/logical/origin.c:1040 #, c-format msgid "replication identifier %d is already active for PID %d" msgstr "l'identificativo di replica %d è già attivo per il PID %d" -#: replication/logical/origin.c:1082 replication/logical/origin.c:1277 -#: replication/logical/origin.c:1297 +#: replication/logical/origin.c:1086 replication/logical/origin.c:1281 +#: replication/logical/origin.c:1301 #, c-format msgid "no replication origin is configured" msgstr "nessuna origine di replica configurata" -#: replication/logical/reorderbuffer.c:2330 +#: replication/logical/reorderbuffer.c:2331 #, c-format msgid "could not write to data file for XID %u: %m" msgstr "scrittura nel file di dati per lo XID %u non riuscita: %m" -#: replication/logical/reorderbuffer.c:2426 -#: replication/logical/reorderbuffer.c:2446 +#: replication/logical/reorderbuffer.c:2427 +#: replication/logical/reorderbuffer.c:2447 #, c-format msgid "could not read from reorderbuffer spill file: %m" msgstr "lettura dal file spill reorderbuffer non riuscita: %m" -#: replication/logical/reorderbuffer.c:2430 -#: replication/logical/reorderbuffer.c:2450 +#: replication/logical/reorderbuffer.c:2431 +#: replication/logical/reorderbuffer.c:2451 #, c-format msgid "could not read from reorderbuffer spill file: read %d instead of %u bytes" msgstr "lettura dal file spill reorderbuffer non riuscita: letti %d byte invece di %u" -#: replication/logical/reorderbuffer.c:3106 +#: replication/logical/reorderbuffer.c:3107 #, c-format msgid "could not read from file \"%s\": read %d instead of %d bytes" msgstr "lettura dal file \"%s\" non riuscita: letti %d byte invece di %d" @@ -15341,22 +15203,22 @@ msgid "canceling wait for synchronous replication due to user request" msgstr "annullamento dell'attesa di replica sincrona su richiesta utente" -#: replication/syncrep.c:368 +#: replication/syncrep.c:371 #, c-format msgid "standby \"%s\" now has synchronous standby priority %u" msgstr "lo standby \"%s\" ha ora priorità di standby sincrono %u" -#: replication/syncrep.c:428 +#: replication/syncrep.c:431 #, c-format msgid "standby \"%s\" is now a synchronous standby with priority %u" msgstr "lo standby \"%s\" è ora uno standby sincrono con priorità %u" -#: replication/syncrep.c:921 +#: replication/syncrep.c:931 #, c-format msgid "synchronous_standby_names parser failed" msgstr "interpretazione di synchronous_standby_names non riuscita" -#: replication/syncrep.c:927 +#: replication/syncrep.c:937 #, c-format msgid "number of synchronous standbys (%d) must be greater than zero" msgstr "il numero di standby sincroni (%d) deve essere maggiore di zero" @@ -15366,127 +15228,132 @@ msgid "terminating walreceiver process due to administrator command" msgstr "interruzione del processo walreceiver su comando dell'amministratore" -#: replication/walreceiver.c:344 +#: replication/walreceiver.c:349 #, c-format msgid "highest timeline %u of the primary is behind recovery timeline %u" msgstr "la timeline massima %u del primario è dietro la timeline di recupero %u" -#: replication/walreceiver.c:377 +#: replication/walreceiver.c:382 #, c-format msgid "started streaming WAL from primary at %X/%X on timeline %u" msgstr "streaming WAL avviato dal primario a %X/%X sulla timeline %u" -#: replication/walreceiver.c:382 +#: replication/walreceiver.c:387 #, c-format msgid "restarted WAL streaming at %X/%X on timeline %u" msgstr "streaming WAL riavviato sulla timeline %X/%X sulla timeline %u" -#: replication/walreceiver.c:411 +#: replication/walreceiver.c:416 #, c-format msgid "cannot continue WAL streaming, recovery has already ended" msgstr "non è possibile continuare lo streaming dei WAL, il recupero è già terminato" -#: replication/walreceiver.c:448 +#: replication/walreceiver.c:453 #, c-format msgid "replication terminated by primary server" msgstr "replica terminata dal server primario" -#: replication/walreceiver.c:449 +#: replication/walreceiver.c:454 #, c-format msgid "End of WAL reached on timeline %u at %X/%X." msgstr "Fine del WAL raggiunta sulla timeline %u a %X/%X." -#: replication/walreceiver.c:543 +#: replication/walreceiver.c:548 #, c-format msgid "terminating walreceiver due to timeout" msgstr "walreceiver terminato a causa di timeout" -#: replication/walreceiver.c:583 +#: replication/walreceiver.c:588 #, c-format msgid "primary server contains no more WAL on requested timeline %u" msgstr "il server primario non contiene più alcun WAL sulla timeline richiesta %u" -#: replication/walreceiver.c:598 replication/walreceiver.c:957 +#: replication/walreceiver.c:603 replication/walreceiver.c:962 #, c-format msgid "could not close log segment %s: %m" msgstr "chiusura del segmento di log %s fallita: %m" -#: replication/walreceiver.c:722 +#: replication/walreceiver.c:727 #, c-format msgid "fetching timeline history file for timeline %u from primary server" msgstr "recupero del file di storia della timeline %u dal server primario" -#: replication/walreceiver.c:1011 +#: replication/walreceiver.c:1016 #, c-format msgid "could not write to log segment %s at offset %u, length %lu: %m" msgstr "scrittura nel segmento di log %s in posizione %u, lunghezza %lu fallita: %m" -#: replication/walsender.c:485 +#: replication/walsender.c:490 #, c-format msgid "could not seek to beginning of file \"%s\": %m" msgstr "spostamento all'inizio del file \"%s\" fallito: %m" -#: replication/walsender.c:536 +#: replication/walsender.c:541 #, c-format msgid "cannot use a logical replication slot for physical replication" msgstr "non si può usare una slot di replica logico per la replica fisica" -#: replication/walsender.c:599 +#: replication/walsender.c:604 #, c-format msgid "requested starting point %X/%X on timeline %u is not in this server's history" msgstr "il punto di avvio richiesto %X/%X sulla timeline %u non è nella storia di questo server" -#: replication/walsender.c:603 +#: replication/walsender.c:608 #, c-format msgid "This server's history forked from timeline %u at %X/%X." msgstr "La storia di questo server si è separata dalla timeline %u a %X/%X." -#: replication/walsender.c:648 +#: replication/walsender.c:653 #, c-format msgid "requested starting point %X/%X is ahead of the WAL flush position of this server %X/%X" msgstr "il punto di avvio richiesto %X/%X è più avanti della posizione di flush del WAL %X/%X di questo server" -#: replication/walsender.c:973 +#: replication/walsender.c:977 #, c-format msgid "terminating walsender process after promotion" msgstr "interruzione del processo walsender dopo la promozione" -#: replication/walsender.c:1299 +#: replication/walsender.c:1333 +#, c-format +msgid "cannot execute new commands while WAL sender is in stopping mode" +msgstr "non è possibile eseguire nuovi comandi mentre WAL sender è in modalità di arresto" + +#: replication/walsender.c:1341 #, c-format msgid "received replication command: %s" msgstr "ricevuto comando di replica: %s" -#: replication/walsender.c:1398 replication/walsender.c:1414 +#: replication/walsender.c:1440 replication/walsender.c:1456 #, c-format msgid "unexpected EOF on standby connection" msgstr "fine del file inaspettato sulla connessione di standby" -#: replication/walsender.c:1428 +#: replication/walsender.c:1470 #, c-format msgid "unexpected standby message type \"%c\", after receiving CopyDone" msgstr "tipo di messaggio di standby \"%c\" imprevisto, dopo la ricezione di CopyDone" -#: replication/walsender.c:1466 +#: replication/walsender.c:1508 #, c-format msgid "invalid standby message type \"%c\"" msgstr "tipo di messaggio \"%c\" di standby non valido" -#: replication/walsender.c:1507 +#: replication/walsender.c:1549 #, c-format msgid "unexpected message type \"%c\"" msgstr "tipo di messaggio \"%c\" inatteso" -#: replication/walsender.c:1791 +#: replication/walsender.c:1833 #, c-format msgid "terminating walsender process due to replication timeout" msgstr "interruzione del processo walsender a causa di timeout di replica" -#: replication/walsender.c:1876 +#: replication/walsender.c:1919 #, c-format msgid "standby \"%s\" has now caught up with primary" msgstr "lo standby \"%s\" ha ora raggiunto il primario" -#: replication/walsender.c:1979 +#: replication/walsender.c:2022 #, c-format msgid "number of requested standby connections exceeds max_wal_senders (currently %d)" msgstr "il numero di richieste di connessioni di standby supera max_wal_senders (attualmente %d)" @@ -15697,152 +15564,152 @@ msgid "cannot have RETURNING lists in multiple rules" msgstr "non è possibile avere liste RETURNING in più di una regola" -#: rewrite/rewriteHandler.c:928 rewrite/rewriteHandler.c:946 +#: rewrite/rewriteHandler.c:949 rewrite/rewriteHandler.c:967 #, c-format msgid "multiple assignments to same column \"%s\"" msgstr "più di un assegnamento alla stessa colonna \"%s\"" -#: rewrite/rewriteHandler.c:1721 rewrite/rewriteHandler.c:3331 +#: rewrite/rewriteHandler.c:1752 rewrite/rewriteHandler.c:3362 #, c-format msgid "infinite recursion detected in rules for relation \"%s\"" msgstr "ricorsione infinita individuata nelle regole per la relazione \"%s\"" -#: rewrite/rewriteHandler.c:1806 +#: rewrite/rewriteHandler.c:1837 #, c-format msgid "infinite recursion detected in policy for relation \"%s\"" msgstr "ricorsione infinita individuata nella regola di sicurezza per la relazione \"%s\"" -#: rewrite/rewriteHandler.c:2123 +#: rewrite/rewriteHandler.c:2154 msgid "Junk view columns are not updatable." msgstr "Le colonne junk di una vista non sono aggiornabili." -#: rewrite/rewriteHandler.c:2128 +#: rewrite/rewriteHandler.c:2159 msgid "View columns that are not columns of their base relation are not updatable." msgstr "Le colonne di vista che non sono colonne della loro relazione di base non sono aggiornabili." -#: rewrite/rewriteHandler.c:2131 +#: rewrite/rewriteHandler.c:2162 msgid "View columns that refer to system columns are not updatable." msgstr "Le colonne di vista che si riferiscono a colonne di sistema non sono aggiornabili." -#: rewrite/rewriteHandler.c:2134 +#: rewrite/rewriteHandler.c:2165 msgid "View columns that return whole-row references are not updatable." msgstr "Le colonne di vista che restituiscono riferimenti a righe intere non sono aggiornabili." -#: rewrite/rewriteHandler.c:2192 +#: rewrite/rewriteHandler.c:2223 msgid "Views containing DISTINCT are not automatically updatable." msgstr "Le viste contenenti DISTINCT non sono aggiornabili automaticamente." -#: rewrite/rewriteHandler.c:2195 +#: rewrite/rewriteHandler.c:2226 msgid "Views containing GROUP BY are not automatically updatable." msgstr "Le viste contenenti GROUP BY non sono aggiornabili automaticamente." -#: rewrite/rewriteHandler.c:2198 +#: rewrite/rewriteHandler.c:2229 msgid "Views containing HAVING are not automatically updatable." msgstr "Le viste contenenti HAVING non sono aggiornabili automaticamente." -#: rewrite/rewriteHandler.c:2201 +#: rewrite/rewriteHandler.c:2232 msgid "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable." msgstr "Le viste che contengono UNION, INTERSECT o EXCEPT non sono automaticamente aggiornabili." -#: rewrite/rewriteHandler.c:2204 +#: rewrite/rewriteHandler.c:2235 msgid "Views containing WITH are not automatically updatable." msgstr "Le viste contenenti WITH non sono aggiornabili automaticamente." -#: rewrite/rewriteHandler.c:2207 +#: rewrite/rewriteHandler.c:2238 msgid "Views containing LIMIT or OFFSET are not automatically updatable." msgstr "Le viste contenenti LIMIT o OFFSET non sono aggiornabili automaticamente." -#: rewrite/rewriteHandler.c:2219 +#: rewrite/rewriteHandler.c:2250 msgid "Views that return aggregate functions are not automatically updatable." msgstr "Le viste che restituiscono funzioni di aggregazione non sono aggiornabili automaticamente." -#: rewrite/rewriteHandler.c:2222 +#: rewrite/rewriteHandler.c:2253 msgid "Views that return window functions are not automatically updatable." msgstr "Le viste che restituiscono funzioni finestra non sono aggiornabili automaticamente." -#: rewrite/rewriteHandler.c:2225 +#: rewrite/rewriteHandler.c:2256 msgid "Views that return set-returning functions are not automatically updatable." msgstr "Le viste che restituiscono funzioni insieme non sono aggiornabili automaticamente" -#: rewrite/rewriteHandler.c:2232 rewrite/rewriteHandler.c:2236 -#: rewrite/rewriteHandler.c:2243 +#: rewrite/rewriteHandler.c:2263 rewrite/rewriteHandler.c:2267 +#: rewrite/rewriteHandler.c:2274 msgid "Views that do not select from a single table or view are not automatically updatable." msgstr "Le viste che non leggono da una singola tabella o vista non sono aggiornabili automaticamente." -#: rewrite/rewriteHandler.c:2246 +#: rewrite/rewriteHandler.c:2277 msgid "Views containing TABLESAMPLE are not automatically updatable." msgstr "Le viste che contengono TABLESAMPLE non sono automaticamente aggiornabili." -#: rewrite/rewriteHandler.c:2270 +#: rewrite/rewriteHandler.c:2301 msgid "Views that have no updatable columns are not automatically updatable." msgstr "Le viste che non hanno colonne aggiornabili non sono automaticamente aggiornabili." -#: rewrite/rewriteHandler.c:2724 +#: rewrite/rewriteHandler.c:2755 #, c-format msgid "cannot insert into column \"%s\" of view \"%s\"" msgstr "non si può inserire nella colonna \"%s\" della vista \"%s\"" -#: rewrite/rewriteHandler.c:2732 +#: rewrite/rewriteHandler.c:2763 #, c-format msgid "cannot update column \"%s\" of view \"%s\"" msgstr "non si può modificare la colonna \"%s\" della vista \"%s\"" -#: rewrite/rewriteHandler.c:3130 +#: rewrite/rewriteHandler.c:3161 #, c-format msgid "DO INSTEAD NOTHING rules are not supported for data-modifying statements in WITH" msgstr "le regole DO INSTEAD NOTHING non sono supportate per istruzioni di modifica dei dati nel WITH" -#: rewrite/rewriteHandler.c:3144 +#: rewrite/rewriteHandler.c:3175 #, c-format msgid "conditional DO INSTEAD rules are not supported for data-modifying statements in WITH" msgstr "le regole DO INSTEAD NOTHING condizionali non sono supportate per istruzioni di modifica dei dati nel WITH" -#: rewrite/rewriteHandler.c:3148 +#: rewrite/rewriteHandler.c:3179 #, c-format msgid "DO ALSO rules are not supported for data-modifying statements in WITH" msgstr "le regole DO ALSO non sono supportate per istruzioni di modifica dei dati nel WITH" -#: rewrite/rewriteHandler.c:3153 +#: rewrite/rewriteHandler.c:3184 #, c-format msgid "multi-statement DO INSTEAD rules are not supported for data-modifying statements in WITH" msgstr "le regole DO INSTEAD multi-istruzione non sono supportate per istruzioni di modifica dei dati nel WITH" -#: rewrite/rewriteHandler.c:3368 +#: rewrite/rewriteHandler.c:3399 #, c-format msgid "cannot perform INSERT RETURNING on relation \"%s\"" msgstr "non è possibile eseguire INSERT RETURNING sulla relazione \"%s\"" -#: rewrite/rewriteHandler.c:3370 +#: rewrite/rewriteHandler.c:3401 #, c-format msgid "You need an unconditional ON INSERT DO INSTEAD rule with a RETURNING clause." msgstr "È necessaria una regola ON INSERT DO INSTEAD non condizionale con una clausola RETURNING." -#: rewrite/rewriteHandler.c:3375 +#: rewrite/rewriteHandler.c:3406 #, c-format msgid "cannot perform UPDATE RETURNING on relation \"%s\"" msgstr "non è possibile eseguire UPDATE RETURNING sulla relazione \"%s\"" -#: rewrite/rewriteHandler.c:3377 +#: rewrite/rewriteHandler.c:3408 #, c-format msgid "You need an unconditional ON UPDATE DO INSTEAD rule with a RETURNING clause." msgstr "È necessaria una regola ON UPDATE DO INSTEAD non condizionale con una clausola RETURNING." -#: rewrite/rewriteHandler.c:3382 +#: rewrite/rewriteHandler.c:3413 #, c-format msgid "cannot perform DELETE RETURNING on relation \"%s\"" msgstr "non è possibile eseguire DELETE RETURNING sulla relazione \"%s\"" -#: rewrite/rewriteHandler.c:3384 +#: rewrite/rewriteHandler.c:3415 #, c-format msgid "You need an unconditional ON DELETE DO INSTEAD rule with a RETURNING clause." msgstr "È necessaria una regola ON DELETE DO INSTEAD non condizionale con una clausola RETURNING." -#: rewrite/rewriteHandler.c:3402 +#: rewrite/rewriteHandler.c:3433 #, c-format msgid "INSERT with ON CONFLICT clause cannot be used with table that has INSERT or UPDATE rules" msgstr "INSERT con clausola ON CONFLICT non può essere usato in tabelle con una regola su INSERT o UPDATE" -#: rewrite/rewriteHandler.c:3459 +#: rewrite/rewriteHandler.c:3490 #, c-format msgid "WITH cannot be used in a query that is rewritten by rules into multiple queries" msgstr "WITH non può essere usato in una query che viene riscritta da regole in più di una query" @@ -16049,54 +15916,54 @@ msgid "too many dynamic shared memory segments" msgstr "troppi segmenti di memoria dinamica condivisa" -#: storage/ipc/dsm_impl.c:261 storage/ipc/dsm_impl.c:361 -#: storage/ipc/dsm_impl.c:533 storage/ipc/dsm_impl.c:648 -#: storage/ipc/dsm_impl.c:819 storage/ipc/dsm_impl.c:961 +#: storage/ipc/dsm_impl.c:262 storage/ipc/dsm_impl.c:363 +#: storage/ipc/dsm_impl.c:580 storage/ipc/dsm_impl.c:695 +#: storage/ipc/dsm_impl.c:866 storage/ipc/dsm_impl.c:1008 #, c-format msgid "could not unmap shared memory segment \"%s\": %m" msgstr "unmap del segmento di memoria condivisa \"%s\" fallito: %m" -#: storage/ipc/dsm_impl.c:271 storage/ipc/dsm_impl.c:543 -#: storage/ipc/dsm_impl.c:658 storage/ipc/dsm_impl.c:829 +#: storage/ipc/dsm_impl.c:272 storage/ipc/dsm_impl.c:590 +#: storage/ipc/dsm_impl.c:705 storage/ipc/dsm_impl.c:876 #, c-format msgid "could not remove shared memory segment \"%s\": %m" msgstr "rimozione del segmento di memoria condivisa \"%s\" fallito: %m" -#: storage/ipc/dsm_impl.c:292 storage/ipc/dsm_impl.c:729 -#: storage/ipc/dsm_impl.c:843 +#: storage/ipc/dsm_impl.c:293 storage/ipc/dsm_impl.c:776 +#: storage/ipc/dsm_impl.c:890 #, c-format msgid "could not open shared memory segment \"%s\": %m" msgstr "apertura del segmento di memoria condivisa \"%s\" fallito: %m" -#: storage/ipc/dsm_impl.c:316 storage/ipc/dsm_impl.c:559 -#: storage/ipc/dsm_impl.c:774 storage/ipc/dsm_impl.c:867 +#: storage/ipc/dsm_impl.c:317 storage/ipc/dsm_impl.c:606 +#: storage/ipc/dsm_impl.c:821 storage/ipc/dsm_impl.c:914 #, c-format msgid "could not stat shared memory segment \"%s\": %m" msgstr "lettura informazioni sul segmento di memoria condivisa \"%s\" fallito: %m" -#: storage/ipc/dsm_impl.c:335 storage/ipc/dsm_impl.c:886 -#: storage/ipc/dsm_impl.c:934 +#: storage/ipc/dsm_impl.c:337 storage/ipc/dsm_impl.c:933 +#: storage/ipc/dsm_impl.c:981 #, c-format msgid "could not resize shared memory segment \"%s\" to %zu bytes: %m" msgstr "ridimensionamento del segmento di memoria condivisa \"%s\" a %zu byte fallito: %m" -#: storage/ipc/dsm_impl.c:385 storage/ipc/dsm_impl.c:580 -#: storage/ipc/dsm_impl.c:750 storage/ipc/dsm_impl.c:985 +#: storage/ipc/dsm_impl.c:387 storage/ipc/dsm_impl.c:627 +#: storage/ipc/dsm_impl.c:797 storage/ipc/dsm_impl.c:1032 #, c-format msgid "could not map shared memory segment \"%s\": %m" msgstr "map del segmento di memoria condivisa \"%s\" fallito: %m" -#: storage/ipc/dsm_impl.c:515 +#: storage/ipc/dsm_impl.c:562 #, c-format msgid "could not get shared memory segment: %m" msgstr "impossibile ottenere un segmento di memoria condivisa: %m" -#: storage/ipc/dsm_impl.c:714 +#: storage/ipc/dsm_impl.c:761 #, c-format msgid "could not create shared memory segment \"%s\": %m" msgstr "creazione del segmento di memoria condivisa \"%s\" fallito: %m" -#: storage/ipc/dsm_impl.c:1026 +#: storage/ipc/dsm_impl.c:1073 #, c-format msgid "could not duplicate handle for \"%s\": %m" msgstr "duplicazione dell'handle per \"%s\" fallita: %m" @@ -16119,9 +15986,9 @@ #: storage/ipc/shm_toc.c:108 storage/ipc/shm_toc.c:189 storage/ipc/shmem.c:212 #: storage/lmgr/lock.c:883 storage/lmgr/lock.c:917 storage/lmgr/lock.c:2682 #: storage/lmgr/lock.c:4007 storage/lmgr/lock.c:4072 storage/lmgr/lock.c:4364 -#: storage/lmgr/predicate.c:2329 storage/lmgr/predicate.c:2344 -#: storage/lmgr/predicate.c:3736 storage/lmgr/predicate.c:4879 -#: storage/lmgr/proc.c:203 utils/hash/dynahash.c:1043 +#: storage/lmgr/predicate.c:2344 storage/lmgr/predicate.c:2359 +#: storage/lmgr/predicate.c:3751 storage/lmgr/predicate.c:4894 +#: storage/lmgr/proc.c:203 utils/hash/dynahash.c:1042 #, c-format msgid "out of shared memory" msgstr "memoria condivisa esaurita" @@ -16146,12 +16013,12 @@ msgid "requested shared memory size overflows size_t" msgstr "la dimensione richiesta di memoria condivisa supera size_t" -#: storage/ipc/standby.c:530 tcop/postgres.c:2976 +#: storage/ipc/standby.c:530 tcop/postgres.c:2972 #, c-format msgid "canceling statement due to conflict with recovery" msgstr "annullamento dell'istruzione a causa di un conflitto con il ripristino" -#: storage/ipc/standby.c:531 tcop/postgres.c:2263 +#: storage/ipc/standby.c:531 tcop/postgres.c:2255 #, c-format msgid "User transaction caused buffer deadlock with recovery." msgstr "La transazione utente ha causato un deadlock del buffer con il ripristino." @@ -16312,87 +16179,87 @@ msgid "cannot PREPARE while holding both session-level and transaction-level locks on the same object" msgstr "non è possibile eseguire PREPARE tenendo sia lock a livello di sessione che di transazione sullo stesso oggetto" -#: storage/lmgr/predicate.c:675 +#: storage/lmgr/predicate.c:677 #, c-format msgid "not enough elements in RWConflictPool to record a read/write conflict" msgstr "elementi non sufficienti in RWConflictPool per registrare un conflitto di lettura/scrittura" -#: storage/lmgr/predicate.c:676 storage/lmgr/predicate.c:704 +#: storage/lmgr/predicate.c:678 storage/lmgr/predicate.c:706 #, c-format msgid "You might need to run fewer transactions at a time or increase max_connections." msgstr "Potrebbe essere necessario eseguire meno transazioni per volta oppure incrementare max_connections." -#: storage/lmgr/predicate.c:703 +#: storage/lmgr/predicate.c:705 #, c-format msgid "not enough elements in RWConflictPool to record a potential read/write conflict" msgstr "elementi non sufficienti in RWConflictPool per registrare un potenziale conflitto di lettura/scrittura" -#: storage/lmgr/predicate.c:909 +#: storage/lmgr/predicate.c:912 #, c-format msgid "memory for serializable conflict tracking is nearly exhausted" msgstr "la memoria per il tracciamento dei conflitti di serializzazione è quasi esaurita" -#: storage/lmgr/predicate.c:910 +#: storage/lmgr/predicate.c:913 #, c-format msgid "There might be an idle transaction or a forgotten prepared transaction causing this." msgstr "Ciò potrebbe essere causato da una transazione inattiva o una transazione preparata dimenticata." -#: storage/lmgr/predicate.c:1190 storage/lmgr/predicate.c:1261 +#: storage/lmgr/predicate.c:1207 storage/lmgr/predicate.c:1279 #, c-format msgid "not enough shared memory for elements of data structure \"%s\" (%zu bytes requested)" msgstr "memoria condivisa non sufficiente per gli elementi della struttura di dati \"%s\" (%zu byte richiesti)" -#: storage/lmgr/predicate.c:1549 +#: storage/lmgr/predicate.c:1564 #, c-format msgid "deferrable snapshot was unsafe; trying a new one" msgstr "lo snapshot deferibile era insicuro; ne sto provando uno nuovo" -#: storage/lmgr/predicate.c:1588 +#: storage/lmgr/predicate.c:1603 #, c-format msgid "\"default_transaction_isolation\" is set to \"serializable\"." msgstr "\"default_transaction_isolation\" è impostato a \"serializable\"." -#: storage/lmgr/predicate.c:1589 +#: storage/lmgr/predicate.c:1604 #, c-format msgid "You can use \"SET default_transaction_isolation = 'repeatable read'\" to change the default." msgstr "Puoi usare \"SET default_transaction_isolation = 'repeatable read'\" per cambiare il valore predefinito." -#: storage/lmgr/predicate.c:1628 +#: storage/lmgr/predicate.c:1643 #, c-format msgid "a snapshot-importing transaction must not be READ ONLY DEFERRABLE" msgstr "una transazione che importa uno snapshot non può essere READ ONLY DEFERRABLE" -#: storage/lmgr/predicate.c:1706 utils/time/snapmgr.c:617 +#: storage/lmgr/predicate.c:1721 utils/time/snapmgr.c:617 #: utils/time/snapmgr.c:623 #, c-format msgid "could not import the requested snapshot" msgstr "non è stato possibile importare lo snapshot richiesto" -#: storage/lmgr/predicate.c:1707 utils/time/snapmgr.c:624 +#: storage/lmgr/predicate.c:1722 utils/time/snapmgr.c:624 #, c-format msgid "The source transaction %u is not running anymore." msgstr "La transazione di origine %u non è più in esecuzione." -#: storage/lmgr/predicate.c:2330 storage/lmgr/predicate.c:2345 -#: storage/lmgr/predicate.c:3737 +#: storage/lmgr/predicate.c:2345 storage/lmgr/predicate.c:2360 +#: storage/lmgr/predicate.c:3752 #, c-format msgid "You might need to increase max_pred_locks_per_transaction." msgstr "Potrebbe essere necessario incrementare max_pred_locks_per_transaction." -#: storage/lmgr/predicate.c:3891 storage/lmgr/predicate.c:3980 -#: storage/lmgr/predicate.c:3988 storage/lmgr/predicate.c:4027 -#: storage/lmgr/predicate.c:4266 storage/lmgr/predicate.c:4603 -#: storage/lmgr/predicate.c:4615 storage/lmgr/predicate.c:4657 -#: storage/lmgr/predicate.c:4695 +#: storage/lmgr/predicate.c:3906 storage/lmgr/predicate.c:3995 +#: storage/lmgr/predicate.c:4003 storage/lmgr/predicate.c:4042 +#: storage/lmgr/predicate.c:4281 storage/lmgr/predicate.c:4618 +#: storage/lmgr/predicate.c:4630 storage/lmgr/predicate.c:4672 +#: storage/lmgr/predicate.c:4710 #, c-format msgid "could not serialize access due to read/write dependencies among transactions" msgstr "serializzazione dell'accesso fallita a causa di dipendenze di lettura/scrittura tra le transazioni" -#: storage/lmgr/predicate.c:3893 storage/lmgr/predicate.c:3982 -#: storage/lmgr/predicate.c:3990 storage/lmgr/predicate.c:4029 -#: storage/lmgr/predicate.c:4268 storage/lmgr/predicate.c:4605 -#: storage/lmgr/predicate.c:4617 storage/lmgr/predicate.c:4659 -#: storage/lmgr/predicate.c:4697 +#: storage/lmgr/predicate.c:3908 storage/lmgr/predicate.c:3997 +#: storage/lmgr/predicate.c:4005 storage/lmgr/predicate.c:4044 +#: storage/lmgr/predicate.c:4283 storage/lmgr/predicate.c:4620 +#: storage/lmgr/predicate.c:4632 storage/lmgr/predicate.c:4674 +#: storage/lmgr/predicate.c:4712 #, c-format msgid "The transaction might succeed if retried." msgstr "La transazione potrebbe riuscire se ritentata." @@ -16460,15 +16327,15 @@ msgid "corrupted item lengths: total %u, available space %u" msgstr "lunghezza dell'elemento corrotta: totale %u, spazio disponibile %u" -#: storage/page/bufpage.c:756 storage/page/bufpage.c:892 +#: storage/page/bufpage.c:756 #, c-format msgid "corrupted item pointer: offset = %u, size = %u" msgstr "puntatore di elemento corrotto: offset = %u, size = %u" -#: storage/page/bufpage.c:997 +#: storage/page/bufpage.c:892 storage/page/bufpage.c:997 #, c-format msgid "corrupted item pointer: offset = %u, length = %u" -msgstr "puntatore di elemento corrotto: offset = %u, lunghezza = %u" +msgstr "puntatore di elemeno corrotto: offset = %u, lunghezza = %u" #: storage/smgr/md.c:449 storage/smgr/md.c:971 #, c-format @@ -16555,9 +16422,9 @@ msgid "invalid argument size %d in function call message" msgstr "La dimensione dell'argomento %d non è valida nel messaggi di chiamata di funzione" -#: tcop/fastpath.c:281 tcop/postgres.c:992 tcop/postgres.c:1301 -#: tcop/postgres.c:1559 tcop/postgres.c:1964 tcop/postgres.c:2331 -#: tcop/postgres.c:2406 +#: tcop/fastpath.c:281 tcop/postgres.c:984 tcop/postgres.c:1293 +#: tcop/postgres.c:1551 tcop/postgres.c:1956 tcop/postgres.c:2323 +#: tcop/postgres.c:2398 #, c-format msgid "current transaction is aborted, commands ignored until end of transaction block" msgstr "la transazione corrente è interrotta, i comandi saranno ignorati fino alla fine del blocco della transazione" @@ -16567,8 +16434,8 @@ msgid "fastpath function call: \"%s\" (OID %u)" msgstr "chiamata funzione fastpath: \"%s\" (OID %u)" -#: tcop/fastpath.c:391 tcop/postgres.c:1163 tcop/postgres.c:1426 -#: tcop/postgres.c:1805 tcop/postgres.c:2022 +#: tcop/fastpath.c:391 tcop/postgres.c:1155 tcop/postgres.c:1418 +#: tcop/postgres.c:1797 tcop/postgres.c:2014 #, c-format msgid "duration: %s ms" msgstr "durata: %s ms" @@ -16593,271 +16460,271 @@ msgid "incorrect binary data format in function argument %d" msgstr "formato dei dati binari non corretto nell'argomento %d della funzione" -#: tcop/postgres.c:352 tcop/postgres.c:388 tcop/postgres.c:415 +#: tcop/postgres.c:344 tcop/postgres.c:380 tcop/postgres.c:407 #, c-format msgid "unexpected EOF on client connection" msgstr "fine file inaspettata nella connessione al client" -#: tcop/postgres.c:438 tcop/postgres.c:450 tcop/postgres.c:461 -#: tcop/postgres.c:473 tcop/postgres.c:4302 +#: tcop/postgres.c:430 tcop/postgres.c:442 tcop/postgres.c:453 +#: tcop/postgres.c:465 tcop/postgres.c:4298 #, c-format msgid "invalid frontend message type %d" msgstr "messaggio frontend di tipo %d non valido" -#: tcop/postgres.c:933 +#: tcop/postgres.c:925 #, c-format msgid "statement: %s" msgstr "istruzione: %s" -#: tcop/postgres.c:1168 +#: tcop/postgres.c:1160 #, c-format msgid "duration: %s ms statement: %s" msgstr "durata: %s ms istruzione: %s" -#: tcop/postgres.c:1218 +#: tcop/postgres.c:1210 #, c-format msgid "parse %s: %s" msgstr "analisi di %s: %s" -#: tcop/postgres.c:1274 +#: tcop/postgres.c:1266 #, c-format msgid "cannot insert multiple commands into a prepared statement" msgstr "non è possibile inserire comandi multipli in una istruzione preparata" -#: tcop/postgres.c:1431 +#: tcop/postgres.c:1423 #, c-format msgid "duration: %s ms parse %s: %s" msgstr "durata: %s ms analisi di %s: %s" -#: tcop/postgres.c:1476 +#: tcop/postgres.c:1468 #, c-format msgid "bind %s to %s" msgstr "bind di %s a %s" -#: tcop/postgres.c:1495 tcop/postgres.c:2312 +#: tcop/postgres.c:1487 tcop/postgres.c:2304 #, c-format msgid "unnamed prepared statement does not exist" msgstr "l'istruzione preparata senza nome non esiste" -#: tcop/postgres.c:1537 +#: tcop/postgres.c:1529 #, c-format msgid "bind message has %d parameter formats but %d parameters" msgstr "il messaggio di bind ha %d formati di parametri ma %d parametri" -#: tcop/postgres.c:1543 +#: tcop/postgres.c:1535 #, c-format msgid "bind message supplies %d parameters, but prepared statement \"%s\" requires %d" msgstr "il messaggio di bind fornisce %d paramatri, ma l'istruzione preparata \"%s\" ne richiede %d" -#: tcop/postgres.c:1712 +#: tcop/postgres.c:1704 #, c-format msgid "incorrect binary data format in bind parameter %d" msgstr "formato del dato binario errato nel parametro di bind %d" -#: tcop/postgres.c:1810 +#: tcop/postgres.c:1802 #, c-format msgid "duration: %s ms bind %s%s%s: %s" msgstr "durata: %s ms bind %s%s%s: %s" -#: tcop/postgres.c:1858 tcop/postgres.c:2392 +#: tcop/postgres.c:1850 tcop/postgres.c:2384 #, c-format msgid "portal \"%s\" does not exist" msgstr "il portale \"%s\" non esiste" -#: tcop/postgres.c:1943 +#: tcop/postgres.c:1935 #, c-format msgid "%s %s%s%s: %s" msgstr "%s %s%s%s: %s" -#: tcop/postgres.c:1945 tcop/postgres.c:2030 +#: tcop/postgres.c:1937 tcop/postgres.c:2022 msgid "execute fetch from" msgstr "esecuzione di fetch da" -#: tcop/postgres.c:1946 tcop/postgres.c:2031 +#: tcop/postgres.c:1938 tcop/postgres.c:2023 msgid "execute" msgstr "esecuzione di" -#: tcop/postgres.c:2027 +#: tcop/postgres.c:2019 #, c-format msgid "duration: %s ms %s %s%s%s: %s" msgstr "durata: %s ms %s %s%s%s: %s" -#: tcop/postgres.c:2153 +#: tcop/postgres.c:2145 #, c-format msgid "prepare: %s" msgstr "preparazione: %s" -#: tcop/postgres.c:2216 +#: tcop/postgres.c:2208 #, c-format msgid "parameters: %s" msgstr "parametri: %s" -#: tcop/postgres.c:2235 +#: tcop/postgres.c:2227 #, c-format msgid "abort reason: recovery conflict" msgstr "motivo dell'interruzione: conflitto di recupero" -#: tcop/postgres.c:2251 +#: tcop/postgres.c:2243 #, c-format msgid "User was holding shared buffer pin for too long." msgstr "L'utente stava trattenendo un pin di shared buffer troppo a lungo." -#: tcop/postgres.c:2254 +#: tcop/postgres.c:2246 #, c-format msgid "User was holding a relation lock for too long." msgstr "L'utente stava trattenendo un lock di relazione troppo a lungo." -#: tcop/postgres.c:2257 +#: tcop/postgres.c:2249 #, c-format msgid "User was or might have been using tablespace that must be dropped." msgstr "L'utente stava usando o potrebbe aver usato un tablespace che deve essere eliminato." -#: tcop/postgres.c:2260 +#: tcop/postgres.c:2252 #, c-format msgid "User query might have needed to see row versions that must be removed." msgstr "L'utente potrebbe aver avuto bisogno di vedere versioni di righe che devono essere rimosse." -#: tcop/postgres.c:2266 +#: tcop/postgres.c:2258 #, c-format msgid "User was connected to a database that must be dropped." msgstr "L'utente era connesso ad un database che deve essere eliminato." -#: tcop/postgres.c:2595 +#: tcop/postgres.c:2587 #, c-format msgid "terminating connection because of crash of another server process" msgstr "la connessione è stata terminata a causa del crash di un altro processo del server" -#: tcop/postgres.c:2596 +#: tcop/postgres.c:2588 #, c-format msgid "The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory." msgstr "Il postmaster ha obbligato questo processo del server di attuare il roll back della transazione corrente e di uscire, perché un altro processo del server è terminato anormalmente e con possibile corruzione della memoria condivisa." -#: tcop/postgres.c:2600 tcop/postgres.c:2904 +#: tcop/postgres.c:2592 tcop/postgres.c:2902 #, c-format msgid "In a moment you should be able to reconnect to the database and repeat your command." msgstr "In un momento sarai in grado di riconnetterti al database e di ripetere il comando." -#: tcop/postgres.c:2686 +#: tcop/postgres.c:2678 #, c-format msgid "floating-point exception" msgstr "eccezione floating-point" -#: tcop/postgres.c:2687 +#: tcop/postgres.c:2679 #, c-format msgid "An invalid floating-point operation was signaled. This probably means an out-of-range result or an invalid operation, such as division by zero." msgstr "Un'operazione in floating-point non valida è stata segnalata. Questo probabilmente sta a significare che il risultato è un valore fuori limite o l'operazione non è valida, ad esempio una divisione per zero." -#: tcop/postgres.c:2849 +#: tcop/postgres.c:2847 #, c-format msgid "canceling authentication due to timeout" msgstr "annullamento dell'autenticazione a causa di timeout" -#: tcop/postgres.c:2853 +#: tcop/postgres.c:2851 #, c-format msgid "terminating autovacuum process due to administrator command" msgstr "interruzione del processo autovacuum su comando dell'amministratore" -#: tcop/postgres.c:2859 tcop/postgres.c:2869 tcop/postgres.c:2902 +#: tcop/postgres.c:2857 tcop/postgres.c:2867 tcop/postgres.c:2900 #, c-format msgid "terminating connection due to conflict with recovery" msgstr "interruzione della connessione a causa di conflitto con il ripristino" -#: tcop/postgres.c:2875 +#: tcop/postgres.c:2873 #, c-format msgid "terminating connection due to administrator command" msgstr "interruzione della connessione su comando dell'amministratore" -#: tcop/postgres.c:2885 +#: tcop/postgres.c:2883 #, c-format msgid "connection to client lost" msgstr "connessione al client persa" -#: tcop/postgres.c:2953 +#: tcop/postgres.c:2949 #, c-format msgid "canceling statement due to lock timeout" msgstr "annullamento dell'istruzione a causa di timeout di lock" -#: tcop/postgres.c:2960 +#: tcop/postgres.c:2956 #, c-format msgid "canceling statement due to statement timeout" msgstr "annullamento dell'istruzione a causa di timeout" -#: tcop/postgres.c:2967 +#: tcop/postgres.c:2963 #, c-format msgid "canceling autovacuum task" msgstr "annullamento del task di autovacuum" -#: tcop/postgres.c:2990 +#: tcop/postgres.c:2986 #, c-format msgid "canceling statement due to user request" msgstr "annullamento dell'istruzione su richiesta dell'utente" -#: tcop/postgres.c:3000 +#: tcop/postgres.c:2996 #, c-format msgid "terminating connection due to idle-in-transaction timeout" msgstr "la connessione è stata terminata a causa di timeout di inattività durante una transazione" -#: tcop/postgres.c:3114 +#: tcop/postgres.c:3110 #, c-format msgid "stack depth limit exceeded" msgstr "limite di profondità dello stack superato" -#: tcop/postgres.c:3115 +#: tcop/postgres.c:3111 #, c-format msgid "Increase the configuration parameter \"max_stack_depth\" (currently %dkB), after ensuring the platform's stack depth limit is adequate." msgstr "Incrementa il parametro di configurazione \"max_stack_depth\" (attualmente %dkB), dopo esserti assicurato che il limite dello stack della piattaforma sia adeguato." -#: tcop/postgres.c:3178 +#: tcop/postgres.c:3174 #, c-format msgid "\"max_stack_depth\" must not exceed %ldkB." msgstr "\"max_stack_depth\" non deve superare %ldkB" -#: tcop/postgres.c:3180 +#: tcop/postgres.c:3176 #, c-format msgid "Increase the platform's stack depth limit via \"ulimit -s\" or local equivalent." msgstr "Incrementa il limite dello stack della piattaforma usando \"ulimit -s\" on un comando equivalente." -#: tcop/postgres.c:3540 +#: tcop/postgres.c:3536 #, c-format msgid "invalid command-line argument for server process: %s" msgstr "argomento della riga di comando non valido per il processo server: %s" -#: tcop/postgres.c:3541 tcop/postgres.c:3547 +#: tcop/postgres.c:3537 tcop/postgres.c:3543 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Prova \"%s --help\" per maggiori informazioni." -#: tcop/postgres.c:3545 +#: tcop/postgres.c:3541 #, c-format msgid "%s: invalid command-line argument: %s" msgstr "%s: argomento della riga di comando non valido: %s" -#: tcop/postgres.c:3607 +#: tcop/postgres.c:3603 #, c-format msgid "%s: no database nor user name specified" msgstr "%s: nessun database né nome utente specificato" -#: tcop/postgres.c:4210 +#: tcop/postgres.c:4206 #, c-format msgid "invalid CLOSE message subtype %d" msgstr "sottotipo %d del messaggio CLOSE non valido" -#: tcop/postgres.c:4245 +#: tcop/postgres.c:4241 #, c-format msgid "invalid DESCRIBE message subtype %d" msgstr "sottotipo %d del messaggio DESCRIBE non valido" -#: tcop/postgres.c:4323 +#: tcop/postgres.c:4319 #, c-format msgid "fastpath function calls not supported in a replication connection" msgstr "le chiamate di funzione fastpath non sono supportate in una connessione di replica" -#: tcop/postgres.c:4327 +#: tcop/postgres.c:4323 #, c-format msgid "extended query protocol not supported in a replication connection" msgstr "il protocollo di query esteso non è supportato in una connessione di replica" -#: tcop/postgres.c:4497 +#: tcop/postgres.c:4493 #, c-format msgid "disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s host=%s%s%s" msgstr "disconnessione: tempo della sessione: %d:%02d:%02d.%03d utente=%s database=%s host=%s%s%s" @@ -17058,7 +16925,7 @@ msgstr "espressione regolare non valida: %s" #: tsearch/spell.c:954 tsearch/spell.c:971 tsearch/spell.c:988 -#: tsearch/spell.c:1005 tsearch/spell.c:1070 gram.y:14405 gram.y:14422 +#: tsearch/spell.c:1005 tsearch/spell.c:1070 gram.y:14414 gram.y:14431 #, c-format msgid "syntax error" msgstr "errore di sintassi" @@ -17088,7 +16955,8 @@ msgid "affix file contains both old-style and new-style commands" msgstr "il file affix contiene comandi sia vecchio stile che nuovo stile" -#: tsearch/to_tsany.c:170 utils/adt/tsvector.c:270 utils/adt/tsvector_op.c:1133 +#: tsearch/to_tsany.c:170 utils/adt/tsvector.c:270 +#: utils/adt/tsvector_op.c:1133 #, c-format msgid "string is too long for tsvector (%d bytes, max %d bytes)" msgstr "la stringa è troppo lunga per tsvector (%d byte, massimo %d byte)" @@ -17225,43 +17093,43 @@ msgid "extra garbage at the end of the ACL specification" msgstr "ci sono caratteri spuri al termine della specifica dell'ACL" -#: utils/adt/acl.c:1196 +#: utils/adt/acl.c:1198 #, c-format msgid "grant options cannot be granted back to your own grantor" msgstr "le opzioni di concessione non possono essere concesse a chi le ha concesse a te" -#: utils/adt/acl.c:1257 +#: utils/adt/acl.c:1259 #, c-format msgid "dependent privileges exist" msgstr "esistono privilegi dipendenti" -#: utils/adt/acl.c:1258 +#: utils/adt/acl.c:1260 #, c-format msgid "Use CASCADE to revoke them too." msgstr "Usa CASCADE per revocare anch'essi." -#: utils/adt/acl.c:1537 +#: utils/adt/acl.c:1539 #, c-format msgid "aclinsert is no longer supported" msgstr "aclinsert non è più supportato" -#: utils/adt/acl.c:1547 +#: utils/adt/acl.c:1549 #, c-format msgid "aclremove is no longer supported" msgstr "aclremove non è più supportato" -#: utils/adt/acl.c:1633 utils/adt/acl.c:1687 +#: utils/adt/acl.c:1635 utils/adt/acl.c:1689 #, c-format msgid "unrecognized privilege type: \"%s\"" msgstr "tipo di privilegio sconosciuto: \"%s\"" -#: utils/adt/acl.c:3427 utils/adt/regproc.c:123 utils/adt/regproc.c:144 -#: utils/adt/regproc.c:319 +#: utils/adt/acl.c:3429 utils/adt/regproc.c:124 utils/adt/regproc.c:145 +#: utils/adt/regproc.c:320 #, c-format msgid "function \"%s\" does not exist" msgstr "la funzione \"%s\" non esiste" -#: utils/adt/acl.c:4881 +#: utils/adt/acl.c:4883 #, c-format msgid "must be member of role \"%s\"" msgstr "occorre far parte del ruolo \"%s\"" @@ -17472,8 +17340,8 @@ #: utils/adt/arrayfuncs.c:2848 utils/adt/arrayfuncs.c:5740 #: utils/adt/arrayfuncs.c:5766 utils/adt/arrayfuncs.c:5777 #: utils/adt/json.c:2290 utils/adt/json.c:2365 utils/adt/jsonb.c:1369 -#: utils/adt/jsonb.c:1455 utils/adt/jsonfuncs.c:3529 utils/adt/jsonfuncs.c:3574 -#: utils/adt/jsonfuncs.c:3621 +#: utils/adt/jsonb.c:1455 utils/adt/jsonfuncs.c:3529 +#: utils/adt/jsonfuncs.c:3574 utils/adt/jsonfuncs.c:3621 #, c-format msgid "wrong number of array subscripts" msgstr "il numero di indici di array è errato" @@ -17617,8 +17485,9 @@ #: utils/adt/int.c:861 utils/adt/int.c:969 utils/adt/int.c:1058 #: utils/adt/int.c:1097 utils/adt/int.c:1125 utils/adt/int8.c:597 #: utils/adt/int8.c:657 utils/adt/int8.c:897 utils/adt/int8.c:1005 -#: utils/adt/int8.c:1094 utils/adt/int8.c:1202 utils/adt/numeric.c:6818 -#: utils/adt/numeric.c:7107 utils/adt/numeric.c:8120 utils/adt/timestamp.c:3542 +#: utils/adt/int8.c:1094 utils/adt/int8.c:1202 utils/adt/numeric.c:6828 +#: utils/adt/numeric.c:7117 utils/adt/numeric.c:8130 +#: utils/adt/timestamp.c:3542 #, c-format msgid "division by zero" msgstr "divisione per zero" @@ -17926,7 +17795,7 @@ msgid "smallint out of range" msgstr "il valore è fuori dall'intervallo consentito per il tipo smallint" -#: utils/adt/float.c:1430 utils/adt/numeric.c:7540 +#: utils/adt/float.c:1430 utils/adt/numeric.c:7550 #, c-format msgid "cannot take square root of a negative number" msgstr "non è possibile estrarre la radice quadrata di un numero negativo" @@ -17941,12 +17810,12 @@ msgid "a negative number raised to a non-integer power yields a complex result" msgstr "un numero negativo elevato a potenza non intera è un valore di tipo complesso" -#: utils/adt/float.c:1542 utils/adt/float.c:1572 utils/adt/numeric.c:7806 +#: utils/adt/float.c:1542 utils/adt/float.c:1572 utils/adt/numeric.c:7816 #, c-format msgid "cannot take logarithm of zero" msgstr "non è possibile calcolare il logaritmo di zero" -#: utils/adt/float.c:1546 utils/adt/float.c:1576 utils/adt/numeric.c:7810 +#: utils/adt/float.c:1546 utils/adt/float.c:1576 utils/adt/numeric.c:7820 #, c-format msgid "cannot take logarithm of a negative number" msgstr "non è possibile calcolare il logaritmo di un numero negativo" @@ -18338,7 +18207,7 @@ #: utils/adt/numutils.c:61 utils/adt/numutils.c:103 #, c-format msgid "invalid input syntax for integer: \"%s\"" -msgstr "sintassi di input non valida per il tipo integer: \"%s\"" +msgstr "sintassi di input non valida per un intero: \"%s\"" #: utils/adt/int8.c:114 #, c-format @@ -18476,15 +18345,12 @@ msgid "key value must be scalar, not array, composite, or json" msgstr "la chiave deve essere uno scalare, non array, composito né json" -#: utils/adt/json.c:2006 -#, c-format -msgid "could not determine data type for argument 1" -msgstr "impossibile determinare il tipo di dato per l'argomento 1" - -#: utils/adt/json.c:2016 +#: utils/adt/json.c:2006 utils/adt/json.c:2016 utils/adt/json.c:2142 +#: utils/adt/json.c:2163 utils/adt/json.c:2222 utils/adt/jsonb.c:1214 +#: utils/adt/jsonb.c:1237 utils/adt/jsonb.c:1297 #, c-format -msgid "could not determine data type for argument 2" -msgstr "impossibile determinare il tipo di dato per l'argomento 2" +msgid "could not determine data type for argument %d" +msgstr "impossibile determinare il tipo di dato per l'argomento %d" #: utils/adt/json.c:2040 utils/adt/jsonb.c:1781 #, c-format @@ -18501,11 +18367,6 @@ msgid "The arguments of json_build_object() must consist of alternating keys and values." msgstr "Gli argomenti di json_build_object() devono consistere in una serie alternata di chiavi e valori." -#: utils/adt/json.c:2142 utils/adt/json.c:2163 utils/adt/json.c:2222 -#, c-format -msgid "could not determine data type for argument %d" -msgstr "impossibile determinare il tipo di dato per l'argomento %d" - #: utils/adt/json.c:2148 #, c-format msgid "argument %d cannot be null" @@ -18552,11 +18413,6 @@ msgid "argument %d: key must not be null" msgstr "argomento %d: la chiave non può essere null" -#: utils/adt/jsonb.c:1214 utils/adt/jsonb.c:1237 utils/adt/jsonb.c:1297 -#, c-format -msgid "argument %d: could not determine data type" -msgstr "argomento %d: impossibile determinare il tipo di dati" - #: utils/adt/jsonb.c:1834 #, c-format msgid "object keys must be strings" @@ -18933,8 +18789,8 @@ msgid "cannot subtract inet values of different sizes" msgstr "non è possibile sottrarre valori di tipo inet di dimensione diversa" -#: utils/adt/numeric.c:542 utils/adt/numeric.c:569 utils/adt/numeric.c:5405 -#: utils/adt/numeric.c:5428 utils/adt/numeric.c:5452 +#: utils/adt/numeric.c:542 utils/adt/numeric.c:569 utils/adt/numeric.c:5415 +#: utils/adt/numeric.c:5438 utils/adt/numeric.c:5462 #, c-format msgid "invalid input syntax for type numeric: \"%s\"" msgstr "la sintassi di input non è valida per il tipo numeric: \"%s\"" @@ -18984,9 +18840,9 @@ msgid "step size cannot be NaN" msgstr "la dimensione dell'intervallo non può essere NaN" -#: utils/adt/numeric.c:2539 utils/adt/numeric.c:5467 utils/adt/numeric.c:5912 -#: utils/adt/numeric.c:7616 utils/adt/numeric.c:8041 utils/adt/numeric.c:8156 -#: utils/adt/numeric.c:8229 +#: utils/adt/numeric.c:2539 utils/adt/numeric.c:5477 utils/adt/numeric.c:5922 +#: utils/adt/numeric.c:7626 utils/adt/numeric.c:8051 utils/adt/numeric.c:8166 +#: utils/adt/numeric.c:8239 #, c-format msgid "value overflows numeric format" msgstr "il valore causa un overflow nel formato numeric" @@ -19006,17 +18862,22 @@ msgid "cannot convert NaN to smallint" msgstr "non è possibile convertire NaN in uno smallint" -#: utils/adt/numeric.c:5982 +#: utils/adt/numeric.c:3029 utils/adt/numeric.c:3096 +#, c-format +msgid "cannot convert infinity to numeric" +msgstr "non è possibile convertire infinity in numeric" + +#: utils/adt/numeric.c:5992 #, c-format msgid "numeric field overflow" msgstr "il campo numeric causa un overflow" -#: utils/adt/numeric.c:5983 +#: utils/adt/numeric.c:5993 #, c-format msgid "A field with precision %d, scale %d must round to an absolute value less than %s%d." msgstr "Un campo con precisione %d e %d cifre decimali deve arrotondarsi ad un valore assoluto inferiore a %s%d." -#: utils/adt/numeric.c:6254 utils/adt/numeric.c:6280 +#: utils/adt/numeric.c:6264 utils/adt/numeric.c:6290 #, c-format msgid "invalid input syntax for type double precision: \"%s\"" msgstr "la sintassi in input per il tipo double precision non è valida: \"%s\"" @@ -19353,60 +19214,60 @@ msgid "regexp_split does not support the global option" msgstr "l'opzione global (g) non è supportata per regexp_split" -#: utils/adt/regproc.c:128 utils/adt/regproc.c:148 +#: utils/adt/regproc.c:129 utils/adt/regproc.c:149 #, c-format msgid "more than one function named \"%s\"" msgstr "più di una funzione si chiama \"%s\"" -#: utils/adt/regproc.c:587 utils/adt/regproc.c:607 +#: utils/adt/regproc.c:588 utils/adt/regproc.c:608 #, c-format msgid "more than one operator named %s" msgstr "più di un operatore si chiama %s" -#: utils/adt/regproc.c:774 utils/adt/regproc.c:815 gram.y:7302 +#: utils/adt/regproc.c:775 utils/adt/regproc.c:816 gram.y:7311 #, c-format msgid "missing argument" msgstr "argomento mancante" -#: utils/adt/regproc.c:775 utils/adt/regproc.c:816 gram.y:7303 +#: utils/adt/regproc.c:776 utils/adt/regproc.c:817 gram.y:7312 #, c-format msgid "Use NONE to denote the missing argument of a unary operator." msgstr "Usa NONE per indicare l'argomento mancante in un operatore unario." -#: utils/adt/regproc.c:779 utils/adt/regproc.c:820 utils/adt/regproc.c:2006 -#: utils/adt/ruleutils.c:8367 utils/adt/ruleutils.c:8536 +#: utils/adt/regproc.c:780 utils/adt/regproc.c:821 utils/adt/regproc.c:2007 +#: utils/adt/ruleutils.c:8453 utils/adt/ruleutils.c:8622 #, c-format msgid "too many arguments" msgstr "troppi argomenti" -#: utils/adt/regproc.c:780 utils/adt/regproc.c:821 +#: utils/adt/regproc.c:781 utils/adt/regproc.c:822 #, c-format msgid "Provide two argument types for operator." msgstr "Fornisci due tipi di argomento per l'operatore." -#: utils/adt/regproc.c:1594 utils/adt/regproc.c:1618 utils/adt/regproc.c:1715 -#: utils/adt/regproc.c:1739 utils/adt/regproc.c:1841 utils/adt/regproc.c:1846 +#: utils/adt/regproc.c:1595 utils/adt/regproc.c:1619 utils/adt/regproc.c:1716 +#: utils/adt/regproc.c:1740 utils/adt/regproc.c:1842 utils/adt/regproc.c:1847 #: utils/adt/varlena.c:3084 utils/adt/varlena.c:3089 #, c-format msgid "invalid name syntax" msgstr "la sintassi per il nome non è valida" -#: utils/adt/regproc.c:1904 +#: utils/adt/regproc.c:1905 #, c-format msgid "expected a left parenthesis" msgstr "era attesa un parentesi tonda aperta" -#: utils/adt/regproc.c:1920 +#: utils/adt/regproc.c:1921 #, c-format msgid "expected a right parenthesis" msgstr "era attesa un parentesi tonda chiusa" -#: utils/adt/regproc.c:1939 +#: utils/adt/regproc.c:1940 #, c-format msgid "expected a type name" msgstr "era atteso il nome di un tipo" -#: utils/adt/regproc.c:1971 +#: utils/adt/regproc.c:1972 #, c-format msgid "improper type name" msgstr "il nome del tipo non è corretto" @@ -19417,7 +19278,7 @@ #: utils/adt/ri_triggers.c:1515 utils/adt/ri_triggers.c:1691 #: utils/adt/ri_triggers.c:1871 utils/adt/ri_triggers.c:2062 #: utils/adt/ri_triggers.c:2120 utils/adt/ri_triggers.c:2225 -#: utils/adt/ri_triggers.c:2402 gram.y:3343 +#: utils/adt/ri_triggers.c:2402 gram.y:3351 #, c-format msgid "MATCH PARTIAL not yet implemented" msgstr "il MATCH PARTIAL non è stato ancora implementato" @@ -19539,19 +19400,19 @@ msgid "improper binary format in record column %d" msgstr "il formato binario nella colonna %d del record non è corretto" -#: utils/adt/rowtypes.c:902 utils/adt/rowtypes.c:1142 utils/adt/rowtypes.c:1396 -#: utils/adt/rowtypes.c:1673 +#: utils/adt/rowtypes.c:902 utils/adt/rowtypes.c:1142 +#: utils/adt/rowtypes.c:1396 utils/adt/rowtypes.c:1673 #, c-format msgid "cannot compare dissimilar column types %s and %s at record column %d" msgstr "non è possibile confrontare i tipi di colonne dissimili %s e %s alla colonna %d del record" -#: utils/adt/rowtypes.c:991 utils/adt/rowtypes.c:1213 utils/adt/rowtypes.c:1529 -#: utils/adt/rowtypes.c:1769 +#: utils/adt/rowtypes.c:991 utils/adt/rowtypes.c:1213 +#: utils/adt/rowtypes.c:1529 utils/adt/rowtypes.c:1769 #, c-format msgid "cannot compare record types with different numbers of columns" msgstr "non è possibile confrontare tipi di record con diverso numero di colonne" -#: utils/adt/ruleutils.c:4289 +#: utils/adt/ruleutils.c:4297 #, c-format msgid "rule \"%s\" has unsupported event type %d" msgstr "la regola \"%s\" ha un tipo di evento non supportato %d" @@ -20275,12 +20136,12 @@ msgid "could not close relation mapping file \"%s\": %m" msgstr "chiusura del file della mappa delle relazioni \"%s\" fallita: %m" -#: utils/cache/typcache.c:1207 +#: utils/cache/typcache.c:1257 #, c-format msgid "type %s is not composite" msgstr "il tipo %s non è composito" -#: utils/cache/typcache.c:1221 +#: utils/cache/typcache.c:1271 #, c-format msgid "record type has not been registered" msgstr "il tipo del record non è stato registrato" @@ -22576,6 +22437,12 @@ msgid "query-specified return tuple and function return type are not compatible" msgstr "la tupla che la query specifica e il tipo restituito dalla funzione non sono compatibili" +#. translator: %d.%02ds is system CPU time, %d.%02du is user CPU time +#: utils/misc/pg_rusage.c:66 +#, c-format +msgid "CPU %d.%02ds/%d.%02du sec elapsed %d.%02d sec" +msgstr "CPU %d.%02ds/%d.%02du sec passati %d.%02d sec" + #: utils/misc/rls.c:127 #, c-format msgid "query would be affected by row-level security policy for table \"%s\"" @@ -22704,17 +22571,17 @@ msgid "cannot have more than %d runs for an external sort" msgstr "non è possibile avere più di %d esecuzioni per un sort esterno" -#: utils/sort/tuplesort.c:4474 +#: utils/sort/tuplesort.c:4479 #, c-format msgid "could not create unique index \"%s\"" msgstr "creazione dell'indice univoco \"%s\" fallita" -#: utils/sort/tuplesort.c:4476 +#: utils/sort/tuplesort.c:4481 #, c-format msgid "Key %s is duplicated." msgstr "La chiave %s è duplicata." -#: utils/sort/tuplesort.c:4477 +#: utils/sort/tuplesort.c:4482 #, c-format msgid "Duplicate keys exist." msgstr "Esistono chiavi duplicate." @@ -22795,248 +22662,248 @@ msgid "unrecognized role option \"%s\"" msgstr "opzione di ruolo \"%s\" sconosciuta" -#: gram.y:1278 gram.y:1293 +#: gram.y:1286 gram.y:1301 #, c-format msgid "CREATE SCHEMA IF NOT EXISTS cannot include schema elements" msgstr "CREATE SCHEMA IF NOT EXISTS non può includere elementi dello schema" -#: gram.y:1438 +#: gram.y:1446 #, c-format msgid "current database cannot be changed" msgstr "il database corrente non può essere cambiato" -#: gram.y:1562 +#: gram.y:1570 #, c-format msgid "time zone interval must be HOUR or HOUR TO MINUTE" msgstr "l'intervallo della time zone deve essere HOUR o HOUR TO MINUTE" -#: gram.y:2600 gram.y:2629 +#: gram.y:2608 gram.y:2637 #, c-format msgid "STDIN/STDOUT not allowed with PROGRAM" msgstr "STDIN/STDOUT non sono consentiti con PROGRAM" -#: gram.y:2895 gram.y:2902 gram.y:10295 gram.y:10303 +#: gram.y:2903 gram.y:2910 gram.y:10304 gram.y:10312 #, c-format msgid "GLOBAL is deprecated in temporary table creation" msgstr "GLOBAL è deprecato nella creazione di tabelle temporanee" -#: gram.y:4809 +#: gram.y:4818 msgid "duplicate trigger events specified" msgstr "evento del trigger specificato più volte" -#: gram.y:4909 +#: gram.y:4918 #, c-format msgid "conflicting constraint properties" msgstr "proprietà del vincolo in conflitto" -#: gram.y:5041 +#: gram.y:5050 #, c-format msgid "CREATE ASSERTION is not yet implemented" msgstr "CREATE ASSERTION non è stata ancora implementata" -#: gram.y:5057 +#: gram.y:5066 #, c-format msgid "DROP ASSERTION is not yet implemented" msgstr "DROP ASSERTION non è stata ancora implementata" -#: gram.y:5403 +#: gram.y:5412 #, c-format msgid "RECHECK is no longer required" msgstr "RECHECK non è più richiesto" -#: gram.y:5404 +#: gram.y:5413 #, c-format msgid "Update your data type." msgstr "Aggiorna il tuo tipo di dato." -#: gram.y:6983 +#: gram.y:6992 #, c-format msgid "aggregates cannot have output arguments" msgstr "gli aggregati non possono avere argomenti di output" -#: gram.y:8853 gram.y:8871 +#: gram.y:8862 gram.y:8880 #, c-format msgid "WITH CHECK OPTION not supported on recursive views" msgstr "WITH CHECK OPTION non supportato su viste ricorsive" -#: gram.y:9389 +#: gram.y:9398 #, c-format msgid "unrecognized VACUUM option \"%s\"" msgstr "opzione di VACUUM \"%s\" sconosciuta" -#: gram.y:10403 +#: gram.y:10412 #, c-format msgid "LIMIT #,# syntax is not supported" msgstr "La sintassi LIMIT #,# non è supportata" -#: gram.y:10404 +#: gram.y:10413 #, c-format msgid "Use separate LIMIT and OFFSET clauses." msgstr "Usa separatamente le clausole LIMIT ed OFFSET." -#: gram.y:10667 gram.y:10692 +#: gram.y:10676 gram.y:10701 #, c-format msgid "VALUES in FROM must have an alias" msgstr "VALUES nel FROM deve avere un alias" -#: gram.y:10668 gram.y:10693 +#: gram.y:10677 gram.y:10702 #, c-format msgid "For example, FROM (VALUES ...) [AS] foo." msgstr "Per esempio, FROM (VALUES ...) [AS] foo." -#: gram.y:10673 gram.y:10698 +#: gram.y:10682 gram.y:10707 #, c-format msgid "subquery in FROM must have an alias" msgstr "la sottoquery in FROM deve avere un alias" -#: gram.y:10674 gram.y:10699 +#: gram.y:10683 gram.y:10708 #, c-format msgid "For example, FROM (SELECT ...) [AS] foo." msgstr "Per esempio, FROM (SELECT ...) [AS] foo." -#: gram.y:11273 +#: gram.y:11282 #, c-format msgid "precision for type float must be at least 1 bit" msgstr "la precisione per il tipo float dev'essere di almeno un bit" -#: gram.y:11282 +#: gram.y:11291 #, c-format msgid "precision for type float must be less than 54 bits" msgstr "la precisione per il tipo float dev'essere inferiore a 54 bit" -#: gram.y:11786 +#: gram.y:11795 #, c-format msgid "wrong number of parameters on left side of OVERLAPS expression" msgstr "numero errato di parametri a sinistra dell'espressione OVERLAPS" -#: gram.y:11791 +#: gram.y:11800 #, c-format msgid "wrong number of parameters on right side of OVERLAPS expression" msgstr "numero errato di parametri a destra dell'espressione OVERLAPS" -#: gram.y:11966 +#: gram.y:11975 #, c-format msgid "UNIQUE predicate is not yet implemented" msgstr "il predicato UNIQUE non è stato ancora implementato" -#: gram.y:12300 +#: gram.y:12309 #, c-format msgid "cannot use multiple ORDER BY clauses with WITHIN GROUP" msgstr "non si può usare più di una clausola ORDER BY con WITHIN GROUOP" -#: gram.y:12305 +#: gram.y:12314 #, c-format msgid "cannot use DISTINCT with WITHIN GROUP" msgstr "non si può usare DISTINCT con WITHIN GROUP" -#: gram.y:12310 +#: gram.y:12319 #, c-format msgid "cannot use VARIADIC with WITHIN GROUP" msgstr "non si può usare VARIADIC con WITHIN GROUP" -#: gram.y:12816 +#: gram.y:12825 #, c-format msgid "RANGE PRECEDING is only supported with UNBOUNDED" msgstr "RANGE PRECEDING è supportato solo con UNBOUNDED" -#: gram.y:12822 +#: gram.y:12831 #, c-format msgid "RANGE FOLLOWING is only supported with UNBOUNDED" msgstr "RANGE FOLLOWING è supportato solo con UNBOUNDED" -#: gram.y:12849 gram.y:12872 +#: gram.y:12858 gram.y:12881 #, c-format msgid "frame start cannot be UNBOUNDED FOLLOWING" msgstr "l'inizio della finestra non può essere UNBOUNDED FOLLOWING" -#: gram.y:12854 +#: gram.y:12863 #, c-format msgid "frame starting from following row cannot end with current row" msgstr "una finestra che inizia dalla riga seguente non può terminare alla riga corrente" -#: gram.y:12877 +#: gram.y:12886 #, c-format msgid "frame end cannot be UNBOUNDED PRECEDING" msgstr "la fine della finestra non può essere UNBOUNDED PRECEDING" -#: gram.y:12883 +#: gram.y:12892 #, c-format msgid "frame starting from current row cannot have preceding rows" msgstr "una finestra che inizia dalla riga corrente non può avere righe precedenti" -#: gram.y:12890 +#: gram.y:12899 #, c-format msgid "frame starting from following row cannot have preceding rows" msgstr "una finestra che inizia dalla riga seguente non può avere righe precedenti" -#: gram.y:13555 +#: gram.y:13564 #, c-format msgid "type modifier cannot have parameter name" msgstr "un modificatore di tipo non può avere un nome di parametro" -#: gram.y:13561 +#: gram.y:13570 #, c-format msgid "type modifier cannot have ORDER BY" msgstr "un modificatore di tipo non può avere ORDER BY" -#: gram.y:13625 gram.y:13631 +#: gram.y:13634 gram.y:13640 #, c-format msgid "%s cannot be used as a role name here" msgstr "%s non può essere usato come nome di ruolo qui" -#: gram.y:14253 gram.y:14442 +#: gram.y:14262 gram.y:14451 msgid "improper use of \"*\"" msgstr "uso improprio di \"*\"" -#: gram.y:14506 +#: gram.y:14515 #, c-format msgid "an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type" msgstr "un aggregato su insiemi ordinati con un argomento diretto VARIADIC deve avere un argomento aggregato VARIADIC sullo stesso tipo" -#: gram.y:14543 +#: gram.y:14552 #, c-format msgid "multiple ORDER BY clauses not allowed" msgstr "non è possibile avere più di una clausola ORDER BY" -#: gram.y:14554 +#: gram.y:14563 #, c-format msgid "multiple OFFSET clauses not allowed" msgstr "non è possibile avere più di una clausola OFFSET" -#: gram.y:14563 +#: gram.y:14572 #, c-format msgid "multiple LIMIT clauses not allowed" msgstr "non è possibile avere più di una clausola LIMIT" -#: gram.y:14572 +#: gram.y:14581 #, c-format msgid "multiple WITH clauses not allowed" msgstr "non è possibile avere più di una clausola WITH" -#: gram.y:14764 +#: gram.y:14773 #, c-format msgid "OUT and INOUT arguments aren't allowed in TABLE functions" msgstr "gli argomenti OUT e INOUT non sono permessi nelle funzioni TABLE" -#: gram.y:14865 +#: gram.y:14874 #, c-format msgid "multiple COLLATE clauses not allowed" msgstr "non è possibile avere più di una clausola COLLATE" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:14903 gram.y:14916 +#: gram.y:14912 gram.y:14925 #, c-format msgid "%s constraints cannot be marked DEFERRABLE" msgstr "un vincolo %s non può essere marcato DEFERRABLE" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:14929 +#: gram.y:14938 #, c-format msgid "%s constraints cannot be marked NOT VALID" msgstr "un vincolo %s non può essere marcato NOT VALID" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:14942 +#: gram.y:14951 #, c-format msgid "%s constraints cannot be marked NO INHERIT" msgstr "un vincolo %s non può essere marcato NO INHERIT" diff -Nru postgresql-9.6-9.6.5/src/backend/po/ru.po postgresql-9.6-9.6.6/src/backend/po/ru.po --- postgresql-9.6-9.6.5/src/backend/po/ru.po 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/po/ru.po 2017-11-06 22:08:55.000000000 +0000 @@ -10,8 +10,8 @@ msgstr "" "Project-Id-Version: postgres (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n" -"POT-Creation-Date: 2017-08-17 17:47+0000\n" -"PO-Revision-Date: 2017-08-23 11:31+0300\n" +"POT-Creation-Date: 2017-09-28 16:08+0000\n" +"PO-Revision-Date: 2017-10-03 11:19+0300\n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" @@ -29,7 +29,7 @@ msgid "not recorded" msgstr "не записано" -#: ../common/controldata_utils.c:52 commands/copy.c:2834 +#: ../common/controldata_utils.c:52 commands/copy.c:2843 #: commands/extension.c:3144 utils/adt/genfile.c:134 #, c-format msgid "could not open file \"%s\" for reading: %m" @@ -2775,7 +2775,7 @@ #: access/transam/xlog.c:10194 access/transam/xlog.c:10232 #: access/transam/xlog.c:10441 access/transam/xlogarchive.c:106 -#: access/transam/xlogarchive.c:265 commands/copy.c:1816 commands/copy.c:2840 +#: access/transam/xlogarchive.c:265 commands/copy.c:1825 commands/copy.c:2849 #: commands/extension.c:3133 commands/tablespace.c:782 #: commands/tablespace.c:873 replication/basebackup.c:409 #: replication/basebackup.c:477 replication/logical/snapbuild.c:1496 @@ -3448,8 +3448,8 @@ msgid "default privileges cannot be set for columns" msgstr "права по умолчанию нельзя определить для столбцов" -#: catalog/aclchk.c:1502 catalog/objectaddress.c:1390 commands/analyze.c:376 -#: commands/copy.c:4459 commands/sequence.c:1491 commands/tablecmds.c:5211 +#: catalog/aclchk.c:1502 catalog/objectaddress.c:1390 commands/analyze.c:380 +#: commands/copy.c:4468 commands/sequence.c:1491 commands/tablecmds.c:5211 #: commands/tablecmds.c:5317 commands/tablecmds.c:5377 #: commands/tablecmds.c:5490 commands/tablecmds.c:5547 #: commands/tablecmds.c:5641 commands/tablecmds.c:5737 @@ -4153,7 +4153,7 @@ msgstr "индекс \"%s\" был перестроен" #: catalog/namespace.c:249 catalog/namespace.c:447 catalog/namespace.c:541 -#: commands/trigger.c:4523 +#: commands/trigger.c:4560 #, c-format msgid "cross-database references are not implemented: \"%s.%s.%s\"" msgstr "ссылки между базами не реализованы: \"%s.%s.%s\"" @@ -5524,12 +5524,17 @@ msgid "analyzing \"%s.%s\"" msgstr "анализируется \"%s.%s\"" -#: commands/analyze.c:650 +#: commands/analyze.c:385 +#, c-format +msgid "column \"%s\" of relation \"%s\" appears more than once" +msgstr "столбец \"%s\" отношения \"%s\" указан неоднократно" + +#: commands/analyze.c:661 #, c-format msgid "automatic analyze of table \"%s.%s.%s\" system usage: %s" msgstr "автоматический анализ таблицы \"%s.%s.%s\"; нагрузка системы: %s" -#: commands/analyze.c:1204 +#: commands/analyze.c:1215 #, c-format msgid "" "\"%s\": scanned %d of %u pages, containing %.0f live rows and %.0f dead " @@ -5539,7 +5544,7 @@ "%.0f, \"мёртвых\" строк: %.0f; строк в выборке: %d, примерное общее число " "строк: %.0f" -#: commands/analyze.c:1283 +#: commands/analyze.c:1294 #, c-format msgid "" "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree " @@ -5548,7 +5553,7 @@ "пропускается анализ дерева наследования \"%s.%s\" --- это дерево " "наследования не содержит дочерних таблиц" -#: commands/analyze.c:1372 +#: commands/analyze.c:1383 #, c-format msgid "" "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree " @@ -5557,7 +5562,7 @@ "пропускается анализ дерева наследования \"%s.%s\" --- это дерево " "наследования не содержит анализируемых дочерних таблиц" -#: commands/analyze.c:1420 commands/tablecmds.c:8093 executor/execQual.c:2927 +#: commands/analyze.c:1431 commands/tablecmds.c:8093 executor/execQual.c:2927 msgid "could not convert row type" msgstr "не удалось преобразовать тип строки" @@ -6063,7 +6068,7 @@ msgid "cannot copy from non-table relation \"%s\"" msgstr "копировать из отношения \"%s\", не являющегося таблицей, нельзя" -#: commands/copy.c:1787 commands/copy.c:2823 +#: commands/copy.c:1787 commands/copy.c:2832 #, c-format msgid "could not execute command \"%s\": %m" msgstr "не удалось выполнить команду \"%s\": %m" @@ -6073,72 +6078,72 @@ msgid "relative path not allowed for COPY to file" msgstr "при выполнении COPY в файл нельзя указывать относительный путь" -#: commands/copy.c:1810 +#: commands/copy.c:1819 #, c-format msgid "could not open file \"%s\" for writing: %m" msgstr "не удалось открыть файл \"%s\" для записи: %m" -#: commands/copy.c:1822 commands/copy.c:2846 +#: commands/copy.c:1831 commands/copy.c:2855 #, c-format msgid "\"%s\" is a directory" msgstr "\"%s\" - это каталог" -#: commands/copy.c:2145 +#: commands/copy.c:2154 #, c-format msgid "COPY %s, line %d, column %s" msgstr "COPY %s, строка %d, столбец %s" -#: commands/copy.c:2149 commands/copy.c:2196 +#: commands/copy.c:2158 commands/copy.c:2205 #, c-format msgid "COPY %s, line %d" msgstr "COPY %s, строка %d" -#: commands/copy.c:2160 +#: commands/copy.c:2169 #, c-format msgid "COPY %s, line %d, column %s: \"%s\"" msgstr "COPY %s, строка %d, столбец %s: \"%s\"" -#: commands/copy.c:2168 +#: commands/copy.c:2177 #, c-format msgid "COPY %s, line %d, column %s: null input" msgstr "COPY %s, строка %d, столбец %s: значение NULL" -#: commands/copy.c:2190 +#: commands/copy.c:2199 #, c-format msgid "COPY %s, line %d: \"%s\"" msgstr "COPY %s, строка %d: \"%s\"" -#: commands/copy.c:2274 +#: commands/copy.c:2283 #, c-format msgid "cannot copy to view \"%s\"" msgstr "копировать в представление \"%s\" нельзя" -#: commands/copy.c:2279 +#: commands/copy.c:2288 #, c-format msgid "cannot copy to materialized view \"%s\"" msgstr "копировать в материализованное представление \"%s\" нельзя" -#: commands/copy.c:2284 +#: commands/copy.c:2293 #, c-format msgid "cannot copy to foreign table \"%s\"" msgstr "копировать в стороннюю таблицу \"%s\" нельзя" -#: commands/copy.c:2289 +#: commands/copy.c:2298 #, c-format msgid "cannot copy to sequence \"%s\"" msgstr "копировать в последовательность \"%s\" нельзя" -#: commands/copy.c:2294 +#: commands/copy.c:2303 #, c-format msgid "cannot copy to non-table relation \"%s\"" msgstr "копировать в отношение \"%s\", не являющееся таблицей, нельзя" -#: commands/copy.c:2357 +#: commands/copy.c:2366 #, c-format msgid "cannot perform FREEZE because of prior transaction activity" msgstr "выполнить FREEZE нельзя из-за предыдущей активности в транзакции" -#: commands/copy.c:2363 +#: commands/copy.c:2372 #, c-format msgid "" "cannot perform FREEZE because the table was not created or truncated in the " @@ -6147,144 +6152,144 @@ "выполнить FREEZE нельзя, так как таблица не была создана или усечена в " "текущей подтранзакции" -#: commands/copy.c:2866 +#: commands/copy.c:2875 #, c-format msgid "COPY file signature not recognized" msgstr "подпись COPY-файла не распознана" -#: commands/copy.c:2871 +#: commands/copy.c:2880 #, c-format msgid "invalid COPY file header (missing flags)" msgstr "неверный заголовок файла COPY (отсутствуют флаги)" -#: commands/copy.c:2877 +#: commands/copy.c:2886 #, c-format msgid "unrecognized critical flags in COPY file header" msgstr "не распознаны важные флаги в заголовке файла COPY" -#: commands/copy.c:2883 +#: commands/copy.c:2892 #, c-format msgid "invalid COPY file header (missing length)" msgstr "неверный заголовок файла COPY (отсутствует длина)" -#: commands/copy.c:2890 +#: commands/copy.c:2899 #, c-format msgid "invalid COPY file header (wrong length)" msgstr "неверный заголовок файла COPY (неправильная длина)" -#: commands/copy.c:3023 commands/copy.c:3730 commands/copy.c:3960 +#: commands/copy.c:3032 commands/copy.c:3739 commands/copy.c:3969 #, c-format msgid "extra data after last expected column" msgstr "лишние данные после содержимого последнего столбца" -#: commands/copy.c:3033 +#: commands/copy.c:3042 #, c-format msgid "missing data for OID column" msgstr "нет данных для столбца OID" -#: commands/copy.c:3039 +#: commands/copy.c:3048 #, c-format msgid "null OID in COPY data" msgstr "неверное значение OID (NULL) в данных COPY" -#: commands/copy.c:3049 commands/copy.c:3172 +#: commands/copy.c:3058 commands/copy.c:3181 #, c-format msgid "invalid OID in COPY data" msgstr "неверный OID в данных COPY" -#: commands/copy.c:3064 +#: commands/copy.c:3073 #, c-format msgid "missing data for column \"%s\"" msgstr "нет данных для столбца \"%s\"" -#: commands/copy.c:3147 +#: commands/copy.c:3156 #, c-format msgid "received copy data after EOF marker" msgstr "после маркера конца файла продолжаются данные COPY" -#: commands/copy.c:3154 +#: commands/copy.c:3163 #, c-format msgid "row field count is %d, expected %d" msgstr "количество полей в строке: %d, ожидалось: %d" -#: commands/copy.c:3494 commands/copy.c:3511 +#: commands/copy.c:3503 commands/copy.c:3520 #, c-format msgid "literal carriage return found in data" msgstr "в данных обнаружен явный возврат каретки" -#: commands/copy.c:3495 commands/copy.c:3512 +#: commands/copy.c:3504 commands/copy.c:3521 #, c-format msgid "unquoted carriage return found in data" msgstr "в данных обнаружен возврат каретки не в кавычках" -#: commands/copy.c:3497 commands/copy.c:3514 +#: commands/copy.c:3506 commands/copy.c:3523 #, c-format msgid "Use \"\\r\" to represent carriage return." msgstr "Представьте возврат каретки как \"\\r\"." -#: commands/copy.c:3498 commands/copy.c:3515 +#: commands/copy.c:3507 commands/copy.c:3524 #, c-format msgid "Use quoted CSV field to represent carriage return." msgstr "Заключите возврат каретки в кавычки CSV." -#: commands/copy.c:3527 +#: commands/copy.c:3536 #, c-format msgid "literal newline found in data" msgstr "в данных обнаружен явный символ новой строки" -#: commands/copy.c:3528 +#: commands/copy.c:3537 #, c-format msgid "unquoted newline found in data" msgstr "в данных обнаружен явный символ новой строки не в кавычках" -#: commands/copy.c:3530 +#: commands/copy.c:3539 #, c-format msgid "Use \"\\n\" to represent newline." msgstr "Представьте символ новой строки как \"\\n\"." -#: commands/copy.c:3531 +#: commands/copy.c:3540 #, c-format msgid "Use quoted CSV field to represent newline." msgstr "Заключите символ новой строки в кавычки CSV." -#: commands/copy.c:3577 commands/copy.c:3613 +#: commands/copy.c:3586 commands/copy.c:3622 #, c-format msgid "end-of-copy marker does not match previous newline style" msgstr "маркер \"конец копии\" не соответствует предыдущему стилю новой строки" -#: commands/copy.c:3586 commands/copy.c:3602 +#: commands/copy.c:3595 commands/copy.c:3611 #, c-format msgid "end-of-copy marker corrupt" msgstr "маркер \"конец копии\" испорчен" -#: commands/copy.c:4044 +#: commands/copy.c:4053 #, c-format msgid "unterminated CSV quoted field" msgstr "незавершённое поле в кавычках CSV" -#: commands/copy.c:4121 commands/copy.c:4140 +#: commands/copy.c:4130 commands/copy.c:4149 #, c-format msgid "unexpected EOF in COPY data" msgstr "неожиданный конец данных COPY" -#: commands/copy.c:4130 +#: commands/copy.c:4139 #, c-format msgid "invalid field size" msgstr "неверный размер поля" -#: commands/copy.c:4153 +#: commands/copy.c:4162 #, c-format msgid "incorrect binary data format" msgstr "неверный двоичный формат данных" -#: commands/copy.c:4464 commands/indexcmds.c:1054 commands/tablecmds.c:1464 +#: commands/copy.c:4473 commands/indexcmds.c:1054 commands/tablecmds.c:1464 #: commands/tablecmds.c:2291 parser/parse_relation.c:3177 #: parser/parse_relation.c:3197 utils/adt/tsvector_op.c:2559 #, c-format msgid "column \"%s\" does not exist" msgstr "столбец \"%s\" не существует" -#: commands/copy.c:4471 commands/tablecmds.c:1490 commands/trigger.c:651 +#: commands/copy.c:4480 commands/tablecmds.c:1490 commands/trigger.c:651 #: parser/parse_target.c:967 parser/parse_target.c:978 #, c-format msgid "column \"%s\" specified more than once" @@ -9553,12 +9558,12 @@ msgid "could not serialize access due to concurrent update" msgstr "не удалось сериализовать доступ из-за параллельного изменения" -#: commands/trigger.c:4575 +#: commands/trigger.c:4612 #, c-format msgid "constraint \"%s\" is not deferrable" msgstr "ограничение \"%s\" не является откладываемым" -#: commands/trigger.c:4598 +#: commands/trigger.c:4635 #, c-format msgid "constraint \"%s\" does not exist" msgstr "ограничение \"%s\" не существует" @@ -10293,6 +10298,11 @@ msgstr[1] "Полностью пустых страниц: %u.\n" msgstr[2] "Полностью пустых страниц: %u.\n" +#: commands/vacuumlazy.c:1344 +#, c-format +msgid "%s." +msgstr "%s." + #: commands/vacuumlazy.c:1347 #, c-format msgid "" @@ -10410,7 +10420,7 @@ msgstr "" "команда SET TRANSACTION ISOLATION LEVEL не должна вызываться в подтранзакции" -#: commands/variable.c:574 storage/lmgr/predicate.c:1600 +#: commands/variable.c:574 storage/lmgr/predicate.c:1602 #, c-format msgid "cannot use serializable mode in a hot standby" msgstr "использовать сериализуемый режим в горячем резерве нельзя" @@ -11813,18 +11823,18 @@ #: libpq/be-fsstubs.c:132 libpq/be-fsstubs.c:163 libpq/be-fsstubs.c:197 #: libpq/be-fsstubs.c:237 libpq/be-fsstubs.c:262 libpq/be-fsstubs.c:310 -#: libpq/be-fsstubs.c:333 libpq/be-fsstubs.c:581 +#: libpq/be-fsstubs.c:333 libpq/be-fsstubs.c:590 #, c-format msgid "invalid large-object descriptor: %d" msgstr "неверный дескриптор большого объекта: %d" -#: libpq/be-fsstubs.c:178 libpq/be-fsstubs.c:216 libpq/be-fsstubs.c:600 -#: libpq/be-fsstubs.c:788 libpq/be-fsstubs.c:908 +#: libpq/be-fsstubs.c:178 libpq/be-fsstubs.c:216 libpq/be-fsstubs.c:609 +#: libpq/be-fsstubs.c:797 libpq/be-fsstubs.c:917 #, c-format msgid "permission denied for large object %u" msgstr "нет доступа к большому объекту %u" -#: libpq/be-fsstubs.c:203 libpq/be-fsstubs.c:587 +#: libpq/be-fsstubs.c:203 libpq/be-fsstubs.c:596 #, c-format msgid "large object descriptor %d was not opened for writing" msgstr "дескриптор большого объекта %d был открыт не для записи" @@ -11873,22 +11883,22 @@ msgid "Anyone can use the client-side lo_export() provided by libpq." msgstr "Использовать lo_export() на стороне клиента через libpq могут все." -#: libpq/be-fsstubs.c:547 +#: libpq/be-fsstubs.c:556 #, c-format msgid "could not create server file \"%s\": %m" msgstr "не удалось создать файл сервера \"%s\": %m" -#: libpq/be-fsstubs.c:559 +#: libpq/be-fsstubs.c:568 #, c-format msgid "could not write server file \"%s\": %m" msgstr "не удалось записать файл сервера \"%s\": %m" -#: libpq/be-fsstubs.c:813 +#: libpq/be-fsstubs.c:822 #, c-format msgid "large object read request is too large" msgstr "при чтении большого объекта запрошен чрезмерный размер" -#: libpq/be-fsstubs.c:855 utils/adt/genfile.c:211 utils/adt/genfile.c:252 +#: libpq/be-fsstubs.c:864 utils/adt/genfile.c:211 utils/adt/genfile.c:252 #, c-format msgid "requested length cannot be negative" msgstr "запрошенная длина не может быть отрицательной" @@ -17566,55 +17576,55 @@ msgid "too many dynamic shared memory segments" msgstr "слишком много сегментов динамической разделяемой памяти" -#: storage/ipc/dsm_impl.c:261 storage/ipc/dsm_impl.c:361 -#: storage/ipc/dsm_impl.c:533 storage/ipc/dsm_impl.c:648 -#: storage/ipc/dsm_impl.c:819 storage/ipc/dsm_impl.c:961 +#: storage/ipc/dsm_impl.c:262 storage/ipc/dsm_impl.c:363 +#: storage/ipc/dsm_impl.c:580 storage/ipc/dsm_impl.c:695 +#: storage/ipc/dsm_impl.c:866 storage/ipc/dsm_impl.c:1008 #, c-format msgid "could not unmap shared memory segment \"%s\": %m" msgstr "не удалось освободить сегмент разделяемой памяти %s: %m" -#: storage/ipc/dsm_impl.c:271 storage/ipc/dsm_impl.c:543 -#: storage/ipc/dsm_impl.c:658 storage/ipc/dsm_impl.c:829 +#: storage/ipc/dsm_impl.c:272 storage/ipc/dsm_impl.c:590 +#: storage/ipc/dsm_impl.c:705 storage/ipc/dsm_impl.c:876 #, c-format msgid "could not remove shared memory segment \"%s\": %m" msgstr "ошибка при удалении сегмента разделяемой памяти \"%s\": %m" -#: storage/ipc/dsm_impl.c:292 storage/ipc/dsm_impl.c:729 -#: storage/ipc/dsm_impl.c:843 +#: storage/ipc/dsm_impl.c:293 storage/ipc/dsm_impl.c:776 +#: storage/ipc/dsm_impl.c:890 #, c-format msgid "could not open shared memory segment \"%s\": %m" msgstr "не удалось открыть сегмент разделяемой памяти \"%s\": %m" -#: storage/ipc/dsm_impl.c:316 storage/ipc/dsm_impl.c:559 -#: storage/ipc/dsm_impl.c:774 storage/ipc/dsm_impl.c:867 +#: storage/ipc/dsm_impl.c:317 storage/ipc/dsm_impl.c:606 +#: storage/ipc/dsm_impl.c:821 storage/ipc/dsm_impl.c:914 #, c-format msgid "could not stat shared memory segment \"%s\": %m" msgstr "не удалось обратиться к сегменту разделяемой памяти \"%s\": %m" -#: storage/ipc/dsm_impl.c:335 storage/ipc/dsm_impl.c:886 -#: storage/ipc/dsm_impl.c:934 +#: storage/ipc/dsm_impl.c:337 storage/ipc/dsm_impl.c:933 +#: storage/ipc/dsm_impl.c:981 #, c-format msgid "could not resize shared memory segment \"%s\" to %zu bytes: %m" msgstr "" "не удалось изменить размер сегмента разделяемой памяти \"%s\" до %zu байт: %m" -#: storage/ipc/dsm_impl.c:385 storage/ipc/dsm_impl.c:580 -#: storage/ipc/dsm_impl.c:750 storage/ipc/dsm_impl.c:985 +#: storage/ipc/dsm_impl.c:387 storage/ipc/dsm_impl.c:627 +#: storage/ipc/dsm_impl.c:797 storage/ipc/dsm_impl.c:1032 #, c-format msgid "could not map shared memory segment \"%s\": %m" msgstr "не удалось отобразить сегмент разделяемой памяти \"%s\": %m" -#: storage/ipc/dsm_impl.c:515 +#: storage/ipc/dsm_impl.c:562 #, c-format msgid "could not get shared memory segment: %m" msgstr "не удалось получить сегмент разделяемой памяти: %m" -#: storage/ipc/dsm_impl.c:714 +#: storage/ipc/dsm_impl.c:761 #, c-format msgid "could not create shared memory segment \"%s\": %m" msgstr "не удалось создать сегмент разделяемой памяти \"%s\": %m" -#: storage/ipc/dsm_impl.c:1026 +#: storage/ipc/dsm_impl.c:1073 #, c-format msgid "could not duplicate handle for \"%s\": %m" msgstr "не удалось продублировать указатель для \"%s\": %m" @@ -17637,8 +17647,8 @@ #: storage/ipc/shm_toc.c:108 storage/ipc/shm_toc.c:189 storage/ipc/shmem.c:212 #: storage/lmgr/lock.c:883 storage/lmgr/lock.c:917 storage/lmgr/lock.c:2682 #: storage/lmgr/lock.c:4007 storage/lmgr/lock.c:4072 storage/lmgr/lock.c:4364 -#: storage/lmgr/predicate.c:2342 storage/lmgr/predicate.c:2357 -#: storage/lmgr/predicate.c:3749 storage/lmgr/predicate.c:4892 +#: storage/lmgr/predicate.c:2344 storage/lmgr/predicate.c:2359 +#: storage/lmgr/predicate.c:3751 storage/lmgr/predicate.c:4894 #: storage/lmgr/proc.c:203 utils/hash/dynahash.c:1042 #, c-format msgid "out of shared memory" @@ -17854,12 +17864,12 @@ "нельзя выполнить PREPARE, удерживая блокировки на уровне сеанса и на уровне " "транзакции для одного объекта" -#: storage/lmgr/predicate.c:675 +#: storage/lmgr/predicate.c:677 #, c-format msgid "not enough elements in RWConflictPool to record a read/write conflict" msgstr "в пуле недостаточно элементов для записи о конфликте чтения/записи" -#: storage/lmgr/predicate.c:676 storage/lmgr/predicate.c:704 +#: storage/lmgr/predicate.c:678 storage/lmgr/predicate.c:706 #, c-format msgid "" "You might need to run fewer transactions at a time or increase " @@ -17868,7 +17878,7 @@ "Попробуйте уменьшить число транзакций в секунду или увеличить параметр " "max_connections." -#: storage/lmgr/predicate.c:703 +#: storage/lmgr/predicate.c:705 #, c-format msgid "" "not enough elements in RWConflictPool to record a potential read/write " @@ -17877,12 +17887,12 @@ "в пуле недостаточно элементов для записи о потенциальном конфликте чтения/" "записи" -#: storage/lmgr/predicate.c:910 +#: storage/lmgr/predicate.c:912 #, c-format msgid "memory for serializable conflict tracking is nearly exhausted" msgstr "память для отслеживания конфликтов сериализации практически исчерпана" -#: storage/lmgr/predicate.c:911 +#: storage/lmgr/predicate.c:913 #, c-format msgid "" "There might be an idle transaction or a forgotten prepared transaction " @@ -17891,7 +17901,7 @@ "Вероятно, эта ситуация вызвана забытой подготовленной транзакцией или " "транзакцией, простаивающей долгое время." -#: storage/lmgr/predicate.c:1205 storage/lmgr/predicate.c:1277 +#: storage/lmgr/predicate.c:1207 storage/lmgr/predicate.c:1279 #, c-format msgid "" "not enough shared memory for elements of data structure \"%s\" (%zu bytes " @@ -17900,18 +17910,18 @@ "недостаточно разделяемой памяти для элементов структуры данных \"%s" "\" (запрошено байт: %zu)" -#: storage/lmgr/predicate.c:1562 +#: storage/lmgr/predicate.c:1564 #, c-format msgid "deferrable snapshot was unsafe; trying a new one" msgstr "откладываемый снимок был небезопасен; пробуем более новый" -#: storage/lmgr/predicate.c:1601 +#: storage/lmgr/predicate.c:1603 #, c-format msgid "\"default_transaction_isolation\" is set to \"serializable\"." msgstr "" "Параметр \"default_transaction_isolation\" имеет значение \"serializable\"." -#: storage/lmgr/predicate.c:1602 +#: storage/lmgr/predicate.c:1604 #, c-format msgid "" "You can use \"SET default_transaction_isolation = 'repeatable read'\" to " @@ -17920,34 +17930,34 @@ "Чтобы изменить режим по умолчанию, выполните \"SET " "default_transaction_isolation = 'repeatable read'\"." -#: storage/lmgr/predicate.c:1641 +#: storage/lmgr/predicate.c:1643 #, c-format msgid "a snapshot-importing transaction must not be READ ONLY DEFERRABLE" msgstr "транзакция, импортирующая снимок, не должна быть READ ONLY DEFERRABLE" -#: storage/lmgr/predicate.c:1719 utils/time/snapmgr.c:617 +#: storage/lmgr/predicate.c:1721 utils/time/snapmgr.c:617 #: utils/time/snapmgr.c:623 #, c-format msgid "could not import the requested snapshot" msgstr "не удалось импортировать запрошенный снимок" -#: storage/lmgr/predicate.c:1720 utils/time/snapmgr.c:624 +#: storage/lmgr/predicate.c:1722 utils/time/snapmgr.c:624 #, c-format msgid "The source transaction %u is not running anymore." msgstr "Исходная транзакция %u уже не выполняется." -#: storage/lmgr/predicate.c:2343 storage/lmgr/predicate.c:2358 -#: storage/lmgr/predicate.c:3750 +#: storage/lmgr/predicate.c:2345 storage/lmgr/predicate.c:2360 +#: storage/lmgr/predicate.c:3752 #, c-format msgid "You might need to increase max_pred_locks_per_transaction." msgstr "" "Возможно, следует увеличить значение параметра max_locks_per_transaction." -#: storage/lmgr/predicate.c:3904 storage/lmgr/predicate.c:3993 -#: storage/lmgr/predicate.c:4001 storage/lmgr/predicate.c:4040 -#: storage/lmgr/predicate.c:4279 storage/lmgr/predicate.c:4616 -#: storage/lmgr/predicate.c:4628 storage/lmgr/predicate.c:4670 -#: storage/lmgr/predicate.c:4708 +#: storage/lmgr/predicate.c:3906 storage/lmgr/predicate.c:3995 +#: storage/lmgr/predicate.c:4003 storage/lmgr/predicate.c:4042 +#: storage/lmgr/predicate.c:4281 storage/lmgr/predicate.c:4618 +#: storage/lmgr/predicate.c:4630 storage/lmgr/predicate.c:4672 +#: storage/lmgr/predicate.c:4710 #, c-format msgid "" "could not serialize access due to read/write dependencies among transactions" @@ -17955,11 +17965,11 @@ "не удалось сериализовать доступ из-за зависимостей чтения/записи между " "транзакциями" -#: storage/lmgr/predicate.c:3906 storage/lmgr/predicate.c:3995 -#: storage/lmgr/predicate.c:4003 storage/lmgr/predicate.c:4042 -#: storage/lmgr/predicate.c:4281 storage/lmgr/predicate.c:4618 -#: storage/lmgr/predicate.c:4630 storage/lmgr/predicate.c:4672 -#: storage/lmgr/predicate.c:4710 +#: storage/lmgr/predicate.c:3908 storage/lmgr/predicate.c:3997 +#: storage/lmgr/predicate.c:4005 storage/lmgr/predicate.c:4044 +#: storage/lmgr/predicate.c:4283 storage/lmgr/predicate.c:4620 +#: storage/lmgr/predicate.c:4632 storage/lmgr/predicate.c:4674 +#: storage/lmgr/predicate.c:4712 #, c-format msgid "The transaction might succeed if retried." msgstr "Транзакция может завершиться успешно при следующей попытке." @@ -19268,8 +19278,8 @@ #: utils/adt/int.c:861 utils/adt/int.c:969 utils/adt/int.c:1058 #: utils/adt/int.c:1097 utils/adt/int.c:1125 utils/adt/int8.c:597 #: utils/adt/int8.c:657 utils/adt/int8.c:897 utils/adt/int8.c:1005 -#: utils/adt/int8.c:1094 utils/adt/int8.c:1202 utils/adt/numeric.c:6818 -#: utils/adt/numeric.c:7107 utils/adt/numeric.c:8120 utils/adt/timestamp.c:3542 +#: utils/adt/int8.c:1094 utils/adt/int8.c:1202 utils/adt/numeric.c:6828 +#: utils/adt/numeric.c:7117 utils/adt/numeric.c:8130 utils/adt/timestamp.c:3542 #, c-format msgid "division by zero" msgstr "деление на ноль" @@ -19584,7 +19594,7 @@ msgid "smallint out of range" msgstr "smallint вне диапазона" -#: utils/adt/float.c:1430 utils/adt/numeric.c:7540 +#: utils/adt/float.c:1430 utils/adt/numeric.c:7550 #, c-format msgid "cannot take square root of a negative number" msgstr "извлечь квадратный корень отрицательного числа нельзя" @@ -19599,12 +19609,12 @@ msgid "a negative number raised to a non-integer power yields a complex result" msgstr "отрицательное число в дробной степени даёт комплексный результат" -#: utils/adt/float.c:1542 utils/adt/float.c:1572 utils/adt/numeric.c:7806 +#: utils/adt/float.c:1542 utils/adt/float.c:1572 utils/adt/numeric.c:7816 #, c-format msgid "cannot take logarithm of zero" msgstr "вычислить логарифм нуля нельзя" -#: utils/adt/float.c:1546 utils/adt/float.c:1576 utils/adt/numeric.c:7810 +#: utils/adt/float.c:1546 utils/adt/float.c:1576 utils/adt/numeric.c:7820 #, c-format msgid "cannot take logarithm of a negative number" msgstr "вычислить логарифм отрицательного числа нельзя" @@ -20622,8 +20632,8 @@ msgid "cannot subtract inet values of different sizes" msgstr "нельзя вычитать значения inet разного размера" -#: utils/adt/numeric.c:542 utils/adt/numeric.c:569 utils/adt/numeric.c:5405 -#: utils/adt/numeric.c:5428 utils/adt/numeric.c:5452 +#: utils/adt/numeric.c:542 utils/adt/numeric.c:569 utils/adt/numeric.c:5415 +#: utils/adt/numeric.c:5438 utils/adt/numeric.c:5462 #, c-format msgid "invalid input syntax for type numeric: \"%s\"" msgstr "неверный синтаксис для типа numeric: \"%s\"" @@ -20673,9 +20683,9 @@ msgid "step size cannot be NaN" msgstr "размер шага не может быть NaN" -#: utils/adt/numeric.c:2539 utils/adt/numeric.c:5467 utils/adt/numeric.c:5912 -#: utils/adt/numeric.c:7616 utils/adt/numeric.c:8041 utils/adt/numeric.c:8156 -#: utils/adt/numeric.c:8229 +#: utils/adt/numeric.c:2539 utils/adt/numeric.c:5477 utils/adt/numeric.c:5922 +#: utils/adt/numeric.c:7626 utils/adt/numeric.c:8051 utils/adt/numeric.c:8166 +#: utils/adt/numeric.c:8239 #, c-format msgid "value overflows numeric format" msgstr "значение переполняет формат numeric" @@ -20695,12 +20705,17 @@ msgid "cannot convert NaN to smallint" msgstr "нельзя преобразовать NaN в smallint" -#: utils/adt/numeric.c:5982 +#: utils/adt/numeric.c:3029 utils/adt/numeric.c:3096 +#, c-format +msgid "cannot convert infinity to numeric" +msgstr "нельзя представить бесконечность в numeric" + +#: utils/adt/numeric.c:5992 #, c-format msgid "numeric field overflow" msgstr "переполнение поля numeric" -#: utils/adt/numeric.c:5983 +#: utils/adt/numeric.c:5993 #, c-format msgid "" "A field with precision %d, scale %d must round to an absolute value less " @@ -20709,7 +20724,7 @@ "Поле с точностью %d, порядком %d должно округляться до абсолютного значения " "меньше чем %s%d." -#: utils/adt/numeric.c:6254 utils/adt/numeric.c:6280 +#: utils/adt/numeric.c:6264 utils/adt/numeric.c:6290 #, c-format msgid "invalid input syntax for type double precision: \"%s\"" msgstr "неверный синтаксис для типа double precision: \"%s\"" @@ -25753,9 +25768,6 @@ #~ msgid "spgist operator class \"%s\" is missing operator(s)" #~ msgstr "в классе операторов spgist \"%s\" нет оператора(ов)" -#~ msgid "%s." -#~ msgstr "%s." - #~ msgid "cannot create temporary tables in parallel mode" #~ msgstr "создавать временные таблицы в параллельном режиме нельзя" diff -Nru postgresql-9.6-9.6.5/src/backend/replication/logical/origin.c postgresql-9.6-9.6.6/src/backend/replication/logical/origin.c --- postgresql-9.6-9.6.5/src/backend/replication/logical/origin.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/replication/logical/origin.c 2017-11-06 22:08:55.000000000 +0000 @@ -221,8 +221,10 @@ ReleaseSysCache(tuple); } else if (!missing_ok) - elog(ERROR, "cache lookup failed for replication origin '%s'", - roname); + ereport(ERROR, + (errcode(ERRCODE_UNDEFINED_OBJECT), + errmsg("replication origin \"%s\" does not exist", + roname))); return roident; } @@ -422,8 +424,10 @@ *roname = NULL; if (!missing_ok) - elog(ERROR, "cache lookup failed for replication origin with oid %u", - roident); + ereport(ERROR, + (errcode(ERRCODE_UNDEFINED_OBJECT), + errmsg("replication origin with OID %u does not exist", + roident))); return false; } diff -Nru postgresql-9.6-9.6.5/src/backend/replication/walreceiver.c postgresql-9.6-9.6.6/src/backend/replication/walreceiver.c --- postgresql-9.6-9.6.5/src/backend/replication/walreceiver.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/replication/walreceiver.c 2017-11-06 22:08:55.000000000 +0000 @@ -201,6 +201,7 @@ bool first_stream; WalRcvData *walrcv = WalRcv; TimestampTz last_recv_timestamp; + TimestampTz now; bool ping_sent; /* @@ -209,6 +210,8 @@ */ Assert(walrcv != NULL); + now = GetCurrentTimestamp(); + /* * Mark walreceiver as running in shared memory. * @@ -239,6 +242,7 @@ case WALRCV_RESTARTING: default: /* Shouldn't happen */ + SpinLockRelease(&walrcv->mutex); elog(PANIC, "walreceiver still running according to shared memory state"); } /* Advertise our PID so that the startup process can kill us */ @@ -253,7 +257,8 @@ startpointTLI = walrcv->receiveStartTLI; /* Initialise to a sanish value */ - walrcv->lastMsgSendTime = walrcv->lastMsgReceiptTime = walrcv->latestWalEndTime = GetCurrentTimestamp(); + walrcv->lastMsgSendTime = + walrcv->lastMsgReceiptTime = walrcv->latestWalEndTime = now; SpinLockRelease(&walrcv->mutex); @@ -317,13 +322,13 @@ SpinLockAcquire(&walrcv->mutex); memset(walrcv->conninfo, 0, MAXCONNINFO); if (tmp_conninfo) - { strlcpy((char *) walrcv->conninfo, tmp_conninfo, MAXCONNINFO); - pfree(tmp_conninfo); - } walrcv->ready_to_display = true; SpinLockRelease(&walrcv->mutex); + if (tmp_conninfo) + pfree(tmp_conninfo); + first_stream = true; for (;;) { @@ -1349,8 +1354,8 @@ TimestampTz last_receipt_time; XLogRecPtr latest_end_lsn; TimestampTz latest_end_time; - char *slotname; - char *conninfo; + char slotname[NAMEDATALEN]; + char conninfo[MAXCONNINFO]; /* * No WAL receiver (or not ready yet), just return a tuple with NULL @@ -1377,8 +1382,8 @@ last_receipt_time = walrcv->lastMsgReceiptTime; latest_end_lsn = walrcv->latestWalEnd; latest_end_time = walrcv->latestWalEndTime; - slotname = pstrdup(walrcv->slotname); - conninfo = pstrdup(walrcv->conninfo); + strlcpy(slotname, (char *) walrcv->slotname, sizeof(slotname)); + strlcpy(conninfo, (char *) walrcv->conninfo, sizeof(conninfo)); SpinLockRelease(&walrcv->mutex); /* Fetch values */ diff -Nru postgresql-9.6-9.6.5/src/backend/rewrite/rowsecurity.c postgresql-9.6-9.6.6/src/backend/rewrite/rowsecurity.c --- postgresql-9.6-9.6.5/src/backend/rewrite/rowsecurity.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/rewrite/rowsecurity.c 2017-11-06 22:08:55.000000000 +0000 @@ -309,6 +309,8 @@ { List *conflict_permissive_policies; List *conflict_restrictive_policies; + List *conflict_select_permissive_policies = NIL; + List *conflict_select_restrictive_policies = NIL; /* Get the policies that apply to the auxiliary UPDATE */ get_policies_for_relation(rel, CMD_UPDATE, user_id, @@ -338,9 +340,6 @@ */ if (rte->requiredPerms & ACL_SELECT) { - List *conflict_select_permissive_policies = NIL; - List *conflict_select_restrictive_policies = NIL; - get_policies_for_relation(rel, CMD_SELECT, user_id, &conflict_select_permissive_policies, &conflict_select_restrictive_policies); @@ -361,6 +360,21 @@ withCheckOptions, hasSubLinks, false); + + /* + * Add ALL/SELECT policies as WCO_RLS_UPDATE_CHECK WCOs, to ensure + * that the final updated row is visible when taking the UPDATE + * path of an INSERT .. ON CONFLICT DO UPDATE, if SELECT rights + * are required for this relation. + */ + if (rte->requiredPerms & ACL_SELECT) + add_with_check_options(rel, rt_index, + WCO_RLS_UPDATE_CHECK, + conflict_select_permissive_policies, + conflict_select_restrictive_policies, + withCheckOptions, + hasSubLinks, + true); } } diff -Nru postgresql-9.6-9.6.5/src/backend/storage/file/copydir.c postgresql-9.6-9.6.6/src/backend/storage/file/copydir.c --- postgresql-9.6-9.6.5/src/backend/storage/file/copydir.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/storage/file/copydir.c 2017-11-06 22:08:55.000000000 +0000 @@ -139,10 +139,24 @@ int dstfd; int nbytes; off_t offset; + off_t flush_offset; - /* Use palloc to ensure we get a maxaligned buffer */ + /* Size of copy buffer (read and write requests) */ #define COPY_BUF_SIZE (8 * BLCKSZ) + /* + * Size of data flush requests. It seems beneficial on most platforms to + * do this every 1MB or so. But macOS, at least with early releases of + * APFS, is really unfriendly to small mmap/msync requests, so there do it + * only every 32MB. + */ +#if defined(__darwin__) +#define FLUSH_DISTANCE (32 * 1024 * 1024) +#else +#define FLUSH_DISTANCE (1024 * 1024) +#endif + + /* Use palloc to ensure we get a maxaligned buffer */ buffer = palloc(COPY_BUF_SIZE); /* @@ -164,11 +178,23 @@ /* * Do the data copying. */ + flush_offset = 0; for (offset = 0;; offset += nbytes) { /* If we got a cancel signal during the copy of the file, quit */ CHECK_FOR_INTERRUPTS(); + /* + * We fsync the files later, but during the copy, flush them every so + * often to avoid spamming the cache and hopefully get the kernel to + * start writing them out before the fsync comes. + */ + if (offset - flush_offset >= FLUSH_DISTANCE) + { + pg_flush_data(dstfd, flush_offset, offset - flush_offset); + flush_offset = offset; + } + nbytes = read(srcfd, buffer, COPY_BUF_SIZE); if (nbytes < 0) ereport(ERROR, @@ -186,15 +212,11 @@ (errcode_for_file_access(), errmsg("could not write to file \"%s\": %m", tofile))); } - - /* - * We fsync the files later but first flush them to avoid spamming the - * cache and hopefully get the kernel to start writing them out before - * the fsync comes. - */ - pg_flush_data(dstfd, offset, nbytes); } + if (offset > flush_offset) + pg_flush_data(dstfd, flush_offset, offset - flush_offset); + if (CloseTransientFile(dstfd)) ereport(ERROR, (errcode_for_file_access(), diff -Nru postgresql-9.6-9.6.5/src/backend/storage/ipc/dsm_impl.c postgresql-9.6-9.6.6/src/backend/storage/ipc/dsm_impl.c --- postgresql-9.6-9.6.5/src/backend/storage/ipc/dsm_impl.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/storage/ipc/dsm_impl.c 2017-11-06 22:08:55.000000000 +0000 @@ -73,6 +73,7 @@ static bool dsm_impl_posix(dsm_op op, dsm_handle handle, Size request_size, void **impl_private, void **mapped_address, Size *mapped_size, int elevel); +static int dsm_impl_posix_resize(int fd, off_t size); #endif #ifdef USE_DSM_SYSV static bool dsm_impl_sysv(dsm_op op, dsm_handle handle, Size request_size, @@ -319,7 +320,8 @@ } request_size = st.st_size; } - else if (*mapped_size != request_size && ftruncate(fd, request_size)) + else if (*mapped_size != request_size && + dsm_impl_posix_resize(fd, request_size) != 0) { int save_errno; @@ -392,7 +394,52 @@ return true; } -#endif + +/* + * Set the size of a virtual memory region associated with a file descriptor. + * If necessary, also ensure that virtual memory is actually allocated by the + * operating system, to avoid nasty surprises later. + * + * Returns non-zero if either truncation or allocation fails, and sets errno. + */ +static int +dsm_impl_posix_resize(int fd, off_t size) +{ + int rc; + + /* Truncate (or extend) the file to the requested size. */ + rc = ftruncate(fd, size); + + /* + * On Linux, a shm_open fd is backed by a tmpfs file. After resizing with + * ftruncate, the file may contain a hole. Accessing memory backed by a + * hole causes tmpfs to allocate pages, which fails with SIGBUS if there + * is no more tmpfs space available. So we ask tmpfs to allocate pages + * here, so we can fail gracefully with ENOSPC now rather than risking + * SIGBUS later. + */ +#if defined(HAVE_POSIX_FALLOCATE) && defined(__linux__) + if (rc == 0) + { + /* We may get interrupted, if so just retry. */ + do + { + rc = posix_fallocate(fd, 0, size); + } while (rc == EINTR); + + /* + * The caller expects errno to be set, but posix_fallocate() doesn't + * set it. Instead it returns error numbers directly. So set errno, + * even though we'll also return rc to indicate success or failure. + */ + errno = rc; + } +#endif /* HAVE_POSIX_FALLOCATE && __linux__ */ + + return rc; +} + +#endif /* USE_DSM_POSIX */ #ifdef USE_DSM_SYSV /* diff -Nru postgresql-9.6-9.6.5/src/backend/tcop/postgres.c postgresql-9.6-9.6.6/src/backend/tcop/postgres.c --- postgresql-9.6-9.6.5/src/backend/tcop/postgres.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/tcop/postgres.c 2017-11-06 22:08:55.000000000 +0000 @@ -2903,26 +2903,24 @@ " database and repeat your command."))); } - if (QueryCancelPending) + /* + * Don't allow query cancel interrupts while reading input from the + * client, because we might lose sync in the FE/BE protocol. (Die + * interrupts are OK, because we won't read any further messages from + * the client in that case.) + */ + if (QueryCancelPending && QueryCancelHoldoffCount != 0) { - bool lock_timeout_occurred; - bool stmt_timeout_occurred; - /* - * Don't allow query cancel interrupts while reading input from the - * client, because we might lose sync in the FE/BE protocol. (Die - * interrupts are OK, because we won't read any further messages from - * the client in that case.) + * Re-arm InterruptPending so that we process the cancel request + * as soon as we're done reading the message. */ - if (QueryCancelHoldoffCount != 0) - { - /* - * Re-arm InterruptPending so that we process the cancel request - * as soon as we're done reading the message. - */ - InterruptPending = true; - return; - } + InterruptPending = true; + } + else if (QueryCancelPending) + { + bool lock_timeout_occurred; + bool stmt_timeout_occurred; QueryCancelPending = false; diff -Nru postgresql-9.6-9.6.5/src/backend/tcop/utility.c postgresql-9.6-9.6.6/src/backend/tcop/utility.c --- postgresql-9.6-9.6.5/src/backend/tcop/utility.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/tcop/utility.c 2017-11-06 22:08:55.000000000 +0000 @@ -2864,6 +2864,10 @@ lev = LOGSTMT_DDL; break; + case T_AlterOperatorStmt: + lev = LOGSTMT_DDL; + break; + case T_AlterTableMoveAllStmt: case T_AlterTableStmt: lev = LOGSTMT_DDL; diff -Nru postgresql-9.6-9.6.5/src/backend/utils/adt/acl.c postgresql-9.6-9.6.6/src/backend/utils/adt/acl.c --- postgresql-9.6-9.6.5/src/backend/utils/adt/acl.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/utils/adt/acl.c 2017-11-06 22:08:55.000000000 +0000 @@ -722,7 +722,9 @@ * acldefault() --- create an ACL describing default access permissions * * Change this routine if you want to alter the default access policy for - * newly-created objects (or any object with a NULL acl entry). + * newly-created objects (or any object with a NULL acl entry). When + * you make a change here, don't forget to update the GRANT man page, + * which explains all the default permissions. * * Note that these are the hard-wired "defaults" that are used in the * absence of any pg_default_acl entry. diff -Nru postgresql-9.6-9.6.5/src/backend/utils/adt/jsonb.c postgresql-9.6-9.6.6/src/backend/utils/adt/jsonb.c --- postgresql-9.6-9.6.5/src/backend/utils/adt/jsonb.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/utils/adt/jsonb.c 2017-11-06 22:08:55.000000000 +0000 @@ -16,6 +16,7 @@ #include "access/htup_details.h" #include "access/transam.h" #include "catalog/pg_type.h" +#include "funcapi.h" #include "libpq/pqformat.h" #include "parser/parse_coerce.h" #include "utils/builtins.h" @@ -1170,16 +1171,24 @@ Datum jsonb_build_object(PG_FUNCTION_ARGS) { - int nargs = PG_NARGS(); + int nargs; int i; - Datum arg; - Oid val_type; JsonbInState result; + Datum *args; + bool *nulls; + Oid *types; + + /* build argument values to build the object */ + nargs = extract_variadic_args(fcinfo, 0, true, &args, &types, &nulls); + + if (nargs < 0) + PG_RETURN_NULL(); if (nargs % 2 != 0) ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("invalid number of arguments: object must be matched key value pairs"))); + errmsg("argument list must have even number of elements"), + errhint("The arguments of jsonb_build_object() must consist of alternating keys and values."))); memset(&result, 0, sizeof(JsonbInState)); @@ -1188,54 +1197,15 @@ for (i = 0; i < nargs; i += 2) { /* process key */ - - if (PG_ARGISNULL(i)) + if (nulls[i]) ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), errmsg("argument %d: key must not be null", i + 1))); - val_type = get_fn_expr_argtype(fcinfo->flinfo, i); - - /* - * turn a constant (more or less literal) value that's of unknown type - * into text. Unknowns come in as a cstring pointer. - */ - if (val_type == UNKNOWNOID && get_fn_expr_arg_stable(fcinfo->flinfo, i)) - { - val_type = TEXTOID; - arg = CStringGetTextDatum(PG_GETARG_POINTER(i)); - } - else - { - arg = PG_GETARG_DATUM(i); - } - if (val_type == InvalidOid || val_type == UNKNOWNOID) - ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("could not determine data type for argument %d", i + 1))); - add_jsonb(arg, false, &result, val_type, true); + add_jsonb(args[i], false, &result, types[i], true); /* process value */ - - val_type = get_fn_expr_argtype(fcinfo->flinfo, i + 1); - /* see comments above */ - if (val_type == UNKNOWNOID && get_fn_expr_arg_stable(fcinfo->flinfo, i + 1)) - { - val_type = TEXTOID; - if (PG_ARGISNULL(i + 1)) - arg = (Datum) 0; - else - arg = CStringGetTextDatum(PG_GETARG_POINTER(i + 1)); - } - else - { - arg = PG_GETARG_DATUM(i + 1); - } - if (val_type == InvalidOid || val_type == UNKNOWNOID) - ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("could not determine data type for argument %d", i + 2))); - add_jsonb(arg, PG_ARGISNULL(i + 1), &result, val_type, false); + add_jsonb(args[i + 1], nulls[i + 1], &result, types[i + 1], false); } result.res = pushJsonbValue(&result.parseState, WJB_END_OBJECT, NULL); @@ -1265,38 +1235,25 @@ Datum jsonb_build_array(PG_FUNCTION_ARGS) { - int nargs = PG_NARGS(); + int nargs; int i; - Datum arg; - Oid val_type; JsonbInState result; + Datum *args; + bool *nulls; + Oid *types; + + /* build argument values to build the array */ + nargs = extract_variadic_args(fcinfo, 0, true, &args, &types, &nulls); + + if (nargs < 0) + PG_RETURN_NULL(); memset(&result, 0, sizeof(JsonbInState)); result.res = pushJsonbValue(&result.parseState, WJB_BEGIN_ARRAY, NULL); for (i = 0; i < nargs; i++) - { - val_type = get_fn_expr_argtype(fcinfo->flinfo, i); - /* see comments in jsonb_build_object above */ - if (val_type == UNKNOWNOID && get_fn_expr_arg_stable(fcinfo->flinfo, i)) - { - val_type = TEXTOID; - if (PG_ARGISNULL(i)) - arg = (Datum) 0; - else - arg = CStringGetTextDatum(PG_GETARG_POINTER(i)); - } - else - { - arg = PG_GETARG_DATUM(i); - } - if (val_type == InvalidOid || val_type == UNKNOWNOID) - ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("could not determine data type for argument %d", i + 1))); - add_jsonb(arg, PG_ARGISNULL(i), &result, val_type, false); - } + add_jsonb(args[i], nulls[i], &result, types[i], false); result.res = pushJsonbValue(&result.parseState, WJB_END_ARRAY, NULL); diff -Nru postgresql-9.6-9.6.5/src/backend/utils/adt/json.c postgresql-9.6-9.6.6/src/backend/utils/adt/json.c --- postgresql-9.6-9.6.5/src/backend/utils/adt/json.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/utils/adt/json.c 2017-11-06 22:08:55.000000000 +0000 @@ -17,6 +17,7 @@ #include "access/transam.h" #include "catalog/pg_type.h" #include "executor/spi.h" +#include "funcapi.h" #include "lib/stringinfo.h" #include "libpq/pqformat.h" #include "mb/pg_wchar.h" @@ -2106,10 +2107,17 @@ { int nargs = PG_NARGS(); int i; - Datum arg; const char *sep = ""; StringInfo result; - Oid val_type; + Datum *args; + bool *nulls; + Oid *types; + + /* fetch argument values to build the object */ + nargs = extract_variadic_args(fcinfo, 0, false, &args, &types, &nulls); + + if (nargs < 0) + PG_RETURN_NULL(); if (nargs % 2 != 0) ereport(ERROR, @@ -2123,52 +2131,22 @@ for (i = 0; i < nargs; i += 2) { - /* - * Note: since json_build_object() is declared as taking type "any", - * the parser will not do any type conversion on unknown-type literals - * (that is, undecorated strings or NULLs). Such values will arrive - * here as type UNKNOWN, which fortunately does not matter to us, - * since unknownout() works fine. - */ appendStringInfoString(result, sep); sep = ", "; /* process key */ - val_type = get_fn_expr_argtype(fcinfo->flinfo, i); - - if (val_type == InvalidOid) - ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("could not determine data type for argument %d", - i + 1))); - - if (PG_ARGISNULL(i)) + if (nulls[i]) ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), errmsg("argument %d cannot be null", i + 1), errhint("Object keys should be text."))); - arg = PG_GETARG_DATUM(i); - - add_json(arg, false, result, val_type, true); + add_json(args[i], false, result, types[i], true); appendStringInfoString(result, " : "); /* process value */ - val_type = get_fn_expr_argtype(fcinfo->flinfo, i + 1); - - if (val_type == InvalidOid) - ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("could not determine data type for argument %d", - i + 2))); - - if (PG_ARGISNULL(i + 1)) - arg = (Datum) 0; - else - arg = PG_GETARG_DATUM(i + 1); - - add_json(arg, PG_ARGISNULL(i + 1), result, val_type, false); + add_json(args[i + 1], nulls[i + 1], result, types[i + 1], false); } appendStringInfoChar(result, '}'); @@ -2191,12 +2169,19 @@ Datum json_build_array(PG_FUNCTION_ARGS) { - int nargs = PG_NARGS(); + int nargs; int i; - Datum arg; const char *sep = ""; StringInfo result; - Oid val_type; + Datum *args; + bool *nulls; + Oid *types; + + /* fetch argument values to build the array */ + nargs = extract_variadic_args(fcinfo, 0, false, &args, &types, &nulls); + + if (nargs < 0) + PG_RETURN_NULL(); result = makeStringInfo(); @@ -2204,30 +2189,9 @@ for (i = 0; i < nargs; i++) { - /* - * Note: since json_build_array() is declared as taking type "any", - * the parser will not do any type conversion on unknown-type literals - * (that is, undecorated strings or NULLs). Such values will arrive - * here as type UNKNOWN, which fortunately does not matter to us, - * since unknownout() works fine. - */ appendStringInfoString(result, sep); sep = ", "; - - val_type = get_fn_expr_argtype(fcinfo->flinfo, i); - - if (val_type == InvalidOid) - ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("could not determine data type for argument %d", - i + 1))); - - if (PG_ARGISNULL(i)) - arg = (Datum) 0; - else - arg = PG_GETARG_DATUM(i); - - add_json(arg, PG_ARGISNULL(i), result, val_type, false); + add_json(args[i], nulls[i], result, types[i], false); } appendStringInfoChar(result, ']'); diff -Nru postgresql-9.6-9.6.5/src/backend/utils/adt/jsonfuncs.c postgresql-9.6-9.6.6/src/backend/utils/adt/jsonfuncs.c --- postgresql-9.6-9.6.5/src/backend/utils/adt/jsonfuncs.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/utils/adt/jsonfuncs.c 2017-11-06 22:08:55.000000000 +0000 @@ -2696,26 +2696,37 @@ rsi->returnMode = SFRM_Materialize; - /* - * get the tupdesc from the result set info - it must be a record type - * because we already checked that arg1 is a record type, or we're in a - * to_record function which returns a setof record. - */ - if (get_call_result_type(fcinfo, NULL, &tupdesc) != TYPEFUNC_COMPOSITE) - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("function returning record called in context " - "that cannot accept type record"))); - /* if the json is null send back an empty set */ if (PG_ARGISNULL(json_arg_num)) PG_RETURN_NULL(); if (!have_record_arg || PG_ARGISNULL(0)) + { rec = NULL; + + /* + * get the tupdesc from the result set info - it must be a record type + * because we already checked that arg1 is a record type, or we're in + * a to_record function which returns a setof record. + */ + if (get_call_result_type(fcinfo, NULL, &tupdesc) != TYPEFUNC_COMPOSITE) + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("function returning record called in context " + "that cannot accept type record"))); + } else + { rec = PG_GETARG_HEAPTUPLEHEADER(0); + /* + * use the input record's own type marking to find a tupdesc for it. + */ + tupType = HeapTupleHeaderGetTypeId(rec); + tupTypmod = HeapTupleHeaderGetTypMod(rec); + tupdesc = lookup_rowtype_tupdesc(tupType, tupTypmod); + } + tupType = tupdesc->tdtypeid; tupTypmod = tupdesc->tdtypmod; ncolumns = tupdesc->natts; @@ -2759,6 +2770,9 @@ false, work_mem); MemoryContextSwitchTo(old_cxt); + /* unnecessary, but harmless, if tupdesc came from get_call_result_type: */ + ReleaseTupleDesc(tupdesc); + state->function_name = funcname; state->my_extra = my_extra; state->rec = rec; diff -Nru postgresql-9.6-9.6.5/src/backend/utils/adt/numeric.c postgresql-9.6-9.6.6/src/backend/utils/adt/numeric.c --- postgresql-9.6-9.6.5/src/backend/utils/adt/numeric.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/utils/adt/numeric.c 2017-11-06 22:08:55.000000000 +0000 @@ -3023,7 +3023,12 @@ if (isnan(val)) PG_RETURN_NUMERIC(make_result(&const_nan)); - sprintf(buf, "%.*g", DBL_DIG, val); + if (isinf(val)) + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot convert infinity to numeric"))); + + snprintf(buf, sizeof(buf), "%.*g", DBL_DIG, val); init_var(&result); @@ -3085,7 +3090,12 @@ if (isnan(val)) PG_RETURN_NUMERIC(make_result(&const_nan)); - sprintf(buf, "%.*g", FLT_DIG, val); + if (isinf(val)) + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot convert infinity to numeric"))); + + snprintf(buf, sizeof(buf), "%.*g", FLT_DIG, val); init_var(&result); diff -Nru postgresql-9.6-9.6.5/src/backend/utils/cache/typcache.c postgresql-9.6-9.6.6/src/backend/utils/cache/typcache.c --- postgresql-9.6-9.6.5/src/backend/utils/cache/typcache.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/utils/cache/typcache.c 2017-11-06 22:08:55.000000000 +0000 @@ -168,6 +168,8 @@ static bool record_fields_have_equality(TypeCacheEntry *typentry); static bool record_fields_have_compare(TypeCacheEntry *typentry); static void cache_record_field_properties(TypeCacheEntry *typentry); +static bool range_element_has_hashing(TypeCacheEntry *typentry); +static void cache_range_element_properties(TypeCacheEntry *typentry); static void TypeCacheRelCallback(Datum arg, Oid relid); static void TypeCacheOpcCallback(Datum arg, int cacheid, uint32 hashvalue); static void TypeCacheConstrCallback(Datum arg, int cacheid, uint32 hashvalue); @@ -481,6 +483,13 @@ !array_element_has_hashing(typentry)) hash_proc = InvalidOid; + /* + * Likewise for hash_range. + */ + if (hash_proc == F_HASH_RANGE && + !range_element_has_hashing(typentry)) + hash_proc = InvalidOid; + /* Force update of hash_proc_finfo only if we're changing state */ if (typentry->hash_proc != hash_proc) typentry->hash_proc_finfo.fn_oid = InvalidOid; @@ -1113,6 +1122,10 @@ typentry->flags |= TCFLAGS_CHECKED_ELEM_PROPERTIES; } +/* + * Likewise, some helper functions for composite types. + */ + static bool record_fields_have_equality(TypeCacheEntry *typentry) { @@ -1183,6 +1196,43 @@ typentry->flags |= TCFLAGS_CHECKED_FIELD_PROPERTIES; } +/* + * Likewise, some helper functions for range types. + * + * We can borrow the flag bits for array element properties to use for range + * element properties, since those flag bits otherwise have no use in a + * range type's typcache entry. + */ + +static bool +range_element_has_hashing(TypeCacheEntry *typentry) +{ + if (!(typentry->flags & TCFLAGS_CHECKED_ELEM_PROPERTIES)) + cache_range_element_properties(typentry); + return (typentry->flags & TCFLAGS_HAVE_ELEM_HASHING) != 0; +} + +static void +cache_range_element_properties(TypeCacheEntry *typentry) +{ + /* load up subtype link if we didn't already */ + if (typentry->rngelemtype == NULL && + typentry->typtype == TYPTYPE_RANGE) + load_rangetype_info(typentry); + + if (typentry->rngelemtype != NULL) + { + TypeCacheEntry *elementry; + + /* might need to calculate subtype's hash function properties */ + elementry = lookup_type_cache(typentry->rngelemtype->type_id, + TYPECACHE_HASH_PROC); + if (OidIsValid(elementry->hash_proc)) + typentry->flags |= TCFLAGS_HAVE_ELEM_HASHING; + } + typentry->flags |= TCFLAGS_CHECKED_ELEM_PROPERTIES; +} + /* * lookup_rowtype_tupdesc_internal --- internal routine to lookup a rowtype diff -Nru postgresql-9.6-9.6.5/src/backend/utils/fmgr/funcapi.c postgresql-9.6-9.6.6/src/backend/utils/fmgr/funcapi.c --- postgresql-9.6-9.6.5/src/backend/utils/fmgr/funcapi.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/utils/fmgr/funcapi.c 2017-11-06 22:08:55.000000000 +0000 @@ -2,7 +2,7 @@ * * funcapi.c * Utility and convenience functions for fmgr functions that return - * sets and/or composite types. + * sets and/or composite types, or deal with VARIADIC inputs. * * Copyright (c) 2002-2016, PostgreSQL Global Development Group * @@ -1396,3 +1396,116 @@ return tupdesc; } + +/* + * extract_variadic_args + * + * Extract a set of argument values, types and NULL markers for a given + * input function which makes use of a VARIADIC input whose argument list + * depends on the caller context. When doing a VARIADIC call, the caller + * has provided one argument made of an array of values, so deconstruct the + * array data before using it for the next processing. If no VARIADIC call + * is used, just fill in the status data based on all the arguments given + * by the caller. + * + * This function returns the number of arguments generated, or -1 in the + * case of "VARIADIC NULL". + */ +int +extract_variadic_args(FunctionCallInfo fcinfo, int variadic_start, + bool convert_unknown, Datum **args, Oid **types, + bool **nulls) +{ + bool variadic = get_fn_expr_variadic(fcinfo->flinfo); + Datum *args_res; + bool *nulls_res; + Oid *types_res; + int nargs, i; + + *args = NULL; + *types = NULL; + *nulls = NULL; + + if (variadic) + { + ArrayType *array_in; + Oid element_type; + bool typbyval; + char typalign; + int16 typlen; + + Assert(PG_NARGS() == variadic_start + 1); + + if (PG_ARGISNULL(variadic_start)) + return -1; + + array_in = PG_GETARG_ARRAYTYPE_P(variadic_start); + element_type = ARR_ELEMTYPE(array_in); + + get_typlenbyvalalign(element_type, + &typlen, &typbyval, &typalign); + deconstruct_array(array_in, element_type, typlen, typbyval, + typalign, &args_res, &nulls_res, + &nargs); + + /* All the elements of the array have the same type */ + types_res = (Oid *) palloc0(nargs * sizeof(Oid)); + for (i = 0; i < nargs; i++) + types_res[i] = element_type; + } + else + { + nargs = PG_NARGS() - variadic_start; + Assert (nargs > 0); + nulls_res = (bool *) palloc0(nargs * sizeof(bool)); + args_res = (Datum *) palloc0(nargs * sizeof(Datum)); + types_res = (Oid *) palloc0(nargs * sizeof(Oid)); + + for (i = 0; i < nargs; i++) + { + nulls_res[i] = PG_ARGISNULL(i + variadic_start); + types_res[i] = get_fn_expr_argtype(fcinfo->flinfo, + i + variadic_start); + + /* + * Turn a constant (more or less literal) value that's of unknown + * type into text if required . Unknowns come in as a cstring + * pointer. + * Note: for functions declared as taking type "any", the parser + * will not do any type conversion on unknown-type literals (that + * is, undecorated strings or NULLs). + */ + if (convert_unknown && + types_res[i] == UNKNOWNOID && + get_fn_expr_arg_stable(fcinfo->flinfo, i + variadic_start)) + { + types_res[i] = TEXTOID; + + if (PG_ARGISNULL(i + variadic_start)) + args_res[i] = (Datum) 0; + else + args_res[i] = + CStringGetTextDatum(PG_GETARG_POINTER(i + variadic_start)); + } + else + { + /* no conversion needed, just take the datum as given */ + args_res[i] = PG_GETARG_DATUM(i + variadic_start); + } + + if (!OidIsValid(types_res[i]) || + (convert_unknown && types_res[i] == UNKNOWNOID)) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("could not determine data type for argument %d", + i + 1))); + } + } + + /* Fill in results */ + *args = args_res; + *nulls = nulls_res; + *types = types_res; + + return nargs; +} diff -Nru postgresql-9.6-9.6.5/src/backend/utils/misc/guc.c postgresql-9.6-9.6.6/src/backend/utils/misc/guc.c --- postgresql-9.6-9.6.5/src/backend/utils/misc/guc.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/utils/misc/guc.c 2017-11-06 22:08:55.000000000 +0000 @@ -424,6 +424,7 @@ bool SQL_inheritance = true; bool Password_encryption = true; +bool session_auth_is_superuser; int log_min_error_statement = ERROR; int log_min_messages = WARNING; @@ -470,7 +471,6 @@ * and is kept in sync by assign_hooks. */ static char *syslog_ident_str; -static bool session_auth_is_superuser; static double phony_random_seed; static char *client_encoding_string; static char *datestyle_string; @@ -8873,12 +8873,18 @@ * constants; a few, like server_encoding and lc_ctype, are handled specially * outside the serialize/restore procedure. Therefore, SerializeGUCState() * never sends these, and RestoreGUCState() never changes them. + * + * Role is a special variable in the sense that its current value can be an + * invalid value and there are multiple ways by which that can happen (like + * after setting the role, someone drops it). So we handle it outside of + * serialize/restore machinery. */ static bool can_skip_gucvar(struct config_generic * gconf) { return gconf->context == PGC_POSTMASTER || - gconf->context == PGC_INTERNAL || gconf->source == PGC_S_DEFAULT; + gconf->context == PGC_INTERNAL || gconf->source == PGC_S_DEFAULT || + strcmp(gconf->name, "role") == 0; } /* @@ -9139,7 +9145,6 @@ Size actual_size; Size bytes_left; int i; - int i_role = -1; /* Reserve space for saving the actual size of the guc state */ Assert(maxsize > sizeof(actual_size)); @@ -9147,19 +9152,7 @@ bytes_left = maxsize - sizeof(actual_size); for (i = 0; i < num_guc_variables; i++) - { - /* - * It's pretty ugly, but we've got to force "role" to be initialized - * after "session_authorization"; otherwise, the latter will override - * the former. - */ - if (strcmp(guc_variables[i]->name, "role") == 0) - i_role = i; - else - serialize_variable(&curptr, &bytes_left, guc_variables[i]); - } - if (i_role >= 0) - serialize_variable(&curptr, &bytes_left, guc_variables[i_role]); + serialize_variable(&curptr, &bytes_left, guc_variables[i]); /* Store actual size without assuming alignment of start_address. */ actual_size = maxsize - bytes_left - sizeof(actual_size); diff -Nru postgresql-9.6-9.6.5/src/backend/utils/time/snapmgr.c postgresql-9.6-9.6.6/src/backend/utils/time/snapmgr.c --- postgresql-9.6-9.6.5/src/backend/utils/time/snapmgr.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/utils/time/snapmgr.c 2017-11-06 22:08:55.000000000 +0000 @@ -1599,6 +1599,14 @@ FreeDir(s_dir); } +/* + * ThereAreNoPriorRegisteredSnapshots + * Is the registered snapshot count less than or equal to one? + * + * Don't use this to settle important decisions. While zero registrations and + * no ActiveSnapshot would confirm a certain idleness, the system makes no + * guarantees about the significance of one registered snapshot. + */ bool ThereAreNoPriorRegisteredSnapshots(void) { diff -Nru postgresql-9.6-9.6.5/src/backend/utils/time/tqual.c postgresql-9.6-9.6.6/src/backend/utils/time/tqual.c --- postgresql-9.6-9.6.5/src/backend/utils/time/tqual.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/backend/utils/time/tqual.c 2017-11-06 22:08:55.000000000 +0000 @@ -79,8 +79,6 @@ SnapshotData SnapshotSelfData = {HeapTupleSatisfiesSelf}; SnapshotData SnapshotAnyData = {HeapTupleSatisfiesAny}; -/* local functions */ -static bool XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot); /* * SetHintBits() @@ -1457,10 +1455,10 @@ * Note: GetSnapshotData never stores either top xid or subxids of our own * backend into a snapshot, so these xids will not be reported as "running" * by this function. This is OK for current uses, because we always check - * TransactionIdIsCurrentTransactionId first, except for known-committed - * XIDs which could not be ours anyway. + * TransactionIdIsCurrentTransactionId first, except when it's known the + * XID could not be ours anyway. */ -static bool +bool XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot) { uint32 i; diff -Nru postgresql-9.6-9.6.5/src/bin/pg_basebackup/pg_basebackup.c postgresql-9.6-9.6.6/src/bin/pg_basebackup/pg_basebackup.c --- postgresql-9.6-9.6.5/src/bin/pg_basebackup/pg_basebackup.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/bin/pg_basebackup/pg_basebackup.c 2017-11-06 22:08:55.000000000 +0000 @@ -201,6 +201,11 @@ exit(1); } + /* + * Comparisons done with these values should involve similarly + * canonicalized path values. This is particularly sensitive on Windows + * where path values may not necessarily use Unix slashes. + */ canonicalize_path(cell->old_dir); canonicalize_path(cell->new_dir); @@ -1131,9 +1136,14 @@ get_tablespace_mapping(const char *dir) { TablespaceListCell *cell; + char canon_dir[MAXPGPATH]; + + /* Canonicalize path for comparison consistency */ + strlcpy(canon_dir, dir, sizeof(canon_dir)); + canonicalize_path(canon_dir); for (cell = tablespace_dirs.head; cell; cell = cell->next) - if (strcmp(dir, cell->old_dir) == 0) + if (strcmp(canon_dir, cell->old_dir) == 0) return cell->new_dir; return dir; diff -Nru postgresql-9.6-9.6.5/src/bin/pg_dump/dumputils.c postgresql-9.6-9.6.6/src/bin/pg_dump/dumputils.c --- postgresql-9.6-9.6.5/src/bin/pg_dump/dumputils.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/bin/pg_dump/dumputils.c 2017-11-06 22:08:55.000000000 +0000 @@ -729,21 +729,36 @@ * We always perform this delta on all ACLs and expect that by the time * these are run the initial privileges will be in place, even in a binary * upgrade situation (see below). + * + * Finally, the order in which privileges are in the ACL string (the order + * they been GRANT'd in, which the backend maintains) must be preserved to + * ensure that GRANTs WITH GRANT OPTION and subsequent GRANTs based on + * those are dumped in the correct order. */ - printfPQExpBuffer(acl_subquery, "(SELECT pg_catalog.array_agg(acl) FROM " - "(SELECT pg_catalog.unnest(coalesce(%s,pg_catalog.acldefault(%s,%s))) AS acl " - "EXCEPT " - "SELECT pg_catalog.unnest(coalesce(pip.initprivs,pg_catalog.acldefault(%s,%s)))) as foo)", + printfPQExpBuffer(acl_subquery, + "(SELECT pg_catalog.array_agg(acl ORDER BY row_n) FROM " + "(SELECT acl, row_n FROM " + "pg_catalog.unnest(coalesce(%s,pg_catalog.acldefault(%s,%s))) " + "WITH ORDINALITY AS perm(acl,row_n) " + "WHERE NOT EXISTS ( " + "SELECT 1 FROM " + "pg_catalog.unnest(coalesce(pip.initprivs,pg_catalog.acldefault(%s,%s))) " + "AS init(init_acl) WHERE acl = init_acl)) as foo)", acl_column, obj_kind, acl_owner, obj_kind, acl_owner); - printfPQExpBuffer(racl_subquery, "(SELECT pg_catalog.array_agg(acl) FROM " - "(SELECT pg_catalog.unnest(coalesce(pip.initprivs,pg_catalog.acldefault(%s,%s))) AS acl " - "EXCEPT " - "SELECT pg_catalog.unnest(coalesce(%s,pg_catalog.acldefault(%s,%s)))) as foo)", + printfPQExpBuffer(racl_subquery, + "(SELECT pg_catalog.array_agg(acl ORDER BY row_n) FROM " + "(SELECT acl, row_n FROM " + "pg_catalog.unnest(coalesce(pip.initprivs,pg_catalog.acldefault(%s,%s))) " + "WITH ORDINALITY AS initp(acl,row_n) " + "WHERE NOT EXISTS ( " + "SELECT 1 FROM " + "pg_catalog.unnest(coalesce(%s,pg_catalog.acldefault(%s,%s))) " + "AS permp(orig_acl) WHERE acl = orig_acl)) as foo)", obj_kind, acl_owner, acl_column, @@ -768,19 +783,25 @@ { printfPQExpBuffer(init_acl_subquery, "CASE WHEN privtype = 'e' THEN " - "(SELECT pg_catalog.array_agg(acl) FROM " - "(SELECT pg_catalog.unnest(pip.initprivs) AS acl " - "EXCEPT " - "SELECT pg_catalog.unnest(pg_catalog.acldefault(%s,%s))) as foo) END", + "(SELECT pg_catalog.array_agg(acl ORDER BY row_n) FROM " + "(SELECT acl, row_n FROM pg_catalog.unnest(pip.initprivs) " + "WITH ORDINALITY AS initp(acl,row_n) " + "WHERE NOT EXISTS ( " + "SELECT 1 FROM " + "pg_catalog.unnest(pg_catalog.acldefault(%s,%s)) " + "AS privm(orig_acl) WHERE acl = orig_acl)) as foo) END", obj_kind, acl_owner); printfPQExpBuffer(init_racl_subquery, "CASE WHEN privtype = 'e' THEN " "(SELECT pg_catalog.array_agg(acl) FROM " - "(SELECT pg_catalog.unnest(pg_catalog.acldefault(%s,%s)) AS acl " - "EXCEPT " - "SELECT pg_catalog.unnest(pip.initprivs)) as foo) END", + "(SELECT acl, row_n FROM " + "pg_catalog.unnest(pg_catalog.acldefault(%s,%s)) " + "WITH ORDINALITY AS privp(acl,row_n) " + "WHERE NOT EXISTS ( " + "SELECT 1 FROM pg_catalog.unnest(pip.initprivs) " + "AS initp(init_acl) WHERE acl = init_acl)) as foo) END", obj_kind, acl_owner); } diff -Nru postgresql-9.6-9.6.5/src/bin/pg_dump/po/it.po postgresql-9.6-9.6.6/src/bin/pg_dump/po/it.po --- postgresql-9.6-9.6.5/src/bin/pg_dump/po/it.po 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/bin/pg_dump/po/it.po 2017-11-06 22:08:55.000000000 +0000 @@ -24,8 +24,8 @@ msgstr "" "Project-Id-Version: pg_dump (Postgresql) 9.6\n" "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n" -"POT-Creation-Date: 2017-02-09 21:14+0000\n" -"PO-Revision-Date: 2017-04-23 02:51+0100\n" +"POT-Creation-Date: 2017-09-07 01:53+0000\n" +"PO-Revision-Date: 2017-10-23 19:11+0100\n" "Last-Translator: Daniele Varrazzo \n" "Language-Team: Gruppo traduzioni ITPUG \n" "Language: it\n" @@ -343,14 +343,14 @@ msgid "could not close compression library: %s\n" msgstr "chiusura della libreria di compressione fallita: %s\n" -#: compress_io.c:596 compress_io.c:632 pg_backup_custom.c:591 -#: pg_backup_tar.c:561 +#: compress_io.c:600 compress_io.c:638 pg_backup_custom.c:591 +#: pg_backup_tar.c:566 pg_backup_tar.c:570 #, c-format msgid "could not read from input file: %s\n" msgstr "lettura dal file di input fallita: %s\n" -#: compress_io.c:635 pg_backup_custom.c:588 pg_backup_directory.c:548 -#: pg_backup_tar.c:797 pg_backup_tar.c:821 +#: compress_io.c:641 pg_backup_custom.c:588 pg_backup_directory.c:552 +#: pg_backup_tar.c:809 pg_backup_tar.c:833 #, c-format msgid "could not read from input file: end of file\n" msgstr "lettura dal file di input fallita: fine del file\n" @@ -453,490 +453,480 @@ msgid "archiver" msgstr "archiviatore" -#: pg_backup_archiver.c:234 pg_backup_archiver.c:1535 +#: pg_backup_archiver.c:240 pg_backup_archiver.c:1589 #, c-format msgid "could not close output file: %s\n" msgstr "chiusura del file di output fallita: %s\n" -#: pg_backup_archiver.c:280 pg_backup_archiver.c:285 +#: pg_backup_archiver.c:286 pg_backup_archiver.c:291 #, c-format msgid "WARNING: archive items not in correct section order\n" msgstr "ATTENZIONE: gli elementi dell'archivio non sono nell'ordine di sezione giusto\n" -#: pg_backup_archiver.c:291 +#: pg_backup_archiver.c:297 #, c-format msgid "unexpected section code %d\n" msgstr "codice di sezione non prevista %d\n" -#: pg_backup_archiver.c:327 +#: pg_backup_archiver.c:333 #, c-format msgid "-C and -1 are incompatible options\n" msgstr "-C e -1 sono opzioni incompatibili\n" -#: pg_backup_archiver.c:337 +#: pg_backup_archiver.c:343 #, c-format msgid "parallel restore is not supported with this archive file format\n" msgstr "il ripristino parallelo non è supportato con questo formato di archivio\n" -#: pg_backup_archiver.c:341 +#: pg_backup_archiver.c:347 #, c-format msgid "parallel restore is not supported with archives made by pre-8.0 pg_dump\n" msgstr "il ripristino parallelo non è supportato con archivi eseguiti da pg_dump precedenti la versione 8.0\n" -#: pg_backup_archiver.c:359 +#: pg_backup_archiver.c:365 #, c-format msgid "cannot restore from compressed archive (compression not supported in this installation)\n" msgstr "non è possibile ripristinare da archivio compresso (compressione non supportata in questa installazione)\n" -#: pg_backup_archiver.c:376 +#: pg_backup_archiver.c:382 #, c-format msgid "connecting to database for restore\n" msgstr "connessione al database per il ripristino\n" -#: pg_backup_archiver.c:378 +#: pg_backup_archiver.c:384 #, c-format msgid "direct database connections are not supported in pre-1.3 archives\n" msgstr "le connessioni dirette al database non sono supportate negli archivi pre-1.3\n" -#: pg_backup_archiver.c:423 +#: pg_backup_archiver.c:429 #, c-format msgid "implied data-only restore\n" msgstr "ripristino implicito dei soli dati\n" -#: pg_backup_archiver.c:493 +#: pg_backup_archiver.c:499 #, c-format msgid "dropping %s %s\n" msgstr "cancellazione di %s %s\n" -#: pg_backup_archiver.c:586 +#: pg_backup_archiver.c:592 #, c-format msgid "WARNING: could not find where to insert IF EXISTS in statement \"%s\"\n" msgstr "ATTENZIONE: posizione dove inserire IF EXISTS nell'istruzione \"%s\" non trovata\n" -#: pg_backup_archiver.c:662 -#, c-format -msgid "setting owner and privileges for %s \"%s.%s\"\n" -msgstr "impostazione di proprietario e permessi per %s \"%s.%s\"\n" - -#: pg_backup_archiver.c:665 -#, c-format -msgid "setting owner and privileges for %s \"%s\"\n" -msgstr "impostazione di proprietario e permessi per %s \"%s\"\n" - -#: pg_backup_archiver.c:731 pg_backup_archiver.c:733 +#: pg_backup_archiver.c:755 pg_backup_archiver.c:757 #, c-format msgid "warning from original dump file: %s\n" msgstr "avvertimento dal file originale scaricato: %s\n" -#: pg_backup_archiver.c:742 +#: pg_backup_archiver.c:769 #, c-format msgid "creating %s \"%s.%s\"\n" msgstr "creazione %s \"%s.%s\"\n" -#: pg_backup_archiver.c:745 +#: pg_backup_archiver.c:772 #, c-format msgid "creating %s \"%s\"\n" msgstr "creazione di %s \"%s\"\n" -#: pg_backup_archiver.c:797 +#: pg_backup_archiver.c:823 #, c-format msgid "connecting to new database \"%s\"\n" msgstr "connessione al nuovo database \"%s\"\n" -#: pg_backup_archiver.c:825 +#: pg_backup_archiver.c:851 #, c-format msgid "processing %s\n" msgstr "elaborazione di %s\n" -#: pg_backup_archiver.c:845 +#: pg_backup_archiver.c:871 #, c-format msgid "processing data for table \"%s.%s\"\n" msgstr "elaborazione dati per la tabella \"%s.%s\".\n" -#: pg_backup_archiver.c:907 +#: pg_backup_archiver.c:933 #, c-format msgid "executing %s %s\n" msgstr "esecuzione di %s %s\n" -#: pg_backup_archiver.c:946 +#: pg_backup_archiver.c:972 #, c-format msgid "disabling triggers for %s\n" msgstr "disabilitazione trigger per %s\n" -#: pg_backup_archiver.c:974 +#: pg_backup_archiver.c:1000 #, c-format msgid "enabling triggers for %s\n" msgstr "abilitazione trigger per %s\n" -#: pg_backup_archiver.c:1004 +#: pg_backup_archiver.c:1030 #, c-format msgid "internal error -- WriteData cannot be called outside the context of a DataDumper routine\n" msgstr "errore interno -- WriteData non può essere chiamata al di fuori del contesto di una routine DataDumper\n" -#: pg_backup_archiver.c:1173 +#: pg_backup_archiver.c:1227 #, c-format msgid "large-object output not supported in chosen format\n" msgstr "emissione dei large object non supportata nel formato scelto\n" -#: pg_backup_archiver.c:1231 +#: pg_backup_archiver.c:1285 #, c-format msgid "restored %d large object\n" msgid_plural "restored %d large objects\n" msgstr[0] "ripristinato %d large object\n" msgstr[1] "ripristinati %d large object\n" -#: pg_backup_archiver.c:1252 pg_backup_tar.c:739 +#: pg_backup_archiver.c:1306 pg_backup_tar.c:751 #, c-format msgid "restoring large object with OID %u\n" msgstr "ripristino del large object con OID %u\n" -#: pg_backup_archiver.c:1264 +#: pg_backup_archiver.c:1318 #, c-format msgid "could not create large object %u: %s" msgstr "creazione il large object %u fallita: %s" -#: pg_backup_archiver.c:1269 pg_dump.c:3070 +#: pg_backup_archiver.c:1323 pg_dump.c:3093 #, c-format msgid "could not open large object %u: %s" msgstr "apertura del large object %u fallita: %s" -#: pg_backup_archiver.c:1327 +#: pg_backup_archiver.c:1381 #, c-format msgid "could not open TOC file \"%s\": %s\n" msgstr "apertura del file TOC \"%s\" fallita: %s\n" -#: pg_backup_archiver.c:1368 +#: pg_backup_archiver.c:1422 #, c-format msgid "WARNING: line ignored: %s\n" msgstr "ATTENZIONE: la riga è stata ignorata: %s\n" -#: pg_backup_archiver.c:1375 +#: pg_backup_archiver.c:1429 #, c-format msgid "could not find entry for ID %d\n" msgstr "non sono state trovate voci per l'ID %d\n" -#: pg_backup_archiver.c:1396 pg_backup_directory.c:230 -#: pg_backup_directory.c:597 +#: pg_backup_archiver.c:1450 pg_backup_directory.c:230 +#: pg_backup_directory.c:601 #, c-format msgid "could not close TOC file: %s\n" msgstr "chiusura del file TOC fallita: %s\n" -#: pg_backup_archiver.c:1505 pg_backup_custom.c:162 pg_backup_directory.c:341 -#: pg_backup_directory.c:583 pg_backup_directory.c:641 -#: pg_backup_directory.c:661 +#: pg_backup_archiver.c:1559 pg_backup_custom.c:162 pg_backup_directory.c:341 +#: pg_backup_directory.c:587 pg_backup_directory.c:645 +#: pg_backup_directory.c:665 #, c-format msgid "could not open output file \"%s\": %s\n" msgstr "apertura del file di output \"%s\" fallita: %s\n" -#: pg_backup_archiver.c:1508 pg_backup_custom.c:169 +#: pg_backup_archiver.c:1562 pg_backup_custom.c:169 #, c-format msgid "could not open output file: %s\n" msgstr "apertura del file di output fallita: %s\n" -#: pg_backup_archiver.c:1614 +#: pg_backup_archiver.c:1668 #, c-format msgid "wrote %lu byte of large object data (result = %lu)\n" msgid_plural "wrote %lu bytes of large object data (result = %lu)\n" msgstr[0] "scritto %lu byte di dati large object (risultato = %lu)\n" msgstr[1] "scritti %lu byte di dati large object (risultato = %lu)\n" -#: pg_backup_archiver.c:1620 +#: pg_backup_archiver.c:1674 #, c-format msgid "could not write to large object (result: %lu, expected: %lu)\n" msgstr "scrittura del large object fallita (risultato: %lu, previsto: %lu)\n" -#: pg_backup_archiver.c:1713 +#: pg_backup_archiver.c:1767 #, c-format msgid "Error while INITIALIZING:\n" msgstr "Errore durante INIZIALIZZAZIONE:\n" -#: pg_backup_archiver.c:1718 +#: pg_backup_archiver.c:1772 #, c-format msgid "Error while PROCESSING TOC:\n" msgstr "Errore durante ELABORAZIONE TOC:\n" -#: pg_backup_archiver.c:1723 +#: pg_backup_archiver.c:1777 #, c-format msgid "Error while FINALIZING:\n" msgstr "Errore durante FINALIZZAZIONE:\n" -#: pg_backup_archiver.c:1728 +#: pg_backup_archiver.c:1782 #, c-format msgid "Error from TOC entry %d; %u %u %s %s %s\n" msgstr "Errore nella voce TOC %d; %u %u %s %s %s\n" -#: pg_backup_archiver.c:1801 +#: pg_backup_archiver.c:1855 #, c-format msgid "bad dumpId\n" msgstr "dumpId errato\n" -#: pg_backup_archiver.c:1822 +#: pg_backup_archiver.c:1876 #, c-format msgid "bad table dumpId for TABLE DATA item\n" msgstr "dumpId di tabella errato per elemento TABLE DATA\n" -#: pg_backup_archiver.c:1914 +#: pg_backup_archiver.c:1968 #, c-format msgid "unexpected data offset flag %d\n" msgstr "flag di offset dati non previsto %d\n" -#: pg_backup_archiver.c:1927 +#: pg_backup_archiver.c:1981 #, c-format msgid "file offset in dump file is too large\n" msgstr "l'offset del file scaricato è troppo grande\n" -#: pg_backup_archiver.c:2040 +#: pg_backup_archiver.c:2094 #, c-format msgid "attempting to ascertain archive format\n" msgstr "tentativo di accertamento del formato dell'archivio\n" -#: pg_backup_archiver.c:2066 pg_backup_archiver.c:2076 +#: pg_backup_archiver.c:2120 pg_backup_archiver.c:2130 #, c-format msgid "directory name too long: \"%s\"\n" msgstr "nome della directory troppo lungo: \"%s\"\n" -#: pg_backup_archiver.c:2084 +#: pg_backup_archiver.c:2138 #, c-format msgid "directory \"%s\" does not appear to be a valid archive (\"toc.dat\" does not exist)\n" msgstr "la directory \"%s\" non sembra un archivio valido (\"toc.dat\" non esiste)\n" -#: pg_backup_archiver.c:2092 pg_backup_custom.c:181 pg_backup_custom.c:770 -#: pg_backup_directory.c:214 pg_backup_directory.c:399 +#: pg_backup_archiver.c:2146 pg_backup_custom.c:181 pg_backup_custom.c:770 +#: pg_backup_directory.c:214 pg_backup_directory.c:401 #, c-format msgid "could not open input file \"%s\": %s\n" msgstr "apertura del file di input \"%s\" fallita: %s\n" -#: pg_backup_archiver.c:2100 pg_backup_custom.c:188 +#: pg_backup_archiver.c:2154 pg_backup_custom.c:188 #, c-format msgid "could not open input file: %s\n" msgstr "apertura del file di input fallita: %s\n" -#: pg_backup_archiver.c:2107 +#: pg_backup_archiver.c:2161 #, c-format msgid "could not read input file: %s\n" msgstr "lettura del file di input fallita: %s\n" -#: pg_backup_archiver.c:2109 +#: pg_backup_archiver.c:2163 #, c-format msgid "input file is too short (read %lu, expected 5)\n" msgstr "il file di input è troppo corto (letti %lu, previsti 5)\n" -#: pg_backup_archiver.c:2192 +#: pg_backup_archiver.c:2246 #, c-format msgid "input file appears to be a text format dump. Please use psql.\n" msgstr "il file di input sembra un dump in formato testo. Prego usare psql.\n" -#: pg_backup_archiver.c:2198 +#: pg_backup_archiver.c:2252 #, c-format msgid "input file does not appear to be a valid archive (too short?)\n" msgstr "il file di input non sembra essere un archivio valido (è troppo corto?)\n" -#: pg_backup_archiver.c:2204 +#: pg_backup_archiver.c:2258 #, c-format msgid "input file does not appear to be a valid archive\n" msgstr "il file di input non sembra essere un archivio valido\n" -#: pg_backup_archiver.c:2224 +#: pg_backup_archiver.c:2278 #, c-format msgid "could not close input file: %s\n" msgstr "chiusura del file di input fallita: %s\n" -#: pg_backup_archiver.c:2241 +#: pg_backup_archiver.c:2295 #, c-format msgid "allocating AH for %s, format %d\n" msgstr "allocazione AH per %s, formato %d\n" -#: pg_backup_archiver.c:2346 +#: pg_backup_archiver.c:2400 #, c-format msgid "unrecognized file format \"%d\"\n" msgstr "formato di file \"%d\" sconosciuto\n" -#: pg_backup_archiver.c:2502 +#: pg_backup_archiver.c:2556 #, c-format msgid "entry ID %d out of range -- perhaps a corrupt TOC\n" msgstr "la voce ID %d è fuori dall'intervallo consentito -- possibile corruzione della TOC\n" -#: pg_backup_archiver.c:2618 +#: pg_backup_archiver.c:2672 #, c-format msgid "read TOC entry %d (ID %d) for %s %s\n" msgstr "letta voce TOC %d (ID %d) per %s %s\n" -#: pg_backup_archiver.c:2652 +#: pg_backup_archiver.c:2706 #, c-format msgid "unrecognized encoding \"%s\"\n" msgstr "codifica sconosciuta \"%s\"\n" -#: pg_backup_archiver.c:2657 +#: pg_backup_archiver.c:2711 #, c-format msgid "invalid ENCODING item: %s\n" msgstr "elemento ENCODING non valido: %s\n" -#: pg_backup_archiver.c:2675 +#: pg_backup_archiver.c:2729 #, c-format msgid "invalid STDSTRINGS item: %s\n" msgstr "elemento STDSTRINGS non valido: %s\n" -#: pg_backup_archiver.c:2690 +#: pg_backup_archiver.c:2744 #, c-format msgid "schema \"%s\" not found\n" msgstr "schema \"%s\" non trovato\n" -#: pg_backup_archiver.c:2697 +#: pg_backup_archiver.c:2751 #, c-format msgid "table \"%s\" not found\n" msgstr "tabella \"%s\" non trovata\n" -#: pg_backup_archiver.c:2704 +#: pg_backup_archiver.c:2758 #, c-format msgid "index \"%s\" not found\n" msgstr "indice \"%s\" non trovato\n" -#: pg_backup_archiver.c:2711 +#: pg_backup_archiver.c:2765 #, c-format msgid "function \"%s\" not found\n" msgstr "funzione \"%s\" non trovata\n" -#: pg_backup_archiver.c:2718 +#: pg_backup_archiver.c:2772 #, c-format msgid "trigger \"%s\" not found\n" msgstr "trigger \"%s\" non trovato\n" -#: pg_backup_archiver.c:2950 +#: pg_backup_archiver.c:3036 #, c-format msgid "could not set session user to \"%s\": %s" msgstr "impostazione della sessione utente a \"%s\" fallita: %s" -#: pg_backup_archiver.c:2982 +#: pg_backup_archiver.c:3068 #, c-format msgid "could not set default_with_oids: %s" msgstr "impostazione di default_with_oids fallita: %s" -#: pg_backup_archiver.c:3127 +#: pg_backup_archiver.c:3213 #, c-format msgid "could not set search_path to \"%s\": %s" msgstr "impostazione di search_path a \"%s\" fallita: %s" -#: pg_backup_archiver.c:3189 +#: pg_backup_archiver.c:3275 #, c-format msgid "could not set default_tablespace to %s: %s" msgstr "impostazione di default_tablespace a %s fallita: %s" -#: pg_backup_archiver.c:3276 pg_backup_archiver.c:3470 +#: pg_backup_archiver.c:3363 pg_backup_archiver.c:3553 #, c-format -msgid "WARNING: don't know how to set owner for object type %s\n" -msgstr "ATTENZIONE: non si sa come impostare il proprietario per il tipo di oggetto %s\n" +msgid "WARNING: don't know how to set owner for object type \"%s\"\n" +msgstr "ATTENZIONE: non si sa come impostare il proprietario per il tipo di oggetto \"%s\"\n" -#: pg_backup_archiver.c:3552 +#: pg_backup_archiver.c:3639 #, c-format msgid "did not find magic string in file header\n" msgstr "magic string non trovata nell'intestazione del file\n" -#: pg_backup_archiver.c:3565 +#: pg_backup_archiver.c:3652 #, c-format msgid "unsupported version (%d.%d) in file header\n" msgstr "versione (%d.%d) non supportata nell'intestazione del file\n" -#: pg_backup_archiver.c:3570 +#: pg_backup_archiver.c:3657 #, c-format msgid "sanity check on integer size (%lu) failed\n" msgstr "verifica sulla dimensione degli interi (%lu) fallita\n" -#: pg_backup_archiver.c:3574 +#: pg_backup_archiver.c:3661 #, c-format msgid "WARNING: archive was made on a machine with larger integers, some operations might fail\n" msgstr "ATTENZIONE: L'archivio è stato creato su una macchina con interi lunghi, alcune operazioni potrebbero fallire\n" -#: pg_backup_archiver.c:3584 +#: pg_backup_archiver.c:3671 #, c-format msgid "expected format (%d) differs from format found in file (%d)\n" msgstr "il formato previsto (%d) differisce dal formato trovato nel file (%d)\n" -#: pg_backup_archiver.c:3600 +#: pg_backup_archiver.c:3687 #, c-format msgid "WARNING: archive is compressed, but this installation does not support compression -- no data will be available\n" msgstr "ATTENZIONE: l'archivio è compresso, ma questa installazione non supporta la compressione -- nessun dato sarà disponibile\n" -#: pg_backup_archiver.c:3618 +#: pg_backup_archiver.c:3705 #, c-format msgid "WARNING: invalid creation date in header\n" msgstr "ATTENZIONE: la data di creazione nell'intestazione non è valida\n" -#: pg_backup_archiver.c:3693 +#: pg_backup_archiver.c:3778 #, c-format msgid "entering restore_toc_entries_prefork\n" msgstr "inizio di restore_toc_entries_prefork\n" -#: pg_backup_archiver.c:3737 +#: pg_backup_archiver.c:3842 #, c-format msgid "processing item %d %s %s\n" msgstr "elaborazione elemento %d %s %s\n" -#: pg_backup_archiver.c:3789 +#: pg_backup_archiver.c:3896 #, c-format msgid "entering restore_toc_entries_parallel\n" msgstr "immissione restore_toc_entries_parallel\n" -#: pg_backup_archiver.c:3837 +#: pg_backup_archiver.c:3917 #, c-format msgid "entering main parallel loop\n" msgstr "inizio del loop principale parallelo\n" -#: pg_backup_archiver.c:3848 +#: pg_backup_archiver.c:3928 #, c-format msgid "skipping item %d %s %s\n" msgstr "saltato l'elemento %d %s %s\n" -#: pg_backup_archiver.c:3858 +#: pg_backup_archiver.c:3938 #, c-format msgid "launching item %d %s %s\n" msgstr "avvio dell'elemento %d %s %s\n" -#: pg_backup_archiver.c:3914 +#: pg_backup_archiver.c:4019 #, c-format msgid "finished main parallel loop\n" msgstr "loop principale parallelo terminato\n" -#: pg_backup_archiver.c:3923 +#: pg_backup_archiver.c:4037 #, c-format msgid "entering restore_toc_entries_postfork\n" msgstr "inizio di restore_toc_entries_postfork\n" -#: pg_backup_archiver.c:3942 +#: pg_backup_archiver.c:4057 #, c-format msgid "processing missed item %d %s %s\n" msgstr "elaborazione dell'elemento perduto %d %s %s\n" -#: pg_backup_archiver.c:4091 +#: pg_backup_archiver.c:4234 #, c-format msgid "no item ready\n" msgstr "nessun elemento pronto\n" -#: pg_backup_archiver.c:4139 +#: pg_backup_archiver.c:4282 #, c-format msgid "could not find slot of finished worker\n" msgstr "non è stato trovato alcuno slot di worker terminati\n" -#: pg_backup_archiver.c:4141 +#: pg_backup_archiver.c:4284 #, c-format msgid "finished item %d %s %s\n" msgstr "elemento %d %s %s terminato\n" -#: pg_backup_archiver.c:4154 +#: pg_backup_archiver.c:4297 #, c-format msgid "worker process failed: exit code %d\n" msgstr "processo worker fallito: codice di uscita %d\n" -#: pg_backup_archiver.c:4316 +#: pg_backup_archiver.c:4459 #, c-format msgid "transferring dependency %d -> %d to %d\n" msgstr "trasferimento di dipendenza %d -> %d a %d\n" -#: pg_backup_archiver.c:4389 +#: pg_backup_archiver.c:4532 #, c-format msgid "reducing dependencies for %d\n" msgstr "riduzione dipendenze per %d\n" -#: pg_backup_archiver.c:4428 +#: pg_backup_archiver.c:4584 #, c-format msgid "table \"%s\" could not be created, will not restore its data\n" msgstr "creazione della tabella \"%s\" fallita, i suoi dati non verranno ripristinati\n" @@ -987,7 +977,7 @@ msgstr "tipo di blocco dati sconosciuto %d durante il ripristino dell'archivio\n" #: pg_backup_custom.c:709 pg_backup_custom.c:759 pg_backup_custom.c:908 -#: pg_backup_tar.c:1088 +#: pg_backup_tar.c:1100 #, c-format msgid "could not determine seek position in archive file: %s\n" msgstr "non è stato possibile determinare la posizione per il seek nel file d'archivio: %s\n" @@ -1133,7 +1123,7 @@ msgid "COPY failed for table \"%s\": %s" msgstr "COPY fallito per la tabella \"%s\": %s" -#: pg_backup_db.c:657 pg_dump.c:1805 +#: pg_backup_db.c:657 pg_dump.c:1814 #, c-format msgid "WARNING: unexpected extra results during COPY of table \"%s\"\n" msgstr "ATTENZIONE: risultati aggiuntivi inattesi nel COPY della tabella \"%s\"\n" @@ -1171,42 +1161,48 @@ msgid "could not create directory \"%s\": %s\n" msgstr "creazione della directory \"%s\" fallita: %s\n" -#: pg_backup_directory.c:412 +#: pg_backup_directory.c:360 pg_backup_directory.c:500 +#: pg_backup_directory.c:530 +#, c-format +msgid "could not write to output file: %s\n" +msgstr "scrittura nel file di output fallita: %s\n" + +#: pg_backup_directory.c:414 #, c-format msgid "could not close data file: %s\n" msgstr "chiusura del file di dati fallita: %s\n" -#: pg_backup_directory.c:453 +#: pg_backup_directory.c:455 #, c-format msgid "could not open large object TOC file \"%s\" for input: %s\n" msgstr "apertura del file TOC dei large object \"%s\" per l'input fallita: %s\n" -#: pg_backup_directory.c:464 +#: pg_backup_directory.c:466 #, c-format msgid "invalid line in large object TOC file \"%s\": \"%s\"\n" msgstr "riga non valida nel file TOC dei large object \"%s\": \"%s\"\n" -#: pg_backup_directory.c:473 +#: pg_backup_directory.c:475 #, c-format msgid "error reading large object TOC file \"%s\"\n" msgstr "errore in lettura del file TOC dei large object \"%s\"\n" -#: pg_backup_directory.c:477 +#: pg_backup_directory.c:479 #, c-format msgid "could not close large object TOC file \"%s\": %s\n" msgstr "chiusura del file TOC dei large object \"%s\" fallita: %s\n" -#: pg_backup_directory.c:684 +#: pg_backup_directory.c:688 #, c-format msgid "could not write to blobs TOC file\n" msgstr "scrittura nel file TOC dei blob fallita\n" -#: pg_backup_directory.c:716 +#: pg_backup_directory.c:720 #, c-format msgid "file name too long: \"%s\"\n" msgstr "nome del file troppo lungo: \"%s\"\n" -#: pg_backup_directory.c:802 +#: pg_backup_directory.c:806 #, c-format msgid "error during backup\n" msgstr "errore durante il backup\n" @@ -1266,69 +1262,69 @@ msgid "could not close tar member\n" msgstr "chiusura del membro tar fallita\n" -#: pg_backup_tar.c:571 +#: pg_backup_tar.c:583 #, c-format msgid "internal error -- neither th nor fh specified in tarReadRaw()\n" msgstr "errore interno -- né th né fh specificato in tarReadRaw()\n" -#: pg_backup_tar.c:694 +#: pg_backup_tar.c:706 #, c-format msgid "unexpected COPY statement syntax: \"%s\"\n" msgstr "sintassi dell'istruzione COPY imprevista: \"%s\"\n" -#: pg_backup_tar.c:960 +#: pg_backup_tar.c:972 #, c-format msgid "invalid OID for large object (%u)\n" msgstr "OID non valida per il large object (%u)\n" -#: pg_backup_tar.c:1104 +#: pg_backup_tar.c:1116 #, c-format msgid "could not close temporary file: %s\n" msgstr "chiusura del file temporaneo fallita: %s\n" -#: pg_backup_tar.c:1114 +#: pg_backup_tar.c:1126 #, c-format msgid "actual file length (%s) does not match expected (%s)\n" msgstr "la lunghezza del file (%s) non corrisponde con quella prevista (%s)\n" -#: pg_backup_tar.c:1151 +#: pg_backup_tar.c:1163 #, c-format msgid "moving from position %s to next member at file position %s\n" msgstr "spostamento dalla posizione %s al membro successivo alla posizione nel file %s\n" -#: pg_backup_tar.c:1162 +#: pg_backup_tar.c:1174 #, c-format msgid "now at file position %s\n" msgstr "attuale posizione nel file %s\n" -#: pg_backup_tar.c:1171 pg_backup_tar.c:1201 +#: pg_backup_tar.c:1183 pg_backup_tar.c:1213 #, c-format msgid "could not find header for file \"%s\" in tar archive\n" msgstr "intestazione per il file \"%s\" nell'archivio tar non trovata\n" -#: pg_backup_tar.c:1185 +#: pg_backup_tar.c:1197 #, c-format msgid "skipping tar member %s\n" msgstr "salto del membro tar %s\n" -#: pg_backup_tar.c:1189 +#: pg_backup_tar.c:1201 #, c-format msgid "restoring data out of order is not supported in this archive format: \"%s\" is required, but comes before \"%s\" in the archive file.\n" msgstr "il ripristino dei dati fuori ordine non è supportato in questo formato di archivio: è richiesto \"%s\", ma nel file d'archivio viene prima di \"%s\".\n" -#: pg_backup_tar.c:1235 +#: pg_backup_tar.c:1247 #, c-format msgid "incomplete tar header found (%lu byte)\n" msgid_plural "incomplete tar header found (%lu bytes)\n" msgstr[0] "intestazione del file tar incompleta (%lu byte)\n" msgstr[1] "intestazione del file tar incompleta (%lu byte)\n" -#: pg_backup_tar.c:1276 +#: pg_backup_tar.c:1288 #, c-format msgid "TOC Entry %s at %s (length %s, checksum %d)\n" msgstr "Voce TOC %s a %s (lunghezza %s, checksum %d)\n" -#: pg_backup_tar.c:1287 +#: pg_backup_tar.c:1299 #, c-format msgid "corrupt tar header found in %s (expected %d, computed %d) file position %s\n" msgstr "intestazione tar corrotta in %s (previsti %d, calcolati %d) alla posizione file %s\n" @@ -1431,7 +1427,7 @@ msgid "no matching tables were found\n" msgstr "non è stata trovata nessuna tabella corrispondente\n" -#: pg_dump.c:888 +#: pg_dump.c:897 #, c-format msgid "" "%s dumps a database as a text file or to other formats.\n" @@ -1440,17 +1436,17 @@ "%s scarica un database in formato testo o in altri formati.\n" "\n" -#: pg_dump.c:889 pg_dumpall.c:547 pg_restore.c:443 +#: pg_dump.c:898 pg_dumpall.c:547 pg_restore.c:443 #, c-format msgid "Usage:\n" msgstr "Utilizzo:\n" -#: pg_dump.c:890 +#: pg_dump.c:899 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [OPZIONE]... [NOMEDB]\n" -#: pg_dump.c:892 pg_dumpall.c:550 pg_restore.c:446 +#: pg_dump.c:901 pg_dumpall.c:550 pg_restore.c:446 #, c-format msgid "" "\n" @@ -1459,12 +1455,12 @@ "\n" "Opzioni generali:\n" -#: pg_dump.c:893 +#: pg_dump.c:902 #, c-format msgid " -f, --file=FILENAME output file or directory name\n" msgstr " -f, --file=NOMEFILE nome del file o directory di output\n" -#: pg_dump.c:894 +#: pg_dump.c:903 #, c-format msgid "" " -F, --format=c|d|t|p output file format (custom, directory, tar,\n" @@ -1473,39 +1469,39 @@ " -F, --format=c|d|t|p formato del file di output (custom, directory,\n" " tar, testo in chiaro (predefinito))\n" -#: pg_dump.c:896 +#: pg_dump.c:905 #, c-format msgid " -j, --jobs=NUM use this many parallel jobs to dump\n" msgstr " -j, --jobs=NUM usa NUM job paralleli per il dump\n" -#: pg_dump.c:897 pg_dumpall.c:552 +#: pg_dump.c:906 pg_dumpall.c:552 #, c-format msgid " -v, --verbose verbose mode\n" msgstr " -v, --verbose stampa più informazioni\n" -#: pg_dump.c:898 pg_dumpall.c:553 +#: pg_dump.c:907 pg_dumpall.c:553 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version mostra informazioni sulla versione ed esci\n" -#: pg_dump.c:899 +#: pg_dump.c:908 #, c-format msgid " -Z, --compress=0-9 compression level for compressed formats\n" msgstr " -Z, --compress=0-9 livello di compressione per formati compressi\n" -#: pg_dump.c:900 pg_dumpall.c:554 +#: pg_dump.c:909 pg_dumpall.c:554 #, c-format msgid " --lock-wait-timeout=TIMEOUT fail after waiting TIMEOUT for a table lock\n" msgstr "" " --lock-wait-timeout=TIMEOUT termina con errore dopo un'attesa di TIMEOUT\n" " per un lock di tabella\n" -#: pg_dump.c:901 pg_dumpall.c:555 +#: pg_dump.c:910 pg_dumpall.c:555 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help mostra questo aiuto ed esci\n" -#: pg_dump.c:903 pg_dumpall.c:556 +#: pg_dump.c:912 pg_dumpall.c:556 #, c-format msgid "" "\n" @@ -1514,51 +1510,51 @@ "\n" "Opzioni per il controllo del contenuto dell'output:\n" -#: pg_dump.c:904 pg_dumpall.c:557 +#: pg_dump.c:913 pg_dumpall.c:557 #, c-format msgid " -a, --data-only dump only the data, not the schema\n" msgstr " -a, --data-only scarica solamente i dati, non lo schema\n" -#: pg_dump.c:905 +#: pg_dump.c:914 #, c-format msgid " -b, --blobs include large objects in dump\n" msgstr " -b, --blobs includi nell'archivio i large object\n" -#: pg_dump.c:906 pg_restore.c:457 +#: pg_dump.c:915 pg_restore.c:457 #, c-format msgid " -c, --clean clean (drop) database objects before recreating\n" msgstr "" " -c, --clean svuota (drop) gli oggetti del database prima di\n" " ricrearli\n" -#: pg_dump.c:907 +#: pg_dump.c:916 #, c-format msgid " -C, --create include commands to create database in dump\n" msgstr "" " -C, --create include nell'archivio i comandi per creare\n" " i database\n" -#: pg_dump.c:908 +#: pg_dump.c:917 #, c-format msgid " -E, --encoding=ENCODING dump the data in encoding ENCODING\n" msgstr " -E, --encoding=CODIFICA scarica i dati nella CODIFICA indicata\n" -#: pg_dump.c:909 +#: pg_dump.c:918 #, c-format msgid " -n, --schema=SCHEMA dump the named schema(s) only\n" msgstr " -n, --schema=SCHEMA scarica solo lo schema o gli schemi indicati\n" -#: pg_dump.c:910 +#: pg_dump.c:919 #, c-format msgid " -N, --exclude-schema=SCHEMA do NOT dump the named schema(s)\n" msgstr " -N, --exclude-schema=SCHEMA non scaricare lo schema o gli schemi indicati\n" -#: pg_dump.c:911 pg_dumpall.c:560 +#: pg_dump.c:920 pg_dumpall.c:560 #, c-format msgid " -o, --oids include OIDs in dump\n" msgstr " -o, --oids includi gli OID nel dump\n" -#: pg_dump.c:912 +#: pg_dump.c:921 #, c-format msgid "" " -O, --no-owner skip restoration of object ownership in\n" @@ -1567,60 +1563,60 @@ " -O, --no-owner salta il ripristino del proprietario degli\n" " oggetti nel formato testo in chiaro\n" -#: pg_dump.c:914 pg_dumpall.c:563 +#: pg_dump.c:923 pg_dumpall.c:563 #, c-format msgid " -s, --schema-only dump only the schema, no data\n" msgstr " -s, --schema-only scarica solo lo schema, non i dati\n" -#: pg_dump.c:915 +#: pg_dump.c:924 #, c-format msgid " -S, --superuser=NAME superuser user name to use in plain-text format\n" msgstr "" " -S, --superuser=NOME nome del superutente da usare nel formato testo\n" " in chiaro\n" -#: pg_dump.c:916 +#: pg_dump.c:925 #, c-format msgid " -t, --table=TABLE dump the named table(s) only\n" msgstr " -t, --table=TABELLA scarica solo la tabella o le tabelle indicate\n" -#: pg_dump.c:917 +#: pg_dump.c:926 #, c-format msgid " -T, --exclude-table=TABLE do NOT dump the named table(s)\n" msgstr " -T, --exclude-table=TABELLA NON scaricare la tabella o le tabelle indicate\n" -#: pg_dump.c:918 pg_dumpall.c:566 +#: pg_dump.c:927 pg_dumpall.c:566 #, c-format msgid " -x, --no-privileges do not dump privileges (grant/revoke)\n" msgstr " -x, --no-privileges non scaricare i privilegi (grant/revoke)\n" -#: pg_dump.c:919 pg_dumpall.c:567 +#: pg_dump.c:928 pg_dumpall.c:567 #, c-format msgid " --binary-upgrade for use by upgrade utilities only\n" msgstr " --binary-upgrade da utilizzare solo dall'utilità di aggiornamento\n" -#: pg_dump.c:920 pg_dumpall.c:568 +#: pg_dump.c:929 pg_dumpall.c:568 #, c-format msgid " --column-inserts dump data as INSERT commands with column names\n" msgstr "" " --column-inserts scarica dati come comandi INSERT con nomi\n" " di colonna\n" -#: pg_dump.c:921 pg_dumpall.c:569 +#: pg_dump.c:930 pg_dumpall.c:569 #, c-format msgid " --disable-dollar-quoting disable dollar quoting, use SQL standard quoting\n" msgstr "" " --disable-dollar-quoting disabilita la quotazione con dollari, usa la\n" " quotazione standard SQL\n" -#: pg_dump.c:922 pg_dumpall.c:570 pg_restore.c:473 +#: pg_dump.c:931 pg_dumpall.c:570 pg_restore.c:473 #, c-format msgid " --disable-triggers disable triggers during data-only restore\n" msgstr "" " --disable-triggers disabilita i trigger durante il ripristino\n" " dei soli dati\n" -#: pg_dump.c:923 +#: pg_dump.c:932 #, c-format msgid "" " --enable-row-security enable row security (dump only content user has\n" @@ -1629,70 +1625,70 @@ " --enable-row-security abilita la sicurezza per riga (salva solo i dati\n" " a cui l'utente ha accesso)\n" -#: pg_dump.c:925 +#: pg_dump.c:934 #, c-format msgid " --exclude-table-data=TABLE do NOT dump data for the named table(s)\n" msgstr "" " --exclude-table-data=TABLE NON scaricare i dati per la tabella o le tabelle\n" " indicate\n" -#: pg_dump.c:926 pg_dumpall.c:571 pg_restore.c:475 +#: pg_dump.c:935 pg_dumpall.c:571 pg_restore.c:475 #, c-format msgid " --if-exists use IF EXISTS when dropping objects\n" msgstr " --if-exists usa IF EXISTS nell'eliminare gli oggetti\n" -#: pg_dump.c:927 pg_dumpall.c:572 +#: pg_dump.c:936 pg_dumpall.c:572 #, c-format msgid " --inserts dump data as INSERT commands, rather than COPY\n" msgstr " --inserts scarica i dati come comandi INSERT anziché COPY\n" -#: pg_dump.c:928 pg_dumpall.c:573 +#: pg_dump.c:937 pg_dumpall.c:573 #, c-format msgid " --no-security-labels do not dump security label assignments\n" msgstr " --no-security-labels non scaricare le assegnazioni di sicurezza\n" -#: pg_dump.c:929 +#: pg_dump.c:938 #, c-format msgid " --no-synchronized-snapshots do not use synchronized snapshots in parallel jobs\n" msgstr " --no-synchronized-snapshots non usare snapshot sincronizzati nei job paralleli\n" -#: pg_dump.c:930 pg_dumpall.c:574 +#: pg_dump.c:939 pg_dumpall.c:574 #, c-format msgid " --no-tablespaces do not dump tablespace assignments\n" msgstr " --no-tablespaces non scarica le assegnazioni di tablespace\n" -#: pg_dump.c:931 pg_dumpall.c:575 +#: pg_dump.c:940 pg_dumpall.c:575 #, c-format msgid " --no-unlogged-table-data do not dump unlogged table data\n" msgstr " --no-unlogged-table-data non scaricare i dati delle tabelle non loggate\n" -#: pg_dump.c:932 pg_dumpall.c:576 +#: pg_dump.c:941 pg_dumpall.c:576 #, c-format msgid " --quote-all-identifiers quote all identifiers, even if not key words\n" msgstr "" " --quote-all-identifiers metti tutti gli identificatori tra virgolette,\n" " anche se non sono parole chiave\n" -#: pg_dump.c:933 +#: pg_dump.c:942 #, c-format msgid " --section=SECTION dump named section (pre-data, data, or post-data)\n" msgstr "" " --section=SECTION scarica la sezione con questo nome (pre-data,\n" " data o post-data)\n" -#: pg_dump.c:934 +#: pg_dump.c:943 #, c-format msgid " --serializable-deferrable wait until the dump can run without anomalies\n" msgstr "" " --serializable-deferrable attendi prima che lo scaricamento possa essere\n" " eseguito senza anomalie\n" -#: pg_dump.c:935 +#: pg_dump.c:944 #, c-format msgid " --snapshot=SNAPSHOT use given snapshot for the dump\n" msgstr " --snapshot=SNAPSHOT usa questo snapshot per il salvataggio\n" -#: pg_dump.c:936 pg_restore.c:481 +#: pg_dump.c:945 pg_restore.c:481 #, c-format msgid "" " --strict-names require table and/or schema include patterns to\n" @@ -1701,7 +1697,7 @@ " --strict-names richiede che le tabelle/schemi includano pattern\n" " che combacino con almeno un'entità\n" -#: pg_dump.c:938 pg_dumpall.c:577 pg_restore.c:483 +#: pg_dump.c:947 pg_dumpall.c:577 pg_restore.c:483 #, c-format msgid "" " --use-set-session-authorization\n" @@ -1712,7 +1708,7 @@ " usa i comandi SET SESSION AUTHORIZATION invece\n" " di ALTER OWNER per impostare il proprietario\n" -#: pg_dump.c:942 pg_dumpall.c:581 pg_restore.c:487 +#: pg_dump.c:951 pg_dumpall.c:581 pg_restore.c:487 #, c-format msgid "" "\n" @@ -1721,44 +1717,44 @@ "\n" "Opzioni di connessione:\n" -#: pg_dump.c:943 +#: pg_dump.c:952 #, c-format msgid " -d, --dbname=DBNAME database to dump\n" msgstr " -d, --dbname=NOMEDB database da scaricare\n" -#: pg_dump.c:944 pg_dumpall.c:583 pg_restore.c:488 +#: pg_dump.c:953 pg_dumpall.c:583 pg_restore.c:488 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=NOMEHOST host server del database o directory socket\n" -#: pg_dump.c:945 pg_dumpall.c:585 pg_restore.c:489 +#: pg_dump.c:954 pg_dumpall.c:585 pg_restore.c:489 #, c-format msgid " -p, --port=PORT database server port number\n" msgstr " -p, --port=PORTA numero porta del server di database\n" -#: pg_dump.c:946 pg_dumpall.c:586 pg_restore.c:490 +#: pg_dump.c:955 pg_dumpall.c:586 pg_restore.c:490 #, c-format msgid " -U, --username=NAME connect as specified database user\n" msgstr " -U, --username=NOME connessione con l'utente di database specificato\n" -#: pg_dump.c:947 pg_dumpall.c:587 pg_restore.c:491 +#: pg_dump.c:956 pg_dumpall.c:587 pg_restore.c:491 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password non chiedere mai le password\n" -#: pg_dump.c:948 pg_dumpall.c:588 pg_restore.c:492 +#: pg_dump.c:957 pg_dumpall.c:588 pg_restore.c:492 #, c-format msgid " -W, --password force password prompt (should happen automatically)\n" msgstr "" " -W, --password forza la richiesta di una password (dovrebbe essere\n" " automatico)\n" -#: pg_dump.c:949 pg_dumpall.c:589 +#: pg_dump.c:958 pg_dumpall.c:589 #, c-format msgid " --role=ROLENAME do SET ROLE before dump\n" msgstr " --role=NOMERUOLO esegui SET ROLE prima di scaricare\n" -#: pg_dump.c:951 +#: pg_dump.c:960 #, c-format msgid "" "\n" @@ -1771,17 +1767,17 @@ "della variabile di ambiente PGDATABASE.\n" "\n" -#: pg_dump.c:953 pg_dumpall.c:593 pg_restore.c:499 +#: pg_dump.c:962 pg_dumpall.c:593 pg_restore.c:499 #, c-format msgid "Report bugs to .\n" msgstr "Puoi segnalare eventuali bug a .\n" -#: pg_dump.c:970 +#: pg_dump.c:979 #, c-format msgid "invalid client encoding \"%s\" specified\n" msgstr "codifica client specificata \"%s\" non valida\n" -#: pg_dump.c:1112 +#: pg_dump.c:1121 #, c-format msgid "" "Synchronized snapshots are not supported on standby servers.\n" @@ -1792,381 +1788,381 @@ "Usa --no-synchronized-snapshots se non ti servono snapshot\n" "sincronizzati.\n" -#: pg_dump.c:1181 +#: pg_dump.c:1190 #, c-format msgid "invalid output format \"%s\" specified\n" msgstr "formato di output specificato \"%s\" non valido\n" -#: pg_dump.c:1204 +#: pg_dump.c:1213 #, c-format msgid "server version must be at least 7.3 to use schema selection switches\n" msgstr "per usare le opzioni di selezione schema la versione del server deve essere almeno 7.3\n" -#: pg_dump.c:1222 +#: pg_dump.c:1231 #, c-format msgid "no matching schemas were found for pattern \"%s\"\n" msgstr "nessuno schema trovato per il pattern \"%s\"\n" -#: pg_dump.c:1275 +#: pg_dump.c:1284 #, c-format msgid "no matching tables were found for pattern \"%s\"\n" msgstr "nessuna tabella trovata per il pattern \"%s\"\n" -#: pg_dump.c:1662 +#: pg_dump.c:1671 #, c-format msgid "dumping contents of table \"%s.%s\"\n" msgstr "salvataggio del contenuto della tabella \"%s.%s\"\n" -#: pg_dump.c:1786 +#: pg_dump.c:1795 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetCopyData() failed.\n" msgstr "Lo scarico dei contenuti della tabella \"%s\" è fallito: PQgetCopyData() fallito.\n" -#: pg_dump.c:1787 pg_dump.c:1797 +#: pg_dump.c:1796 pg_dump.c:1806 #, c-format msgid "Error message from server: %s" msgstr "Messaggio di errore dal server: %s" -#: pg_dump.c:1788 pg_dump.c:1798 +#: pg_dump.c:1797 pg_dump.c:1807 #, c-format msgid "The command was: %s\n" msgstr "Il comando era: %s\n" -#: pg_dump.c:1796 +#: pg_dump.c:1805 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetResult() failed.\n" msgstr "Scarico dei contenuti della tabella \"%s\" fallito: PQgetResult() fallito.\n" -#: pg_dump.c:2445 +#: pg_dump.c:2454 #, c-format msgid "saving database definition\n" msgstr "salvataggio definizione del database\n" -#: pg_dump.c:2779 +#: pg_dump.c:2788 #, c-format msgid "saving encoding = %s\n" msgstr "salvataggio codifica = %s\n" -#: pg_dump.c:2806 +#: pg_dump.c:2815 #, c-format msgid "saving standard_conforming_strings = %s\n" msgstr "salvataggio standard_conforming_strings = %s\n" -#: pg_dump.c:2846 +#: pg_dump.c:2855 #, c-format msgid "reading large objects\n" msgstr "lettura dei large object\n" -#: pg_dump.c:3033 +#: pg_dump.c:3056 #, c-format msgid "saving large objects\n" msgstr "salvataggio dei large object\n" -#: pg_dump.c:3080 +#: pg_dump.c:3103 #, c-format msgid "error reading large object %u: %s" msgstr "errore di lettura del large object %u: %s" -#: pg_dump.c:3132 +#: pg_dump.c:3155 #, c-format msgid "reading row security enabled for table \"%s.%s\"\n" msgstr "letture delle regole di sicurezza per riga abilitata per la tabella \"%s.%s\"\n" -#: pg_dump.c:3163 +#: pg_dump.c:3186 #, c-format msgid "reading policies for table \"%s.%s\"\n" msgstr "lettura delle regole di sicurezza per la tabella \"%s.%s\"\n" -#: pg_dump.c:3296 +#: pg_dump.c:3319 #, c-format msgid "unexpected policy command type: \"%s\"\n" msgstr "tipo di comando di regola di sicurezza imprevisto: \"%s\"\n" -#: pg_dump.c:3515 +#: pg_dump.c:3538 #, c-format msgid "could not find parent extension for %s\n" msgstr "estensione genitore di %s non trovata\n" -#: pg_dump.c:3683 +#: pg_dump.c:3731 #, c-format msgid "WARNING: owner of schema \"%s\" appears to be invalid\n" msgstr "ATTENZIONE: il proprietario dello schema \"%s\" sembra non essere valido\n" -#: pg_dump.c:3726 +#: pg_dump.c:3774 #, c-format msgid "schema with OID %u does not exist\n" msgstr "lo schema con OID %u non esiste\n" -#: pg_dump.c:4141 +#: pg_dump.c:4189 #, c-format msgid "WARNING: owner of data type \"%s\" appears to be invalid\n" msgstr "ATTENZIONE: il proprietario del tipo dato \"%s\" non sembra essere valido\n" -#: pg_dump.c:4255 +#: pg_dump.c:4303 #, c-format msgid "WARNING: owner of operator \"%s\" appears to be invalid\n" msgstr "ATTENZIONE: il proprietario dell'operatore \"%s\" non sembra essere valido\n" -#: pg_dump.c:4600 +#: pg_dump.c:4648 #, c-format msgid "WARNING: owner of operator class \"%s\" appears to be invalid\n" msgstr "ATTENZIONE: il proprietario della classe operatore \"%s\" non sembra essere valido\n" -#: pg_dump.c:4691 +#: pg_dump.c:4739 #, c-format msgid "WARNING: owner of operator family \"%s\" appears to be invalid\n" msgstr "ATTENZIONE: il proprietario della famiglia di operatori \"%s\" non sembra essere valido\n" -#: pg_dump.c:4892 +#: pg_dump.c:4940 #, c-format msgid "WARNING: owner of aggregate function \"%s\" appears to be invalid\n" msgstr "ATTENZIONE: il proprietario della funzione di aggregazione \"%s\" non sembra essere valido\n" -#: pg_dump.c:5189 +#: pg_dump.c:5237 #, c-format msgid "WARNING: owner of function \"%s\" appears to be invalid\n" msgstr "ATTENZIONE: il proprietario della funzione \"%s\" non sembra essere valido\n" -#: pg_dump.c:6051 +#: pg_dump.c:6099 #, c-format msgid "WARNING: owner of table \"%s\" appears to be invalid\n" msgstr "ATTENZIONE: il proprietario della tabella \"%s\" non sembra essere valido\n" -#: pg_dump.c:6093 pg_dump.c:16593 +#: pg_dump.c:6141 pg_dump.c:16665 #, c-format msgid "failed sanity check, parent table OID %u of sequence OID %u not found\n" msgstr "controllo di integrità fallito, tabella con OID %u proprietaria della sequenza con OID %u non trovata\n" -#: pg_dump.c:6220 +#: pg_dump.c:6268 #, c-format msgid "reading indexes for table \"%s.%s\"\n" msgstr "lettura degli indici della tabella \"%s.%s\"\n" -#: pg_dump.c:6588 +#: pg_dump.c:6636 #, c-format msgid "reading foreign key constraints for table \"%s.%s\"\n" msgstr "lettura dei vincoli di chiave esterna della tabella \"%s.%s\"\n" -#: pg_dump.c:6834 +#: pg_dump.c:6882 #, c-format msgid "failed sanity check, parent table OID %u of pg_rewrite entry OID %u not found\n" msgstr "controllo integrità fallito, l'OID %u della tabella padre della voce OID %u di pg_rewrite non è stato trovato\n" -#: pg_dump.c:6928 +#: pg_dump.c:6976 #, c-format msgid "reading triggers for table \"%s.%s\"\n" msgstr "lettura dei trigger della tabella \"%s.%s\"\n" -#: pg_dump.c:7093 +#: pg_dump.c:7141 #, c-format msgid "query produced null referenced table name for foreign key trigger \"%s\" on table \"%s\" (OID of table: %u)\n" msgstr "la query non ha prodotto nessun nome di tabella referenziata per il trigger di chiave esterna \"%s\" sulla tabella \"%s\" (OID della tabella: %u)\n" -#: pg_dump.c:7748 +#: pg_dump.c:7796 #, c-format msgid "finding the columns and types of table \"%s.%s\"\n" msgstr "lettura delle colonne e dei tipi della tabella \"%s.%s\"\n" -#: pg_dump.c:7927 +#: pg_dump.c:7975 #, c-format msgid "invalid column numbering in table \"%s\"\n" msgstr "numerazione delle colonne non valida nella tabella \"%s\"\n" -#: pg_dump.c:7961 +#: pg_dump.c:8009 #, c-format msgid "finding default expressions of table \"%s.%s\"\n" msgstr "lettura delle espressioni di default della tabella \"%s.%s\"\n" -#: pg_dump.c:8014 +#: pg_dump.c:8062 #, c-format msgid "invalid adnum value %d for table \"%s\"\n" msgstr "valore adnum %d non valido per la tabella \"%s\"\n" -#: pg_dump.c:8086 +#: pg_dump.c:8134 #, c-format msgid "finding check constraints for table \"%s.%s\"\n" msgstr "ricerca dei vincoli di controllo della tabella \"%s.%s\"\n" -#: pg_dump.c:8182 +#: pg_dump.c:8230 #, c-format msgid "expected %d check constraint on table \"%s\" but found %d\n" msgid_plural "expected %d check constraints on table \"%s\" but found %d\n" msgstr[0] "previsto %d vincolo di controllo sulla tabella \"%s\" ma trovato %d\n" msgstr[1] "previsti %d vincoli di controllo sulla tabella \"%s\" ma trovati %d\n" -#: pg_dump.c:8186 +#: pg_dump.c:8234 #, c-format msgid "(The system catalogs might be corrupted.)\n" msgstr "(I cataloghi di sistema potrebbero essere corrotti.)\n" -#: pg_dump.c:9764 +#: pg_dump.c:9813 #, c-format msgid "WARNING: typtype of data type \"%s\" appears to be invalid\n" msgstr "ATTENZIONE: il \"typtype\" del tipo dato \"%s\" sembra non essere valido\n" -#: pg_dump.c:11306 +#: pg_dump.c:11355 #, c-format msgid "WARNING: bogus value in proargmodes array\n" msgstr "ATTENZIONE: valore errato nell'array proargmode\n" -#: pg_dump.c:11684 +#: pg_dump.c:11733 #, c-format msgid "WARNING: could not parse proallargtypes array\n" msgstr "ATTENZIONE: non è stato possibile analizzare l'array proallargtype\n" -#: pg_dump.c:11700 +#: pg_dump.c:11749 #, c-format msgid "WARNING: could not parse proargmodes array\n" msgstr "ATTENZIONE: non è stato possibile analizzare l'array proargmode\n" -#: pg_dump.c:11714 +#: pg_dump.c:11763 #, c-format msgid "WARNING: could not parse proargnames array\n" msgstr "ATTENZIONE: non è stato possibile analizzare l'array proargname\n" -#: pg_dump.c:11725 +#: pg_dump.c:11774 #, c-format msgid "WARNING: could not parse proconfig array\n" msgstr "ATTENZIONE: non è stato possibile analizzare l'array preconfig\n" -#: pg_dump.c:11796 +#: pg_dump.c:11845 #, c-format msgid "unrecognized provolatile value for function \"%s\"\n" msgstr "valore provolatile sconosciuto per la funzione \"%s\"\n" -#: pg_dump.c:11840 pg_dump.c:13889 +#: pg_dump.c:11889 pg_dump.c:13950 #, c-format msgid "unrecognized proparallel value for function \"%s\"\n" msgstr "valore proparallel non riconosciuto per la funzione \"%s\"\n" -#: pg_dump.c:11948 pg_dump.c:12058 pg_dump.c:12065 +#: pg_dump.c:11997 pg_dump.c:12107 pg_dump.c:12114 #, c-format msgid "could not find function definition for function with OID %u\n" msgstr "definizione della funzione con OID %u non trovata\n" -#: pg_dump.c:11993 +#: pg_dump.c:12042 #, c-format msgid "WARNING: bogus value in pg_cast.castfunc or pg_cast.castmethod field\n" msgstr "ATTENZIONE: valore non corretto nei campi pg_cast.castfunc o pg_cast.castmethod\n" -#: pg_dump.c:11996 +#: pg_dump.c:12045 #, c-format msgid "WARNING: bogus value in pg_cast.castmethod field\n" msgstr "ATTENZIONE: valore non corretto nel campo pg_cast.castmethod\n" -#: pg_dump.c:12086 +#: pg_dump.c:12135 #, c-format msgid "WARNING: bogus transform definition, at least one of trffromsql and trftosql should be nonzero\n" msgstr "ATTENZIONE: definizione della trasformazione non corretta, almeno uno tra trffromsql e trftosql dovrebbe essere non-zero\n" -#: pg_dump.c:12103 +#: pg_dump.c:12152 #, c-format msgid "WARNING: bogus value in pg_transform.trffromsql field\n" msgstr "ATTENZIONE: valore non corretto nel campo pg_transform.trffromsql\n" -#: pg_dump.c:12124 +#: pg_dump.c:12173 #, c-format msgid "WARNING: bogus value in pg_transform.trftosql field\n" msgstr "ATTENZIONE: valore non corretto nel campo pg_transform.trftosql\n" -#: pg_dump.c:12515 +#: pg_dump.c:12564 #, c-format msgid "WARNING: could not find operator with OID %s\n" msgstr "ATTENZIONE: operatore con OID %s non trovato\n" -#: pg_dump.c:12579 +#: pg_dump.c:12628 #, c-format msgid "WARNING: invalid type \"%c\" of access method \"%s\"\n" msgstr "ATTENZIONE: tipo \"%c\" non valido del metodo di accesso \"%s\"\n" -#: pg_dump.c:13780 +#: pg_dump.c:13841 #, c-format msgid "WARNING: aggregate function %s could not be dumped correctly for this database version; ignored\n" msgstr "ATTENZIONE: la funzione di aggregazione %s non può essere scaricata correttamente per questa versione database; ignorata\n" -#: pg_dump.c:14652 +#: pg_dump.c:14713 #, c-format msgid "unrecognized object type in default privileges: %d\n" msgstr "tipo di oggetto sconosciuto nei privilegi predefiniti: %d\n" -#: pg_dump.c:14670 +#: pg_dump.c:14731 #, c-format msgid "could not parse default ACL list (%s)\n" msgstr "non è stato possibile interpretare la ACL predefinita (%s)\n" -#: pg_dump.c:14741 +#: pg_dump.c:14812 #, c-format msgid "could not parse initial GRANT ACL list (%s) or initial REVOKE ACL list (%s) for object \"%s\" (%s)\n" msgstr "non è stato possibile interpretare il GRANT ACL iniziale (%s) o il REVOKE ACL iniziale (%s) per l'oggetto \"%s\" (%s)\n" -#: pg_dump.c:14749 +#: pg_dump.c:14820 #, c-format msgid "could not parse GRANT ACL list (%s) or REVOKE ACL list (%s) for object \"%s\" (%s)\n" msgstr "non è stato possibile interpretare il GRANT ACL (%s) o il REVOKE ACL (%s) per l'oggetto \"%s\" (%s)\n" -#: pg_dump.c:15233 +#: pg_dump.c:15305 #, c-format msgid "query to obtain definition of view \"%s\" returned no data\n" msgstr "la query per ottenere la definizione della vista \"%s\" non ha restituito dati\n" -#: pg_dump.c:15236 +#: pg_dump.c:15308 #, c-format msgid "query to obtain definition of view \"%s\" returned more than one definition\n" msgstr "la query per ottenere la definizione della vista \"%s\" ha restituito più di una definizione\n" -#: pg_dump.c:15243 +#: pg_dump.c:15315 #, c-format msgid "definition of view \"%s\" appears to be empty (length zero)\n" msgstr "la definizione della vista \"%s\" sembra essere vuota (lunghezza zero)\n" -#: pg_dump.c:16002 +#: pg_dump.c:16074 #, c-format msgid "invalid column number %d for table \"%s\"\n" msgstr "il numero di colonne %d non è valido per la tabella \"%s\"\n" -#: pg_dump.c:16131 +#: pg_dump.c:16203 #, c-format msgid "missing index for constraint \"%s\"\n" msgstr "omesso indice per vincolo \"%s\"\n" -#: pg_dump.c:16334 +#: pg_dump.c:16406 #, c-format msgid "unrecognized constraint type: %c\n" msgstr "tipo di vincolo sconosciuto: %c\n" -#: pg_dump.c:16488 pg_dump.c:16661 +#: pg_dump.c:16560 pg_dump.c:16733 #, c-format msgid "query to get data of sequence \"%s\" returned %d row (expected 1)\n" msgid_plural "query to get data of sequence \"%s\" returned %d rows (expected 1)\n" msgstr[0] "la query per ottenere i dati della sequenza \"%s\" ha restituito %d riga (prevista 1)\n" msgstr[1] "la query per ottenere i dati della sequenza \"%s\" ha restituito %d righe (prevista 1)\n" -#: pg_dump.c:16499 +#: pg_dump.c:16571 #, c-format msgid "query to get data of sequence \"%s\" returned name \"%s\"\n" msgstr "la query per ottenere dati della sequenza \"%s\" ha restituito il nome \"%s\"\n" -#: pg_dump.c:16759 +#: pg_dump.c:16831 #, c-format msgid "unexpected tgtype value: %d\n" msgstr "valore tgtype inatteso: %d\n" -#: pg_dump.c:16841 +#: pg_dump.c:16913 #, c-format msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\"\n" msgstr "la stringa argomento (%s) non è valida per il trigger \"%s\" sulla tabella \"%s\"\n" -#: pg_dump.c:17038 +#: pg_dump.c:17120 #, c-format msgid "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows returned\n" msgstr "la query per ottenere regole \"%s\" per la tabella \"%s\" ha fallito: ha restituito un numero errato di righe\n" -#: pg_dump.c:17427 +#: pg_dump.c:17509 #, c-format msgid "reading dependency data\n" msgstr "lettura dati di dipendenza\n" -#: pg_dump.c:17984 +#: pg_dump.c:18066 #, c-format msgid "WARNING: could not parse reloptions array\n" msgstr "ATTENZIONE: errore di lettura dell'array reloptions\n" @@ -2605,7 +2601,7 @@ #: pg_restore.c:478 #, c-format msgid " --no-security-labels do not restore security labels\n" -msgstr " --no-security-labels do ripristinare le etichette di sicurezza\n" +msgstr " --no-security-labels non ripristinare le etichette di sicurezza\n" #: pg_restore.c:479 #, c-format diff -Nru postgresql-9.6-9.6.5/src/bin/pg_dump/po/ru.po postgresql-9.6-9.6.6/src/bin/pg_dump/po/ru.po --- postgresql-9.6-9.6.5/src/bin/pg_dump/po/ru.po 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/bin/pg_dump/po/ru.po 2017-11-06 22:08:55.000000000 +0000 @@ -11,8 +11,9 @@ msgstr "" "Project-Id-Version: pg_dump (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n" -"POT-Creation-Date: 2017-08-17 17:53+0000\n" +"POT-Creation-Date: 2017-08-23 14:53+0000\n" "PO-Revision-Date: 2017-08-21 06:16+0300\n" +"Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" @@ -20,7 +21,6 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"Last-Translator: Alexander Lakhin \n" #: ../../common/exec.c:127 ../../common/exec.c:241 ../../common/exec.c:284 #, c-format @@ -881,77 +881,77 @@ msgid "entering restore_toc_entries_prefork\n" msgstr "вход в restore_toc_entries_prefork\n" -#: pg_backup_archiver.c:3841 +#: pg_backup_archiver.c:3842 #, c-format msgid "processing item %d %s %s\n" msgstr "обработка объекта %d %s %s\n" -#: pg_backup_archiver.c:3895 +#: pg_backup_archiver.c:3896 #, c-format msgid "entering restore_toc_entries_parallel\n" msgstr "вход в restore_toc_entries_parallel\n" -#: pg_backup_archiver.c:3916 +#: pg_backup_archiver.c:3917 #, c-format msgid "entering main parallel loop\n" msgstr "вход в основной параллельный цикл\n" -#: pg_backup_archiver.c:3927 +#: pg_backup_archiver.c:3928 #, c-format msgid "skipping item %d %s %s\n" msgstr "объект %d %s %s пропускается\n" -#: pg_backup_archiver.c:3937 +#: pg_backup_archiver.c:3938 #, c-format msgid "launching item %d %s %s\n" msgstr "объект %d %s %s запускается\n" -#: pg_backup_archiver.c:4018 +#: pg_backup_archiver.c:4019 #, c-format msgid "finished main parallel loop\n" msgstr "основной параллельный цикл закончен\n" -#: pg_backup_archiver.c:4036 +#: pg_backup_archiver.c:4037 #, c-format msgid "entering restore_toc_entries_postfork\n" msgstr "вход в restore_toc_entries_postfork\n" -#: pg_backup_archiver.c:4056 +#: pg_backup_archiver.c:4057 #, c-format msgid "processing missed item %d %s %s\n" msgstr "обработка пропущенного объекта %d %s %s\n" -#: pg_backup_archiver.c:4233 +#: pg_backup_archiver.c:4234 #, c-format msgid "no item ready\n" msgstr "элемент не готов\n" -#: pg_backup_archiver.c:4281 +#: pg_backup_archiver.c:4282 #, c-format msgid "could not find slot of finished worker\n" msgstr "не удалось найти слот законченного рабочего объекта\n" -#: pg_backup_archiver.c:4283 +#: pg_backup_archiver.c:4284 #, c-format msgid "finished item %d %s %s\n" msgstr "закончен объект %d %s %s\n" -#: pg_backup_archiver.c:4296 +#: pg_backup_archiver.c:4297 #, c-format msgid "worker process failed: exit code %d\n" msgstr "рабочий процесс завершился с кодом возврата %d\n" -#: pg_backup_archiver.c:4458 +#: pg_backup_archiver.c:4459 #, c-format msgid "transferring dependency %d -> %d to %d\n" msgstr "переключение зависимости %d -> %d на %d\n" -#: pg_backup_archiver.c:4531 +#: pg_backup_archiver.c:4532 #, c-format msgid "reducing dependencies for %d\n" msgstr "уменьшение зависимостей для %d\n" -#: pg_backup_archiver.c:4579 +#: pg_backup_archiver.c:4584 #, c-format msgid "table \"%s\" could not be created, will not restore its data\n" msgstr "создать таблицу \"%s\" не удалось, её данные не будут восстановлены\n" diff -Nru postgresql-9.6-9.6.5/src/bin/pg_resetxlog/po/it.po postgresql-9.6-9.6.6/src/bin/pg_resetxlog/po/it.po --- postgresql-9.6-9.6.5/src/bin/pg_resetxlog/po/it.po 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/bin/pg_resetxlog/po/it.po 2017-11-06 22:08:55.000000000 +0000 @@ -23,8 +23,8 @@ msgstr "" "Project-Id-Version: pg_resetxlog (PostgreSQL) 9.6\n" "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n" -"POT-Creation-Date: 2016-04-17 00:14+0000\n" -"PO-Revision-Date: 2016-04-17 20:51+0100\n" +"POT-Creation-Date: 2017-09-07 01:52+0000\n" +"PO-Revision-Date: 2017-09-10 18:14+0100\n" "Last-Translator: Daniele Varrazzo \n" "Language-Team: Gruppo traduzioni ITPUG \n" "Language: it\n" @@ -71,86 +71,86 @@ msgstr "%s: lettura del codice di uscita del sottoprocesso fallita: codice di errore %lu\n" #. translator: the second %s is a command line argument (-e, etc) -#: pg_resetxlog.c:140 pg_resetxlog.c:155 pg_resetxlog.c:170 pg_resetxlog.c:177 -#: pg_resetxlog.c:201 pg_resetxlog.c:216 pg_resetxlog.c:224 pg_resetxlog.c:250 -#: pg_resetxlog.c:264 +#: pg_resetxlog.c:141 pg_resetxlog.c:156 pg_resetxlog.c:171 pg_resetxlog.c:178 +#: pg_resetxlog.c:202 pg_resetxlog.c:217 pg_resetxlog.c:225 pg_resetxlog.c:251 +#: pg_resetxlog.c:265 #, c-format msgid "%s: invalid argument for option %s\n" msgstr "%s: argomento non valido per l'opzione %s\n" -#: pg_resetxlog.c:141 pg_resetxlog.c:156 pg_resetxlog.c:171 pg_resetxlog.c:178 -#: pg_resetxlog.c:202 pg_resetxlog.c:217 pg_resetxlog.c:225 pg_resetxlog.c:251 -#: pg_resetxlog.c:265 pg_resetxlog.c:272 pg_resetxlog.c:285 pg_resetxlog.c:293 +#: pg_resetxlog.c:142 pg_resetxlog.c:157 pg_resetxlog.c:172 pg_resetxlog.c:179 +#: pg_resetxlog.c:203 pg_resetxlog.c:218 pg_resetxlog.c:226 pg_resetxlog.c:252 +#: pg_resetxlog.c:266 pg_resetxlog.c:273 pg_resetxlog.c:286 pg_resetxlog.c:294 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Prova \"%s --help\" per maggiori informazioni.\n" -#: pg_resetxlog.c:146 +#: pg_resetxlog.c:147 #, c-format msgid "%s: transaction ID epoch (-e) must not be -1\n" msgstr "%s: l'ID epoch della transazione (-e) non deve essere -1\n" -#: pg_resetxlog.c:161 +#: pg_resetxlog.c:162 #, c-format msgid "%s: transaction ID (-x) must not be 0\n" msgstr "%s: l'ID della transazione (-x) non deve essere 0\n" -#: pg_resetxlog.c:185 pg_resetxlog.c:192 +#: pg_resetxlog.c:186 pg_resetxlog.c:193 #, c-format msgid "%s: transaction ID (-c) must be either 0 or greater than or equal to 2\n" msgstr "%s: l'ID di transazione (-c) dev'essere 0 or maggiore o uguale a 2\n" -#: pg_resetxlog.c:207 +#: pg_resetxlog.c:208 #, c-format msgid "%s: OID (-o) must not be 0\n" msgstr "%s: l'OID (-o) non deve essere 0\n" -#: pg_resetxlog.c:230 +#: pg_resetxlog.c:231 #, c-format msgid "%s: multitransaction ID (-m) must not be 0\n" msgstr "%s: l'ID della multitransazione (-m) non deve essere 0\n" -#: pg_resetxlog.c:240 +#: pg_resetxlog.c:241 #, c-format msgid "%s: oldest multitransaction ID (-m) must not be 0\n" msgstr "%s: l'ID multitransazione più vecchio (-m) non può essere 0\n" -#: pg_resetxlog.c:256 +#: pg_resetxlog.c:257 #, c-format msgid "%s: multitransaction offset (-O) must not be -1\n" msgstr "%s: l'offset di una multitransazione (-O) non può essere -1\n" -#: pg_resetxlog.c:283 +#: pg_resetxlog.c:284 #, c-format msgid "%s: too many command-line arguments (first is \"%s\")\n" msgstr "%s: troppi argomenti di riga di comando (il primo è \"%s\")\n" -#: pg_resetxlog.c:292 +#: pg_resetxlog.c:293 #, c-format msgid "%s: no data directory specified\n" msgstr "%s: non è stata specificata una directory per i dati\n" -#: pg_resetxlog.c:306 +#: pg_resetxlog.c:307 #, c-format msgid "%s: cannot be executed by \"root\"\n" msgstr "%s non può essere eseguito da \"root\"\n" -#: pg_resetxlog.c:308 +#: pg_resetxlog.c:309 #, c-format msgid "You must run %s as the PostgreSQL superuser.\n" msgstr "È obbligatorio eseguire %s come superutente di PostgreSQL.\n" -#: pg_resetxlog.c:318 +#: pg_resetxlog.c:319 #, c-format msgid "%s: could not change directory to \"%s\": %s\n" msgstr "%s: spostamento nella directory \"%s\" fallito: %s\n" -#: pg_resetxlog.c:331 pg_resetxlog.c:477 +#: pg_resetxlog.c:335 pg_resetxlog.c:482 pg_resetxlog.c:545 #, c-format msgid "%s: could not open file \"%s\" for reading: %s\n" msgstr "%s: errore nell'apertura del file \"%s\" per la lettura: %s\n" -#: pg_resetxlog.c:338 +#: pg_resetxlog.c:342 #, c-format msgid "" "%s: lock file \"%s\" exists\n" @@ -159,7 +159,7 @@ "%s: il file di lock \"%s\" esiste\n" "Il server è in esecuzione? Se non lo è, cancella il file di lock e riprova.\n" -#: pg_resetxlog.c:425 +#: pg_resetxlog.c:429 #, c-format msgid "" "\n" @@ -168,7 +168,7 @@ "\n" "Se questi parametri sembrano accettabili, utilizza -f per forzare un reset.\n" -#: pg_resetxlog.c:437 +#: pg_resetxlog.c:441 #, c-format msgid "" "The database server was not shut down cleanly.\n" @@ -179,12 +179,31 @@ "Resettare il registro delle transazioni può causare una perdita di dati.\n" "Se vuoi continuare comunque, utilizza -f per forzare il reset.\n" -#: pg_resetxlog.c:451 +#: pg_resetxlog.c:455 #, c-format msgid "Transaction log reset\n" msgstr "Registro delle transazioni riavviato\n" -#: pg_resetxlog.c:480 +#: pg_resetxlog.c:492 +#, c-format +msgid "%s: unexpected empty file \"%s\"\n" +msgstr "%s: file vuoto non previsto \"%s\"\n" + +#: pg_resetxlog.c:497 pg_resetxlog.c:561 +#, c-format +msgid "%s: could not read file \"%s\": %s\n" +msgstr "%s: lettura del file \"%s\" fallita: %s\n" + +#: pg_resetxlog.c:514 +#, c-format +msgid "" +"%s: data directory is of wrong version\n" +"File \"%s\" contains \"%s\", which is not compatible with this program's version \"%s\".\n" +msgstr "" +"%s: la directory dei file è della versione sbagliata\n" +"Il file \"%s\" contiene \"%s\", che non è compatibile con la versione di questo programma \"%s\".\n" + +#: pg_resetxlog.c:548 #, c-format msgid "" "If you are sure the data directory path is correct, execute\n" @@ -195,22 +214,17 @@ " touch %s\n" "e riprova.\n" -#: pg_resetxlog.c:493 -#, c-format -msgid "%s: could not read file \"%s\": %s\n" -msgstr "%s: lettura del file \"%s\" fallita: %s\n" - -#: pg_resetxlog.c:516 +#: pg_resetxlog.c:584 #, c-format msgid "%s: pg_control exists but has invalid CRC; proceed with caution\n" msgstr "%s: pg_control esiste ma ha un CRC non valido; procedere con cautela\n" -#: pg_resetxlog.c:525 +#: pg_resetxlog.c:593 #, c-format -msgid "%s: pg_control exists but is broken or unknown version; ignoring it\n" -msgstr "%s: pg_control esiste ma è inutilizzabile o è una versione sconosciuta; verrà ignorato\n" +msgid "%s: pg_control exists but is broken or wrong version; ignoring it\n" +msgstr "%s: pg_control esiste ma è rovinato o della versione sbagliata: verrà ignorato\n" -#: pg_resetxlog.c:628 +#: pg_resetxlog.c:696 #, c-format msgid "" "Guessed pg_control values:\n" @@ -219,7 +233,7 @@ "Valori pg_control indovinati:\n" "\n" -#: pg_resetxlog.c:630 +#: pg_resetxlog.c:698 #, c-format msgid "" "Current pg_control values:\n" @@ -228,176 +242,176 @@ "Valori pg_control attuali:\n" "\n" -#: pg_resetxlog.c:639 +#: pg_resetxlog.c:707 #, c-format msgid "pg_control version number: %u\n" msgstr "Numero di versione di pg_control: %u\n" -#: pg_resetxlog.c:641 +#: pg_resetxlog.c:709 #, c-format msgid "Catalog version number: %u\n" msgstr "Numero di versione del catalogo: %u\n" -#: pg_resetxlog.c:643 +#: pg_resetxlog.c:711 #, c-format msgid "Database system identifier: %s\n" msgstr "Identificatore di sistema del database: %s\n" -#: pg_resetxlog.c:645 +#: pg_resetxlog.c:713 #, c-format msgid "Latest checkpoint's TimeLineID: %u\n" msgstr "TimeLineId dell'ultimo checkpoint: %u\n" -#: pg_resetxlog.c:647 +#: pg_resetxlog.c:715 #, c-format msgid "Latest checkpoint's full_page_writes: %s\n" msgstr "full_page_writes dell'ultimo checkpoint: %s\n" -#: pg_resetxlog.c:648 +#: pg_resetxlog.c:716 msgid "off" msgstr "disattivato" -#: pg_resetxlog.c:648 +#: pg_resetxlog.c:716 msgid "on" msgstr "attivato" -#: pg_resetxlog.c:649 +#: pg_resetxlog.c:717 #, c-format msgid "Latest checkpoint's NextXID: %u:%u\n" msgstr "NextXID dell'ultimo checkpoint: %u.%u\n" -#: pg_resetxlog.c:652 +#: pg_resetxlog.c:720 #, c-format msgid "Latest checkpoint's NextOID: %u\n" msgstr "NextOID dell'ultimo checkpoint: %u\n" -#: pg_resetxlog.c:654 +#: pg_resetxlog.c:722 #, c-format msgid "Latest checkpoint's NextMultiXactId: %u\n" msgstr "NextMultiXactId dell'ultimo checkpoint: %u\n" -#: pg_resetxlog.c:656 +#: pg_resetxlog.c:724 #, c-format msgid "Latest checkpoint's NextMultiOffset: %u\n" msgstr "NextMultiOffset dell'ultimo checkpoint: %u\n" -#: pg_resetxlog.c:658 +#: pg_resetxlog.c:726 #, c-format msgid "Latest checkpoint's oldestXID: %u\n" msgstr "oldestXID dell'ultimo checkpoint: %u\n" -#: pg_resetxlog.c:660 +#: pg_resetxlog.c:728 #, c-format msgid "Latest checkpoint's oldestXID's DB: %u\n" msgstr "DB dell'oldestXID dell'ultimo checkpoint: %u\n" -#: pg_resetxlog.c:662 +#: pg_resetxlog.c:730 #, c-format msgid "Latest checkpoint's oldestActiveXID: %u\n" msgstr "oldestActiveXID dell'ultimo checkpoint: %u\n" -#: pg_resetxlog.c:664 +#: pg_resetxlog.c:732 #, c-format msgid "Latest checkpoint's oldestMultiXid: %u\n" msgstr "oldestMultiXID dell'ultimo checkpoint: %u\n" -#: pg_resetxlog.c:666 +#: pg_resetxlog.c:734 #, c-format msgid "Latest checkpoint's oldestMulti's DB: %u\n" msgstr "DB dell'oldestMulti dell'ultimo checkpoint: %u\n" -#: pg_resetxlog.c:668 +#: pg_resetxlog.c:736 #, c-format msgid "Latest checkpoint's oldestCommitTsXid:%u\n" msgstr "oldestCommitTsXid dell'ultimo checkpoint: %u\n" -#: pg_resetxlog.c:670 +#: pg_resetxlog.c:738 #, c-format msgid "Latest checkpoint's newestCommitTsXid:%u\n" msgstr "newestCommitTsXid dell'ultimo checkpoint: %u\n" -#: pg_resetxlog.c:672 +#: pg_resetxlog.c:740 #, c-format msgid "Maximum data alignment: %u\n" msgstr "Massimo allineamento dei dati: %u\n" -#: pg_resetxlog.c:675 +#: pg_resetxlog.c:743 #, c-format msgid "Database block size: %u\n" msgstr "Dimensione blocco database: %u\n" -#: pg_resetxlog.c:677 +#: pg_resetxlog.c:745 #, c-format msgid "Blocks per segment of large relation: %u\n" msgstr "Blocchi per ogni segmento grosse tabelle: %u\n" -#: pg_resetxlog.c:679 +#: pg_resetxlog.c:747 #, c-format msgid "WAL block size: %u\n" msgstr "Dimensione blocco WAL: %u\n" -#: pg_resetxlog.c:681 +#: pg_resetxlog.c:749 #, c-format msgid "Bytes per WAL segment: %u\n" msgstr "Byte per segmento WAL: %u\n" -#: pg_resetxlog.c:683 +#: pg_resetxlog.c:751 #, c-format msgid "Maximum length of identifiers: %u\n" msgstr "Lunghezza massima degli identificatori: %u\n" -#: pg_resetxlog.c:685 +#: pg_resetxlog.c:753 #, c-format msgid "Maximum columns in an index: %u\n" msgstr "Massimo numero di colonne in un indice: %u\n" -#: pg_resetxlog.c:687 +#: pg_resetxlog.c:755 #, c-format msgid "Maximum size of a TOAST chunk: %u\n" msgstr "Massima dimensione di un segmento TOAST: %u\n" -#: pg_resetxlog.c:689 +#: pg_resetxlog.c:757 #, c-format msgid "Size of a large-object chunk: %u\n" msgstr "Dimensione di un blocco large-object: %u\n" -#: pg_resetxlog.c:691 +#: pg_resetxlog.c:759 #, c-format msgid "Date/time type storage: %s\n" msgstr "Memorizzazione per tipi data/ora: %s\n" -#: pg_resetxlog.c:692 +#: pg_resetxlog.c:760 msgid "64-bit integers" msgstr "interi a 64 bit" -#: pg_resetxlog.c:692 +#: pg_resetxlog.c:760 msgid "floating-point numbers" msgstr "numeri in virgola mobile" -#: pg_resetxlog.c:693 +#: pg_resetxlog.c:761 #, c-format msgid "Float4 argument passing: %s\n" msgstr "Passaggio di argomenti Float4: %s\n" -#: pg_resetxlog.c:694 pg_resetxlog.c:696 +#: pg_resetxlog.c:762 pg_resetxlog.c:764 msgid "by reference" msgstr "per riferimento" -#: pg_resetxlog.c:694 pg_resetxlog.c:696 +#: pg_resetxlog.c:762 pg_resetxlog.c:764 msgid "by value" msgstr "per valore" -#: pg_resetxlog.c:695 +#: pg_resetxlog.c:763 #, c-format msgid "Float8 argument passing: %s\n" msgstr "passaggio di argomenti Float8: %s\n" -#: pg_resetxlog.c:697 +#: pg_resetxlog.c:765 #, c-format msgid "Data page checksum version: %u\n" msgstr "Versione somma di controllo dati pagine: %u\n" -#: pg_resetxlog.c:711 +#: pg_resetxlog.c:779 #, c-format msgid "" "\n" @@ -410,117 +424,117 @@ "Valori da cambiare:\n" "\n" -#: pg_resetxlog.c:714 +#: pg_resetxlog.c:782 #, c-format msgid "First log segment after reset: %s\n" msgstr "Primo segmento di log dopo il reset: %s\n" -#: pg_resetxlog.c:718 +#: pg_resetxlog.c:786 #, c-format msgid "NextMultiXactId: %u\n" msgstr "NextMultiXactId: %u\n" -#: pg_resetxlog.c:720 +#: pg_resetxlog.c:788 #, c-format msgid "OldestMultiXid: %u\n" msgstr "OldestMultiXid: %u\n" -#: pg_resetxlog.c:722 +#: pg_resetxlog.c:790 #, c-format msgid "OldestMulti's DB: %u\n" msgstr "DB di OldestMulti: %u\n" -#: pg_resetxlog.c:728 +#: pg_resetxlog.c:796 #, c-format msgid "NextMultiOffset: %u\n" msgstr "NextMultiOffset: %u\n" -#: pg_resetxlog.c:734 +#: pg_resetxlog.c:802 #, c-format msgid "NextOID: %u\n" msgstr "NextOID: %u\n" -#: pg_resetxlog.c:740 +#: pg_resetxlog.c:808 #, c-format msgid "NextXID: %u\n" msgstr "NextXID: %u\n" -#: pg_resetxlog.c:742 +#: pg_resetxlog.c:810 #, c-format msgid "OldestXID: %u\n" msgstr "OldestXID: %u\n" -#: pg_resetxlog.c:744 +#: pg_resetxlog.c:812 #, c-format msgid "OldestXID's DB: %u\n" msgstr "DB di OldestXID: %u\n" -#: pg_resetxlog.c:750 +#: pg_resetxlog.c:818 #, c-format msgid "NextXID epoch: %u\n" msgstr "Epoca del NextXID: %u\n" -#: pg_resetxlog.c:756 +#: pg_resetxlog.c:824 #, c-format msgid "oldestCommitTsXid: %u\n" msgstr "oldestCommitTsXid: %u\n" -#: pg_resetxlog.c:761 +#: pg_resetxlog.c:829 #, c-format msgid "newestCommitTsXid: %u\n" msgstr "newestCommitTsXid: %u\n" -#: pg_resetxlog.c:827 +#: pg_resetxlog.c:895 #, c-format msgid "%s: internal error -- sizeof(ControlFileData) is too large ... fix PG_CONTROL_SIZE\n" msgstr "%s: errore interno -- sizeof(ControlFileData) è troppo grande ... correggere PG_CONTROL_SIZE\n" -#: pg_resetxlog.c:842 +#: pg_resetxlog.c:910 #, c-format msgid "%s: could not create pg_control file: %s\n" msgstr "%s: creazione del file pg_control fallita: %s\n" -#: pg_resetxlog.c:853 +#: pg_resetxlog.c:921 #, c-format msgid "%s: could not write pg_control file: %s\n" msgstr "%s: scrittura del file pg_control fallita: %s\n" -#: pg_resetxlog.c:860 pg_resetxlog.c:1156 +#: pg_resetxlog.c:928 pg_resetxlog.c:1224 #, c-format msgid "%s: fsync error: %s\n" msgstr "%s: errore fsync: %s\n" -#: pg_resetxlog.c:900 pg_resetxlog.c:971 pg_resetxlog.c:1022 +#: pg_resetxlog.c:968 pg_resetxlog.c:1039 pg_resetxlog.c:1090 #, c-format msgid "%s: could not open directory \"%s\": %s\n" msgstr "%s: apertura della directory \"%s\" fallita: %s\n" -#: pg_resetxlog.c:936 pg_resetxlog.c:993 pg_resetxlog.c:1047 +#: pg_resetxlog.c:1004 pg_resetxlog.c:1061 pg_resetxlog.c:1115 #, c-format msgid "%s: could not read directory \"%s\": %s\n" msgstr "%s: lettura della directory \"%s\" fallita: %s\n" -#: pg_resetxlog.c:943 pg_resetxlog.c:1000 pg_resetxlog.c:1054 +#: pg_resetxlog.c:1011 pg_resetxlog.c:1068 pg_resetxlog.c:1122 #, c-format msgid "%s: could not close directory \"%s\": %s\n" msgstr "%s: chiusura della directory \"%s\" fallita: %s\n" -#: pg_resetxlog.c:984 pg_resetxlog.c:1038 +#: pg_resetxlog.c:1052 pg_resetxlog.c:1106 #, c-format msgid "%s: could not delete file \"%s\": %s\n" msgstr "%s: cancellazione del file \"%s\" fallita: %s\n" -#: pg_resetxlog.c:1123 +#: pg_resetxlog.c:1191 #, c-format msgid "%s: could not open file \"%s\": %s\n" msgstr "%s: apertura del file \"%s\" fallita: %s\n" -#: pg_resetxlog.c:1134 pg_resetxlog.c:1148 +#: pg_resetxlog.c:1202 pg_resetxlog.c:1216 #, c-format msgid "%s: could not write file \"%s\": %s\n" msgstr "%s: errore nella scrittura del file \"%s\": %s\n" -#: pg_resetxlog.c:1167 +#: pg_resetxlog.c:1235 #, c-format msgid "" "%s resets the PostgreSQL transaction log.\n" @@ -529,7 +543,7 @@ "%s riavvia il registro delle transazioni di PostgreSQL.\n" "\n" -#: pg_resetxlog.c:1168 +#: pg_resetxlog.c:1236 #, c-format msgid "" "Usage:\n" @@ -540,77 +554,77 @@ " %s [OPZIONI]... DATADIR\n" "\n" -#: pg_resetxlog.c:1169 +#: pg_resetxlog.c:1237 #, c-format msgid "Options:\n" msgstr "Opzioni:\n" -#: pg_resetxlog.c:1170 +#: pg_resetxlog.c:1238 #, c-format msgid " -c XID,XID set oldest and newest transactions bearing commit timestamp\n" msgstr " -c XID,XID imposta le transazione più vecchia e più nuova che portano l'ora di commit\n" -#: pg_resetxlog.c:1171 +#: pg_resetxlog.c:1239 #, c-format msgid " (zero in either value means no change)\n" msgstr " (zero in uno dei dei valori vuol dire nessun cambiamento)\n" -#: pg_resetxlog.c:1172 +#: pg_resetxlog.c:1240 #, c-format msgid " [-D] DATADIR data directory\n" msgstr " [-D] DATADIR directory dei dati\n" -#: pg_resetxlog.c:1173 +#: pg_resetxlog.c:1241 #, c-format msgid " -e XIDEPOCH set next transaction ID epoch\n" msgstr " -e XIDEPOCH imposta il prossimo ID epoch transazione\n" -#: pg_resetxlog.c:1174 +#: pg_resetxlog.c:1242 #, c-format msgid " -f force update to be done\n" msgstr " -f forza l'esecuzione dell'aggiornamento\n" -#: pg_resetxlog.c:1175 +#: pg_resetxlog.c:1243 #, c-format msgid " -l XLOGFILE force minimum WAL starting location for new transaction log\n" msgstr " -l XLOGFILE forza la locazione di inizio WAL minima per il nuovo log transazioni\n" -#: pg_resetxlog.c:1176 +#: pg_resetxlog.c:1244 #, c-format msgid " -m MXID,MXID set next and oldest multitransaction ID\n" msgstr " -m MXID,MXID imposta gli ID multitransazione successivo e più vecchio\n" -#: pg_resetxlog.c:1177 +#: pg_resetxlog.c:1245 #, c-format msgid " -n no update, just show what would be done (for testing)\n" msgstr " -n nessuna modifica, mostra solo cosa sarebbe fatto (per prova)\n" -#: pg_resetxlog.c:1178 +#: pg_resetxlog.c:1246 #, c-format msgid " -o OID set next OID\n" msgstr " -o OID imposta il prossimo OID\n" -#: pg_resetxlog.c:1179 +#: pg_resetxlog.c:1247 #, c-format msgid " -O OFFSET set next multitransaction offset\n" msgstr " -O OFFSET imposta il prossimo offset multitransazione\n" -#: pg_resetxlog.c:1180 +#: pg_resetxlog.c:1248 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version mostra informazioni sulla versione ed esci\n" -#: pg_resetxlog.c:1181 +#: pg_resetxlog.c:1249 #, c-format msgid " -x XID set next transaction ID\n" msgstr " -x XID imposta il prossimo ID di transazione\n" -#: pg_resetxlog.c:1182 +#: pg_resetxlog.c:1250 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help mostra questo aiuto ed esci\n" -#: pg_resetxlog.c:1183 +#: pg_resetxlog.c:1251 #, c-format msgid "" "\n" diff -Nru postgresql-9.6-9.6.5/src/bin/pg_resetxlog/po/ru.po postgresql-9.6-9.6.6/src/bin/pg_resetxlog/po/ru.po --- postgresql-9.6-9.6.5/src/bin/pg_resetxlog/po/ru.po 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/bin/pg_resetxlog/po/ru.po 2017-11-06 22:08:55.000000000 +0000 @@ -11,8 +11,9 @@ msgstr "" "Project-Id-Version: pg_resetxlog (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n" -"POT-Creation-Date: 2017-08-17 17:52+0000\n" +"POT-Creation-Date: 2017-08-23 14:52+0000\n" "PO-Revision-Date: 2017-08-21 08:21+0300\n" +"Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" @@ -20,7 +21,6 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"Last-Translator: Alexander Lakhin \n" #: ../../common/restricted_token.c:68 #, c-format diff -Nru postgresql-9.6-9.6.5/src/bin/pg_rewind/libpq_fetch.c postgresql-9.6-9.6.6/src/bin/pg_rewind/libpq_fetch.c --- postgresql-9.6-9.6.5/src/bin/pg_rewind/libpq_fetch.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/bin/pg_rewind/libpq_fetch.c 2017-11-06 22:08:55.000000000 +0000 @@ -271,6 +271,7 @@ char *filename; int filenamelen; int64 chunkoff; + char chunkoff_str[32]; int chunksize; char *chunk; @@ -343,8 +344,13 @@ continue; } - pg_log(PG_DEBUG, "received chunk for file \"%s\", offset " INT64_FORMAT ", size %d\n", - filename, chunkoff, chunksize); + /* + * Separate step to keep platform-dependent format code out of + * translatable strings. + */ + snprintf(chunkoff_str, sizeof(chunkoff_str), INT64_FORMAT, chunkoff); + pg_log(PG_DEBUG, "received chunk for file \"%s\", offset %s, size %d\n", + filename, chunkoff_str, chunksize); open_target_file(filename, false); diff -Nru postgresql-9.6-9.6.5/src/bin/pg_rewind/po/de.po postgresql-9.6-9.6.6/src/bin/pg_rewind/po/de.po --- postgresql-9.6-9.6.5/src/bin/pg_rewind/po/de.po 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/bin/pg_rewind/po/de.po 2017-11-06 22:08:55.000000000 +0000 @@ -7,8 +7,8 @@ msgstr "" "Project-Id-Version: pg_rewind (PostgreSQL) 9.6\n" "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n" -"POT-Creation-Date: 2016-10-24 07:44+0000\n" -"PO-Revision-Date: 2016-10-24 08:50-0400\n" +"POT-Creation-Date: 2017-09-04 09:53+0000\n" +"PO-Revision-Date: 2017-09-10 21:28-0400\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: de\n" @@ -279,97 +279,97 @@ msgid "unexpected result set while fetching file list\n" msgstr "unerwartete Ergebnismenge beim Holen der Dateiliste\n" -#: libpq_fetch.c:240 +#: libpq_fetch.c:262 #, c-format msgid "could not send query: %s" msgstr "konnte Anfrage nicht senden: %s" -#: libpq_fetch.c:242 +#: libpq_fetch.c:264 #, c-format msgid "getting file chunks\n" msgstr "hole Dateistücke\n" -#: libpq_fetch.c:245 +#: libpq_fetch.c:267 #, c-format msgid "could not set libpq connection to single row mode\n" msgstr "konnte libpq-Verbindung nicht in den Einzelzeilenmodus setzen\n" -#: libpq_fetch.c:265 +#: libpq_fetch.c:288 #, c-format msgid "unexpected result while fetching remote files: %s" msgstr "unerwartetes Ergebnis beim Holen von fernen Dateien: %s" -#: libpq_fetch.c:271 +#: libpq_fetch.c:294 #, c-format msgid "unexpected result set size while fetching remote files\n" msgstr "unerwartete Ergebnismengengröße beim Holen von fernen Dateien\n" -#: libpq_fetch.c:277 +#: libpq_fetch.c:300 #, c-format msgid "unexpected data types in result set while fetching remote files: %u %u %u\n" msgstr "unerwartete Datentypen in Ergebnismenge beim Holen von fernen Dateien: %u %u %u\n" -#: libpq_fetch.c:285 +#: libpq_fetch.c:308 #, c-format msgid "unexpected result format while fetching remote files\n" msgstr "unerwartetes Ergebnisformat beim Holen von fernen Dateien\n" -#: libpq_fetch.c:291 +#: libpq_fetch.c:314 #, c-format msgid "unexpected null values in result while fetching remote files\n" msgstr "unerwartete NULL-Werte im Ergebnis beim Holen von fernen Dateien\n" -#: libpq_fetch.c:295 +#: libpq_fetch.c:318 #, c-format msgid "unexpected result length while fetching remote files\n" msgstr "unerwartete Ergebnislänge beim Holen von fernen Dateien\n" -#: libpq_fetch.c:317 +#: libpq_fetch.c:340 #, c-format msgid "received null value for chunk for file \"%s\", file has been deleted\n" msgstr "NULL-Wert für Stück von Datei »%s« empfangen, Datei wurde gelöscht\n" -#: libpq_fetch.c:324 +#: libpq_fetch.c:352 #, c-format -msgid "received chunk for file \"%s\", offset %d, size %d\n" -msgstr "Stück von Datei »%s« empfangen, Offset %d, Größe %d\n" +msgid "received chunk for file \"%s\", offset %s, size %d\n" +msgstr "Stück von Datei »%s« empfangen, Offset %s, Größe %d\n" -#: libpq_fetch.c:353 +#: libpq_fetch.c:381 #, c-format msgid "could not fetch remote file \"%s\": %s" msgstr "konnte ferne Datei »%s« nicht holen: %s" -#: libpq_fetch.c:358 +#: libpq_fetch.c:386 #, c-format msgid "unexpected result set while fetching remote file \"%s\"\n" msgstr "unerwartete Ergebnismenge beim Holen der fernen Datei »%s«\n" -#: libpq_fetch.c:369 +#: libpq_fetch.c:397 #, c-format msgid "fetched file \"%s\", length %d\n" msgstr "Datei »%s« geholt, Länge %d\n" -#: libpq_fetch.c:401 +#: libpq_fetch.c:430 #, c-format msgid "could not send COPY data: %s" msgstr "konnte COPY-Daten nicht senden: %s" -#: libpq_fetch.c:427 +#: libpq_fetch.c:456 #, c-format msgid "could not create temporary table: %s" msgstr "konnte temporäre Tabelle nicht erzeugen: %s" -#: libpq_fetch.c:435 +#: libpq_fetch.c:464 #, c-format msgid "could not send file list: %s" msgstr "konnte Dateiliste nicht senden: %s" -#: libpq_fetch.c:477 +#: libpq_fetch.c:506 #, c-format msgid "could not send end-of-COPY: %s" msgstr "konnte COPY-Ende nicht senden: %s" -#: libpq_fetch.c:483 +#: libpq_fetch.c:512 #, c-format msgid "unexpected result while sending file list: %s" msgstr "unerwartetes Ergebnis beim Senden der Dateiliste: %s" @@ -416,7 +416,7 @@ #: parsexlog.c:304 #, c-format msgid "could not read from file \"%s\": %s\n" -msgstr "konnte nicht aus Datei »%s« nicht lesen: %s\n" +msgstr "konnte nicht aus Datei »%s« lesen: %s\n" #: parsexlog.c:372 #, c-format diff -Nru postgresql-9.6-9.6.5/src/bin/pg_rewind/po/fr.po postgresql-9.6-9.6.6/src/bin/pg_rewind/po/fr.po --- postgresql-9.6-9.6.5/src/bin/pg_rewind/po/fr.po 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/bin/pg_rewind/po/fr.po 2017-11-06 22:08:55.000000000 +0000 @@ -7,15 +7,15 @@ msgstr "" "Project-Id-Version: pg_rewind (PostgreSQL) 9.6\n" "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n" -"POT-Creation-Date: 2017-07-24 07:24+0000\n" -"PO-Revision-Date: 2017-07-24 21:29+0200\n" +"POT-Creation-Date: 2017-09-16 16:23+0000\n" +"PO-Revision-Date: 2017-09-17 18:22+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.2\n" +"X-Generator: Poedit 2.0.3\n" #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 #: ../../common/fe_memutils.c:98 parsexlog.c:74 parsexlog.c:127 parsexlog.c:179 @@ -294,82 +294,82 @@ msgid "could not set libpq connection to single row mode\n" msgstr "n'a pas pu configurer la connexion libpq en mode ligne seule\n" -#: libpq_fetch.c:287 +#: libpq_fetch.c:288 #, c-format msgid "unexpected result while fetching remote files: %s" msgstr "résultat inattendu lors de la récupération des fichiers cibles : %s" -#: libpq_fetch.c:293 +#: libpq_fetch.c:294 #, c-format msgid "unexpected result set size while fetching remote files\n" msgstr "taille inattendue de l'ensemble de résultats lors de la récupération des fichiers distants\n" -#: libpq_fetch.c:299 +#: libpq_fetch.c:300 #, c-format msgid "unexpected data types in result set while fetching remote files: %u %u %u\n" msgstr "types de données inattendus dans l'ensemble de résultats lors de la récupération des fichiers distants : %u %u %u\n" -#: libpq_fetch.c:307 +#: libpq_fetch.c:308 #, c-format msgid "unexpected result format while fetching remote files\n" msgstr "format de résultat inattendu lors de la récupération des fichiers distants\n" -#: libpq_fetch.c:313 +#: libpq_fetch.c:314 #, c-format msgid "unexpected null values in result while fetching remote files\n" msgstr "valeurs NULL inattendues dans le résultat lors de la récupération des fichiers distants\n" -#: libpq_fetch.c:317 +#: libpq_fetch.c:318 #, c-format msgid "unexpected result length while fetching remote files\n" msgstr "longueur de résultats inattendu lors de la récupération des fichiers distants\n" -#: libpq_fetch.c:339 +#: libpq_fetch.c:340 #, c-format msgid "received null value for chunk for file \"%s\", file has been deleted\n" msgstr "a reçu une valeur NULL pour une partie du fichier « %s », le fichier a été supprimé\n" -#: libpq_fetch.c:346 +#: libpq_fetch.c:352 #, c-format -msgid "received chunk for file \"%s\", offset " -msgstr "récupération d'une partie du fichier « %s », décalage " +msgid "received chunk for file \"%s\", offset %s, size %d\n" +msgstr "a reçu une partie du fichier « %s », décalage %s, taille %d\n" -#: libpq_fetch.c:375 +#: libpq_fetch.c:381 #, c-format msgid "could not fetch remote file \"%s\": %s" msgstr "n'a pas pu récupérer le fichier distant « %s » : %s" -#: libpq_fetch.c:380 +#: libpq_fetch.c:386 #, c-format msgid "unexpected result set while fetching remote file \"%s\"\n" msgstr "ensemble de résultats inattendu lors de la récupération du fichier distant « %s »\n" -#: libpq_fetch.c:391 +#: libpq_fetch.c:397 #, c-format msgid "fetched file \"%s\", length %d\n" msgstr "fichier récupéré « %s », longueur %d\n" -#: libpq_fetch.c:424 +#: libpq_fetch.c:430 #, c-format msgid "could not send COPY data: %s" msgstr "n'a pas pu envoyer les données COPY : %s" -#: libpq_fetch.c:450 +#: libpq_fetch.c:456 #, c-format msgid "could not create temporary table: %s" msgstr "n'a pas pu créer la table temporaire : %s" -#: libpq_fetch.c:458 +#: libpq_fetch.c:464 #, c-format msgid "could not send file list: %s" msgstr "n'a pas pu envoyer la liste de fichiers : %s" -#: libpq_fetch.c:500 +#: libpq_fetch.c:506 #, c-format msgid "could not send end-of-COPY: %s" msgstr "n'a pas pu envoyer end-of-COPY : %s" -#: libpq_fetch.c:506 +#: libpq_fetch.c:512 #, c-format msgid "unexpected result while sending file list: %s" msgstr "résultat inattendu lors de l'envoi de la liste de fichiers : %s" diff -Nru postgresql-9.6-9.6.5/src/bin/pg_rewind/po/it.po postgresql-9.6-9.6.6/src/bin/pg_rewind/po/it.po --- postgresql-9.6-9.6.5/src/bin/pg_rewind/po/it.po 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/bin/pg_rewind/po/it.po 2017-11-06 22:08:55.000000000 +0000 @@ -15,8 +15,8 @@ msgstr "" "Project-Id-Version: pg_rewind (PostgreSQL) 9.6\n" "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n" -"POT-Creation-Date: 2017-02-09 21:14+0000\n" -"PO-Revision-Date: 2017-04-23 02:54+0100\n" +"POT-Creation-Date: 2017-09-07 01:53+0000\n" +"PO-Revision-Date: 2017-09-10 18:02+0100\n" "Last-Translator: Daniele Varrazzo \n" "Language-Team: Gruppo traduzioni ITPUG \n" "Language: it\n" @@ -25,10 +25,11 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Poedit-SourceCharset: utf-8\n" -"X-Generator: Poedit 1.8.7.1\n" +"X-Generator: Poedit 1.5.4\n" #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 -#: ../../common/fe_memutils.c:98 parsexlog.c:74 parsexlog.c:127 parsexlog.c:179 +#: ../../common/fe_memutils.c:98 parsexlog.c:74 parsexlog.c:127 +#: parsexlog.c:179 #, c-format msgid "out of memory\n" msgstr "memoria esaurita\n" @@ -289,97 +290,97 @@ msgid "unexpected result set while fetching file list\n" msgstr "risultato imprevisto ricevendo la lista dei file\n" -#: libpq_fetch.c:240 +#: libpq_fetch.c:262 #, c-format msgid "could not send query: %s" msgstr "invio della query non riuscito: %s" -#: libpq_fetch.c:242 +#: libpq_fetch.c:264 #, c-format msgid "getting file chunks\n" msgstr "ricezione blocchi del file\n" -#: libpq_fetch.c:245 +#: libpq_fetch.c:267 #, c-format msgid "could not set libpq connection to single row mode\n" msgstr "impostazione della connessione libpq in modalità riga singola fallita\n" -#: libpq_fetch.c:265 +#: libpq_fetch.c:288 #, c-format msgid "unexpected result while fetching remote files: %s" msgstr "risultato imprevisto ricevendo i file remoti: %s" -#: libpq_fetch.c:271 +#: libpq_fetch.c:294 #, c-format msgid "unexpected result set size while fetching remote files\n" msgstr "dimensione del risultato imprevisto ricevendo i file remoti\n" -#: libpq_fetch.c:277 +#: libpq_fetch.c:300 #, c-format msgid "unexpected data types in result set while fetching remote files: %u %u %u\n" msgstr "tipo di dati imprevisto nel risultato ricevendo i file remoti: %u %u %u\n" -#: libpq_fetch.c:285 +#: libpq_fetch.c:308 #, c-format msgid "unexpected result format while fetching remote files\n" msgstr "formato del risultato imprevisto ricevendo i file remoti\n" -#: libpq_fetch.c:291 +#: libpq_fetch.c:314 #, c-format msgid "unexpected null values in result while fetching remote files\n" msgstr "valori null non previsti nel risultato ricevendo i file remoti\n" -#: libpq_fetch.c:295 +#: libpq_fetch.c:318 #, c-format msgid "unexpected result length while fetching remote files\n" msgstr "lunghezza del risultato non prevista ricevendo i file remoti\n" -#: libpq_fetch.c:317 +#: libpq_fetch.c:340 #, c-format msgid "received null value for chunk for file \"%s\", file has been deleted\n" msgstr "ricevuto valore null per il blocco del file \"%s\", il file è stato cancellato\n" -#: libpq_fetch.c:324 +#: libpq_fetch.c:352 #, c-format -msgid "received chunk for file \"%s\", offset %d, size %d\n" -msgstr "ricevuto blocco per il file \"%s\", offset %d, dimensione %d\n" +msgid "received chunk for file \"%s\", offset %s, size %d\n" +msgstr "ricevuto blocco per il file \"%s\", offset %s, dimensione %d\n" -#: libpq_fetch.c:353 +#: libpq_fetch.c:381 #, c-format msgid "could not fetch remote file \"%s\": %s" msgstr "ricezione del file remoto \"%s\" fallita: %s" -#: libpq_fetch.c:358 +#: libpq_fetch.c:386 #, c-format msgid "unexpected result set while fetching remote file \"%s\"\n" msgstr "risultato inatteso leggendo il file remoto \"%s\"\n" -#: libpq_fetch.c:369 +#: libpq_fetch.c:397 #, c-format msgid "fetched file \"%s\", length %d\n" msgstr "ricevuto il file \"%s\", lunghezza %d\n" -#: libpq_fetch.c:401 +#: libpq_fetch.c:430 #, c-format msgid "could not send COPY data: %s" msgstr "invio dei dati di COPY fallito: %s" -#: libpq_fetch.c:427 +#: libpq_fetch.c:456 #, c-format msgid "could not create temporary table: %s" msgstr "creazione della tabella temporanea fallita: %s" -#: libpq_fetch.c:435 +#: libpq_fetch.c:464 #, c-format msgid "could not send file list: %s" msgstr "invio della lista dei file fallito: %s" -#: libpq_fetch.c:477 +#: libpq_fetch.c:506 #, c-format msgid "could not send end-of-COPY: %s" msgstr "invio del fine-COPY fallito: %s" -#: libpq_fetch.c:483 +#: libpq_fetch.c:512 #, c-format msgid "unexpected result while sending file list: %s" msgstr "risultato imprevisto inviando la lista dei file: %s" diff -Nru postgresql-9.6-9.6.5/src/bin/pg_rewind/po/ru.po postgresql-9.6-9.6.6/src/bin/pg_rewind/po/ru.po --- postgresql-9.6-9.6.5/src/bin/pg_rewind/po/ru.po 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/bin/pg_rewind/po/ru.po 2017-11-06 22:08:55.000000000 +0000 @@ -7,8 +7,9 @@ msgstr "" "Project-Id-Version: pg_rewind (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n" -"POT-Creation-Date: 2017-08-17 17:53+0000\n" -"PO-Revision-Date: 2017-08-23 10:02+0300\n" +"POT-Creation-Date: 2017-09-27 06:23+0000\n" +"PO-Revision-Date: 2017-09-21 12:01+0300\n" +"Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" @@ -16,7 +17,6 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"Last-Translator: Alexander Lakhin \n" #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 #: ../../common/fe_memutils.c:98 parsexlog.c:74 parsexlog.c:127 parsexlog.c:179 @@ -304,17 +304,17 @@ msgid "could not set libpq connection to single row mode\n" msgstr "не удалось перевести подключение libpq в однострочный режим\n" -#: libpq_fetch.c:287 +#: libpq_fetch.c:288 #, c-format msgid "unexpected result while fetching remote files: %s" msgstr "неожиданный результат при получении удалённых файлов: %s" -#: libpq_fetch.c:293 +#: libpq_fetch.c:294 #, c-format msgid "unexpected result set size while fetching remote files\n" msgstr "неожиданный размер набора результатов при получении удалённых файлов\n" -#: libpq_fetch.c:299 +#: libpq_fetch.c:300 #, c-format msgid "" "unexpected data types in result set while fetching remote files: %u %u %u\n" @@ -322,68 +322,68 @@ "неожиданные типы данных в наборе результатов при получении удалённых файлов: " "%u %u %u\n" -#: libpq_fetch.c:307 +#: libpq_fetch.c:308 #, c-format msgid "unexpected result format while fetching remote files\n" msgstr "неожиданный формат результата при получении удалённых файлов\n" -#: libpq_fetch.c:313 +#: libpq_fetch.c:314 #, c-format msgid "unexpected null values in result while fetching remote files\n" msgstr "" "неожиданные значения NULL в результате при получении удалённых файлов\n" -#: libpq_fetch.c:317 +#: libpq_fetch.c:318 #, c-format msgid "unexpected result length while fetching remote files\n" msgstr "неожиданная длина результата при получении удалённых файлов\n" -#: libpq_fetch.c:339 +#: libpq_fetch.c:340 #, c-format msgid "received null value for chunk for file \"%s\", file has been deleted\n" msgstr "для файла \"%s\" вместо сегмента получено NULL-значение, файл удалён\n" -#: libpq_fetch.c:346 +#: libpq_fetch.c:352 #, c-format -msgid "received chunk for file \"%s\", offset " -msgstr "получен сегмент файла \"%s\": смещение " +msgid "received chunk for file \"%s\", offset %s, size %d\n" +msgstr "получен сегмент файла \"%s\": смещение %s, размер %d\n" -#: libpq_fetch.c:375 +#: libpq_fetch.c:381 #, c-format msgid "could not fetch remote file \"%s\": %s" msgstr "не удалось получить удалённый файл \"%s\": %s" -#: libpq_fetch.c:380 +#: libpq_fetch.c:386 #, c-format msgid "unexpected result set while fetching remote file \"%s\"\n" msgstr "неожиданный набор результатов при получении удалённого файла \"%s\"\n" -#: libpq_fetch.c:391 +#: libpq_fetch.c:397 #, c-format msgid "fetched file \"%s\", length %d\n" msgstr "получен файл \"%s\", длина %d\n" -#: libpq_fetch.c:424 +#: libpq_fetch.c:430 #, c-format msgid "could not send COPY data: %s" msgstr "не удалось отправить данные COPY: %s" -#: libpq_fetch.c:450 +#: libpq_fetch.c:456 #, c-format msgid "could not create temporary table: %s" msgstr "не удалось создать временную таблицу: %s" -#: libpq_fetch.c:458 +#: libpq_fetch.c:464 #, c-format msgid "could not send file list: %s" msgstr "не удалось отправить список файлов: %s" -#: libpq_fetch.c:500 +#: libpq_fetch.c:506 #, c-format msgid "could not send end-of-COPY: %s" msgstr "не удалось отправить сообщение о завершении копирования: %s" -#: libpq_fetch.c:506 +#: libpq_fetch.c:512 #, c-format msgid "unexpected result while sending file list: %s" msgstr "неожиданный результат при передаче списка: %s" diff -Nru postgresql-9.6-9.6.5/src/bin/psql/po/it.po postgresql-9.6-9.6.6/src/bin/psql/po/it.po --- postgresql-9.6-9.6.5/src/bin/psql/po/it.po 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/bin/psql/po/it.po 2017-11-06 22:08:55.000000000 +0000 @@ -25,7 +25,7 @@ "Project-Id-Version: psql (PostgreSQL) 9.6\n" "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n" "POT-Creation-Date: 2017-05-22 15:43+0000\n" -"PO-Revision-Date: 2017-05-29 22:06+0100\n" +"PO-Revision-Date: 2017-09-10 18:05+0100\n" "Last-Translator: Daniele Varrazzo \n" "Language-Team: Gruppo traduzioni ITPUG \n" "Language: it\n" @@ -34,7 +34,7 @@ "Content-Transfer-Encoding: 8bit\n" "X-Poedit-SourceCharset: utf-8\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Poedit 1.8.7.1\n" +"X-Generator: Poedit 1.5.4\n" #: ../../common/exec.c:127 ../../common/exec.c:241 ../../common/exec.c:284 #, c-format @@ -234,8 +234,8 @@ msgstr "%s: nome codifica errato oppure non esiste una procedura di conversione\n" #: command.c:871 command.c:1962 command.c:3649 common.c:153 common.c:200 -#: common.c:497 common.c:1190 common.c:1218 common.c:1319 copy.c:489 copy.c:709 -#: large_obj.c:156 large_obj.c:191 large_obj.c:253 +#: common.c:497 common.c:1190 common.c:1218 common.c:1319 copy.c:489 +#: copy.c:709 large_obj.c:156 large_obj.c:191 large_obj.c:253 #, c-format msgid "%s" msgstr "%s" @@ -963,7 +963,8 @@ msgid "Options" msgstr "Opzioni" -#: describe.c:252 describe.c:609 describe.c:806 describe.c:3061 describe.c:3065 +#: describe.c:252 describe.c:609 describe.c:806 describe.c:3061 +#: describe.c:3065 msgid "Size" msgstr "Dimensione" @@ -1186,12 +1187,12 @@ #: describe.c:1273 #, c-format msgid "Did not find any relation named \"%s\".\n" -msgstr "Non ho trovato alcuna relazione di nome \"%s\".\n" +msgstr "Non è stata trovata nessuna relazione chiamata \"%s\".\n" #: describe.c:1483 #, c-format msgid "Did not find any relation with OID %s.\n" -msgstr "Non ho trovato nessuna relazione con OID %s.\n" +msgstr "Non è stata trovata nessuna relazione con OID %s.\n" #: describe.c:1589 #, c-format @@ -1725,7 +1726,7 @@ #: describe.c:3778 #, c-format msgid "Did not find any text search parser named \"%s\".\n" -msgstr "Non ho trovato alcun analizzatore di ricerca testo chiamato \"%s\".\n" +msgstr "Non è stato trovato nessun analizzatore di ricerca testo chiamato \"%s\".\n" #: describe.c:3853 msgid "Start parse" @@ -1806,7 +1807,7 @@ #: describe.c:4159 #, c-format msgid "Did not find any text search configuration named \"%s\".\n" -msgstr "Non trovata alcuna configurazione di ricerca testo chiamata \"%s\".\n" +msgstr "Non è stata trovata nessuna configurazione di ricerca testo chiamata \"%s\".\n" #: describe.c:4225 msgid "Token" @@ -1908,12 +1909,12 @@ #: describe.c:4670 #, c-format msgid "Did not find any extension named \"%s\".\n" -msgstr "Non ho trovato alcuna estensione nominata \"%s\".\n" +msgstr "Non è stata trovata nessuna estensione chiamata \"%s\".\n" #: describe.c:4673 #, c-format msgid "Did not find any extensions.\n" -msgstr "Non ho trovato alcuna estensione.\n" +msgstr "Non è stata trovata nessuna estensione.\n" #: describe.c:4717 msgid "Object Description" @@ -3363,16 +3364,17 @@ #: sql_help.c:41 sql_help.c:67 sql_help.c:82 sql_help.c:118 sql_help.c:234 #: sql_help.c:252 sql_help.c:373 sql_help.c:459 sql_help.c:505 sql_help.c:585 #: sql_help.c:594 sql_help.c:652 sql_help.c:672 sql_help.c:701 sql_help.c:756 -#: sql_help.c:856 sql_help.c:882 sql_help.c:902 sql_help.c:1045 sql_help.c:1063 -#: sql_help.c:1106 sql_help.c:1127 sql_help.c:1189 sql_help.c:1291 -#: sql_help.c:2322 +#: sql_help.c:856 sql_help.c:882 sql_help.c:902 sql_help.c:1045 +#: sql_help.c:1063 sql_help.c:1106 sql_help.c:1127 sql_help.c:1189 +#: sql_help.c:1291 sql_help.c:2322 msgid "new_owner" msgstr "nuovo_proprietario" #: sql_help.c:44 sql_help.c:69 sql_help.c:84 sql_help.c:238 sql_help.c:303 #: sql_help.c:425 sql_help.c:510 sql_help.c:635 sql_help.c:676 sql_help.c:704 -#: sql_help.c:759 sql_help.c:886 sql_help.c:998 sql_help.c:1108 sql_help.c:1129 -#: sql_help.c:1141 sql_help.c:1153 sql_help.c:1196 sql_help.c:1295 +#: sql_help.c:759 sql_help.c:886 sql_help.c:998 sql_help.c:1108 +#: sql_help.c:1129 sql_help.c:1141 sql_help.c:1153 sql_help.c:1196 +#: sql_help.c:1295 msgid "new_schema" msgstr "nuovo_schema" @@ -3436,7 +3438,8 @@ msgid "istemplate" msgstr "è_template" -#: sql_help.c:120 sql_help.c:573 sql_help.c:638 sql_help.c:1001 sql_help.c:1038 +#: sql_help.c:120 sql_help.c:573 sql_help.c:638 sql_help.c:1001 +#: sql_help.c:1038 msgid "new_tablespace" msgstr "nuovo_tablespace" @@ -3449,13 +3452,13 @@ #: sql_help.c:123 sql_help.c:371 sql_help.c:443 sql_help.c:449 sql_help.c:461 #: sql_help.c:520 sql_help.c:568 sql_help.c:644 sql_help.c:650 sql_help.c:824 -#: sql_help.c:900 sql_help.c:916 sql_help.c:917 sql_help.c:1020 sql_help.c:1040 -#: sql_help.c:1066 sql_help.c:1123 sql_help.c:1251 sql_help.c:1271 -#: sql_help.c:1804 sql_help.c:1836 sql_help.c:1843 sql_help.c:1888 -#: sql_help.c:1889 sql_help.c:1947 sql_help.c:1979 sql_help.c:2172 -#: sql_help.c:2246 sql_help.c:2254 sql_help.c:2286 sql_help.c:2308 -#: sql_help.c:2325 sql_help.c:2352 sql_help.c:2553 sql_help.c:3157 -#: sql_help.c:3733 sql_help.c:3734 +#: sql_help.c:900 sql_help.c:916 sql_help.c:917 sql_help.c:1020 +#: sql_help.c:1040 sql_help.c:1066 sql_help.c:1123 sql_help.c:1251 +#: sql_help.c:1271 sql_help.c:1804 sql_help.c:1836 sql_help.c:1843 +#: sql_help.c:1888 sql_help.c:1889 sql_help.c:1947 sql_help.c:1979 +#: sql_help.c:2172 sql_help.c:2246 sql_help.c:2254 sql_help.c:2286 +#: sql_help.c:2308 sql_help.c:2325 sql_help.c:2352 sql_help.c:2553 +#: sql_help.c:3157 sql_help.c:3733 sql_help.c:3734 msgid "value" msgstr "valore" @@ -3479,16 +3482,16 @@ #: sql_help.c:189 sql_help.c:190 sql_help.c:191 sql_help.c:192 sql_help.c:193 #: sql_help.c:194 sql_help.c:195 sql_help.c:196 sql_help.c:544 sql_help.c:572 -#: sql_help.c:637 sql_help.c:777 sql_help.c:834 sql_help.c:1000 sql_help.c:1258 -#: sql_help.c:1922 sql_help.c:1923 sql_help.c:1924 sql_help.c:1925 -#: sql_help.c:1926 sql_help.c:2052 sql_help.c:2087 sql_help.c:2088 -#: sql_help.c:2089 sql_help.c:2090 sql_help.c:2091 sql_help.c:2535 -#: sql_help.c:2536 sql_help.c:2537 sql_help.c:2538 sql_help.c:2539 -#: sql_help.c:3138 sql_help.c:3139 sql_help.c:3140 sql_help.c:3437 -#: sql_help.c:3441 sql_help.c:3444 sql_help.c:3446 sql_help.c:3448 -#: sql_help.c:3450 sql_help.c:3452 sql_help.c:3458 sql_help.c:3460 -#: sql_help.c:3462 sql_help.c:3464 sql_help.c:3466 sql_help.c:3468 -#: sql_help.c:3469 sql_help.c:3470 sql_help.c:3753 +#: sql_help.c:637 sql_help.c:777 sql_help.c:834 sql_help.c:1000 +#: sql_help.c:1258 sql_help.c:1922 sql_help.c:1923 sql_help.c:1924 +#: sql_help.c:1925 sql_help.c:1926 sql_help.c:2052 sql_help.c:2087 +#: sql_help.c:2088 sql_help.c:2089 sql_help.c:2090 sql_help.c:2091 +#: sql_help.c:2535 sql_help.c:2536 sql_help.c:2537 sql_help.c:2538 +#: sql_help.c:2539 sql_help.c:3138 sql_help.c:3139 sql_help.c:3140 +#: sql_help.c:3437 sql_help.c:3441 sql_help.c:3444 sql_help.c:3446 +#: sql_help.c:3448 sql_help.c:3450 sql_help.c:3452 sql_help.c:3458 +#: sql_help.c:3460 sql_help.c:3462 sql_help.c:3464 sql_help.c:3466 +#: sql_help.c:3468 sql_help.c:3469 sql_help.c:3470 sql_help.c:3753 msgid "role_name" msgstr "nome_ruolo" @@ -3649,7 +3652,8 @@ msgid "new_column_name" msgstr "nuovo_nome_colonna" -#: sql_help.c:426 sql_help.c:516 sql_help.c:639 sql_help.c:1002 sql_help.c:1200 +#: sql_help.c:426 sql_help.c:516 sql_help.c:639 sql_help.c:1002 +#: sql_help.c:1200 msgid "where action is one of:" msgstr "dove azione è una di:" @@ -3695,7 +3699,8 @@ msgid "parent_table" msgstr "tabella_padre" -#: sql_help.c:515 sql_help.c:565 sql_help.c:628 sql_help.c:1167 sql_help.c:1786 +#: sql_help.c:515 sql_help.c:565 sql_help.c:628 sql_help.c:1167 +#: sql_help.c:1786 msgid "extension_name" msgstr "nome_estensione" @@ -3765,8 +3770,8 @@ msgstr "strategia_num" #: sql_help.c:735 sql_help.c:736 sql_help.c:739 sql_help.c:740 sql_help.c:746 -#: sql_help.c:747 sql_help.c:749 sql_help.c:750 sql_help.c:2021 sql_help.c:2022 -#: sql_help.c:2025 sql_help.c:2026 +#: sql_help.c:747 sql_help.c:749 sql_help.c:750 sql_help.c:2021 +#: sql_help.c:2022 sql_help.c:2025 sql_help.c:2026 msgid "op_type" msgstr "tipo_op" diff -Nru postgresql-9.6-9.6.5/src/bin/psql/sql_help.c postgresql-9.6-9.6.6/src/bin/psql/sql_help.c --- postgresql-9.6-9.6.5/src/bin/psql/sql_help.c 2017-08-28 21:40:44.000000000 +0000 +++ postgresql-9.6-9.6.6/src/bin/psql/sql_help.c 2017-11-06 22:29:52.000000000 +0000 @@ -807,7 +807,7 @@ "\n" "%s\n" "\n" - " [ GROUP ] %s\n" + " %s\n" " | CURRENT_USER\n" " | SESSION_USER", _("role_specification"), @@ -1235,7 +1235,7 @@ "\n" "%s\n" "\n" - " [ GROUP ] %s\n" + " %s\n" " | CURRENT_USER\n" " | SESSION_USER", _("role_specification"), @@ -2128,7 +2128,7 @@ "\n" "%s\n" "\n" - " [ GROUP ] %s\n" + " %s\n" " | CURRENT_USER\n" " | SESSION_USER", _("schema_name"), diff -Nru postgresql-9.6-9.6.5/src/bin/scripts/t/080_pg_isready.pl postgresql-9.6-9.6.6/src/bin/scripts/t/080_pg_isready.pl --- postgresql-9.6-9.6.5/src/bin/scripts/t/080_pg_isready.pl 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/bin/scripts/t/080_pg_isready.pl 2017-11-06 22:08:55.000000000 +0000 @@ -15,4 +15,5 @@ $node->init; $node->start; -$node->command_ok(['pg_isready'], 'succeeds with server running'); +# use a long timeout for the benefit of very slow buildfarm machines +$node->command_ok([qw(pg_isready --timeout=60)], 'succeeds with server running'); diff -Nru postgresql-9.6-9.6.5/src/include/catalog/pg_constraint_fn.h postgresql-9.6-9.6.6/src/include/catalog/pg_constraint_fn.h --- postgresql-9.6-9.6.5/src/include/catalog/pg_constraint_fn.h 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/include/catalog/pg_constraint_fn.h 2017-11-06 22:08:55.000000000 +0000 @@ -69,6 +69,8 @@ extern void AlterConstraintNamespaces(Oid ownerId, Oid oldNspId, Oid newNspId, bool isType, ObjectAddresses *objsMoved); extern Oid get_relation_constraint_oid(Oid relid, const char *conname, bool missing_ok); +extern Bitmapset *get_relation_constraint_attnos(Oid relid, const char *conname, + bool missing_ok, Oid *constraintOid); extern Oid get_domain_constraint_oid(Oid typid, const char *conname, bool missing_ok); extern Bitmapset *get_primary_key_attnos(Oid relid, bool deferrableOk, diff -Nru postgresql-9.6-9.6.5/src/include/c.h postgresql-9.6-9.6.6/src/include/c.h --- postgresql-9.6-9.6.5/src/include/c.h 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/include/c.h 2017-11-06 22:08:55.000000000 +0000 @@ -285,6 +285,8 @@ #ifndef HAVE_UINT64 typedef unsigned long int uint64; #endif +#define INT64CONST(x) (x##L) +#define UINT64CONST(x) (x##UL) #elif defined(HAVE_LONG_LONG_INT_64) /* We have working support for "long long int", use that */ @@ -294,20 +296,13 @@ #ifndef HAVE_UINT64 typedef unsigned long long int uint64; #endif +#define INT64CONST(x) (x##LL) +#define UINT64CONST(x) (x##ULL) #else /* neither HAVE_LONG_INT_64 nor HAVE_LONG_LONG_INT_64 */ #error must have a working 64-bit integer datatype #endif -/* Decide if we need to decorate 64-bit constants */ -#ifdef HAVE_LL_CONSTANTS -#define INT64CONST(x) ((int64) x##LL) -#define UINT64CONST(x) ((uint64) x##ULL) -#else -#define INT64CONST(x) ((int64) x) -#define UINT64CONST(x) ((uint64) x) -#endif - /* snprintf format strings to use for 64-bit integers */ #define INT64_FORMAT "%" INT64_MODIFIER "d" #define UINT64_FORMAT "%" INT64_MODIFIER "u" @@ -335,11 +330,20 @@ #define PG_UINT16_MAX (0xFFFF) #define PG_INT32_MIN (-0x7FFFFFFF-1) #define PG_INT32_MAX (0x7FFFFFFF) -#define PG_UINT32_MAX (0xFFFFFFFF) +#define PG_UINT32_MAX (0xFFFFFFFFU) #define PG_INT64_MIN (-INT64CONST(0x7FFFFFFFFFFFFFFF) - 1) #define PG_INT64_MAX INT64CONST(0x7FFFFFFFFFFFFFFF) #define PG_UINT64_MAX UINT64CONST(0xFFFFFFFFFFFFFFFF) +/* Max value of size_t might also be missing if we don't have stdint.h */ +#ifndef SIZE_MAX +#if SIZEOF_SIZE_T == 8 +#define SIZE_MAX PG_UINT64_MAX +#else +#define SIZE_MAX PG_UINT32_MAX +#endif +#endif + /* Select timestamp representation (float8 or int64) */ #ifdef USE_INTEGER_DATETIMES #define HAVE_INT64_TIMESTAMP diff -Nru postgresql-9.6-9.6.5/src/include/executor/spi_priv.h postgresql-9.6-9.6.6/src/include/executor/spi_priv.h --- postgresql-9.6-9.6.5/src/include/executor/spi_priv.h 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/include/executor/spi_priv.h 2017-11-06 22:08:55.000000000 +0000 @@ -31,6 +31,9 @@ MemoryContext execCxt; /* executor context */ MemoryContext savedcxt; /* context of SPI_connect's caller */ SubTransactionId connectSubid; /* ID of connecting subtransaction */ + + /* subtransaction in which current Executor call was started */ + SubTransactionId execSubid; } _SPI_connection; /* diff -Nru postgresql-9.6-9.6.5/src/include/funcapi.h postgresql-9.6-9.6.6/src/include/funcapi.h --- postgresql-9.6-9.6.5/src/include/funcapi.h 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/include/funcapi.h 2017-11-06 22:08:55.000000000 +0000 @@ -2,6 +2,7 @@ * * funcapi.h * Definitions for functions which return composite type and/or sets + * or work on VARIADIC inputs. * * This file must be included by all Postgres modules that either define * or call FUNCAPI-callable functions or macros. @@ -315,4 +316,26 @@ PG_RETURN_NULL(); \ } while (0) +/*---------- + * Support to ease writing of functions dealing with VARIADIC inputs + *---------- + * + * This function extracts a set of argument values, types and NULL markers + * for a given input function. This returns a set of data: + * - **values includes the set of Datum values extracted. + * - **types the data type OID for each element. + * - **nulls tracks if an element is NULL. + * + * variadic_start indicates the argument number where the VARIADIC argument + * starts. + * convert_unknown set to true will enforce the conversion of arguments + * with unknown data type to text. + * + * The return result is the number of elements stored, or -1 in the case of + * "VARIADIC NULL". + */ +extern int extract_variadic_args(FunctionCallInfo fcinfo, int variadic_start, + bool convert_unknown, Datum **values, + Oid **types, bool **nulls); + #endif /* FUNCAPI_H */ diff -Nru postgresql-9.6-9.6.5/src/include/nodes/execnodes.h postgresql-9.6-9.6.6/src/include/nodes/execnodes.h --- postgresql-9.6-9.6.5/src/include/nodes/execnodes.h 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/include/nodes/execnodes.h 2017-11-06 22:08:55.000000000 +0000 @@ -421,6 +421,8 @@ HeapTuple *es_epqTuple; /* array of EPQ substitute tuples */ bool *es_epqTupleSet; /* true if EPQ tuple is provided */ bool *es_epqScanDone; /* true if EPQ tuple has been fetched */ + + bool es_use_parallel_mode; /* can we use parallel workers? */ } EState; @@ -1834,7 +1836,7 @@ AggStatePerTrans pertrans; /* per-Trans state information */ ExprContext **aggcontexts; /* econtexts for long-lived data (per GS) */ ExprContext *tmpcontext; /* econtext for input expressions */ - AggStatePerTrans curpertrans; /* currently active trans state */ + AggStatePerTrans curpertrans; /* currently active trans state, if any */ bool input_done; /* indicates end of input */ bool agg_done; /* indicates completion of Agg scan */ int projected_set; /* The last projected grouping set */ @@ -1857,6 +1859,7 @@ List *hash_needed; /* list of columns needed in hash table */ bool table_filled; /* hash table filled yet? */ TupleHashIterator hashiter; /* for iterating through hash table */ + AggStatePerAgg curperagg; /* currently active aggregate, if any */ } AggState; /* ---------------- diff -Nru postgresql-9.6-9.6.5/src/include/pg_config.h.in postgresql-9.6-9.6.6/src/include/pg_config.h.in --- postgresql-9.6-9.6.5/src/include/pg_config.h.in 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/include/pg_config.h.in 2017-11-06 22:08:55.000000000 +0000 @@ -333,10 +333,6 @@ /* Define to 1 if you have the `z' library (-lz). */ #undef HAVE_LIBZ -/* Define to 1 if constants of type 'long long int' should have the suffix LL. - */ -#undef HAVE_LL_CONSTANTS - /* Define to 1 if the system has the type `locale_t'. */ #undef HAVE_LOCALE_T @@ -394,6 +390,9 @@ /* Define to 1 if you have the `posix_fadvise' function. */ #undef HAVE_POSIX_FADVISE +/* Define to 1 if you have the `posix_fallocate' function. */ +#undef HAVE_POSIX_FALLOCATE + /* Define to 1 if the assembler supports PPC's LWARX mutex hint bit. */ #undef HAVE_PPC_LWARX_MUTEX_HINT diff -Nru postgresql-9.6-9.6.5/src/include/pg_config.h.win32 postgresql-9.6-9.6.6/src/include/pg_config.h.win32 --- postgresql-9.6-9.6.5/src/include/pg_config.h.win32 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/include/pg_config.h.win32 2017-11-06 22:08:55.000000000 +0000 @@ -217,12 +217,6 @@ /* Define to 1 if you have the `z' library (-lz). */ /* #undef HAVE_LIBZ */ -/* Define to 1 if constants of type 'long long int' should have the suffix LL. - */ -#if (_MSC_VER > 1200) -#define HAVE_LL_CONSTANTS 1 -#endif - /* Define to 1 if the system has the type `locale_t'. */ #define HAVE_LOCALE_T 1 @@ -231,7 +225,7 @@ /* Define to 1 if `long long int' works and is 64 bits. */ #if (_MSC_VER > 1200) -#define HAVE_LONG_LONG_INT_64 +#define HAVE_LONG_LONG_INT_64 1 #endif /* Define to 1 if you have the `mbstowcs_l' function. */ @@ -264,6 +258,9 @@ /* Define to 1 if you have the header file. */ /* #undef HAVE_POLL_H */ +/* Define to 1 if you have the `posix_fallocate' function. */ +/* #undef HAVE_POSIX_FALLOCATE */ + /* Define to 1 if you have the `pstat' function. */ /* #undef HAVE_PSTAT */ @@ -554,10 +551,10 @@ #define PACKAGE_NAME "PostgreSQL" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "PostgreSQL 9.6.5" +#define PACKAGE_STRING "PostgreSQL 9.6.6" /* Define to the version of this package. */ -#define PACKAGE_VERSION "9.6.5" +#define PACKAGE_VERSION "9.6.6" /* Define to the name of a signed 128-bit integer type. */ #undef PG_INT128_TYPE @@ -566,10 +563,10 @@ #define PG_INT64_TYPE long long int /* PostgreSQL version as a string */ -#define PG_VERSION "9.6.5" +#define PG_VERSION "9.6.6" /* PostgreSQL version as a number */ -#define PG_VERSION_NUM 90605 +#define PG_VERSION_NUM 90606 /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "postgresql" diff -Nru postgresql-9.6-9.6.5/src/include/utils/acl.h postgresql-9.6-9.6.6/src/include/utils/acl.h --- postgresql-9.6-9.6.5/src/include/utils/acl.h 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/include/utils/acl.h 2017-11-06 22:08:55.000000000 +0000 @@ -12,9 +12,17 @@ * NOTES * An ACL array is simply an array of AclItems, representing the union * of the privileges represented by the individual items. A zero-length - * array represents "no privileges". There are no assumptions about the - * ordering of the items, but we do expect that there are no two entries - * in the array with the same grantor and grantee. + * array represents "no privileges". + * + * The order of items in the array is important as client utilities (in + * particular, pg_dump, though possibly other clients) expect to be able + * to issue GRANTs in the ordering of the items in the array. The reason + * this matters is that GRANTs WITH GRANT OPTION must be before any GRANTs + * which depend on it. This happens naturally in the backend during + * operations as we update ACLs in-place, new items are appended, and + * existing entries are only removed if there's no dependency on them (no + * GRANT can been based on it, or, if there was, those GRANTs are also + * removed). * * For backward-compatibility purposes we have to allow null ACL entries * in system catalogs. A null ACL will be treated as meaning "default diff -Nru postgresql-9.6-9.6.5/src/include/utils/guc.h postgresql-9.6-9.6.6/src/include/utils/guc.h --- postgresql-9.6-9.6.5/src/include/utils/guc.h 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/include/utils/guc.h 2017-11-06 22:08:55.000000000 +0000 @@ -245,6 +245,7 @@ extern PGDLLIMPORT bool check_function_bodies; extern bool default_with_oids; extern bool SQL_inheritance; +extern bool session_auth_is_superuser; extern int log_min_error_statement; extern int log_min_messages; diff -Nru postgresql-9.6-9.6.5/src/include/utils/memutils.h postgresql-9.6-9.6.6/src/include/utils/memutils.h --- postgresql-9.6-9.6.5/src/include/utils/memutils.h 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/include/utils/memutils.h 2017-11-06 22:08:55.000000000 +0000 @@ -41,7 +41,7 @@ #define AllocSizeIsValid(size) ((Size) (size) <= MaxAllocSize) -#define MaxAllocHugeSize ((Size) -1 >> 1) /* SIZE_MAX / 2 */ +#define MaxAllocHugeSize (SIZE_MAX / 2) #define AllocHugeSizeIsValid(size) ((Size) (size) <= MaxAllocHugeSize) diff -Nru postgresql-9.6-9.6.5/src/include/utils/tqual.h postgresql-9.6-9.6.6/src/include/utils/tqual.h --- postgresql-9.6-9.6.5/src/include/utils/tqual.h 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/include/utils/tqual.h 2017-11-06 22:08:55.000000000 +0000 @@ -76,6 +76,7 @@ TransactionId OldestXmin, Buffer buffer); extern bool HeapTupleIsSurelyDead(HeapTuple htup, TransactionId OldestXmin); +extern bool XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot); extern void HeapTupleSetHintBits(HeapTupleHeader tuple, Buffer buffer, uint16 infomask, TransactionId xid); diff -Nru postgresql-9.6-9.6.5/src/interfaces/ecpg/ecpglib/data.c postgresql-9.6-9.6.6/src/interfaces/ecpg/ecpglib/data.c --- postgresql-9.6-9.6.5/src/interfaces/ecpg/ecpglib/data.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/interfaces/ecpg/ecpglib/data.c 2017-11-06 22:08:55.000000000 +0000 @@ -46,7 +46,7 @@ /* returns true if some garbage is found at the end of the scanned string */ static bool -garbage_left(enum ARRAY_TYPE isarray, char *scan_length, enum COMPAT_MODE compat) +garbage_left(enum ARRAY_TYPE isarray, char **scan_length, enum COMPAT_MODE compat) { /* * INFORMIX allows for selecting a numeric into an int, the result is @@ -54,13 +54,18 @@ */ if (isarray == ECPG_ARRAY_NONE) { - if (INFORMIX_MODE(compat) && *scan_length == '.') - return false; + if (INFORMIX_MODE(compat) && **scan_length == '.') + { + /* skip invalid characters */ + do { + (*scan_length)++; + } while (isdigit(**scan_length)); + } - if (*scan_length != ' ' && *scan_length != '\0') + if (**scan_length != ' ' && **scan_length != '\0') return true; } - else if (ECPG_IS_ARRAY(isarray) && !array_delimiter(isarray, *scan_length) && !array_boundary(isarray, *scan_length)) + else if (ECPG_IS_ARRAY(isarray) && !array_delimiter(isarray, **scan_length) && !array_boundary(isarray, **scan_length)) return true; return false; @@ -305,7 +310,7 @@ case ECPGt_int: case ECPGt_long: res = strtol(pval, &scan_length, 10); - if (garbage_left(isarray, scan_length, compat)) + if (garbage_left(isarray, &scan_length, compat)) { ecpg_raise(lineno, ECPG_INT_FORMAT, ECPG_SQLSTATE_DATATYPE_MISMATCH, pval); @@ -334,7 +339,7 @@ case ECPGt_unsigned_int: case ECPGt_unsigned_long: ures = strtoul(pval, &scan_length, 10); - if (garbage_left(isarray, scan_length, compat)) + if (garbage_left(isarray, &scan_length, compat)) { ecpg_raise(lineno, ECPG_UINT_FORMAT, ECPG_SQLSTATE_DATATYPE_MISMATCH, pval); @@ -363,7 +368,7 @@ #ifdef HAVE_STRTOLL case ECPGt_long_long: *((long long int *) (var + offset * act_tuple)) = strtoll(pval, &scan_length, 10); - if (garbage_left(isarray, scan_length, compat)) + if (garbage_left(isarray, &scan_length, compat)) { ecpg_raise(lineno, ECPG_INT_FORMAT, ECPG_SQLSTATE_DATATYPE_MISMATCH, pval); return (false); @@ -375,7 +380,7 @@ #ifdef HAVE_STRTOULL case ECPGt_unsigned_long_long: *((unsigned long long int *) (var + offset * act_tuple)) = strtoull(pval, &scan_length, 10); - if (garbage_left(isarray, scan_length, compat)) + if (garbage_left(isarray, &scan_length, compat)) { ecpg_raise(lineno, ECPG_UINT_FORMAT, ECPG_SQLSTATE_DATATYPE_MISMATCH, pval); return (false); @@ -397,7 +402,8 @@ if (isarray && *scan_length == '"') scan_length++; - if (garbage_left(isarray, scan_length, compat)) + /* no special INFORMIX treatment for floats */ + if (garbage_left(isarray, &scan_length, ECPG_COMPAT_PGSQL)) { ecpg_raise(lineno, ECPG_FLOAT_FORMAT, ECPG_SQLSTATE_DATATYPE_MISMATCH, pval); @@ -595,7 +601,7 @@ } else { - if (!isarray && garbage_left(isarray, scan_length, compat)) + if (!isarray && garbage_left(isarray, &scan_length, compat)) { free(nres); ecpg_raise(lineno, ECPG_NUMERIC_FORMAT, @@ -653,7 +659,7 @@ if (*scan_length == '"') scan_length++; - if (!isarray && garbage_left(isarray, scan_length, compat)) + if (!isarray && garbage_left(isarray, &scan_length, compat)) { free(ires); ecpg_raise(lineno, ECPG_INTERVAL_FORMAT, @@ -703,7 +709,7 @@ if (*scan_length == '"') scan_length++; - if (!isarray && garbage_left(isarray, scan_length, compat)) + if (!isarray && garbage_left(isarray, &scan_length, compat)) { ecpg_raise(lineno, ECPG_DATE_FORMAT, ECPG_SQLSTATE_DATATYPE_MISMATCH, pval); @@ -751,7 +757,7 @@ if (*scan_length == '"') scan_length++; - if (!isarray && garbage_left(isarray, scan_length, compat)) + if (!isarray && garbage_left(isarray, &scan_length, compat)) { ecpg_raise(lineno, ECPG_TIMESTAMP_FORMAT, ECPG_SQLSTATE_DATATYPE_MISMATCH, pval); diff -Nru postgresql-9.6-9.6.5/src/interfaces/ecpg/ecpglib/execute.c postgresql-9.6-9.6.6/src/interfaces/ecpg/ecpglib/execute.c --- postgresql-9.6-9.6.5/src/interfaces/ecpg/ecpglib/execute.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/interfaces/ecpg/ecpglib/execute.c 2017-11-06 22:08:55.000000000 +0000 @@ -109,14 +109,14 @@ } static int -next_insert(char *text, int pos, bool questionmarks) +next_insert(char *text, int pos, bool questionmarks, bool std_strings) { bool string = false; int p = pos; for (; text[p] != '\0'; p++) { - if (text[p] == '\\') /* escape character */ + if (string && !std_strings && text[p] == '\\') /* escape character */ p++; else if (text[p] == '\'') string = string ? false : true; @@ -1110,6 +1110,13 @@ struct variable *var; int desc_counter = 0; int position = 0; + const char *value; + bool std_strings = false; + + /* Get standard_conforming_strings setting. */ + value = PQparameterStatus(stmt->connection->connection, "standard_conforming_strings"); + if (value && strcmp(value, "on") == 0) + std_strings = true; /* * If the type is one of the fill in types then we take the argument and @@ -1300,7 +1307,7 @@ * now tobeinserted points to an area that contains the next * parameter; now find the position in the string where it belongs */ - if ((position = next_insert(stmt->command, position, stmt->questionmarks) + 1) == 0) + if ((position = next_insert(stmt->command, position, stmt->questionmarks, std_strings) + 1) == 0) { /* * We have an argument but we dont have the matched up placeholder @@ -1387,7 +1394,7 @@ } /* Check if there are unmatched things left. */ - if (next_insert(stmt->command, position, stmt->questionmarks) >= 0) + if (next_insert(stmt->command, position, stmt->questionmarks, std_strings) >= 0) { ecpg_raise(stmt->lineno, ECPG_TOO_FEW_ARGUMENTS, ECPG_SQLSTATE_USING_CLAUSE_DOES_NOT_MATCH_PARAMETERS, NULL); diff -Nru postgresql-9.6-9.6.5/src/interfaces/ecpg/preproc/ecpg.header postgresql-9.6-9.6.6/src/interfaces/ecpg/preproc/ecpg.header --- postgresql-9.6-9.6.5/src/interfaces/ecpg/preproc/ecpg.header 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/interfaces/ecpg/preproc/ecpg.header 2017-11-06 22:08:55.000000000 +0000 @@ -352,7 +352,7 @@ else { newvar = new_variable(cat_str(4, mm_strdup("("), - mm_strdup(ecpg_type_name(ptr->variable->type->type)), + mm_strdup(ecpg_type_name(ptr->variable->type->u.element->type)), mm_strdup(" *)(ECPGget_var("), mm_strdup(var_text)), ECPGmake_array_type(ECPGmake_simple_type(ptr->variable->type->u.element->type, diff -Nru postgresql-9.6-9.6.5/src/interfaces/ecpg/preproc/preproc.c postgresql-9.6-9.6.6/src/interfaces/ecpg/preproc/preproc.c --- postgresql-9.6-9.6.5/src/interfaces/ecpg/preproc/preproc.c 2017-08-28 21:40:44.000000000 +0000 +++ postgresql-9.6-9.6.6/src/interfaces/ecpg/preproc/preproc.c 2017-11-06 22:29:52.000000000 +0000 @@ -423,7 +423,7 @@ else { newvar = new_variable(cat_str(4, mm_strdup("("), - mm_strdup(ecpg_type_name(ptr->variable->type->type)), + mm_strdup(ecpg_type_name(ptr->variable->type->u.element->type)), mm_strdup(" *)(ECPGget_var("), mm_strdup(var_text)), ECPGmake_array_type(ECPGmake_simple_type(ptr->variable->type->u.element->type, diff -Nru postgresql-9.6-9.6.5/src/interfaces/ecpg/preproc/preproc.y postgresql-9.6-9.6.6/src/interfaces/ecpg/preproc/preproc.y --- postgresql-9.6-9.6.5/src/interfaces/ecpg/preproc/preproc.y 2017-08-28 21:40:41.000000000 +0000 +++ postgresql-9.6-9.6.6/src/interfaces/ecpg/preproc/preproc.y 2017-11-06 22:29:49.000000000 +0000 @@ -353,7 +353,7 @@ else { newvar = new_variable(cat_str(4, mm_strdup("("), - mm_strdup(ecpg_type_name(ptr->variable->type->type)), + mm_strdup(ecpg_type_name(ptr->variable->type->u.element->type)), mm_strdup(" *)(ECPGget_var("), mm_strdup(var_text)), ECPGmake_array_type(ECPGmake_simple_type(ptr->variable->type->u.element->type, diff -Nru postgresql-9.6-9.6.5/src/interfaces/ecpg/test/expected/thread-alloc.c postgresql-9.6-9.6.6/src/interfaces/ecpg/test/expected/thread-alloc.c --- postgresql-9.6-9.6.5/src/interfaces/ecpg/test/expected/thread-alloc.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/interfaces/ecpg/test/expected/thread-alloc.c 2017-11-06 22:08:55.000000000 +0000 @@ -22,6 +22,7 @@ #define WIN32_LEAN_AND_MEAN #include #include +#include #else #include #endif @@ -99,7 +100,7 @@ #endif -#line 24 "alloc.pgc" +#line 25 "alloc.pgc" #line 1 "regression.h" @@ -109,14 +110,14 @@ -#line 25 "alloc.pgc" +#line 26 "alloc.pgc" /* exec sql whenever sqlerror sqlprint ; */ -#line 27 "alloc.pgc" +#line 28 "alloc.pgc" /* exec sql whenever not found sqlprint ; */ -#line 28 "alloc.pgc" +#line 29 "alloc.pgc" #ifdef WIN32 @@ -132,54 +133,60 @@ -#line 39 "alloc.pgc" +#line 40 "alloc.pgc" int value ; -#line 40 "alloc.pgc" +#line 41 "alloc.pgc" char name [ 100 ] ; -#line 41 "alloc.pgc" +#line 42 "alloc.pgc" char ** r = NULL ; /* exec sql end declare section */ -#line 42 "alloc.pgc" +#line 43 "alloc.pgc" + +#ifdef WIN32 +#ifdef _MSC_VER /* requires MSVC */ + _configthreadlocale(_ENABLE_PER_THREAD_LOCALE); +#endif +#endif value = (long)arg; sprintf(name, "Connection: %d", value); { ECPGconnect(__LINE__, 0, "ecpg1_regression" , NULL, NULL , name, 0); -#line 47 "alloc.pgc" +#line 54 "alloc.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 47 "alloc.pgc" +#line 54 "alloc.pgc" { ECPGsetcommit(__LINE__, "on", NULL); -#line 48 "alloc.pgc" +#line 55 "alloc.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 48 "alloc.pgc" +#line 55 "alloc.pgc" for (i = 1; i <= REPEATS; ++i) { { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select relname from pg_class where relname = 'pg_class'", ECPGt_EOIT, ECPGt_char,&(r),(long)0,(long)0,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 51 "alloc.pgc" +#line 58 "alloc.pgc" if (sqlca.sqlcode == ECPG_NOT_FOUND) sqlprint(); -#line 51 "alloc.pgc" +#line 58 "alloc.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 51 "alloc.pgc" +#line 58 "alloc.pgc" free(r); r = NULL; } { ECPGdisconnect(__LINE__, name); -#line 55 "alloc.pgc" +#line 62 "alloc.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 55 "alloc.pgc" +#line 62 "alloc.pgc" return 0; diff -Nru postgresql-9.6-9.6.5/src/interfaces/ecpg/test/expected/thread-descriptor.c postgresql-9.6-9.6.6/src/interfaces/ecpg/test/expected/thread-descriptor.c --- postgresql-9.6-9.6.5/src/interfaces/ecpg/test/expected/thread-descriptor.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/interfaces/ecpg/test/expected/thread-descriptor.c 2017-11-06 22:08:55.000000000 +0000 @@ -12,6 +12,7 @@ #define WIN32_LEAN_AND_MEAN #include #include +#include #else #include #endif @@ -90,13 +91,13 @@ #endif -#line 15 "descriptor.pgc" +#line 16 "descriptor.pgc" /* exec sql whenever sqlerror sqlprint ; */ -#line 16 "descriptor.pgc" +#line 17 "descriptor.pgc" /* exec sql whenever not found sqlprint ; */ -#line 17 "descriptor.pgc" +#line 18 "descriptor.pgc" #if defined(ENABLE_THREAD_SAFETY) && defined(WIN32) @@ -107,19 +108,25 @@ { int i; +#ifdef WIN32 +#ifdef _MSC_VER /* requires MSVC */ + _configthreadlocale(_ENABLE_PER_THREAD_LOCALE); +#endif +#endif + for (i = 1; i <= REPEATS; ++i) { ECPGallocate_desc(__LINE__, "mydesc"); -#line 29 "descriptor.pgc" +#line 36 "descriptor.pgc" if (sqlca.sqlcode < 0) sqlprint(); -#line 29 "descriptor.pgc" +#line 36 "descriptor.pgc" ECPGdeallocate_desc(__LINE__, "mydesc"); -#line 30 "descriptor.pgc" +#line 37 "descriptor.pgc" if (sqlca.sqlcode < 0) sqlprint(); -#line 30 "descriptor.pgc" +#line 37 "descriptor.pgc" } diff -Nru postgresql-9.6-9.6.5/src/interfaces/ecpg/test/expected/thread-prep.c postgresql-9.6-9.6.6/src/interfaces/ecpg/test/expected/thread-prep.c --- postgresql-9.6-9.6.5/src/interfaces/ecpg/test/expected/thread-prep.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/interfaces/ecpg/test/expected/thread-prep.c 2017-11-06 22:08:55.000000000 +0000 @@ -22,6 +22,7 @@ #define WIN32_LEAN_AND_MEAN #include #include +#include #else #include #endif @@ -99,7 +100,7 @@ #endif -#line 24 "prep.pgc" +#line 25 "prep.pgc" #line 1 "regression.h" @@ -109,14 +110,14 @@ -#line 25 "prep.pgc" +#line 26 "prep.pgc" /* exec sql whenever sqlerror sqlprint ; */ -#line 27 "prep.pgc" +#line 28 "prep.pgc" /* exec sql whenever not found sqlprint ; */ -#line 28 "prep.pgc" +#line 29 "prep.pgc" #ifdef WIN32 @@ -132,64 +133,70 @@ -#line 39 "prep.pgc" +#line 40 "prep.pgc" int value ; -#line 40 "prep.pgc" +#line 41 "prep.pgc" char name [ 100 ] ; -#line 41 "prep.pgc" +#line 42 "prep.pgc" char query [ 256 ] = "INSERT INTO T VALUES ( ? )" ; /* exec sql end declare section */ -#line 42 "prep.pgc" +#line 43 "prep.pgc" + +#ifdef WIN32 +#ifdef _MSC_VER /* requires MSVC */ + _configthreadlocale(_ENABLE_PER_THREAD_LOCALE); +#endif +#endif value = (long)arg; sprintf(name, "Connection: %d", value); { ECPGconnect(__LINE__, 0, "ecpg1_regression" , NULL, NULL , name, 0); -#line 47 "prep.pgc" +#line 54 "prep.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 47 "prep.pgc" +#line 54 "prep.pgc" { ECPGsetcommit(__LINE__, "on", NULL); -#line 48 "prep.pgc" +#line 55 "prep.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 48 "prep.pgc" +#line 55 "prep.pgc" for (i = 1; i <= REPEATS; ++i) { { ECPGprepare(__LINE__, NULL, 0, "i", query); -#line 51 "prep.pgc" +#line 58 "prep.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 51 "prep.pgc" +#line 58 "prep.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_execute, "i", ECPGt_int,&(value),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); -#line 52 "prep.pgc" +#line 59 "prep.pgc" if (sqlca.sqlcode == ECPG_NOT_FOUND) sqlprint(); -#line 52 "prep.pgc" +#line 59 "prep.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 52 "prep.pgc" +#line 59 "prep.pgc" } { ECPGdeallocate(__LINE__, 0, NULL, "i"); -#line 54 "prep.pgc" +#line 61 "prep.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 54 "prep.pgc" +#line 61 "prep.pgc" { ECPGdisconnect(__LINE__, name); -#line 55 "prep.pgc" +#line 62 "prep.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 55 "prep.pgc" +#line 62 "prep.pgc" return 0; @@ -205,34 +212,34 @@ #endif { ECPGconnect(__LINE__, 0, "ecpg1_regression" , NULL, NULL , NULL, 0); -#line 69 "prep.pgc" +#line 76 "prep.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 69 "prep.pgc" +#line 76 "prep.pgc" { ECPGsetcommit(__LINE__, "on", NULL); -#line 70 "prep.pgc" +#line 77 "prep.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 70 "prep.pgc" +#line 77 "prep.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "drop table if exists T", ECPGt_EOIT, ECPGt_EORT); -#line 71 "prep.pgc" +#line 78 "prep.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 71 "prep.pgc" +#line 78 "prep.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "create table T ( i int )", ECPGt_EOIT, ECPGt_EORT); -#line 72 "prep.pgc" +#line 79 "prep.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 72 "prep.pgc" +#line 79 "prep.pgc" { ECPGdisconnect(__LINE__, "CURRENT"); -#line 73 "prep.pgc" +#line 80 "prep.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 73 "prep.pgc" +#line 80 "prep.pgc" #ifdef WIN32 diff -Nru postgresql-9.6-9.6.5/src/interfaces/ecpg/test/expected/thread-thread.c postgresql-9.6-9.6.6/src/interfaces/ecpg/test/expected/thread-thread.c --- postgresql-9.6-9.6.5/src/interfaces/ecpg/test/expected/thread-thread.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/interfaces/ecpg/test/expected/thread-thread.c 2017-11-06 22:08:55.000000000 +0000 @@ -26,6 +26,7 @@ #include #else #include +#include #endif @@ -36,7 +37,7 @@ -#line 22 "thread.pgc" +#line 23 "thread.pgc" void *test_thread(void *arg); @@ -55,10 +56,10 @@ /* exec sql begin declare section */ -#line 38 "thread.pgc" +#line 39 "thread.pgc" int l_rows ; /* exec sql end declare section */ -#line 39 "thread.pgc" +#line 40 "thread.pgc" /* Do not switch on debug output for regression tests. The threads get executed in @@ -67,22 +68,22 @@ /* setup test_thread table */ { ECPGconnect(__LINE__, 0, "ecpg1_regression" , NULL, NULL , NULL, 0); } -#line 46 "thread.pgc" +#line 47 "thread.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "drop table test_thread", ECPGt_EOIT, ECPGt_EORT);} -#line 47 "thread.pgc" +#line 48 "thread.pgc" /* DROP might fail */ { ECPGtrans(__LINE__, NULL, "commit");} -#line 48 "thread.pgc" +#line 49 "thread.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "create table test_thread ( tstamp timestamp not null default cast ( timeofday ( ) as timestamp ) , thread text not null , iteration integer not null , primary key ( thread , iteration ) )", ECPGt_EOIT, ECPGt_EORT);} -#line 53 "thread.pgc" +#line 54 "thread.pgc" { ECPGtrans(__LINE__, NULL, "commit");} -#line 54 "thread.pgc" +#line 55 "thread.pgc" { ECPGdisconnect(__LINE__, "CURRENT");} -#line 55 "thread.pgc" +#line 56 "thread.pgc" /* create, and start, threads */ @@ -114,18 +115,18 @@ /* and check results */ { ECPGconnect(__LINE__, 0, "ecpg1_regression" , NULL, NULL , NULL, 0); } -#line 85 "thread.pgc" +#line 86 "thread.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select count ( * ) from test_thread", ECPGt_EOIT, ECPGt_int,&(l_rows),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} -#line 86 "thread.pgc" +#line 87 "thread.pgc" { ECPGtrans(__LINE__, NULL, "commit");} -#line 87 "thread.pgc" +#line 88 "thread.pgc" { ECPGdisconnect(__LINE__, "CURRENT");} -#line 88 "thread.pgc" +#line 89 "thread.pgc" if( l_rows == (nthreads * iterations) ) printf("Success.\n"); @@ -138,18 +139,25 @@ void *test_thread(void *arg) { long threadnum = (long)arg; + /* exec sql begin declare section */ -#line 101 "thread.pgc" +#line 103 "thread.pgc" int l_i ; -#line 102 "thread.pgc" +#line 104 "thread.pgc" char l_connection [ 128 ] ; /* exec sql end declare section */ -#line 103 "thread.pgc" +#line 105 "thread.pgc" + +#ifdef WIN32 +#ifdef _MSC_VER /* requires MSVC */ + _configthreadlocale(_ENABLE_PER_THREAD_LOCALE); +#endif +#endif /* build up connection name, and connect to database */ #ifndef WIN32_ONLY_COMPILER @@ -158,13 +166,13 @@ _snprintf(l_connection, sizeof(l_connection), "thread_%03ld", threadnum); #endif /* exec sql whenever sqlerror sqlprint ; */ -#line 111 "thread.pgc" +#line 119 "thread.pgc" { ECPGconnect(__LINE__, 0, "ecpg1_regression" , NULL, NULL , l_connection, 0); -#line 112 "thread.pgc" +#line 120 "thread.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 112 "thread.pgc" +#line 120 "thread.pgc" if( sqlca.sqlcode != 0 ) { @@ -172,10 +180,10 @@ return( NULL ); } { ECPGtrans(__LINE__, l_connection, "begin"); -#line 118 "thread.pgc" +#line 126 "thread.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 118 "thread.pgc" +#line 126 "thread.pgc" /* insert into test_thread table */ @@ -186,10 +194,10 @@ ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_int,&(l_i),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); -#line 123 "thread.pgc" +#line 131 "thread.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 123 "thread.pgc" +#line 131 "thread.pgc" if( sqlca.sqlcode != 0 ) printf("%s: ERROR: insert failed!\n", l_connection); @@ -197,16 +205,16 @@ /* all done */ { ECPGtrans(__LINE__, l_connection, "commit"); -#line 129 "thread.pgc" +#line 137 "thread.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 129 "thread.pgc" +#line 137 "thread.pgc" { ECPGdisconnect(__LINE__, l_connection); -#line 130 "thread.pgc" +#line 138 "thread.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 130 "thread.pgc" +#line 138 "thread.pgc" return( NULL ); } diff -Nru postgresql-9.6-9.6.5/src/interfaces/ecpg/test/expected/thread-thread_implicit.c postgresql-9.6-9.6.6/src/interfaces/ecpg/test/expected/thread-thread_implicit.c --- postgresql-9.6-9.6.5/src/interfaces/ecpg/test/expected/thread-thread_implicit.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/interfaces/ecpg/test/expected/thread-thread_implicit.c 2017-11-06 22:08:55.000000000 +0000 @@ -27,6 +27,7 @@ #include #else #include +#include #endif @@ -37,7 +38,7 @@ -#line 23 "thread_implicit.pgc" +#line 24 "thread_implicit.pgc" void *test_thread(void *arg); @@ -56,10 +57,10 @@ /* exec sql begin declare section */ -#line 39 "thread_implicit.pgc" +#line 40 "thread_implicit.pgc" int l_rows ; /* exec sql end declare section */ -#line 40 "thread_implicit.pgc" +#line 41 "thread_implicit.pgc" /* Do not switch on debug output for regression tests. The threads get executed in @@ -68,22 +69,22 @@ /* setup test_thread table */ { ECPGconnect(__LINE__, 0, "ecpg1_regression" , NULL, NULL , NULL, 0); } -#line 47 "thread_implicit.pgc" +#line 48 "thread_implicit.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "drop table test_thread", ECPGt_EOIT, ECPGt_EORT);} -#line 48 "thread_implicit.pgc" +#line 49 "thread_implicit.pgc" /* DROP might fail */ { ECPGtrans(__LINE__, NULL, "commit");} -#line 49 "thread_implicit.pgc" +#line 50 "thread_implicit.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "create table test_thread ( tstamp timestamp not null default cast ( timeofday ( ) as timestamp ) , thread text not null , iteration integer not null , primary key ( thread , iteration ) )", ECPGt_EOIT, ECPGt_EORT);} -#line 54 "thread_implicit.pgc" +#line 55 "thread_implicit.pgc" { ECPGtrans(__LINE__, NULL, "commit");} -#line 55 "thread_implicit.pgc" +#line 56 "thread_implicit.pgc" { ECPGdisconnect(__LINE__, "CURRENT");} -#line 56 "thread_implicit.pgc" +#line 57 "thread_implicit.pgc" /* create, and start, threads */ @@ -115,18 +116,18 @@ /* and check results */ { ECPGconnect(__LINE__, 0, "ecpg1_regression" , NULL, NULL , NULL, 0); } -#line 86 "thread_implicit.pgc" +#line 87 "thread_implicit.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select count ( * ) from test_thread", ECPGt_EOIT, ECPGt_int,&(l_rows),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} -#line 87 "thread_implicit.pgc" +#line 88 "thread_implicit.pgc" { ECPGtrans(__LINE__, NULL, "commit");} -#line 88 "thread_implicit.pgc" +#line 89 "thread_implicit.pgc" { ECPGdisconnect(__LINE__, "CURRENT");} -#line 89 "thread_implicit.pgc" +#line 90 "thread_implicit.pgc" if( l_rows == (nthreads * iterations) ) printf("Success.\n"); @@ -139,18 +140,25 @@ void *test_thread(void *arg) { long threadnum = (long)arg; + /* exec sql begin declare section */ -#line 102 "thread_implicit.pgc" +#line 104 "thread_implicit.pgc" int l_i ; -#line 103 "thread_implicit.pgc" +#line 105 "thread_implicit.pgc" char l_connection [ 128 ] ; /* exec sql end declare section */ -#line 104 "thread_implicit.pgc" +#line 106 "thread_implicit.pgc" + +#ifdef WIN32 +#ifdef _MSC_VER /* requires MSVC */ + _configthreadlocale(_ENABLE_PER_THREAD_LOCALE); +#endif +#endif /* build up connection name, and connect to database */ #ifndef WIN32_ONLY_COMPILER @@ -159,13 +167,13 @@ _snprintf(l_connection, sizeof(l_connection), "thread_%03ld", threadnum); #endif /* exec sql whenever sqlerror sqlprint ; */ -#line 112 "thread_implicit.pgc" +#line 120 "thread_implicit.pgc" { ECPGconnect(__LINE__, 0, "ecpg1_regression" , NULL, NULL , l_connection, 0); -#line 113 "thread_implicit.pgc" +#line 121 "thread_implicit.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 113 "thread_implicit.pgc" +#line 121 "thread_implicit.pgc" if( sqlca.sqlcode != 0 ) { @@ -173,10 +181,10 @@ return( NULL ); } { ECPGtrans(__LINE__, NULL, "begin"); -#line 119 "thread_implicit.pgc" +#line 127 "thread_implicit.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 119 "thread_implicit.pgc" +#line 127 "thread_implicit.pgc" /* insert into test_thread table */ @@ -187,10 +195,10 @@ ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_int,&(l_i),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); -#line 124 "thread_implicit.pgc" +#line 132 "thread_implicit.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 124 "thread_implicit.pgc" +#line 132 "thread_implicit.pgc" if( sqlca.sqlcode != 0 ) printf("%s: ERROR: insert failed!\n", l_connection); @@ -198,16 +206,16 @@ /* all done */ { ECPGtrans(__LINE__, NULL, "commit"); -#line 130 "thread_implicit.pgc" +#line 138 "thread_implicit.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 130 "thread_implicit.pgc" +#line 138 "thread_implicit.pgc" { ECPGdisconnect(__LINE__, l_connection); -#line 131 "thread_implicit.pgc" +#line 139 "thread_implicit.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 131 "thread_implicit.pgc" +#line 139 "thread_implicit.pgc" return( NULL ); } diff -Nru postgresql-9.6-9.6.5/src/interfaces/ecpg/test/Makefile postgresql-9.6-9.6.6/src/interfaces/ecpg/test/Makefile --- postgresql-9.6-9.6.5/src/interfaces/ecpg/test/Makefile 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/interfaces/ecpg/test/Makefile 2017-11-06 22:08:55.000000000 +0000 @@ -81,7 +81,7 @@ $(with_temp_install) ./pg_regress $(REGRESS_OPTS) --temp-instance=./tmp_check $(TEMP_CONF) --bindir= $(pg_regress_locale_flags) $(THREAD) --schedule=$(srcdir)/ecpg_schedule # the same options, but with --listen-on-tcp -checktcp: all +checktcp: all | temp-install $(with_temp_install) ./pg_regress $(REGRESS_OPTS) --temp-instance=./tmp_check $(TEMP_CONF) --bindir= $(pg_regress_locale_flags) $(THREAD) --schedule=$(srcdir)/ecpg_schedule_tcp --host=localhost installcheck: all diff -Nru postgresql-9.6-9.6.5/src/interfaces/ecpg/test/thread/alloc.pgc postgresql-9.6-9.6.6/src/interfaces/ecpg/test/thread/alloc.pgc --- postgresql-9.6-9.6.5/src/interfaces/ecpg/test/thread/alloc.pgc 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/interfaces/ecpg/test/thread/alloc.pgc 2017-11-06 22:08:55.000000000 +0000 @@ -13,6 +13,7 @@ #define WIN32_LEAN_AND_MEAN #include #include +#include #else #include #endif @@ -41,6 +42,12 @@ char **r = NULL; EXEC SQL END DECLARE SECTION; +#ifdef WIN32 +#ifdef _MSC_VER /* requires MSVC */ + _configthreadlocale(_ENABLE_PER_THREAD_LOCALE); +#endif +#endif + value = (long)arg; sprintf(name, "Connection: %d", value); diff -Nru postgresql-9.6-9.6.5/src/interfaces/ecpg/test/thread/descriptor.pgc postgresql-9.6-9.6.6/src/interfaces/ecpg/test/thread/descriptor.pgc --- postgresql-9.6-9.6.5/src/interfaces/ecpg/test/thread/descriptor.pgc 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/interfaces/ecpg/test/thread/descriptor.pgc 2017-11-06 22:08:55.000000000 +0000 @@ -3,6 +3,7 @@ #define WIN32_LEAN_AND_MEAN #include #include +#include #else #include #endif @@ -24,6 +25,12 @@ { int i; +#ifdef WIN32 +#ifdef _MSC_VER /* requires MSVC */ + _configthreadlocale(_ENABLE_PER_THREAD_LOCALE); +#endif +#endif + for (i = 1; i <= REPEATS; ++i) { EXEC SQL ALLOCATE DESCRIPTOR mydesc; diff -Nru postgresql-9.6-9.6.5/src/interfaces/ecpg/test/thread/prep.pgc postgresql-9.6-9.6.6/src/interfaces/ecpg/test/thread/prep.pgc --- postgresql-9.6-9.6.5/src/interfaces/ecpg/test/thread/prep.pgc 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/interfaces/ecpg/test/thread/prep.pgc 2017-11-06 22:08:55.000000000 +0000 @@ -13,6 +13,7 @@ #define WIN32_LEAN_AND_MEAN #include #include +#include #else #include #endif @@ -41,6 +42,12 @@ char query[256] = "INSERT INTO T VALUES ( ? )"; EXEC SQL END DECLARE SECTION; +#ifdef WIN32 +#ifdef _MSC_VER /* requires MSVC */ + _configthreadlocale(_ENABLE_PER_THREAD_LOCALE); +#endif +#endif + value = (long)arg; sprintf(name, "Connection: %d", value); diff -Nru postgresql-9.6-9.6.5/src/interfaces/ecpg/test/thread/thread_implicit.pgc postgresql-9.6-9.6.6/src/interfaces/ecpg/test/thread/thread_implicit.pgc --- postgresql-9.6-9.6.5/src/interfaces/ecpg/test/thread/thread_implicit.pgc 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/interfaces/ecpg/test/thread/thread_implicit.pgc 2017-11-06 22:08:55.000000000 +0000 @@ -18,6 +18,7 @@ #include #else #include +#include #endif exec sql include ../regression; @@ -98,11 +99,18 @@ void *test_thread(void *arg) { long threadnum = (long)arg; + EXEC SQL BEGIN DECLARE SECTION; int l_i; char l_connection[128]; EXEC SQL END DECLARE SECTION; +#ifdef WIN32 +#ifdef _MSC_VER /* requires MSVC */ + _configthreadlocale(_ENABLE_PER_THREAD_LOCALE); +#endif +#endif + /* build up connection name, and connect to database */ #ifndef WIN32_ONLY_COMPILER snprintf(l_connection, sizeof(l_connection), "thread_%03ld", threadnum); diff -Nru postgresql-9.6-9.6.5/src/interfaces/ecpg/test/thread/thread.pgc postgresql-9.6-9.6.6/src/interfaces/ecpg/test/thread/thread.pgc --- postgresql-9.6-9.6.5/src/interfaces/ecpg/test/thread/thread.pgc 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/interfaces/ecpg/test/thread/thread.pgc 2017-11-06 22:08:55.000000000 +0000 @@ -17,6 +17,7 @@ #include #else #include +#include #endif exec sql include ../regression; @@ -97,11 +98,18 @@ void *test_thread(void *arg) { long threadnum = (long)arg; + EXEC SQL BEGIN DECLARE SECTION; int l_i; char l_connection[128]; EXEC SQL END DECLARE SECTION; +#ifdef WIN32 +#ifdef _MSC_VER /* requires MSVC */ + _configthreadlocale(_ENABLE_PER_THREAD_LOCALE); +#endif +#endif + /* build up connection name, and connect to database */ #ifndef WIN32_ONLY_COMPILER snprintf(l_connection, sizeof(l_connection), "thread_%03ld", threadnum); diff -Nru postgresql-9.6-9.6.5/src/interfaces/libpq/fe-connect.c postgresql-9.6-9.6.6/src/interfaces/libpq/fe-connect.c --- postgresql-9.6-9.6.5/src/interfaces/libpq/fe-connect.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/interfaces/libpq/fe-connect.c 2017-11-06 22:08:55.000000000 +0000 @@ -3906,6 +3906,16 @@ #define MAXBUFSIZE 256 +/* + * parseServiceInfo: if a service name has been given, look it up and absorb + * connection options from it into *options. + * + * Returns 0 on success, nonzero on failure. On failure, if errorMessage + * isn't null, also store an error message there. (Note: the only reason + * this function and related ones don't dump core on errorMessage == NULL + * is the undocumented fact that printfPQExpBuffer does nothing when passed + * a null PQExpBuffer pointer.) + */ static int parseServiceInfo(PQconninfoOption *options, PQExpBuffer errorMessage) { @@ -3924,9 +3934,14 @@ if (service == NULL) service = getenv("PGSERVICE"); + /* If no service name given, nothing to do */ if (service == NULL) return 0; + /* + * Try PGSERVICEFILE if specified, else try ~/.pg_service.conf (if that + * exists). + */ if ((env = getenv("PGSERVICEFILE")) != NULL) strlcpy(serviceFile, env, sizeof(serviceFile)); else @@ -3934,13 +3949,9 @@ char homedir[MAXPGPATH]; if (!pqGetHomeDirectory(homedir, sizeof(homedir))) - { - printfPQExpBuffer(errorMessage, libpq_gettext("could not get home directory to locate service definition file")); - return 1; - } + goto next_file; snprintf(serviceFile, MAXPGPATH, "%s/%s", homedir, ".pg_service.conf"); - errno = 0; - if (stat(serviceFile, &stat_buf) != 0 && errno == ENOENT) + if (stat(serviceFile, &stat_buf) != 0) goto next_file; } @@ -3956,8 +3967,7 @@ */ snprintf(serviceFile, MAXPGPATH, "%s/pg_service.conf", getenv("PGSYSCONFDIR") ? getenv("PGSYSCONFDIR") : SYSCONFDIR); - errno = 0; - if (stat(serviceFile, &stat_buf) != 0 && errno == ENOENT) + if (stat(serviceFile, &stat_buf) != 0) goto last_file; status = parseServiceFile(serviceFile, service, options, errorMessage, &group_found); @@ -5922,7 +5932,15 @@ * * This is essentially the same as get_home_path(), but we don't use that * because we don't want to pull path.c into libpq (it pollutes application - * namespace) + * namespace). + * + * Returns true on success, false on failure to obtain the directory name. + * + * CAUTION: although in most situations failure is unexpected, there are users + * who like to run applications in a home-directory-less environment. On + * failure, you almost certainly DO NOT want to report an error. Just act as + * though whatever file you were hoping to find in the home directory isn't + * there (which it isn't). */ bool pqGetHomeDirectory(char *buf, int bufsize) diff -Nru postgresql-9.6-9.6.5/src/interfaces/libpq/fe-exec.c postgresql-9.6-9.6.6/src/interfaces/libpq/fe-exec.c --- postgresql-9.6-9.6.5/src/interfaces/libpq/fe-exec.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/interfaces/libpq/fe-exec.c 2017-11-06 22:08:55.000000000 +0000 @@ -16,6 +16,7 @@ #include #include +#include #include "libpq-fe.h" #include "libpq-int.h" @@ -51,7 +52,8 @@ static PGEvent *dupEvents(PGEvent *events, int count); -static bool pqAddTuple(PGresult *res, PGresAttValue *tup); +static bool pqAddTuple(PGresult *res, PGresAttValue *tup, + const char **errmsgp); static bool PQsendQueryStart(PGconn *conn); static int PQsendQueryGuts(PGconn *conn, const char *command, @@ -416,18 +418,26 @@ * equal to PQntuples(res). If it is equal, a new tuple is created and * added to the result. * Returns a non-zero value for success and zero for failure. + * (On failure, we report the specific problem via pqInternalNotice.) */ int PQsetvalue(PGresult *res, int tup_num, int field_num, char *value, int len) { PGresAttValue *attval; + const char *errmsg = NULL; + /* Note that this check also protects us against null "res" */ if (!check_field_number(res, field_num)) return FALSE; /* Invalid tup_num, must be <= ntups */ if (tup_num < 0 || tup_num > res->ntups) + { + pqInternalNotice(&res->noticeHooks, + "row number %d is out of range 0..%d", + tup_num, res->ntups); return FALSE; + } /* need to allocate a new tuple? */ if (tup_num == res->ntups) @@ -440,7 +450,7 @@ TRUE); if (!tup) - return FALSE; + goto fail; /* initialize each column to NULL */ for (i = 0; i < res->numAttributes; i++) @@ -450,8 +460,8 @@ } /* add it to the array */ - if (!pqAddTuple(res, tup)) - return FALSE; + if (!pqAddTuple(res, tup, &errmsg)) + goto fail; } attval = &res->tuples[tup_num][field_num]; @@ -471,13 +481,24 @@ { attval->value = (char *) pqResultAlloc(res, len + 1, TRUE); if (!attval->value) - return FALSE; + goto fail; attval->len = len; memcpy(attval->value, value, len); attval->value[len] = '\0'; } return TRUE; + + /* + * Report failure via pqInternalNotice. If preceding code didn't provide + * an error message, assume "out of memory" was meant. + */ +fail: + if (!errmsg) + errmsg = libpq_gettext("out of memory"); + pqInternalNotice(&res->noticeHooks, "%s", errmsg); + + return FALSE; } /* @@ -847,10 +868,13 @@ /* * pqAddTuple * add a row pointer to the PGresult structure, growing it if necessary - * Returns TRUE if OK, FALSE if not enough memory to add the row + * Returns TRUE if OK, FALSE if an error prevented adding the row + * + * On error, *errmsgp can be set to an error string to be returned. + * If it is left NULL, the error is presumed to be "out of memory". */ static bool -pqAddTuple(PGresult *res, PGresAttValue *tup) +pqAddTuple(PGresult *res, PGresAttValue *tup, const char **errmsgp) { if (res->ntups >= res->tupArrSize) { @@ -865,9 +889,36 @@ * existing allocation. Note that the positions beyond res->ntups are * garbage, not necessarily NULL. */ - int newSize = (res->tupArrSize > 0) ? res->tupArrSize * 2 : 128; + int newSize; PGresAttValue **newTuples; + /* + * Since we use integers for row numbers, we can't support more than + * INT_MAX rows. Make sure we allow that many, though. + */ + if (res->tupArrSize <= INT_MAX / 2) + newSize = (res->tupArrSize > 0) ? res->tupArrSize * 2 : 128; + else if (res->tupArrSize < INT_MAX) + newSize = INT_MAX; + else + { + *errmsgp = libpq_gettext("PGresult cannot support more than INT_MAX tuples"); + return FALSE; + } + + /* + * Also, on 32-bit platforms we could, in theory, overflow size_t even + * before newSize gets to INT_MAX. (In practice we'd doubtless hit + * OOM long before that, but let's check.) + */ +#if INT_MAX >= (SIZE_MAX / 2) + if (newSize > SIZE_MAX / sizeof(PGresAttValue *)) + { + *errmsgp = libpq_gettext("size_t overflow"); + return FALSE; + } +#endif + if (res->tuples == NULL) newTuples = (PGresAttValue **) malloc(newSize * sizeof(PGresAttValue *)); @@ -1093,7 +1144,7 @@ } /* And add the tuple to the PGresult's tuple array */ - if (!pqAddTuple(res, tup)) + if (!pqAddTuple(res, tup, errmsgp)) goto fail; /* diff -Nru postgresql-9.6-9.6.5/src/interfaces/libpq/libpq-dist.rc postgresql-9.6-9.6.6/src/interfaces/libpq/libpq-dist.rc --- postgresql-9.6-9.6.5/src/interfaces/libpq/libpq-dist.rc 2017-08-28 21:40:41.000000000 +0000 +++ postgresql-9.6-9.6.6/src/interfaces/libpq/libpq-dist.rc 2017-11-06 22:29:48.000000000 +0000 @@ -1,8 +1,8 @@ #include VS_VERSION_INFO VERSIONINFO - FILEVERSION 9,6,5,17240 - PRODUCTVERSION 9,6,5,17240 + FILEVERSION 9,6,6,17310 + PRODUCTVERSION 9,6,6,17310 FILEFLAGSMASK 0x3fL FILEFLAGS 0 FILEOS VOS__WINDOWS32 @@ -15,13 +15,13 @@ BEGIN VALUE "CompanyName", "\0" VALUE "FileDescription", "PostgreSQL Access Library\0" - VALUE "FileVersion", "9.6.5\0" + VALUE "FileVersion", "9.6.6\0" VALUE "InternalName", "libpq\0" VALUE "LegalCopyright", "Copyright (C) 2016\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "libpq.dll\0" VALUE "ProductName", "PostgreSQL\0" - VALUE "ProductVersion", "9.6.5\0" + VALUE "ProductVersion", "9.6.6\0" END END BLOCK "VarFileInfo" diff -Nru postgresql-9.6-9.6.5/src/interfaces/libpq/libpq.rc.in postgresql-9.6-9.6.6/src/interfaces/libpq/libpq.rc.in --- postgresql-9.6-9.6.5/src/interfaces/libpq/libpq.rc.in 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/interfaces/libpq/libpq.rc.in 2017-11-06 22:08:55.000000000 +0000 @@ -1,8 +1,8 @@ #include VS_VERSION_INFO VERSIONINFO - FILEVERSION 9,6,5,0 - PRODUCTVERSION 9,6,5,0 + FILEVERSION 9,6,6,0 + PRODUCTVERSION 9,6,6,0 FILEFLAGSMASK 0x3fL FILEFLAGS 0 FILEOS VOS__WINDOWS32 @@ -15,13 +15,13 @@ BEGIN VALUE "CompanyName", "\0" VALUE "FileDescription", "PostgreSQL Access Library\0" - VALUE "FileVersion", "9.6.5\0" + VALUE "FileVersion", "9.6.6\0" VALUE "InternalName", "libpq\0" VALUE "LegalCopyright", "Copyright (C) 2016\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "libpq.dll\0" VALUE "ProductName", "PostgreSQL\0" - VALUE "ProductVersion", "9.6.5\0" + VALUE "ProductVersion", "9.6.6\0" END END BLOCK "VarFileInfo" diff -Nru postgresql-9.6-9.6.5/src/interfaces/libpq/po/de.po postgresql-9.6-9.6.6/src/interfaces/libpq/po/de.po --- postgresql-9.6-9.6.5/src/interfaces/libpq/po/de.po 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/interfaces/libpq/po/de.po 2017-11-06 22:08:55.000000000 +0000 @@ -7,8 +7,8 @@ msgstr "" "Project-Id-Version: PostgreSQL 9.6\n" "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n" -"POT-Creation-Date: 2017-08-07 16:17+0000\n" -"PO-Revision-Date: 2017-08-07 12:53-0400\n" +"POT-Creation-Date: 2017-09-14 00:17+0000\n" +"PO-Revision-Date: 2017-09-13 22:27-0400\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: de\n" @@ -33,8 +33,8 @@ #: fe-connect.c:2141 fe-connect.c:3499 fe-connect.c:3751 fe-connect.c:3870 #: fe-connect.c:4110 fe-connect.c:4190 fe-connect.c:4289 fe-connect.c:4545 #: fe-connect.c:4574 fe-connect.c:4646 fe-connect.c:4670 fe-connect.c:4688 -#: fe-connect.c:4784 fe-connect.c:5118 fe-connect.c:5268 fe-exec.c:2651 -#: fe-exec.c:3398 fe-exec.c:3563 fe-lobj.c:896 fe-protocol2.c:1206 +#: fe-connect.c:4784 fe-connect.c:5118 fe-connect.c:5268 fe-exec.c:2702 +#: fe-exec.c:3449 fe-exec.c:3614 fe-lobj.c:896 fe-protocol2.c:1206 #: fe-protocol3.c:992 fe-protocol3.c:1678 fe-secure-openssl.c:515 #: fe-secure-openssl.c:1139 msgid "out of memory\n" @@ -430,102 +430,121 @@ msgid "password retrieved from file \"%s\"\n" msgstr "Passwort wurde aus Datei »%s« gelesen\n" -#: fe-exec.c:826 +#: fe-exec.c:437 fe-exec.c:2776 +#, c-format +msgid "row number %d is out of range 0..%d" +msgstr "Zeilennummer %d ist außerhalb des zulässigen Bereichs 0..%d" + +#: fe-exec.c:498 fe-protocol2.c:503 fe-protocol2.c:538 fe-protocol2.c:1049 +#: fe-protocol3.c:209 fe-protocol3.c:236 fe-protocol3.c:253 fe-protocol3.c:333 +#: fe-protocol3.c:728 fe-protocol3.c:951 +msgid "out of memory" +msgstr "Speicher aufgebraucht" + +#: fe-exec.c:499 fe-protocol2.c:1395 fe-protocol3.c:1886 +#, c-format +msgid "%s" +msgstr "%s" + +#: fe-exec.c:847 msgid "NOTICE" msgstr "HINWEIS" -#: fe-exec.c:1141 fe-exec.c:1199 fe-exec.c:1245 +#: fe-exec.c:905 +msgid "PGresult cannot support more than INT_MAX tuples" +msgstr "PGresult kann nicht mehr als INT_MAX Tupel enthalten" + +#: fe-exec.c:917 +msgid "size_t overflow" +msgstr "Überlauf von size_t" + +#: fe-exec.c:1192 fe-exec.c:1250 fe-exec.c:1296 msgid "command string is a null pointer\n" msgstr "Befehlszeichenkette ist ein NULL-Zeiger\n" -#: fe-exec.c:1205 fe-exec.c:1251 fe-exec.c:1346 +#: fe-exec.c:1256 fe-exec.c:1302 fe-exec.c:1397 msgid "number of parameters must be between 0 and 65535\n" msgstr "Anzahl der Parameter muss zwischen 0 und 65535 sein\n" -#: fe-exec.c:1239 fe-exec.c:1340 +#: fe-exec.c:1290 fe-exec.c:1391 msgid "statement name is a null pointer\n" msgstr "Anweisungsname ist ein NULL-Zeiger\n" -#: fe-exec.c:1259 fe-exec.c:1422 fe-exec.c:2140 fe-exec.c:2339 +#: fe-exec.c:1310 fe-exec.c:1473 fe-exec.c:2191 fe-exec.c:2390 msgid "function requires at least protocol version 3.0\n" msgstr "Funktion erfordert mindestens Protokollversion 3.0\n" -#: fe-exec.c:1377 +#: fe-exec.c:1428 msgid "no connection to the server\n" msgstr "keine Verbindung mit dem Server\n" -#: fe-exec.c:1384 +#: fe-exec.c:1435 msgid "another command is already in progress\n" msgstr "ein anderer Befehl ist bereits in Ausführung\n" -#: fe-exec.c:1498 +#: fe-exec.c:1549 msgid "length must be given for binary parameter\n" msgstr "für binäre Parameter muss eine Länge angegeben werden\n" -#: fe-exec.c:1770 +#: fe-exec.c:1821 #, c-format msgid "unexpected asyncStatus: %d\n" msgstr "unerwarteter asyncStatus: %d\n" -#: fe-exec.c:1790 +#: fe-exec.c:1841 #, c-format msgid "PGEventProc \"%s\" failed during PGEVT_RESULTCREATE event\n" msgstr "PGEventProc »%s« während PGEVT_RESULTCREATE-Ereignis fehlgeschlagen\n" -#: fe-exec.c:1950 +#: fe-exec.c:2001 msgid "COPY terminated by new PQexec" msgstr "COPY von neuem PQexec beendet" -#: fe-exec.c:1958 +#: fe-exec.c:2009 msgid "COPY IN state must be terminated first\n" msgstr "COPY-IN-Zustand muss erst beendet werden\n" -#: fe-exec.c:1978 +#: fe-exec.c:2029 msgid "COPY OUT state must be terminated first\n" msgstr "COPY-OUT-Zustand muss erst beendet werden\n" -#: fe-exec.c:1986 +#: fe-exec.c:2037 msgid "PQexec not allowed during COPY BOTH\n" msgstr "PQexec ist während COPY BOTH nicht erlaubt\n" -#: fe-exec.c:2229 fe-exec.c:2296 fe-exec.c:2386 fe-protocol2.c:1352 +#: fe-exec.c:2280 fe-exec.c:2347 fe-exec.c:2437 fe-protocol2.c:1352 #: fe-protocol3.c:1817 msgid "no COPY in progress\n" msgstr "keine COPY in Ausführung\n" -#: fe-exec.c:2576 +#: fe-exec.c:2627 msgid "connection in wrong state\n" msgstr "Verbindung im falschen Zustand\n" -#: fe-exec.c:2607 +#: fe-exec.c:2658 msgid "invalid ExecStatusType code" msgstr "ungültiger ExecStatusType-Kode" -#: fe-exec.c:2634 +#: fe-exec.c:2685 msgid "PGresult is not an error result\n" msgstr "PGresult ist kein Fehlerresultat\n" -#: fe-exec.c:2709 fe-exec.c:2732 +#: fe-exec.c:2760 fe-exec.c:2783 #, c-format msgid "column number %d is out of range 0..%d" msgstr "Spaltennummer %d ist außerhalb des zulässigen Bereichs 0..%d" -#: fe-exec.c:2725 -#, c-format -msgid "row number %d is out of range 0..%d" -msgstr "Zeilennummer %d ist außerhalb des zulässigen Bereichs 0..%d" - -#: fe-exec.c:2747 +#: fe-exec.c:2798 #, c-format msgid "parameter number %d is out of range 0..%d" msgstr "Parameternummer %d ist außerhalb des zulässigen Bereichs 0..%d" -#: fe-exec.c:3057 +#: fe-exec.c:3108 #, c-format msgid "could not interpret result from server: %s" msgstr "konnte Ergebnis vom Server nicht interpretieren: %s" -#: fe-exec.c:3296 fe-exec.c:3380 +#: fe-exec.c:3347 fe-exec.c:3431 msgid "incomplete multibyte character\n" msgstr "unvollständiges Mehrbyte-Zeichen\n" @@ -569,7 +588,7 @@ #: fe-lobj.c:762 #, c-format msgid "could not read from file \"%s\": %s\n" -msgstr "konnte nicht aus Datei »%s« nicht lesen: %s\n" +msgstr "konnte nicht aus Datei »%s« lesen: %s\n" #: fe-lobj.c:836 fe-lobj.c:860 #, c-format @@ -665,12 +684,6 @@ msgid "message type 0x%02x arrived from server while idle" msgstr "Nachricht vom Typ 0x%02x kam vom Server im Ruhezustand" -#: fe-protocol2.c:503 fe-protocol2.c:538 fe-protocol2.c:1049 -#: fe-protocol3.c:209 fe-protocol3.c:236 fe-protocol3.c:253 fe-protocol3.c:333 -#: fe-protocol3.c:728 fe-protocol3.c:951 -msgid "out of memory" -msgstr "Speicher aufgebraucht" - #: fe-protocol2.c:529 #, c-format msgid "unexpected character %c following empty query response (\"I\" message)" @@ -695,11 +708,6 @@ msgid "out of memory for query result" msgstr "Speicher für Anfrageergebnis aufgebraucht" -#: fe-protocol2.c:1395 fe-protocol3.c:1886 -#, c-format -msgid "%s" -msgstr "%s" - #: fe-protocol2.c:1407 #, c-format msgid "lost synchronization with server, resetting connection" diff -Nru postgresql-9.6-9.6.5/src/interfaces/libpq/po/fr.po postgresql-9.6-9.6.6/src/interfaces/libpq/po/fr.po --- postgresql-9.6-9.6.5/src/interfaces/libpq/po/fr.po 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/interfaces/libpq/po/fr.po 2017-11-06 22:08:55.000000000 +0000 @@ -9,15 +9,15 @@ msgstr "" "Project-Id-Version: PostgreSQL 9.6\n" "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n" -"POT-Creation-Date: 2017-06-30 16:18+0000\n" -"PO-Revision-Date: 2017-07-02 17:39+0200\n" +"POT-Creation-Date: 2017-09-16 16:17+0000\n" +"PO-Revision-Date: 2017-09-17 18:21+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: PostgreSQLfr \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.12\n" +"X-Generator: Poedit 2.0.3\n" #: fe-auth.c:148 msgid "GSSAPI continuation error" @@ -36,8 +36,8 @@ #: fe-connect.c:2141 fe-connect.c:3499 fe-connect.c:3751 fe-connect.c:3870 #: fe-connect.c:4110 fe-connect.c:4190 fe-connect.c:4289 fe-connect.c:4545 #: fe-connect.c:4574 fe-connect.c:4646 fe-connect.c:4670 fe-connect.c:4688 -#: fe-connect.c:4784 fe-connect.c:5118 fe-connect.c:5268 fe-exec.c:2651 -#: fe-exec.c:3398 fe-exec.c:3563 fe-lobj.c:896 fe-protocol2.c:1206 +#: fe-connect.c:4784 fe-connect.c:5118 fe-connect.c:5268 fe-exec.c:2702 +#: fe-exec.c:3449 fe-exec.c:3614 fe-lobj.c:896 fe-protocol2.c:1206 #: fe-protocol3.c:992 fe-protocol3.c:1678 fe-secure-openssl.c:515 #: fe-secure-openssl.c:1139 msgid "out of memory\n" @@ -448,102 +448,121 @@ msgid "password retrieved from file \"%s\"\n" msgstr "mot de passe récupéré dans le fichier fichier « %s »\n" -#: fe-exec.c:826 +#: fe-exec.c:437 fe-exec.c:2776 +#, c-format +msgid "row number %d is out of range 0..%d" +msgstr "le numéro de ligne %d est en dehors des limites 0..%d" + +#: fe-exec.c:498 fe-protocol2.c:503 fe-protocol2.c:538 fe-protocol2.c:1049 +#: fe-protocol3.c:209 fe-protocol3.c:236 fe-protocol3.c:253 fe-protocol3.c:333 +#: fe-protocol3.c:728 fe-protocol3.c:951 +msgid "out of memory" +msgstr "mémoire épuisée" + +#: fe-exec.c:499 fe-protocol2.c:1395 fe-protocol3.c:1886 +#, c-format +msgid "%s" +msgstr "%s" + +#: fe-exec.c:847 msgid "NOTICE" msgstr "NOTICE" -#: fe-exec.c:1141 fe-exec.c:1199 fe-exec.c:1245 +#: fe-exec.c:905 +msgid "PGresult cannot support more than INT_MAX tuples" +msgstr "PGresult ne supporte pas plus de INT_MAX lignes" + +#: fe-exec.c:917 +msgid "size_t overflow" +msgstr "saturation de size_t" + +#: fe-exec.c:1192 fe-exec.c:1250 fe-exec.c:1296 msgid "command string is a null pointer\n" msgstr "la chaîne de commande est un pointeur nul\n" -#: fe-exec.c:1205 fe-exec.c:1251 fe-exec.c:1346 +#: fe-exec.c:1256 fe-exec.c:1302 fe-exec.c:1397 msgid "number of parameters must be between 0 and 65535\n" msgstr "le nombre de paramètres doit être compris entre 0 et 65535\n" -#: fe-exec.c:1239 fe-exec.c:1340 +#: fe-exec.c:1290 fe-exec.c:1391 msgid "statement name is a null pointer\n" msgstr "le nom de l'instruction est un pointeur nul\n" -#: fe-exec.c:1259 fe-exec.c:1422 fe-exec.c:2140 fe-exec.c:2339 +#: fe-exec.c:1310 fe-exec.c:1473 fe-exec.c:2191 fe-exec.c:2390 msgid "function requires at least protocol version 3.0\n" msgstr "la fonction nécessite au minimum le protocole 3.0\n" -#: fe-exec.c:1377 +#: fe-exec.c:1428 msgid "no connection to the server\n" msgstr "aucune connexion au serveur\n" -#: fe-exec.c:1384 +#: fe-exec.c:1435 msgid "another command is already in progress\n" msgstr "une autre commande est déjà en cours\n" -#: fe-exec.c:1498 +#: fe-exec.c:1549 msgid "length must be given for binary parameter\n" msgstr "la longueur doit être indiquée pour les paramètres binaires\n" -#: fe-exec.c:1770 +#: fe-exec.c:1821 #, c-format msgid "unexpected asyncStatus: %d\n" msgstr "asyncStatus inattendu : %d\n" -#: fe-exec.c:1790 +#: fe-exec.c:1841 #, c-format msgid "PGEventProc \"%s\" failed during PGEVT_RESULTCREATE event\n" msgstr "échec de PGEventProc « %s » lors de l'événement PGEVT_RESULTCREATE\n" -#: fe-exec.c:1950 +#: fe-exec.c:2001 msgid "COPY terminated by new PQexec" msgstr "COPY terminé par un nouveau PQexec" -#: fe-exec.c:1958 +#: fe-exec.c:2009 msgid "COPY IN state must be terminated first\n" msgstr "l'état COPY IN doit d'abord être terminé\n" -#: fe-exec.c:1978 +#: fe-exec.c:2029 msgid "COPY OUT state must be terminated first\n" msgstr "l'état COPY OUT doit d'abord être terminé\n" -#: fe-exec.c:1986 +#: fe-exec.c:2037 msgid "PQexec not allowed during COPY BOTH\n" msgstr "PQexec non autorisé pendant COPY BOTH\n" -#: fe-exec.c:2229 fe-exec.c:2296 fe-exec.c:2386 fe-protocol2.c:1352 +#: fe-exec.c:2280 fe-exec.c:2347 fe-exec.c:2437 fe-protocol2.c:1352 #: fe-protocol3.c:1817 msgid "no COPY in progress\n" msgstr "aucun COPY en cours\n" -#: fe-exec.c:2576 +#: fe-exec.c:2627 msgid "connection in wrong state\n" msgstr "connexion dans un état erroné\n" -#: fe-exec.c:2607 +#: fe-exec.c:2658 msgid "invalid ExecStatusType code" msgstr "code ExecStatusType invalide" -#: fe-exec.c:2634 +#: fe-exec.c:2685 msgid "PGresult is not an error result\n" msgstr "PGresult n'est pas un résultat d'erreur\n" -#: fe-exec.c:2709 fe-exec.c:2732 +#: fe-exec.c:2760 fe-exec.c:2783 #, c-format msgid "column number %d is out of range 0..%d" msgstr "le numéro de colonne %d est en dehors des limites 0..%d" -#: fe-exec.c:2725 -#, c-format -msgid "row number %d is out of range 0..%d" -msgstr "le numéro de ligne %d est en dehors des limites 0..%d" - -#: fe-exec.c:2747 +#: fe-exec.c:2798 #, c-format msgid "parameter number %d is out of range 0..%d" msgstr "le numéro de paramètre %d est en dehors des limites 0..%d" -#: fe-exec.c:3057 +#: fe-exec.c:3108 #, c-format msgid "could not interpret result from server: %s" msgstr "n'a pas pu interpréter la réponse du serveur : %s" -#: fe-exec.c:3296 fe-exec.c:3380 +#: fe-exec.c:3347 fe-exec.c:3431 msgid "incomplete multibyte character\n" msgstr "caractère multi-octet incomplet\n" @@ -685,12 +704,6 @@ msgid "message type 0x%02x arrived from server while idle" msgstr "le message de type 0x%02x est arrivé alors que le serveur était en attente" -#: fe-protocol2.c:503 fe-protocol2.c:538 fe-protocol2.c:1049 fe-protocol3.c:209 -#: fe-protocol3.c:236 fe-protocol3.c:253 fe-protocol3.c:333 fe-protocol3.c:728 -#: fe-protocol3.c:951 -msgid "out of memory" -msgstr "mémoire épuisée" - #: fe-protocol2.c:529 #, c-format msgid "unexpected character %c following empty query response (\"I\" message)" @@ -721,11 +734,6 @@ msgid "out of memory for query result" msgstr "mémoire épuisée pour le résultat de la requête" -#: fe-protocol2.c:1395 fe-protocol3.c:1886 -#, c-format -msgid "%s" -msgstr "%s" - #: fe-protocol2.c:1407 #, c-format msgid "lost synchronization with server, resetting connection" @@ -1024,57 +1032,57 @@ msgid "unrecognized socket error: 0x%08X/%d" msgstr "erreur de socket non reconnue : 0x%08X/%d" -#~ msgid "socket not open\n" -#~ msgstr "socket non ouvert\n" +#~ msgid "setsockopt(TCP_KEEPIDLE) failed: %s\n" +#~ msgstr "setsockopt(TCP_KEEPIDLE) a échoué : %s\n" -#~ msgid "could not set socket to blocking mode: %s\n" -#~ msgstr "n'a pas pu activer le mode bloquant pour la socket : %s\n" +#~ msgid "setsockopt(TCP_KEEPALIVE) failed: %s\n" +#~ msgstr "setsockopt(TCP_KEEPALIVE) a échoué : %s\n" -#~ msgid "Kerberos 5 authentication rejected: %*s\n" -#~ msgstr "authentification Kerberos 5 rejetée : %*s\n" +#~ msgid "setsockopt(TCP_KEEPINTVL) failed: %s\n" +#~ msgstr "setsockopt(TCP_KEEPINTVL) a échoué : %s\n" -#~ msgid "could not restore nonblocking mode on socket: %s\n" -#~ msgstr "n'a pas pu rétablir le mode non-bloquant pour la socket : %s\n" +#~ msgid "setsockopt(SO_KEEPALIVE) failed: %s\n" +#~ msgstr "setsockopt(SO_KEEPALIVE) a échoué : %s\n" -#~ msgid "could not get home directory to locate client certificate files\n" -#~ msgstr "" -#~ "n'a pas pu récupérer le répertoire personnel pour trouver les certificats\n" -#~ "du client\n" +#~ msgid "could not acquire mutex: %s\n" +#~ msgstr "n'a pas pu acquérir le mutex : %s\n" -#~ msgid "verified SSL connections are only supported when connecting to a host name\n" -#~ msgstr "" -#~ "les connexions SSL vérifiées ne sont supportées que lors de la connexion\n" -#~ "à un alias hôte\n" +#~ msgid "unrecognized return value from row processor" +#~ msgstr "valeur de retour du traitement de la ligne non reconnue" -#~ msgid "could not open private key file \"%s\": %s\n" -#~ msgstr "n'a pas pu ouvrir le fichier de clé privée « %s » : %s\n" +#~ msgid "invalid sslverify value: \"%s\"\n" +#~ msgstr "valeur sslverify invalide : « %s »\n" -#~ msgid "private key file \"%s\" changed during execution\n" -#~ msgstr "la clé privée « %s » a été modifiée durant l'exécution\n" +#~ msgid "invalid appname state %d, probably indicative of memory corruption\n" +#~ msgstr "état appname %d invalide, indiquant probablement une corruption de la mémoire\n" #~ msgid "could not read private key file \"%s\": %s\n" #~ msgstr "n'a pas pu lire la clé privée « %s » : %s\n" -#~ msgid "invalid appname state %d, probably indicative of memory corruption\n" -#~ msgstr "état appname %d invalide, indiquant probablement une corruption de la mémoire\n" +#~ msgid "private key file \"%s\" changed during execution\n" +#~ msgstr "la clé privée « %s » a été modifiée durant l'exécution\n" -#~ msgid "invalid sslverify value: \"%s\"\n" -#~ msgstr "valeur sslverify invalide : « %s »\n" +#~ msgid "could not open private key file \"%s\": %s\n" +#~ msgstr "n'a pas pu ouvrir le fichier de clé privée « %s » : %s\n" -#~ msgid "unrecognized return value from row processor" -#~ msgstr "valeur de retour du traitement de la ligne non reconnue" +#~ msgid "verified SSL connections are only supported when connecting to a host name\n" +#~ msgstr "" +#~ "les connexions SSL vérifiées ne sont supportées que lors de la connexion\n" +#~ "à un alias hôte\n" -#~ msgid "could not acquire mutex: %s\n" -#~ msgstr "n'a pas pu acquérir le mutex : %s\n" +#~ msgid "could not get home directory to locate client certificate files\n" +#~ msgstr "" +#~ "n'a pas pu récupérer le répertoire personnel pour trouver les certificats\n" +#~ "du client\n" -#~ msgid "setsockopt(SO_KEEPALIVE) failed: %s\n" -#~ msgstr "setsockopt(SO_KEEPALIVE) a échoué : %s\n" +#~ msgid "could not restore nonblocking mode on socket: %s\n" +#~ msgstr "n'a pas pu rétablir le mode non-bloquant pour la socket : %s\n" -#~ msgid "setsockopt(TCP_KEEPINTVL) failed: %s\n" -#~ msgstr "setsockopt(TCP_KEEPINTVL) a échoué : %s\n" +#~ msgid "Kerberos 5 authentication rejected: %*s\n" +#~ msgstr "authentification Kerberos 5 rejetée : %*s\n" -#~ msgid "setsockopt(TCP_KEEPALIVE) failed: %s\n" -#~ msgstr "setsockopt(TCP_KEEPALIVE) a échoué : %s\n" +#~ msgid "could not set socket to blocking mode: %s\n" +#~ msgstr "n'a pas pu activer le mode bloquant pour la socket : %s\n" -#~ msgid "setsockopt(TCP_KEEPIDLE) failed: %s\n" -#~ msgstr "setsockopt(TCP_KEEPIDLE) a échoué : %s\n" +#~ msgid "socket not open\n" +#~ msgstr "socket non ouvert\n" diff -Nru postgresql-9.6-9.6.5/src/interfaces/libpq/po/it.po postgresql-9.6-9.6.6/src/interfaces/libpq/po/it.po --- postgresql-9.6-9.6.5/src/interfaces/libpq/po/it.po 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/interfaces/libpq/po/it.po 2017-11-06 22:08:55.000000000 +0000 @@ -40,8 +40,8 @@ msgstr "" "Project-Id-Version: libpq (PostgreSQL) 9.6\n" "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n" -"POT-Creation-Date: 2017-05-22 15:38+0000\n" -"PO-Revision-Date: 2017-05-23 01:18+0100\n" +"POT-Creation-Date: 2017-09-07 01:47+0000\n" +"PO-Revision-Date: 2017-08-31 01:08+0100\n" "Last-Translator: Daniele Varrazzo \n" "Language-Team: Gruppo traduzioni ITPUG \n" "Language: it\n" @@ -50,14 +50,14 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Poedit-SourceCharset: UTF-8\n" -"X-Generator: Poedit 1.8.7.1\n" +"X-Generator: Poedit 1.5.4\n" # DV: non ne sono convinto #: fe-auth.c:148 msgid "GSSAPI continuation error" msgstr "GSSAPI errore di continuazione" -#: fe-auth.c:177 fe-auth.c:412 +#: fe-auth.c:177 fe-auth.c:417 msgid "host name must be specified\n" msgstr "il nome dell'host deve essere specificato\n" @@ -65,13 +65,13 @@ msgid "duplicate GSS authentication request\n" msgstr "richiesta di autenticazione GSS duplicata\n" -#: fe-auth.c:197 fe-auth.c:309 fe-auth.c:383 fe-auth.c:418 fe-auth.c:514 -#: fe-auth.c:793 fe-connect.c:707 fe-connect.c:904 fe-connect.c:1080 -#: fe-connect.c:2091 fe-connect.c:3484 fe-connect.c:3736 fe-connect.c:3855 -#: fe-connect.c:4095 fe-connect.c:4175 fe-connect.c:4274 fe-connect.c:4530 -#: fe-connect.c:4559 fe-connect.c:4631 fe-connect.c:4655 fe-connect.c:4673 -#: fe-connect.c:4769 fe-connect.c:5103 fe-connect.c:5253 fe-exec.c:2651 -#: fe-exec.c:3398 fe-exec.c:3563 fe-lobj.c:896 fe-protocol2.c:1206 +#: fe-auth.c:197 fe-auth.c:309 fe-auth.c:388 fe-auth.c:423 fe-auth.c:519 +#: fe-auth.c:798 fe-connect.c:767 fe-connect.c:964 fe-connect.c:1140 +#: fe-connect.c:2141 fe-connect.c:3499 fe-connect.c:3751 fe-connect.c:3870 +#: fe-connect.c:4110 fe-connect.c:4190 fe-connect.c:4289 fe-connect.c:4545 +#: fe-connect.c:4574 fe-connect.c:4646 fe-connect.c:4670 fe-connect.c:4688 +#: fe-connect.c:4784 fe-connect.c:5118 fe-connect.c:5268 fe-exec.c:2702 +#: fe-exec.c:3449 fe-exec.c:3614 fe-lobj.c:896 fe-protocol2.c:1206 #: fe-protocol3.c:992 fe-protocol3.c:1678 fe-secure-openssl.c:515 #: fe-secure-openssl.c:1139 msgid "out of memory\n" @@ -86,74 +86,78 @@ msgid "SSPI continuation error" msgstr "SSPI errore di continuazione" -#: fe-auth.c:398 +#: fe-auth.c:378 +msgid "duplicate SSPI authentication request\n" +msgstr "richiesta di autenticazione SSPI duplicata\n" + +#: fe-auth.c:403 msgid "could not acquire SSPI credentials" msgstr "non è stato possibile ottenere le credenziali SSPI" -#: fe-auth.c:489 +#: fe-auth.c:494 msgid "SCM_CRED authentication method not supported\n" msgstr "il metodo di autenticazione SCM_CRED non è supportato\n" -#: fe-auth.c:565 +#: fe-auth.c:570 msgid "Kerberos 4 authentication not supported\n" msgstr "l'autenticazione Kerberos 4 non è supportata\n" -#: fe-auth.c:570 +#: fe-auth.c:575 msgid "Kerberos 5 authentication not supported\n" msgstr "l'autenticazione Kerberos 5 non è supportata\n" -#: fe-auth.c:641 +#: fe-auth.c:646 msgid "GSSAPI authentication not supported\n" msgstr "l'autenticazione GSSAPI non è supportata\n" -#: fe-auth.c:673 +#: fe-auth.c:678 msgid "SSPI authentication not supported\n" msgstr "l'autenticazione SSPI non è supportata\n" -#: fe-auth.c:681 +#: fe-auth.c:686 msgid "Crypt authentication not supported\n" msgstr "l'autenticazione Crypt non è supportata\n" -#: fe-auth.c:716 +#: fe-auth.c:721 msgid "SCRAM authentication requires libpq version 10 or above\n" msgstr "l'autenticazione SCRAM richiede libpq versione 10 o successiva\n" -#: fe-auth.c:721 +#: fe-auth.c:726 #, c-format msgid "authentication method %u not supported\n" msgstr "l'autenticazione %u non è supportata\n" -#: fe-auth.c:768 +#: fe-auth.c:773 #, c-format msgid "user name lookup failure: error code %lu\n" msgstr "ricerca del nome utente fallita: codice di errore %lu\n" -#: fe-auth.c:778 fe-connect.c:2018 +#: fe-auth.c:783 fe-connect.c:2068 #, c-format msgid "could not look up local user ID %d: %s\n" msgstr "ricerca dell'ID utente locale %d non riuscita: %s\n" -#: fe-auth.c:783 fe-connect.c:2023 +#: fe-auth.c:788 fe-connect.c:2073 #, c-format msgid "local user with ID %d does not exist\n" msgstr "l'utente locale con ID %d non esiste\n" -#: fe-connect.c:846 +#: fe-connect.c:906 #, c-format msgid "invalid sslmode value: \"%s\"\n" msgstr "valore sslmode errato: \"%s\"\n" -#: fe-connect.c:867 +#: fe-connect.c:927 #, c-format msgid "sslmode value \"%s\" invalid when SSL support is not compiled in\n" msgstr "valore sslmode \"%s\" non valido quando il supporto SSL non è compilato\n" -#: fe-connect.c:1104 +#: fe-connect.c:1164 #, c-format msgid "could not set socket to TCP no delay mode: %s\n" msgstr "impostazione del socket in modalità TCP no delay fallita: %s\n" -#: fe-connect.c:1134 +#: fe-connect.c:1194 #, c-format msgid "" "could not connect to server: %s\n" @@ -164,7 +168,7 @@ "\tVerifica che il server locale sia in funzione e che\n" "\taccetti connessioni sul socket di dominio Unix \"%s\"\n" -#: fe-connect.c:1189 +#: fe-connect.c:1249 #, c-format msgid "" "could not connect to server: %s\n" @@ -175,7 +179,7 @@ "\tVerifica che il server all'indirizzo \"%s\" (%s) sia in funzione\n" "\te che accetti connessioni TCP/IP sulla porta %s\n" -#: fe-connect.c:1198 +#: fe-connect.c:1258 #, c-format msgid "" "could not connect to server: %s\n" @@ -186,403 +190,402 @@ "\tVerifica che il server all'indirizzo \"%s\" sia in funzione\n" "\te che accetti connessioni TCP/IP sulla porta %s\n" -#: fe-connect.c:1249 -#, c-format -msgid "setsockopt(TCP_KEEPIDLE) failed: %s\n" -msgstr "chiamata setsockopt(TCP_KEEPIDLE) fallita: %s\n" - -#: fe-connect.c:1262 -#, c-format -msgid "setsockopt(TCP_KEEPALIVE) failed: %s\n" -msgstr "chiamata setsockopt(TCP_KEEPALIVE) fallita: %s\n" - -#: fe-connect.c:1294 +#: fe-connect.c:1309 fe-connect.c:1341 fe-connect.c:1374 fe-connect.c:1841 #, c-format -msgid "setsockopt(TCP_KEEPINTVL) failed: %s\n" -msgstr "chiamata setsockopt(TCP_KEEPINTVL) fallita: %s\n" +msgid "setsockopt(%s) failed: %s\n" +msgstr "setsockopt(%s) fallita: %s\n" -#: fe-connect.c:1326 -#, c-format -msgid "setsockopt(TCP_KEEPCNT) failed: %s\n" -msgstr "chiamata setsockopt(TCP_KEEPCNT) fallita: %s\n" - -#: fe-connect.c:1374 +#: fe-connect.c:1423 #, c-format msgid "WSAIoctl(SIO_KEEPALIVE_VALS) failed: %ui\n" msgstr "chiamata WSAIoctl(SIO_KEEPALIVE_VALS) fallito: %ui\n" -#: fe-connect.c:1426 +#: fe-connect.c:1475 #, c-format msgid "invalid port number: \"%s\"\n" msgstr "numero di porta non valido: \"%s\"\n" -#: fe-connect.c:1459 +#: fe-connect.c:1508 #, c-format msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)\n" msgstr "Il percorso del socket di dominio unix \"%s\" è troppo lungo (massimo %d byte)\n" -#: fe-connect.c:1478 +#: fe-connect.c:1527 #, c-format msgid "could not translate host name \"%s\" to address: %s\n" msgstr "conversione del nome host \"%s\" in indirizzo fallita: %s\n" -#: fe-connect.c:1482 +#: fe-connect.c:1531 #, c-format msgid "could not translate Unix-domain socket path \"%s\" to address: %s\n" msgstr "conversione del percorso del socket di dominio Unix \"%s\" in indirizzo fallita: %s\n" -#: fe-connect.c:1687 +#: fe-connect.c:1736 msgid "invalid connection state, probably indicative of memory corruption\n" msgstr "stato della connessione non valido, probabilmente indica una corruzione della memoria\n" -#: fe-connect.c:1727 +#: fe-connect.c:1776 #, c-format msgid "could not create socket: %s\n" msgstr "creazione del socket fallita: %s\n" -#: fe-connect.c:1749 +#: fe-connect.c:1798 #, c-format msgid "could not set socket to nonblocking mode: %s\n" msgstr "impostazione del socket in modalità non bloccante fallita: %s\n" -#: fe-connect.c:1760 +#: fe-connect.c:1809 #, c-format msgid "could not set socket to close-on-exec mode: %s\n" msgstr "impostazione del socket in modalità close-on-exec fallita: %s\n" -#: fe-connect.c:1779 +#: fe-connect.c:1828 msgid "keepalives parameter must be an integer\n" msgstr "il parametro keepalives dev'essere un intero\n" -#: fe-connect.c:1792 -#, c-format -msgid "setsockopt(SO_KEEPALIVE) failed: %s\n" -msgstr "chiamata setsockopt(SO_KEEPALIVE) fallita: %s\n" - -#: fe-connect.c:1929 +#: fe-connect.c:1979 #, c-format msgid "could not get socket error status: %s\n" msgstr "lettura dello stato di errore del socket fallita: %s\n" -#: fe-connect.c:1963 +#: fe-connect.c:2013 #, c-format msgid "could not get client address from socket: %s\n" msgstr "non è stato possibile ottenere l'indirizzo del client dal socket: %s\n" -#: fe-connect.c:2005 +#: fe-connect.c:2055 msgid "requirepeer parameter is not supported on this platform\n" msgstr "il parametro requirepeer non è supportato su questa piattaforma\n" -#: fe-connect.c:2008 +#: fe-connect.c:2058 #, c-format msgid "could not get peer credentials: %s\n" msgstr "non è stato possibile ottenere le credenziali del peer: %s\n" -#: fe-connect.c:2031 +#: fe-connect.c:2081 #, c-format msgid "requirepeer specifies \"%s\", but actual peer user name is \"%s\"\n" msgstr "requirepeer specifica \"%s\", ma il vero nome utente del peer è \"%s\"\n" -#: fe-connect.c:2065 +#: fe-connect.c:2115 #, c-format msgid "could not send SSL negotiation packet: %s\n" msgstr "invio del pacchetto di negoziazione SSL fallito: %s\n" -#: fe-connect.c:2104 +#: fe-connect.c:2154 #, c-format msgid "could not send startup packet: %s\n" msgstr "invio del pacchetto di avvio fallito: %s\n" -#: fe-connect.c:2174 +#: fe-connect.c:2224 msgid "server does not support SSL, but SSL was required\n" msgstr "il server non supporta SSL, ma SSL è stato richiesto\n" -#: fe-connect.c:2200 +#: fe-connect.c:2250 #, c-format msgid "received invalid response to SSL negotiation: %c\n" msgstr "ricevuta risposta errata alla negoziazione SSL: %c\n" -#: fe-connect.c:2275 fe-connect.c:2308 +#: fe-connect.c:2325 fe-connect.c:2358 #, c-format msgid "expected authentication request from server, but received %c\n" msgstr "prevista richiesta di autenticazione dal server, ma è stato ricevuto %c\n" -#: fe-connect.c:2475 +#: fe-connect.c:2525 #, c-format msgid "out of memory allocating GSSAPI buffer (%d)" msgstr "errore di memoria nell'allocazione del buffer GSSAPI (%d)" -#: fe-connect.c:2560 +#: fe-connect.c:2610 msgid "unexpected message from server during startup\n" msgstr "messaggio imprevisto dal server durante l'avvio\n" -#: fe-connect.c:2654 +#: fe-connect.c:2704 #, c-format msgid "invalid connection state %d, probably indicative of memory corruption\n" msgstr "stato connessione errato %d, probabilmente indica una corruzione di memoria\n" -#: fe-connect.c:3090 fe-connect.c:3150 +#: fe-connect.c:3105 fe-connect.c:3165 #, c-format msgid "PGEventProc \"%s\" failed during PGEVT_CONNRESET event\n" msgstr "PGEventProc \"%s\" fallito durante l'evento PGEVT_CONNRESET\n" -#: fe-connect.c:3497 +#: fe-connect.c:3512 #, c-format msgid "invalid LDAP URL \"%s\": scheme must be ldap://\n" msgstr "URL LDAP \"%s\" non corretta: lo schema deve essere ldap://\n" -#: fe-connect.c:3512 +#: fe-connect.c:3527 #, c-format msgid "invalid LDAP URL \"%s\": missing distinguished name\n" msgstr "URL LDAP \"%s\" non corretta: distinguished name non trovato\n" -#: fe-connect.c:3523 fe-connect.c:3576 +#: fe-connect.c:3538 fe-connect.c:3591 #, c-format msgid "invalid LDAP URL \"%s\": must have exactly one attribute\n" msgstr "URL LDAP \"%s\" non corretta: deve avere esattamente un attributo\n" -#: fe-connect.c:3533 fe-connect.c:3590 +#: fe-connect.c:3548 fe-connect.c:3605 #, c-format msgid "invalid LDAP URL \"%s\": must have search scope (base/one/sub)\n" msgstr "URL LDAP \"%s\" non corretta: deve essere specificato la portata della ricerca (base/one/sub)\n" -#: fe-connect.c:3544 +#: fe-connect.c:3559 #, c-format msgid "invalid LDAP URL \"%s\": no filter\n" msgstr "URL LDAP \"%s\" non corretta: filtro non specificato\n" -#: fe-connect.c:3565 +#: fe-connect.c:3580 #, c-format msgid "invalid LDAP URL \"%s\": invalid port number\n" msgstr "URL LDAP \"%s\" non corretta: numero di porta non valido\n" -#: fe-connect.c:3599 +#: fe-connect.c:3614 msgid "could not create LDAP structure\n" msgstr "creazione della struttura dati LDAP fallita\n" -#: fe-connect.c:3675 +#: fe-connect.c:3690 #, c-format msgid "lookup on LDAP server failed: %s\n" msgstr "ricerca del server LDAP fallita: %s\n" -#: fe-connect.c:3686 +#: fe-connect.c:3701 msgid "more than one entry found on LDAP lookup\n" msgstr "trovata più di una voce nella ricerca LDAP\n" -#: fe-connect.c:3687 fe-connect.c:3699 +#: fe-connect.c:3702 fe-connect.c:3714 msgid "no entry found on LDAP lookup\n" msgstr "nessun elemento trovato per la ricerca LDAP\n" -#: fe-connect.c:3710 fe-connect.c:3723 +#: fe-connect.c:3725 fe-connect.c:3738 msgid "attribute has no values on LDAP lookup\n" msgstr "l'attributo non ha valori nella ricerca LDAP\n" -#: fe-connect.c:3775 fe-connect.c:3794 fe-connect.c:4313 +#: fe-connect.c:3790 fe-connect.c:3809 fe-connect.c:4328 #, c-format msgid "missing \"=\" after \"%s\" in connection info string\n" msgstr "manca \"=\" dopo \"%s\" nella stringa di connessione\n" -#: fe-connect.c:3867 fe-connect.c:4498 fe-connect.c:5236 +#: fe-connect.c:3882 fe-connect.c:4513 fe-connect.c:5251 #, c-format msgid "invalid connection option \"%s\"\n" msgstr "opzione di connessione errata \"%s\"\n" -#: fe-connect.c:3883 fe-connect.c:4362 +#: fe-connect.c:3898 fe-connect.c:4377 msgid "unterminated quoted string in connection info string\n" msgstr "stringa tra virgolette non terminata nella stringa di connessione\n" -#: fe-connect.c:3923 +#: fe-connect.c:3938 msgid "could not get home directory to locate service definition file" msgstr "directory home non trovata per la localizzazione del file di definizione di servizio" -#: fe-connect.c:3956 +#: fe-connect.c:3971 #, c-format msgid "definition of service \"%s\" not found\n" msgstr "il file di definizione di servizio \"%s\" non è stato trovato\n" -#: fe-connect.c:3979 +#: fe-connect.c:3994 #, c-format msgid "service file \"%s\" not found\n" msgstr "il file di servizio \"%s\" non è stato trovato\n" -#: fe-connect.c:3992 +#: fe-connect.c:4007 #, c-format msgid "line %d too long in service file \"%s\"\n" msgstr "la riga %d nel file di servizio \"%s\" è troppo lunga\n" -#: fe-connect.c:4063 fe-connect.c:4107 +#: fe-connect.c:4078 fe-connect.c:4122 #, c-format msgid "syntax error in service file \"%s\", line %d\n" msgstr "errore di sintassi del file di servizio \"%s\", alla riga %d\n" -#: fe-connect.c:4074 +#: fe-connect.c:4089 #, c-format msgid "nested service specifications not supported in service file \"%s\", line %d\n" msgstr "specifiche di servizio annidate non supportate nel file di servizio \"%s\", linea %d\n" -#: fe-connect.c:4780 +#: fe-connect.c:4795 #, c-format msgid "invalid URI propagated to internal parser routine: \"%s\"\n" msgstr "URI invalida propagata alla routine di parsing interna: \"%s\"\n" -#: fe-connect.c:4850 +#: fe-connect.c:4865 #, c-format msgid "end of string reached when looking for matching \"]\" in IPv6 host address in URI: \"%s\"\n" msgstr "fine stringa raggiunta cercando un \"]\" corrispondente nell'indirizzo host IPv6 nella URI: \"%s\"\n" -#: fe-connect.c:4857 +#: fe-connect.c:4872 #, c-format msgid "IPv6 host address may not be empty in URI: \"%s\"\n" msgstr "l'indirizzo host IPv6 non dev'essere assente nella URI: \"%s\"\n" -#: fe-connect.c:4872 +#: fe-connect.c:4887 #, c-format msgid "unexpected character \"%c\" at position %d in URI (expected \":\" or \"/\"): \"%s\"\n" msgstr "carattere inatteso \"%c\" in posizione %d nella uri URI (atteso \":\" oppure \"/\"): \"%s\"\n" -#: fe-connect.c:4986 +#: fe-connect.c:5001 #, c-format msgid "extra key/value separator \"=\" in URI query parameter: \"%s\"\n" msgstr "separatore chiave/valore \"=\" in eccesso nei parametri della URI: \"%s\"\n" -#: fe-connect.c:5006 +#: fe-connect.c:5021 #, c-format msgid "missing key/value separator \"=\" in URI query parameter: \"%s\"\n" msgstr "separatore chiave/valore \"=\" mancante nei parametri della URI: \"%s\"\n" -#: fe-connect.c:5057 +#: fe-connect.c:5072 #, c-format msgid "invalid URI query parameter: \"%s\"\n" msgstr "parametro URI non valido: \"%s\"\n" -#: fe-connect.c:5131 +#: fe-connect.c:5146 #, c-format msgid "invalid percent-encoded token: \"%s\"\n" msgstr "simbolo percent-encoded non valido \"%s\"\n" -#: fe-connect.c:5141 +#: fe-connect.c:5156 #, c-format msgid "forbidden value %%00 in percent-encoded value: \"%s\"\n" msgstr "valore non ammesso %%00 nel valore percent-encoded: \"%s\"\n" -#: fe-connect.c:5475 +#: fe-connect.c:5490 msgid "connection pointer is NULL\n" msgstr "il puntatore della connessione è NULL\n" -#: fe-connect.c:5773 +#: fe-connect.c:5788 #, c-format msgid "WARNING: password file \"%s\" is not a plain file\n" msgstr "ATTENZIONE: il file delle password \"%s\" non è un file regolare\n" -#: fe-connect.c:5782 +#: fe-connect.c:5797 #, c-format msgid "WARNING: password file \"%s\" has group or world access; permissions should be u=rw (0600) or less\n" msgstr "" "ATTENZIONE: Il file delle password %s ha privilegi di accesso in lettura e scrittura per tutti;\n" "i permessi dovrebbero essere u=rw (0600) o inferiori\n" -#: fe-connect.c:5896 +#: fe-connect.c:5911 #, c-format msgid "password retrieved from file \"%s\"\n" msgstr "password ottenuta dal file \"%s\"\n" -#: fe-exec.c:826 +#: fe-exec.c:437 fe-exec.c:2776 +#, c-format +msgid "row number %d is out of range 0..%d" +msgstr "la riga numero %d non è compreso tra 0 e %d" + +#: fe-exec.c:498 fe-protocol2.c:503 fe-protocol2.c:538 fe-protocol2.c:1049 +#: fe-protocol3.c:209 fe-protocol3.c:236 fe-protocol3.c:253 fe-protocol3.c:333 +#: fe-protocol3.c:728 fe-protocol3.c:951 +msgid "out of memory" +msgstr "memoria esaurita" + +#: fe-exec.c:499 fe-protocol2.c:1395 fe-protocol3.c:1886 +#, c-format +msgid "%s" +msgstr "%s" + +#: fe-exec.c:847 msgid "NOTICE" msgstr "NOTIFICA" -#: fe-exec.c:1141 fe-exec.c:1199 fe-exec.c:1245 +#: fe-exec.c:905 +msgid "PGresult cannot support more than INT_MAX tuples" +msgstr "PGresult non può supportare più di INT_MAX tuple" + +#: fe-exec.c:917 +msgid "size_t overflow" +msgstr "overflow size_t" + +#: fe-exec.c:1192 fe-exec.c:1250 fe-exec.c:1296 msgid "command string is a null pointer\n" msgstr "il testo del comando è un puntatore nullo\n" -#: fe-exec.c:1205 fe-exec.c:1251 fe-exec.c:1346 +#: fe-exec.c:1256 fe-exec.c:1302 fe-exec.c:1397 msgid "number of parameters must be between 0 and 65535\n" msgstr "il numero di parametri deve essere tra 0 e 65535\n" -#: fe-exec.c:1239 fe-exec.c:1340 +#: fe-exec.c:1290 fe-exec.c:1391 msgid "statement name is a null pointer\n" msgstr "il nome dell'istruzione è un puntatore nullo\n" -#: fe-exec.c:1259 fe-exec.c:1422 fe-exec.c:2140 fe-exec.c:2339 +#: fe-exec.c:1310 fe-exec.c:1473 fe-exec.c:2191 fe-exec.c:2390 msgid "function requires at least protocol version 3.0\n" msgstr "la funzione richiede almeno il protocollo versione 3.0\n" -#: fe-exec.c:1377 +#: fe-exec.c:1428 msgid "no connection to the server\n" msgstr "nessuna connessione al server\n" -#: fe-exec.c:1384 +#: fe-exec.c:1435 msgid "another command is already in progress\n" msgstr "un altro comando è in esecuzione\n" -#: fe-exec.c:1498 +#: fe-exec.c:1549 msgid "length must be given for binary parameter\n" msgstr "la lunghezza deve essere fornita per i parametri binari\n" -#: fe-exec.c:1770 +#: fe-exec.c:1821 #, c-format msgid "unexpected asyncStatus: %d\n" msgstr "asyncStatus imprevisto: %d\n" -#: fe-exec.c:1790 +#: fe-exec.c:1841 #, c-format msgid "PGEventProc \"%s\" failed during PGEVT_RESULTCREATE event\n" msgstr "PGEventProc \"%s\" fallito durante l'evento PGEVT_RESULTCREATE\n" -#: fe-exec.c:1950 +#: fe-exec.c:2001 msgid "COPY terminated by new PQexec" msgstr "COPY terminato da una nuova PQexec" -#: fe-exec.c:1958 +#: fe-exec.c:2009 msgid "COPY IN state must be terminated first\n" msgstr "lo stato COPY IN deve prima essere terminato\n" -#: fe-exec.c:1978 +#: fe-exec.c:2029 msgid "COPY OUT state must be terminated first\n" msgstr "lo stato COPY OUT deve prima essere terminato\n" # NON SONO ASSOLUTAMENTE CONVINTO! -#: fe-exec.c:1986 +#: fe-exec.c:2037 msgid "PQexec not allowed during COPY BOTH\n" msgstr "PQexec not consentito durante COPY BOTH\n" -#: fe-exec.c:2229 fe-exec.c:2296 fe-exec.c:2386 fe-protocol2.c:1352 +#: fe-exec.c:2280 fe-exec.c:2347 fe-exec.c:2437 fe-protocol2.c:1352 #: fe-protocol3.c:1817 msgid "no COPY in progress\n" msgstr "nessun comando COPY in corso\n" -#: fe-exec.c:2576 +#: fe-exec.c:2627 msgid "connection in wrong state\n" msgstr "la connessione è in uno stato errato\n" -#: fe-exec.c:2607 +#: fe-exec.c:2658 msgid "invalid ExecStatusType code" msgstr "codice ExecStatusType errato" -#: fe-exec.c:2634 +#: fe-exec.c:2685 msgid "PGresult is not an error result\n" msgstr "PGresult non è un risultato di errore\n" -#: fe-exec.c:2709 fe-exec.c:2732 +#: fe-exec.c:2760 fe-exec.c:2783 #, c-format msgid "column number %d is out of range 0..%d" msgstr "la colonna numero %d non è compreso tra 0 e %d" -#: fe-exec.c:2725 -#, c-format -msgid "row number %d is out of range 0..%d" -msgstr "la riga numero %d non è compreso tra 0 e %d" - -#: fe-exec.c:2747 +#: fe-exec.c:2798 #, c-format msgid "parameter number %d is out of range 0..%d" msgstr "il parametro numero %d non è compreso tra 0 e %d" -#: fe-exec.c:3057 +#: fe-exec.c:3108 #, c-format msgid "could not interpret result from server: %s" msgstr "errore nell'interpretazione del risultato dal server: %s" -#: fe-exec.c:3296 fe-exec.c:3380 +#: fe-exec.c:3347 fe-exec.c:3431 msgid "incomplete multibyte character\n" msgstr "carattere multibyte incompleto\n" @@ -722,12 +725,6 @@ msgid "message type 0x%02x arrived from server while idle" msgstr "messaggio tipo 0x%02x arrivato dal server mentre era inattivo" -#: fe-protocol2.c:503 fe-protocol2.c:538 fe-protocol2.c:1049 fe-protocol3.c:209 -#: fe-protocol3.c:236 fe-protocol3.c:253 fe-protocol3.c:333 fe-protocol3.c:728 -#: fe-protocol3.c:951 -msgid "out of memory" -msgstr "memoria esaurita" - #: fe-protocol2.c:529 #, c-format msgid "unexpected character %c following empty query response (\"I\" message)" @@ -752,11 +749,6 @@ msgid "out of memory for query result" msgstr "memoria esaurita per il risultato della query" -#: fe-protocol2.c:1395 fe-protocol3.c:1886 -#, c-format -msgid "%s" -msgstr "%s" - #: fe-protocol2.c:1407 #, c-format msgid "lost synchronization with server, resetting connection" diff -Nru postgresql-9.6-9.6.5/src/interfaces/libpq/po/ru.po postgresql-9.6-9.6.6/src/interfaces/libpq/po/ru.po --- postgresql-9.6-9.6.5/src/interfaces/libpq/po/ru.po 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/interfaces/libpq/po/ru.po 2017-11-06 22:08:55.000000000 +0000 @@ -10,8 +10,9 @@ msgstr "" "Project-Id-Version: libpq (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n" -"POT-Creation-Date: 2017-08-17 17:47+0000\n" -"PO-Revision-Date: 2017-08-20 13:57+0300\n" +"POT-Creation-Date: 2017-09-27 06:18+0000\n" +"PO-Revision-Date: 2017-09-21 12:00+0300\n" +"Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" @@ -19,7 +20,6 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"Last-Translator: Alexander Lakhin \n" #: fe-auth.c:148 msgid "GSSAPI continuation error" @@ -38,8 +38,8 @@ #: fe-connect.c:2141 fe-connect.c:3499 fe-connect.c:3751 fe-connect.c:3870 #: fe-connect.c:4110 fe-connect.c:4190 fe-connect.c:4289 fe-connect.c:4545 #: fe-connect.c:4574 fe-connect.c:4646 fe-connect.c:4670 fe-connect.c:4688 -#: fe-connect.c:4784 fe-connect.c:5118 fe-connect.c:5268 fe-exec.c:2651 -#: fe-exec.c:3398 fe-exec.c:3563 fe-lobj.c:896 fe-protocol2.c:1206 +#: fe-connect.c:4784 fe-connect.c:5118 fe-connect.c:5268 fe-exec.c:2702 +#: fe-exec.c:3449 fe-exec.c:3614 fe-lobj.c:896 fe-protocol2.c:1206 #: fe-protocol3.c:992 fe-protocol3.c:1678 fe-secure-openssl.c:515 #: fe-secure-openssl.c:1139 msgid "out of memory\n" @@ -455,102 +455,121 @@ msgid "password retrieved from file \"%s\"\n" msgstr "пароль получен из файла \"%s\"\n" -#: fe-exec.c:826 +#: fe-exec.c:437 fe-exec.c:2776 +#, c-format +msgid "row number %d is out of range 0..%d" +msgstr "номер записи %d вне диапазона 0..%d" + +#: fe-exec.c:498 fe-protocol2.c:503 fe-protocol2.c:538 fe-protocol2.c:1049 +#: fe-protocol3.c:209 fe-protocol3.c:236 fe-protocol3.c:253 fe-protocol3.c:333 +#: fe-protocol3.c:728 fe-protocol3.c:951 +msgid "out of memory" +msgstr "нехватка памяти" + +#: fe-exec.c:499 fe-protocol2.c:1395 fe-protocol3.c:1886 +#, c-format +msgid "%s" +msgstr "%s" + +#: fe-exec.c:847 msgid "NOTICE" msgstr "ЗАМЕЧАНИЕ" -#: fe-exec.c:1141 fe-exec.c:1199 fe-exec.c:1245 +#: fe-exec.c:905 +msgid "PGresult cannot support more than INT_MAX tuples" +msgstr "PGresult не может вместить больше чем INT_MAX кортежей" + +#: fe-exec.c:917 +msgid "size_t overflow" +msgstr "переполнение size_t" + +#: fe-exec.c:1192 fe-exec.c:1250 fe-exec.c:1296 msgid "command string is a null pointer\n" msgstr "указатель на командную строку нулевой\n" -#: fe-exec.c:1205 fe-exec.c:1251 fe-exec.c:1346 +#: fe-exec.c:1256 fe-exec.c:1302 fe-exec.c:1397 msgid "number of parameters must be between 0 and 65535\n" msgstr "число параметров должно быть от 0 до 65535\n" -#: fe-exec.c:1239 fe-exec.c:1340 +#: fe-exec.c:1290 fe-exec.c:1391 msgid "statement name is a null pointer\n" msgstr "указатель на имя оператора нулевой\n" -#: fe-exec.c:1259 fe-exec.c:1422 fe-exec.c:2140 fe-exec.c:2339 +#: fe-exec.c:1310 fe-exec.c:1473 fe-exec.c:2191 fe-exec.c:2390 msgid "function requires at least protocol version 3.0\n" msgstr "функция требует протокол минимум версии 3.0\n" -#: fe-exec.c:1377 +#: fe-exec.c:1428 msgid "no connection to the server\n" msgstr "нет соединения с сервером\n" -#: fe-exec.c:1384 +#: fe-exec.c:1435 msgid "another command is already in progress\n" msgstr "уже выполняется другая команда\n" -#: fe-exec.c:1498 +#: fe-exec.c:1549 msgid "length must be given for binary parameter\n" msgstr "для двоичного параметра должна быть указана длина\n" -#: fe-exec.c:1770 +#: fe-exec.c:1821 #, c-format msgid "unexpected asyncStatus: %d\n" msgstr "неожиданный asyncStatus: %d\n" -#: fe-exec.c:1790 +#: fe-exec.c:1841 #, c-format msgid "PGEventProc \"%s\" failed during PGEVT_RESULTCREATE event\n" msgstr "ошибка в PGEventProc \"%s\" при обработке события PGEVT_RESULTCREATE\n" -#: fe-exec.c:1950 +#: fe-exec.c:2001 msgid "COPY terminated by new PQexec" msgstr "операция COPY прервана вызовом PQexec" -#: fe-exec.c:1958 +#: fe-exec.c:2009 msgid "COPY IN state must be terminated first\n" msgstr "сначала должно завершиться состояние COPY IN\n" -#: fe-exec.c:1978 +#: fe-exec.c:2029 msgid "COPY OUT state must be terminated first\n" msgstr "сначала должно завершиться состояние COPY OUT\n" -#: fe-exec.c:1986 +#: fe-exec.c:2037 msgid "PQexec not allowed during COPY BOTH\n" msgstr "вызов PQexec не допускается в процессе COPY BOTH\n" -#: fe-exec.c:2229 fe-exec.c:2296 fe-exec.c:2386 fe-protocol2.c:1352 +#: fe-exec.c:2280 fe-exec.c:2347 fe-exec.c:2437 fe-protocol2.c:1352 #: fe-protocol3.c:1817 msgid "no COPY in progress\n" msgstr "операция COPY не выполняется\n" -#: fe-exec.c:2576 +#: fe-exec.c:2627 msgid "connection in wrong state\n" msgstr "соединение в неправильном состоянии\n" -#: fe-exec.c:2607 +#: fe-exec.c:2658 msgid "invalid ExecStatusType code" msgstr "неверный код ExecStatusType" -#: fe-exec.c:2634 +#: fe-exec.c:2685 msgid "PGresult is not an error result\n" msgstr "В PGresult не передан результат ошибки\n" -#: fe-exec.c:2709 fe-exec.c:2732 +#: fe-exec.c:2760 fe-exec.c:2783 #, c-format msgid "column number %d is out of range 0..%d" msgstr "номер столбца %d вне диапазона 0..%d" -#: fe-exec.c:2725 -#, c-format -msgid "row number %d is out of range 0..%d" -msgstr "номер записи %d вне диапазона 0..%d" - -#: fe-exec.c:2747 +#: fe-exec.c:2798 #, c-format msgid "parameter number %d is out of range 0..%d" msgstr "номер параметра %d вне диапазона 0..%d" -#: fe-exec.c:3057 +#: fe-exec.c:3108 #, c-format msgid "could not interpret result from server: %s" msgstr "не удалось интерпретировать ответ сервера: %s" -#: fe-exec.c:3296 fe-exec.c:3380 +#: fe-exec.c:3347 fe-exec.c:3431 msgid "incomplete multibyte character\n" msgstr "неполный многобайтный символ\n" @@ -690,12 +709,6 @@ msgid "message type 0x%02x arrived from server while idle" msgstr "от сервера во время простоя получено сообщение типа 0x%02x" -#: fe-protocol2.c:503 fe-protocol2.c:538 fe-protocol2.c:1049 fe-protocol3.c:209 -#: fe-protocol3.c:236 fe-protocol3.c:253 fe-protocol3.c:333 fe-protocol3.c:728 -#: fe-protocol3.c:951 -msgid "out of memory" -msgstr "нехватка памяти" - #: fe-protocol2.c:529 #, c-format msgid "unexpected character %c following empty query response (\"I\" message)" @@ -728,11 +741,6 @@ msgid "out of memory for query result" msgstr "недостаточно памяти для результата запроса" -#: fe-protocol2.c:1395 fe-protocol3.c:1886 -#, c-format -msgid "%s" -msgstr "%s" - #: fe-protocol2.c:1407 #, c-format msgid "lost synchronization with server, resetting connection" diff -Nru postgresql-9.6-9.6.5/src/port/win32ver.rc postgresql-9.6-9.6.6/src/port/win32ver.rc --- postgresql-9.6-9.6.5/src/port/win32ver.rc 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/port/win32ver.rc 2017-11-06 22:08:55.000000000 +0000 @@ -2,8 +2,8 @@ #include "pg_config.h" VS_VERSION_INFO VERSIONINFO - FILEVERSION 9,6,5,0 - PRODUCTVERSION 9,6,5,0 + FILEVERSION 9,6,6,0 + PRODUCTVERSION 9,6,6,0 FILEFLAGSMASK 0x17L FILEFLAGS 0x0L FILEOS VOS_NT_WINDOWS32 diff -Nru postgresql-9.6-9.6.5/src/test/isolation/expected/freeze-the-dead.out postgresql-9.6-9.6.6/src/test/isolation/expected/freeze-the-dead.out --- postgresql-9.6-9.6.5/src/test/isolation/expected/freeze-the-dead.out 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/isolation/expected/freeze-the-dead.out 2017-11-06 22:08:55.000000000 +0000 @@ -0,0 +1,101 @@ +Parsed test spec with 2 sessions + +starting permutation: s1_update s1_commit s1_vacuum s2_key_share s2_commit +step s1_update: UPDATE tab_freeze SET x = x + 1 WHERE id = 3; +step s1_commit: COMMIT; +step s1_vacuum: VACUUM FREEZE tab_freeze; +step s2_key_share: SELECT id FROM tab_freeze WHERE id = 3 FOR KEY SHARE; +id + +3 +step s2_commit: COMMIT; + +starting permutation: s1_update s1_commit s2_key_share s1_vacuum s2_commit +step s1_update: UPDATE tab_freeze SET x = x + 1 WHERE id = 3; +step s1_commit: COMMIT; +step s2_key_share: SELECT id FROM tab_freeze WHERE id = 3 FOR KEY SHARE; +id + +3 +step s1_vacuum: VACUUM FREEZE tab_freeze; +step s2_commit: COMMIT; + +starting permutation: s1_update s1_commit s2_key_share s2_commit s1_vacuum +step s1_update: UPDATE tab_freeze SET x = x + 1 WHERE id = 3; +step s1_commit: COMMIT; +step s2_key_share: SELECT id FROM tab_freeze WHERE id = 3 FOR KEY SHARE; +id + +3 +step s2_commit: COMMIT; +step s1_vacuum: VACUUM FREEZE tab_freeze; + +starting permutation: s1_update s2_key_share s1_commit s1_vacuum s2_commit +step s1_update: UPDATE tab_freeze SET x = x + 1 WHERE id = 3; +step s2_key_share: SELECT id FROM tab_freeze WHERE id = 3 FOR KEY SHARE; +id + +3 +step s1_commit: COMMIT; +step s1_vacuum: VACUUM FREEZE tab_freeze; +step s2_commit: COMMIT; + +starting permutation: s1_update s2_key_share s1_commit s2_commit s1_vacuum +step s1_update: UPDATE tab_freeze SET x = x + 1 WHERE id = 3; +step s2_key_share: SELECT id FROM tab_freeze WHERE id = 3 FOR KEY SHARE; +id + +3 +step s1_commit: COMMIT; +step s2_commit: COMMIT; +step s1_vacuum: VACUUM FREEZE tab_freeze; + +starting permutation: s1_update s2_key_share s2_commit s1_commit s1_vacuum +step s1_update: UPDATE tab_freeze SET x = x + 1 WHERE id = 3; +step s2_key_share: SELECT id FROM tab_freeze WHERE id = 3 FOR KEY SHARE; +id + +3 +step s2_commit: COMMIT; +step s1_commit: COMMIT; +step s1_vacuum: VACUUM FREEZE tab_freeze; + +starting permutation: s2_key_share s1_update s1_commit s1_vacuum s2_commit +step s2_key_share: SELECT id FROM tab_freeze WHERE id = 3 FOR KEY SHARE; +id + +3 +step s1_update: UPDATE tab_freeze SET x = x + 1 WHERE id = 3; +step s1_commit: COMMIT; +step s1_vacuum: VACUUM FREEZE tab_freeze; +step s2_commit: COMMIT; + +starting permutation: s2_key_share s1_update s1_commit s2_commit s1_vacuum +step s2_key_share: SELECT id FROM tab_freeze WHERE id = 3 FOR KEY SHARE; +id + +3 +step s1_update: UPDATE tab_freeze SET x = x + 1 WHERE id = 3; +step s1_commit: COMMIT; +step s2_commit: COMMIT; +step s1_vacuum: VACUUM FREEZE tab_freeze; + +starting permutation: s2_key_share s1_update s2_commit s1_commit s1_vacuum +step s2_key_share: SELECT id FROM tab_freeze WHERE id = 3 FOR KEY SHARE; +id + +3 +step s1_update: UPDATE tab_freeze SET x = x + 1 WHERE id = 3; +step s2_commit: COMMIT; +step s1_commit: COMMIT; +step s1_vacuum: VACUUM FREEZE tab_freeze; + +starting permutation: s2_key_share s2_commit s1_update s1_commit s1_vacuum +step s2_key_share: SELECT id FROM tab_freeze WHERE id = 3 FOR KEY SHARE; +id + +3 +step s2_commit: COMMIT; +step s1_update: UPDATE tab_freeze SET x = x + 1 WHERE id = 3; +step s1_commit: COMMIT; +step s1_vacuum: VACUUM FREEZE tab_freeze; diff -Nru postgresql-9.6-9.6.5/src/test/isolation/specs/freeze-the-dead.spec postgresql-9.6-9.6.6/src/test/isolation/specs/freeze-the-dead.spec --- postgresql-9.6-9.6.5/src/test/isolation/specs/freeze-the-dead.spec 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/isolation/specs/freeze-the-dead.spec 2017-11-06 22:08:55.000000000 +0000 @@ -0,0 +1,27 @@ +# Test for interactions of tuple freezing with dead, as well as recently-dead +# tuples using multixacts via FOR KEY SHARE. +setup +{ + CREATE TABLE tab_freeze ( + id int PRIMARY KEY, + name char(3), + x int); + INSERT INTO tab_freeze VALUES (1, '111', 0); + INSERT INTO tab_freeze VALUES (3, '333', 0); +} + +teardown +{ + DROP TABLE tab_freeze; +} + +session "s1" +setup { BEGIN; } +step "s1_update" { UPDATE tab_freeze SET x = x + 1 WHERE id = 3; } +step "s1_commit" { COMMIT; } +step "s1_vacuum" { VACUUM FREEZE tab_freeze; } + +session "s2" +setup { BEGIN; } +step "s2_key_share" { SELECT id FROM tab_freeze WHERE id = 3 FOR KEY SHARE; } +step "s2_commit" { COMMIT; } diff -Nru postgresql-9.6-9.6.5/src/test/locale/Makefile postgresql-9.6-9.6.6/src/test/locale/Makefile --- postgresql-9.6-9.6.5/src/test/locale/Makefile 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/locale/Makefile 2017-11-06 22:08:55.000000000 +0000 @@ -16,5 +16,6 @@ $(MAKE) -C $$d clean || exit; \ done +# These behave like installcheck targets. check-%: all @$(MAKE) -C `echo $@ | sed 's/^check-//'` test diff -Nru postgresql-9.6-9.6.5/src/test/modules/brin/Makefile postgresql-9.6-9.6.6/src/test/modules/brin/Makefile --- postgresql-9.6-9.6.5/src/test/modules/brin/Makefile 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/modules/brin/Makefile 2017-11-06 22:08:55.000000000 +0000 @@ -18,7 +18,7 @@ check: isolation-check -isolation-check: | submake-isolation +isolation-check: | submake-isolation temp-install $(MKDIR_P) isolation_output $(pg_isolation_regress_check) \ --outputdir=./isolation_output \ diff -Nru postgresql-9.6-9.6.5/src/test/modules/commit_ts/Makefile postgresql-9.6-9.6.6/src/test/modules/commit_ts/Makefile --- postgresql-9.6-9.6.5/src/test/modules/commit_ts/Makefile 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/modules/commit_ts/Makefile 2017-11-06 22:08:55.000000000 +0000 @@ -16,5 +16,5 @@ check: prove-check -prove-check: +prove-check: | temp-install $(prove_check) diff -Nru postgresql-9.6-9.6.5/src/test/modules/test_pg_dump/Makefile postgresql-9.6-9.6.6/src/test/modules/test_pg_dump/Makefile --- postgresql-9.6-9.6.5/src/test/modules/test_pg_dump/Makefile 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/modules/test_pg_dump/Makefile 2017-11-06 22:08:55.000000000 +0000 @@ -21,5 +21,5 @@ check: prove-check -prove-check: +prove-check: | temp-install $(prove_check) diff -Nru postgresql-9.6-9.6.5/src/test/perl/RecursiveCopy.pm postgresql-9.6-9.6.6/src/test/perl/RecursiveCopy.pm --- postgresql-9.6-9.6.5/src/test/perl/RecursiveCopy.pm 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/perl/RecursiveCopy.pm 2017-11-06 22:08:55.000000000 +0000 @@ -29,12 +29,17 @@ =head2 copypath($from, $to, %params) Recursively copy all files and directories from $from to $to. +Does not preserve file metadata (e.g., permissions). Only regular files and subdirectories are copied. Trying to copy other types of directory entries raises an exception. Raises an exception if a file would be overwritten, the source directory can't -be read, or any I/O operation fails. Always returns true. +be read, or any I/O operation fails. However, we silently ignore ENOENT on +open, because when copying from a live database it's possible for a file/dir +to be deleted after we see its directory entry but before we can open it. + +Always returns true. If the B parameter is given, it must be a subroutine reference. This subroutine will be called for each entry in the source directory with its @@ -74,6 +79,9 @@ $filterfn = sub { return 1; }; } + # Complain if original path is bogus, because _copypath_recurse won't. + die "\"$base_src_dir\" does not exist" if !-e $base_src_dir; + # Start recursive copy from current directory return _copypath_recurse($base_src_dir, $base_dest_dir, "", $filterfn); } @@ -89,12 +97,8 @@ return 1 unless &$filterfn($curr_path); # Check for symlink -- needed only on source dir - die "Cannot operate on symlinks" if -l $srcpath; - - # Can't handle symlinks or other weird things - die "Source path \"$srcpath\" is not a regular file or directory" - unless -f $srcpath - or -d $srcpath; + # (note: this will fall through quietly if file is already gone) + die "Cannot operate on symlink \"$srcpath\"" if -l $srcpath; # Abort if destination path already exists. Should we allow directories # to exist already? @@ -104,25 +108,47 @@ # same name and we're done. if (-f $srcpath) { - copy($srcpath, $destpath) + my $fh; + unless (open($fh, '<', $srcpath)) + { + return 1 if ($!{ENOENT}); + die "open($srcpath) failed: $!"; + } + copy($fh, $destpath) or die "copy $srcpath -> $destpath failed: $!"; + close $fh; return 1; } - # Otherwise this is directory: create it on dest and recurse onto it. - mkdir($destpath) or die "mkdir($destpath) failed: $!"; - - opendir(my $directory, $srcpath) or die "could not opendir($srcpath): $!"; - while (my $entry = readdir($directory)) + # If it's a directory, create it on dest and recurse into it. + if (-d $srcpath) { - next if ($entry eq '.' or $entry eq '..'); - _copypath_recurse($base_src_dir, $base_dest_dir, - $curr_path eq '' ? $entry : "$curr_path/$entry", $filterfn) - or die "copypath $srcpath/$entry -> $destpath/$entry failed"; + my $directory; + unless (opendir($directory, $srcpath)) + { + return 1 if ($!{ENOENT}); + die "opendir($srcpath) failed: $!"; + } + + mkdir($destpath) or die "mkdir($destpath) failed: $!"; + + while (my $entry = readdir($directory)) + { + next if ($entry eq '.' or $entry eq '..'); + _copypath_recurse($base_src_dir, $base_dest_dir, + $curr_path eq '' ? $entry : "$curr_path/$entry", $filterfn) + or die "copypath $srcpath/$entry -> $destpath/$entry failed"; + } + + closedir($directory); + return 1; } - closedir($directory); - return 1; + # If it disappeared from sight, that's OK. + return 1 if !-e $srcpath; + + # Else it's some weird file type; complain. + die "Source path \"$srcpath\" is not a regular file or directory"; } 1; diff -Nru postgresql-9.6-9.6.5/src/test/regress/expected/aggregates.out postgresql-9.6-9.6.6/src/test/regress/expected/aggregates.out --- postgresql-9.6-9.6.5/src/test/regress/expected/aggregates.out 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/regress/expected/aggregates.out 2017-11-06 22:08:55.000000000 +0000 @@ -1857,6 +1857,25 @@ 2 | 6 (1 row) +-- ideally these would share state, but we have to fix the OSAs first. +select + percentile_cont(0.5) within group (order by a), + percentile_disc(0.5) within group (order by a) +from (values(1::float8),(3),(5),(7)) t(a); + percentile_cont | percentile_disc +-----------------+----------------- + 4 | 3 +(1 row) + +select + rank(4) within group (order by a), + dense_rank(4) within group (order by a) +from (values(1),(3),(5),(7)) t(a); + rank | dense_rank +------+------------ + 3 | 3 +(1 row) + -- test that aggs with the same sfunc and initcond share the same agg state create aggregate my_sum_init(int4) ( diff -Nru postgresql-9.6-9.6.5/src/test/regress/expected/alter_table.out postgresql-9.6-9.6.6/src/test/regress/expected/alter_table.out --- postgresql-9.6-9.6.5/src/test/regress/expected/alter_table.out 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/regress/expected/alter_table.out 2017-11-06 22:08:55.000000000 +0000 @@ -2156,6 +2156,91 @@ "check_fk_presence_2_id_fkey" FOREIGN KEY (id) REFERENCES check_fk_presence_1(id) DROP TABLE check_fk_presence_1, check_fk_presence_2; +-- check column addition within a view (bug #14876) +create table at_base_table(id int, stuff text); +insert into at_base_table values (23, 'skidoo'); +create view at_view_1 as select * from at_base_table bt; +create view at_view_2 as select *, to_json(v1) as j from at_view_1 v1; +\d+ at_view_1 + View "public.at_view_1" + Column | Type | Modifiers | Storage | Description +--------+---------+-----------+----------+------------- + id | integer | | plain | + stuff | text | | extended | +View definition: + SELECT bt.id, + bt.stuff + FROM at_base_table bt; + +\d+ at_view_2 + View "public.at_view_2" + Column | Type | Modifiers | Storage | Description +--------+---------+-----------+----------+------------- + id | integer | | plain | + stuff | text | | extended | + j | json | | extended | +View definition: + SELECT v1.id, + v1.stuff, + to_json(v1.*) AS j + FROM at_view_1 v1; + +explain (verbose, costs off) select * from at_view_2; + QUERY PLAN +---------------------------------------------------------- + Seq Scan on public.at_base_table bt + Output: bt.id, bt.stuff, to_json(ROW(bt.id, bt.stuff)) +(2 rows) + +select * from at_view_2; + id | stuff | j +----+--------+---------------------------- + 23 | skidoo | {"id":23,"stuff":"skidoo"} +(1 row) + +create or replace view at_view_1 as select *, 2+2 as more from at_base_table bt; +\d+ at_view_1 + View "public.at_view_1" + Column | Type | Modifiers | Storage | Description +--------+---------+-----------+----------+------------- + id | integer | | plain | + stuff | text | | extended | + more | integer | | plain | +View definition: + SELECT bt.id, + bt.stuff, + 2 + 2 AS more + FROM at_base_table bt; + +\d+ at_view_2 + View "public.at_view_2" + Column | Type | Modifiers | Storage | Description +--------+---------+-----------+----------+------------- + id | integer | | plain | + stuff | text | | extended | + j | json | | extended | +View definition: + SELECT v1.id, + v1.stuff, + to_json(v1.*) AS j + FROM at_view_1 v1; + +explain (verbose, costs off) select * from at_view_2; + QUERY PLAN +---------------------------------------------------------------- + Seq Scan on public.at_base_table bt + Output: bt.id, bt.stuff, to_json(ROW(bt.id, bt.stuff, NULL)) +(2 rows) + +select * from at_view_2; + id | stuff | j +----+--------+---------------------------------------- + 23 | skidoo | {"id":23,"stuff":"skidoo","more":null} +(1 row) + +drop view at_view_2; +drop view at_view_1; +drop table at_base_table; -- -- lock levels -- @@ -2682,6 +2767,23 @@ Inherits: test_tbl2 DROP TABLE test_tbl2_subclass; +CREATE TYPE test_typex AS (a int, b text); +CREATE TABLE test_tblx (x int, y test_typex check ((y).a > 0)); +ALTER TYPE test_typex DROP ATTRIBUTE a; -- fails +ERROR: cannot drop composite type test_typex column a because other objects depend on it +DETAIL: constraint test_tblx_y_check on table test_tblx depends on composite type test_typex column a +HINT: Use DROP ... CASCADE to drop the dependent objects too. +ALTER TYPE test_typex DROP ATTRIBUTE a CASCADE; +NOTICE: drop cascades to constraint test_tblx_y_check on table test_tblx +\d test_tblx + Table "public.test_tblx" + Column | Type | Modifiers +--------+------------+----------- + x | integer | + y | test_typex | + +DROP TABLE test_tblx; +DROP TYPE test_typex; -- This test isn't that interesting on its own, but the purpose is to leave -- behind a table to test pg_upgrade with. The table has a composite type -- column in it, and the composite type has a dropped attribute. diff -Nru postgresql-9.6-9.6.5/src/test/regress/expected/groupingsets.out postgresql-9.6-9.6.6/src/test/regress/expected/groupingsets.out --- postgresql-9.6-9.6.5/src/test/regress/expected/groupingsets.out 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/regress/expected/groupingsets.out 2017-11-06 22:08:55.000000000 +0000 @@ -352,6 +352,35 @@ 2 | 2 | 2 (4 rows) +-- check that distinct grouping columns are kept separate +-- even if they are equal() +explain (costs off) +select g as alias1, g as alias2 + from generate_series(1,3) g + group by alias1, rollup(alias2); + QUERY PLAN +------------------------------------------------ + GroupAggregate + Group Key: g, g + Group Key: g + -> Sort + Sort Key: g + -> Function Scan on generate_series g +(6 rows) + +select g as alias1, g as alias2 + from generate_series(1,3) g + group by alias1, rollup(alias2); + alias1 | alias2 +--------+-------- + 1 | 1 + 1 | + 2 | 2 + 2 | + 3 | 3 + 3 | +(6 rows) + -- simple rescan tests select a, b, sum(v.x) from (values (1),(2)) v(x), gstest_data(v.x) diff -Nru postgresql-9.6-9.6.5/src/test/regress/expected/jsonb.out postgresql-9.6-9.6.6/src/test/regress/expected/jsonb.out --- postgresql-9.6-9.6.5/src/test/regress/expected/jsonb.out 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/regress/expected/jsonb.out 2017-11-06 22:08:55.000000000 +0000 @@ -1336,6 +1336,54 @@ ["a", 1, "b", 1.2, "c", true, "d", null, "e", {"x": 3, "y": [1, 2, 3]}] (1 row) +SELECT jsonb_build_array('a', NULL); -- ok + jsonb_build_array +------------------- + ["a", null] +(1 row) + +SELECT jsonb_build_array(VARIADIC NULL::text[]); -- ok + jsonb_build_array +------------------- + +(1 row) + +SELECT jsonb_build_array(VARIADIC '{}'::text[]); -- ok + jsonb_build_array +------------------- + [] +(1 row) + +SELECT jsonb_build_array(VARIADIC '{a,b,c}'::text[]); -- ok + jsonb_build_array +------------------- + ["a", "b", "c"] +(1 row) + +SELECT jsonb_build_array(VARIADIC ARRAY['a', NULL]::text[]); -- ok + jsonb_build_array +------------------- + ["a", null] +(1 row) + +SELECT jsonb_build_array(VARIADIC '{1,2,3,4}'::text[]); -- ok + jsonb_build_array +---------------------- + ["1", "2", "3", "4"] +(1 row) + +SELECT jsonb_build_array(VARIADIC '{1,2,3,4}'::int[]); -- ok + jsonb_build_array +------------------- + [1, 2, 3, 4] +(1 row) + +SELECT jsonb_build_array(VARIADIC '{{1,4},{2,5},{3,6}}'::int[][]); -- ok + jsonb_build_array +-------------------- + [1, 4, 2, 5, 3, 6] +(1 row) + SELECT jsonb_build_object('a',1,'b',1.2,'c',true,'d',null,'e',json '{"x": 3, "y": [1,2,3]}'); jsonb_build_object ------------------------------------------------------------------------- @@ -1351,6 +1399,63 @@ {"a": {"b": false, "c": 99}, "d": {"e": [9, 8, 7], "f": {"name": "pg_class", "relkind": "r"}}} (1 row) +SELECT jsonb_build_object('{a,b,c}'::text[]); -- error +ERROR: argument list must have even number of elements +HINT: The arguments of jsonb_build_object() must consist of alternating keys and values. +SELECT jsonb_build_object('{a,b,c}'::text[], '{d,e,f}'::text[]); -- error, key cannot be array +ERROR: key value must be scalar, not array, composite, or json +SELECT jsonb_build_object('a', 'b', 'c'); -- error +ERROR: argument list must have even number of elements +HINT: The arguments of jsonb_build_object() must consist of alternating keys and values. +SELECT jsonb_build_object(NULL, 'a'); -- error, key cannot be NULL +ERROR: argument 1: key must not be null +SELECT jsonb_build_object('a', NULL); -- ok + jsonb_build_object +-------------------- + {"a": null} +(1 row) + +SELECT jsonb_build_object(VARIADIC NULL::text[]); -- ok + jsonb_build_object +-------------------- + +(1 row) + +SELECT jsonb_build_object(VARIADIC '{}'::text[]); -- ok + jsonb_build_object +-------------------- + {} +(1 row) + +SELECT jsonb_build_object(VARIADIC '{a,b,c}'::text[]); -- error +ERROR: argument list must have even number of elements +HINT: The arguments of jsonb_build_object() must consist of alternating keys and values. +SELECT jsonb_build_object(VARIADIC ARRAY['a', NULL]::text[]); -- ok + jsonb_build_object +-------------------- + {"a": null} +(1 row) + +SELECT jsonb_build_object(VARIADIC ARRAY[NULL, 'a']::text[]); -- error, key cannot be NULL +ERROR: argument 1: key must not be null +SELECT jsonb_build_object(VARIADIC '{1,2,3,4}'::text[]); -- ok + jsonb_build_object +---------------------- + {"1": "2", "3": "4"} +(1 row) + +SELECT jsonb_build_object(VARIADIC '{1,2,3,4}'::int[]); -- ok + jsonb_build_object +-------------------- + {"1": 2, "3": 4} +(1 row) + +SELECT jsonb_build_object(VARIADIC '{{1,4},{2,5},{3,6}}'::int[][]); -- ok + jsonb_build_object +-------------------------- + {"1": 4, "2": 5, "3": 6} +(1 row) + -- empty objects/arrays SELECT jsonb_build_array(); jsonb_build_array @@ -1985,6 +2090,19 @@ {"z": true} | 3 | Fri Jan 20 10:42:53 2012 (2 rows) +-- negative cases where the wrong record type is supplied +select * from jsonb_populate_recordset(row(0::int),'[{"a":"1","b":"2"},{"a":"3"}]') q (a text, b text); +ERROR: function return row and query-specified return row do not match +DETAIL: Returned row contains 1 attribute, but query expects 2. +select * from jsonb_populate_recordset(row(0::int,0::int),'[{"a":"1","b":"2"},{"a":"3"}]') q (a text, b text); +ERROR: function return row and query-specified return row do not match +DETAIL: Returned type integer at ordinal position 1, but query expects text. +select * from jsonb_populate_recordset(row(0::int,0::int,0::int),'[{"a":"1","b":"2"},{"a":"3"}]') q (a text, b text); +ERROR: function return row and query-specified return row do not match +DETAIL: Returned row contains 3 attributes, but query expects 2. +select * from jsonb_populate_recordset(row(1000000000::int,50::int),'[{"b":"2"},{"a":"3"}]') q (a text, b text); +ERROR: function return row and query-specified return row do not match +DETAIL: Returned type integer at ordinal position 1, but query expects text. -- jsonb_to_record and jsonb_to_recordset select * from jsonb_to_record('{"a":1,"b":"foo","c":"bar"}') as x(a int, b text, d text); diff -Nru postgresql-9.6-9.6.5/src/test/regress/expected/json.out postgresql-9.6-9.6.6/src/test/regress/expected/json.out --- postgresql-9.6-9.6.5/src/test/regress/expected/json.out 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/regress/expected/json.out 2017-11-06 22:08:55.000000000 +0000 @@ -1408,6 +1408,19 @@ {"z":true} | 3 | Fri Jan 20 10:42:53 2012 (2 rows) +-- negative cases where the wrong record type is supplied +select * from json_populate_recordset(row(0::int),'[{"a":"1","b":"2"},{"a":"3"}]') q (a text, b text); +ERROR: function return row and query-specified return row do not match +DETAIL: Returned row contains 1 attribute, but query expects 2. +select * from json_populate_recordset(row(0::int,0::int),'[{"a":"1","b":"2"},{"a":"3"}]') q (a text, b text); +ERROR: function return row and query-specified return row do not match +DETAIL: Returned type integer at ordinal position 1, but query expects text. +select * from json_populate_recordset(row(0::int,0::int,0::int),'[{"a":"1","b":"2"},{"a":"3"}]') q (a text, b text); +ERROR: function return row and query-specified return row do not match +DETAIL: Returned row contains 3 attributes, but query expects 2. +select * from json_populate_recordset(row(1000000000::int,50::int),'[{"b":"2"},{"a":"3"}]') q (a text, b text); +ERROR: function return row and query-specified return row do not match +DETAIL: Returned type integer at ordinal position 1, but query expects text. --json_typeof() function select value, json_typeof(value) from (values (json '123.4'), @@ -1444,6 +1457,54 @@ ["a", 1, "b", 1.2, "c", true, "d", null, "e", {"x": 3, "y": [1,2,3]}] (1 row) +SELECT json_build_array('a', NULL); -- ok + json_build_array +------------------ + ["a", null] +(1 row) + +SELECT json_build_array(VARIADIC NULL::text[]); -- ok + json_build_array +------------------ + +(1 row) + +SELECT json_build_array(VARIADIC '{}'::text[]); -- ok + json_build_array +------------------ + [] +(1 row) + +SELECT json_build_array(VARIADIC '{a,b,c}'::text[]); -- ok + json_build_array +------------------ + ["a", "b", "c"] +(1 row) + +SELECT json_build_array(VARIADIC ARRAY['a', NULL]::text[]); -- ok + json_build_array +------------------ + ["a", null] +(1 row) + +SELECT json_build_array(VARIADIC '{1,2,3,4}'::text[]); -- ok + json_build_array +---------------------- + ["1", "2", "3", "4"] +(1 row) + +SELECT json_build_array(VARIADIC '{1,2,3,4}'::int[]); -- ok + json_build_array +------------------ + [1, 2, 3, 4] +(1 row) + +SELECT json_build_array(VARIADIC '{{1,4},{2,5},{3,6}}'::int[][]); -- ok + json_build_array +-------------------- + [1, 4, 2, 5, 3, 6] +(1 row) + SELECT json_build_object('a',1,'b',1.2,'c',true,'d',null,'e',json '{"x": 3, "y": [1,2,3]}'); json_build_object ---------------------------------------------------------------------------- @@ -1459,6 +1520,65 @@ {"a" : {"b" : false, "c" : 99}, "d" : {"e" : [9,8,7], "f" : {"relkind":"r","name":"pg_class"}}} (1 row) +SELECT json_build_object('{a,b,c}'::text[]); -- error +ERROR: argument list must have even number of elements +HINT: The arguments of json_build_object() must consist of alternating keys and values. +SELECT json_build_object('{a,b,c}'::text[], '{d,e,f}'::text[]); -- error, key cannot be array +ERROR: key value must be scalar, not array, composite, or json +SELECT json_build_object('a', 'b', 'c'); -- error +ERROR: argument list must have even number of elements +HINT: The arguments of json_build_object() must consist of alternating keys and values. +SELECT json_build_object(NULL, 'a'); -- error, key cannot be NULL +ERROR: argument 1 cannot be null +HINT: Object keys should be text. +SELECT json_build_object('a', NULL); -- ok + json_build_object +------------------- + {"a" : null} +(1 row) + +SELECT json_build_object(VARIADIC NULL::text[]); -- ok + json_build_object +------------------- + +(1 row) + +SELECT json_build_object(VARIADIC '{}'::text[]); -- ok + json_build_object +------------------- + {} +(1 row) + +SELECT json_build_object(VARIADIC '{a,b,c}'::text[]); -- error +ERROR: argument list must have even number of elements +HINT: The arguments of json_build_object() must consist of alternating keys and values. +SELECT json_build_object(VARIADIC ARRAY['a', NULL]::text[]); -- ok + json_build_object +------------------- + {"a" : null} +(1 row) + +SELECT json_build_object(VARIADIC ARRAY[NULL, 'a']::text[]); -- error, key cannot be NULL +ERROR: argument 1 cannot be null +HINT: Object keys should be text. +SELECT json_build_object(VARIADIC '{1,2,3,4}'::text[]); -- ok + json_build_object +------------------------ + {"1" : "2", "3" : "4"} +(1 row) + +SELECT json_build_object(VARIADIC '{1,2,3,4}'::int[]); -- ok + json_build_object +-------------------- + {"1" : 2, "3" : 4} +(1 row) + +SELECT json_build_object(VARIADIC '{{1,4},{2,5},{3,6}}'::int[][]); -- ok + json_build_object +----------------------------- + {"1" : 4, "2" : 5, "3" : 6} +(1 row) + -- empty objects/arrays SELECT json_build_array(); json_build_array diff -Nru postgresql-9.6-9.6.5/src/test/regress/expected/numeric.out postgresql-9.6-9.6.6/src/test/regress/expected/numeric.out --- postgresql-9.6-9.6.5/src/test/regress/expected/numeric.out 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/regress/expected/numeric.out 2017-11-06 22:08:55.000000000 +0000 @@ -708,6 +708,27 @@ (6 rows) DROP TABLE fract_only; +-- Check inf/nan conversion behavior +SELECT 'NaN'::float8::numeric; + numeric +--------- + NaN +(1 row) + +SELECT 'Infinity'::float8::numeric; +ERROR: cannot convert infinity to numeric +SELECT '-Infinity'::float8::numeric; +ERROR: cannot convert infinity to numeric +SELECT 'NaN'::float4::numeric; + numeric +--------- + NaN +(1 row) + +SELECT 'Infinity'::float4::numeric; +ERROR: cannot convert infinity to numeric +SELECT '-Infinity'::float4::numeric; +ERROR: cannot convert infinity to numeric -- Simple check that ceil(), floor(), and round() work correctly CREATE TABLE ceil_floor_round (a numeric); INSERT INTO ceil_floor_round VALUES ('-5.5'); diff -Nru postgresql-9.6-9.6.5/src/test/regress/expected/privileges.out postgresql-9.6-9.6.6/src/test/regress/expected/privileges.out --- postgresql-9.6-9.6.5/src/test/regress/expected/privileges.out 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/regress/expected/privileges.out 2017-11-06 22:08:55.000000000 +0000 @@ -488,10 +488,22 @@ INSERT INTO atest5(three) VALUES (4) ON CONFLICT (two) DO UPDATE set three = 10; -- fails (due to INSERT) ERROR: permission denied for relation atest5 -- Check that the columns in the inference require select privileges --- Error. No privs on four -INSERT INTO atest5(three) VALUES (4) ON CONFLICT (four) DO UPDATE set three = 10; +INSERT INTO atest5(four) VALUES (4); -- fail ERROR: permission denied for relation atest5 SET SESSION AUTHORIZATION regress_user1; +GRANT INSERT (four) ON atest5 TO regress_user4; +SET SESSION AUTHORIZATION regress_user4; +INSERT INTO atest5(four) VALUES (4) ON CONFLICT (four) DO UPDATE set three = 3; -- fails (due to SELECT) +ERROR: permission denied for relation atest5 +INSERT INTO atest5(four) VALUES (4) ON CONFLICT ON CONSTRAINT atest5_four_key DO UPDATE set three = 3; -- fails (due to SELECT) +ERROR: permission denied for relation atest5 +INSERT INTO atest5(four) VALUES (4); -- ok +SET SESSION AUTHORIZATION regress_user1; +GRANT SELECT (four) ON atest5 TO regress_user4; +SET SESSION AUTHORIZATION regress_user4; +INSERT INTO atest5(four) VALUES (4) ON CONFLICT (four) DO UPDATE set three = 3; -- ok +INSERT INTO atest5(four) VALUES (4) ON CONFLICT ON CONSTRAINT atest5_four_key DO UPDATE set three = 3; -- ok +SET SESSION AUTHORIZATION regress_user1; REVOKE ALL (one) ON atest5 FROM regress_user4; GRANT SELECT (one,two,blue) ON atest6 TO regress_user4; SET SESSION AUTHORIZATION regress_user4; diff -Nru postgresql-9.6-9.6.5/src/test/regress/expected/rangetypes.out postgresql-9.6-9.6.6/src/test/regress/expected/rangetypes.out --- postgresql-9.6-9.6.5/src/test/regress/expected/rangetypes.out 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/regress/expected/rangetypes.out 2017-11-06 22:08:55.000000000 +0000 @@ -1354,6 +1354,18 @@ drop type two_ints cascade; NOTICE: drop cascades to type two_ints_range -- +-- Check behavior when subtype lacks a hash function +-- +create type cashrange as range (subtype = money); +set enable_sort = off; -- try to make it pick a hash setop implementation +select '(2,5)'::cashrange except select '(5,6)'::cashrange; + cashrange +--------------- + ($2.00,$5.00) +(1 row) + +reset enable_sort; +-- -- OUT/INOUT/TABLE functions -- create function outparam_succeed(i anyrange, out r anyrange, out t text) diff -Nru postgresql-9.6-9.6.5/src/test/regress/expected/rowsecurity.out postgresql-9.6-9.6.6/src/test/regress/expected/rowsecurity.out --- postgresql-9.6-9.6.5/src/test/regress/expected/rowsecurity.out 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/regress/expected/rowsecurity.out 2017-11-06 22:08:55.000000000 +0000 @@ -3363,9 +3363,10 @@ -- SET SESSION AUTHORIZATION regress_rls_alice; SET row_security = on; -CREATE TABLE r1 (a int); +CREATE TABLE r1 (a int PRIMARY KEY); CREATE POLICY p1 ON r1 FOR SELECT USING (a < 20); CREATE POLICY p2 ON r1 FOR UPDATE USING (a < 20) WITH CHECK (true); +CREATE POLICY p3 ON r1 FOR INSERT WITH CHECK (true); INSERT INTO r1 VALUES (10); ALTER TABLE r1 ENABLE ROW LEVEL SECURITY; ALTER TABLE r1 FORCE ROW LEVEL SECURITY; @@ -3392,6 +3393,18 @@ -- Error UPDATE r1 SET a = 30 RETURNING *; ERROR: new row violates row-level security policy for table "r1" +-- UPDATE path of INSERT ... ON CONFLICT DO UPDATE should also error out +INSERT INTO r1 VALUES (10) + ON CONFLICT (a) DO UPDATE SET a = 30 RETURNING *; +ERROR: new row violates row-level security policy for table "r1" +-- Should still error out without RETURNING (use of arbiter always requires +-- SELECT permissions) +INSERT INTO r1 VALUES (10) + ON CONFLICT (a) DO UPDATE SET a = 30; +ERROR: new row violates row-level security policy for table "r1" +INSERT INTO r1 VALUES (10) + ON CONFLICT ON CONSTRAINT r1_pkey DO UPDATE SET a = 30; +ERROR: new row violates row-level security policy for table "r1" DROP TABLE r1; -- Check dependency handling RESET SESSION AUTHORIZATION; diff -Nru postgresql-9.6-9.6.5/src/test/regress/expected/select_parallel.out postgresql-9.6-9.6.6/src/test/regress/expected/select_parallel.out --- postgresql-9.6-9.6.5/src/test/regress/expected/select_parallel.out 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/regress/expected/select_parallel.out 2017-11-06 22:08:55.000000000 +0000 @@ -99,7 +99,21 @@ -> Index Only Scan using tenk1_unique1 on tenk1 (3 rows) +-- test the sanity of parallel query after the active role is dropped. set force_parallel_mode=1; +drop role if exists regress_parallel_worker; +NOTICE: role "regress_parallel_worker" does not exist, skipping +create role regress_parallel_worker; +set role regress_parallel_worker; +reset session authorization; +drop role regress_parallel_worker; +select count(*) from tenk1; + count +------- + 10000 +(1 row) + +reset role; explain (costs off) select stringu1::int2 from tenk1 where unique1 = 1; QUERY PLAN diff -Nru postgresql-9.6-9.6.5/src/test/regress/expected/vacuum.out postgresql-9.6-9.6.6/src/test/regress/expected/vacuum.out --- postgresql-9.6-9.6.5/src/test/regress/expected/vacuum.out 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/regress/expected/vacuum.out 2017-11-06 22:08:55.000000000 +0000 @@ -80,5 +80,10 @@ SQL function "wrap_do_analyze" statement 1 VACUUM FULL vactst; VACUUM (DISABLE_PAGE_SKIPPING) vaccluster; +-- check behavior with duplicate column mentions +VACUUM ANALYZE vaccluster(i,i); +ERROR: column "i" of relation "vaccluster" appears more than once +ANALYZE vaccluster(i,i); +ERROR: column "i" of relation "vaccluster" appears more than once DROP TABLE vaccluster; DROP TABLE vactst; diff -Nru postgresql-9.6-9.6.5/src/test/regress/GNUmakefile postgresql-9.6-9.6.6/src/test/regress/GNUmakefile --- postgresql-9.6-9.6.5/src/test/regress/GNUmakefile 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/regress/GNUmakefile 2017-11-06 22:08:55.000000000 +0000 @@ -129,7 +129,7 @@ check: all tablespace-setup $(pg_regress_check) $(REGRESS_OPTS) --schedule=$(srcdir)/parallel_schedule $(MAXCONNOPT) $(EXTRA_TESTS) -check-tests: all tablespace-setup +check-tests: all tablespace-setup | temp-install $(pg_regress_check) $(REGRESS_OPTS) $(MAXCONNOPT) $(TESTS) $(EXTRA_TESTS) installcheck: all tablespace-setup @@ -153,7 +153,7 @@ bigtest: all tablespace-setup $(pg_regress_installcheck) $(REGRESS_OPTS) --schedule=$(srcdir)/serial_schedule numeric_big -bigcheck: all tablespace-setup +bigcheck: all tablespace-setup | temp-install $(pg_regress_check) $(REGRESS_OPTS) --schedule=$(srcdir)/parallel_schedule $(MAXCONNOPT) numeric_big diff -Nru postgresql-9.6-9.6.5/src/test/regress/sql/aggregates.sql postgresql-9.6-9.6.6/src/test/regress/sql/aggregates.sql --- postgresql-9.6-9.6.5/src/test/regress/sql/aggregates.sql 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/regress/sql/aggregates.sql 2017-11-06 22:08:55.000000000 +0000 @@ -739,6 +739,17 @@ -- this should not share the state due to different input columns. select my_avg(one),my_sum(two) from (values(1,2),(3,4)) t(one,two); +-- ideally these would share state, but we have to fix the OSAs first. +select + percentile_cont(0.5) within group (order by a), + percentile_disc(0.5) within group (order by a) +from (values(1::float8),(3),(5),(7)) t(a); + +select + rank(4) within group (order by a), + dense_rank(4) within group (order by a) +from (values(1),(3),(5),(7)) t(a); + -- test that aggs with the same sfunc and initcond share the same agg state create aggregate my_sum_init(int4) ( diff -Nru postgresql-9.6-9.6.5/src/test/regress/sql/alter_table.sql postgresql-9.6-9.6.6/src/test/regress/sql/alter_table.sql --- postgresql-9.6-9.6.5/src/test/regress/sql/alter_table.sql 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/regress/sql/alter_table.sql 2017-11-06 22:08:55.000000000 +0000 @@ -1402,6 +1402,26 @@ \d check_fk_presence_2 DROP TABLE check_fk_presence_1, check_fk_presence_2; +-- check column addition within a view (bug #14876) +create table at_base_table(id int, stuff text); +insert into at_base_table values (23, 'skidoo'); +create view at_view_1 as select * from at_base_table bt; +create view at_view_2 as select *, to_json(v1) as j from at_view_1 v1; +\d+ at_view_1 +\d+ at_view_2 +explain (verbose, costs off) select * from at_view_2; +select * from at_view_2; + +create or replace view at_view_1 as select *, 2+2 as more from at_base_table bt; +\d+ at_view_1 +\d+ at_view_2 +explain (verbose, costs off) select * from at_view_2; +select * from at_view_2; + +drop view at_view_2; +drop view at_view_1; +drop table at_base_table; + -- -- lock levels -- @@ -1698,6 +1718,14 @@ DROP TABLE test_tbl2_subclass; +CREATE TYPE test_typex AS (a int, b text); +CREATE TABLE test_tblx (x int, y test_typex check ((y).a > 0)); +ALTER TYPE test_typex DROP ATTRIBUTE a; -- fails +ALTER TYPE test_typex DROP ATTRIBUTE a CASCADE; +\d test_tblx +DROP TABLE test_tblx; +DROP TYPE test_typex; + -- This test isn't that interesting on its own, but the purpose is to leave -- behind a table to test pg_upgrade with. The table has a composite type -- column in it, and the composite type has a dropped attribute. diff -Nru postgresql-9.6-9.6.5/src/test/regress/sql/groupingsets.sql postgresql-9.6-9.6.6/src/test/regress/sql/groupingsets.sql --- postgresql-9.6-9.6.5/src/test/regress/sql/groupingsets.sql 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/regress/sql/groupingsets.sql 2017-11-06 22:08:55.000000000 +0000 @@ -130,6 +130,17 @@ from gstest3 group by grouping sets ((a,b), (a,c)); +-- check that distinct grouping columns are kept separate +-- even if they are equal() +explain (costs off) +select g as alias1, g as alias2 + from generate_series(1,3) g + group by alias1, rollup(alias2); + +select g as alias1, g as alias2 + from generate_series(1,3) g + group by alias1, rollup(alias2); + -- simple rescan tests select a, b, sum(v.x) diff -Nru postgresql-9.6-9.6.5/src/test/regress/sql/jsonb.sql postgresql-9.6-9.6.6/src/test/regress/sql/jsonb.sql --- postgresql-9.6-9.6.5/src/test/regress/sql/jsonb.sql 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/regress/sql/jsonb.sql 2017-11-06 22:08:55.000000000 +0000 @@ -307,6 +307,14 @@ -- jsonb_build_array, jsonb_build_object, jsonb_object_agg SELECT jsonb_build_array('a',1,'b',1.2,'c',true,'d',null,'e',json '{"x": 3, "y": [1,2,3]}'); +SELECT jsonb_build_array('a', NULL); -- ok +SELECT jsonb_build_array(VARIADIC NULL::text[]); -- ok +SELECT jsonb_build_array(VARIADIC '{}'::text[]); -- ok +SELECT jsonb_build_array(VARIADIC '{a,b,c}'::text[]); -- ok +SELECT jsonb_build_array(VARIADIC ARRAY['a', NULL]::text[]); -- ok +SELECT jsonb_build_array(VARIADIC '{1,2,3,4}'::text[]); -- ok +SELECT jsonb_build_array(VARIADIC '{1,2,3,4}'::int[]); -- ok +SELECT jsonb_build_array(VARIADIC '{{1,4},{2,5},{3,6}}'::int[][]); -- ok SELECT jsonb_build_object('a',1,'b',1.2,'c',true,'d',null,'e',json '{"x": 3, "y": [1,2,3]}'); @@ -314,7 +322,19 @@ 'a', jsonb_build_object('b',false,'c',99), 'd', jsonb_build_object('e',array[9,8,7]::int[], 'f', (select row_to_json(r) from ( select relkind, oid::regclass as name from pg_class where relname = 'pg_class') r))); - +SELECT jsonb_build_object('{a,b,c}'::text[]); -- error +SELECT jsonb_build_object('{a,b,c}'::text[], '{d,e,f}'::text[]); -- error, key cannot be array +SELECT jsonb_build_object('a', 'b', 'c'); -- error +SELECT jsonb_build_object(NULL, 'a'); -- error, key cannot be NULL +SELECT jsonb_build_object('a', NULL); -- ok +SELECT jsonb_build_object(VARIADIC NULL::text[]); -- ok +SELECT jsonb_build_object(VARIADIC '{}'::text[]); -- ok +SELECT jsonb_build_object(VARIADIC '{a,b,c}'::text[]); -- error +SELECT jsonb_build_object(VARIADIC ARRAY['a', NULL]::text[]); -- ok +SELECT jsonb_build_object(VARIADIC ARRAY[NULL, 'a']::text[]); -- error, key cannot be NULL +SELECT jsonb_build_object(VARIADIC '{1,2,3,4}'::text[]); -- ok +SELECT jsonb_build_object(VARIADIC '{1,2,3,4}'::int[]); -- ok +SELECT jsonb_build_object(VARIADIC '{{1,4},{2,5},{3,6}}'::int[][]); -- ok -- empty objects/arrays SELECT jsonb_build_array(); @@ -500,6 +520,12 @@ SELECT * FROM jsonb_populate_recordset(row('def',99,NULL)::jbpop,'[{"a":"blurfl","x":43.2},{"b":3,"c":"2012-01-20 10:42:53"}]') q; SELECT * FROM jsonb_populate_recordset(row('def',99,NULL)::jbpop,'[{"a":[100,200,300],"x":43.2},{"a":{"z":true},"b":3,"c":"2012-01-20 10:42:53"}]') q; +-- negative cases where the wrong record type is supplied +select * from jsonb_populate_recordset(row(0::int),'[{"a":"1","b":"2"},{"a":"3"}]') q (a text, b text); +select * from jsonb_populate_recordset(row(0::int,0::int),'[{"a":"1","b":"2"},{"a":"3"}]') q (a text, b text); +select * from jsonb_populate_recordset(row(0::int,0::int,0::int),'[{"a":"1","b":"2"},{"a":"3"}]') q (a text, b text); +select * from jsonb_populate_recordset(row(1000000000::int,50::int),'[{"b":"2"},{"a":"3"}]') q (a text, b text); + -- jsonb_to_record and jsonb_to_recordset select * from jsonb_to_record('{"a":1,"b":"foo","c":"bar"}') diff -Nru postgresql-9.6-9.6.5/src/test/regress/sql/json.sql postgresql-9.6-9.6.6/src/test/regress/sql/json.sql --- postgresql-9.6-9.6.5/src/test/regress/sql/json.sql 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/regress/sql/json.sql 2017-11-06 22:08:55.000000000 +0000 @@ -404,6 +404,12 @@ select * from json_populate_recordset(row('def',99,null)::jpop,'[{"a":"blurfl","x":43.2},{"b":3,"c":"2012-01-20 10:42:53"}]') q; select * from json_populate_recordset(row('def',99,null)::jpop,'[{"a":[100,200,300],"x":43.2},{"a":{"z":true},"b":3,"c":"2012-01-20 10:42:53"}]') q; +-- negative cases where the wrong record type is supplied +select * from json_populate_recordset(row(0::int),'[{"a":"1","b":"2"},{"a":"3"}]') q (a text, b text); +select * from json_populate_recordset(row(0::int,0::int),'[{"a":"1","b":"2"},{"a":"3"}]') q (a text, b text); +select * from json_populate_recordset(row(0::int,0::int,0::int),'[{"a":"1","b":"2"},{"a":"3"}]') q (a text, b text); +select * from json_populate_recordset(row(1000000000::int,50::int),'[{"b":"2"},{"a":"3"}]') q (a text, b text); + --json_typeof() function select value, json_typeof(value) from (values (json '123.4'), @@ -422,6 +428,14 @@ -- json_build_array, json_build_object, json_object_agg SELECT json_build_array('a',1,'b',1.2,'c',true,'d',null,'e',json '{"x": 3, "y": [1,2,3]}'); +SELECT json_build_array('a', NULL); -- ok +SELECT json_build_array(VARIADIC NULL::text[]); -- ok +SELECT json_build_array(VARIADIC '{}'::text[]); -- ok +SELECT json_build_array(VARIADIC '{a,b,c}'::text[]); -- ok +SELECT json_build_array(VARIADIC ARRAY['a', NULL]::text[]); -- ok +SELECT json_build_array(VARIADIC '{1,2,3,4}'::text[]); -- ok +SELECT json_build_array(VARIADIC '{1,2,3,4}'::int[]); -- ok +SELECT json_build_array(VARIADIC '{{1,4},{2,5},{3,6}}'::int[][]); -- ok SELECT json_build_object('a',1,'b',1.2,'c',true,'d',null,'e',json '{"x": 3, "y": [1,2,3]}'); @@ -429,6 +443,19 @@ 'a', json_build_object('b',false,'c',99), 'd', json_build_object('e',array[9,8,7]::int[], 'f', (select row_to_json(r) from ( select relkind, oid::regclass as name from pg_class where relname = 'pg_class') r))); +SELECT json_build_object('{a,b,c}'::text[]); -- error +SELECT json_build_object('{a,b,c}'::text[], '{d,e,f}'::text[]); -- error, key cannot be array +SELECT json_build_object('a', 'b', 'c'); -- error +SELECT json_build_object(NULL, 'a'); -- error, key cannot be NULL +SELECT json_build_object('a', NULL); -- ok +SELECT json_build_object(VARIADIC NULL::text[]); -- ok +SELECT json_build_object(VARIADIC '{}'::text[]); -- ok +SELECT json_build_object(VARIADIC '{a,b,c}'::text[]); -- error +SELECT json_build_object(VARIADIC ARRAY['a', NULL]::text[]); -- ok +SELECT json_build_object(VARIADIC ARRAY[NULL, 'a']::text[]); -- error, key cannot be NULL +SELECT json_build_object(VARIADIC '{1,2,3,4}'::text[]); -- ok +SELECT json_build_object(VARIADIC '{1,2,3,4}'::int[]); -- ok +SELECT json_build_object(VARIADIC '{{1,4},{2,5},{3,6}}'::int[][]); -- ok -- empty objects/arrays SELECT json_build_array(); diff -Nru postgresql-9.6-9.6.5/src/test/regress/sql/numeric.sql postgresql-9.6-9.6.6/src/test/regress/sql/numeric.sql --- postgresql-9.6-9.6.5/src/test/regress/sql/numeric.sql 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/regress/sql/numeric.sql 2017-11-06 22:08:55.000000000 +0000 @@ -655,6 +655,14 @@ SELECT * FROM fract_only; DROP TABLE fract_only; +-- Check inf/nan conversion behavior +SELECT 'NaN'::float8::numeric; +SELECT 'Infinity'::float8::numeric; +SELECT '-Infinity'::float8::numeric; +SELECT 'NaN'::float4::numeric; +SELECT 'Infinity'::float4::numeric; +SELECT '-Infinity'::float4::numeric; + -- Simple check that ceil(), floor(), and round() work correctly CREATE TABLE ceil_floor_round (a numeric); INSERT INTO ceil_floor_round VALUES ('-5.5'); diff -Nru postgresql-9.6-9.6.5/src/test/regress/sql/privileges.sql postgresql-9.6-9.6.6/src/test/regress/sql/privileges.sql --- postgresql-9.6-9.6.5/src/test/regress/sql/privileges.sql 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/regress/sql/privileges.sql 2017-11-06 22:08:55.000000000 +0000 @@ -320,9 +320,24 @@ INSERT INTO atest5(two) VALUES (6) ON CONFLICT (two) DO UPDATE set three = EXCLUDED.three; INSERT INTO atest5(two) VALUES (6) ON CONFLICT (two) DO UPDATE set one = 8; -- fails (due to UPDATE) INSERT INTO atest5(three) VALUES (4) ON CONFLICT (two) DO UPDATE set three = 10; -- fails (due to INSERT) + -- Check that the columns in the inference require select privileges --- Error. No privs on four -INSERT INTO atest5(three) VALUES (4) ON CONFLICT (four) DO UPDATE set three = 10; +INSERT INTO atest5(four) VALUES (4); -- fail + +SET SESSION AUTHORIZATION regress_user1; +GRANT INSERT (four) ON atest5 TO regress_user4; +SET SESSION AUTHORIZATION regress_user4; + +INSERT INTO atest5(four) VALUES (4) ON CONFLICT (four) DO UPDATE set three = 3; -- fails (due to SELECT) +INSERT INTO atest5(four) VALUES (4) ON CONFLICT ON CONSTRAINT atest5_four_key DO UPDATE set three = 3; -- fails (due to SELECT) +INSERT INTO atest5(four) VALUES (4); -- ok + +SET SESSION AUTHORIZATION regress_user1; +GRANT SELECT (four) ON atest5 TO regress_user4; +SET SESSION AUTHORIZATION regress_user4; + +INSERT INTO atest5(four) VALUES (4) ON CONFLICT (four) DO UPDATE set three = 3; -- ok +INSERT INTO atest5(four) VALUES (4) ON CONFLICT ON CONSTRAINT atest5_four_key DO UPDATE set three = 3; -- ok SET SESSION AUTHORIZATION regress_user1; REVOKE ALL (one) ON atest5 FROM regress_user4; diff -Nru postgresql-9.6-9.6.5/src/test/regress/sql/rangetypes.sql postgresql-9.6-9.6.6/src/test/regress/sql/rangetypes.sql --- postgresql-9.6-9.6.5/src/test/regress/sql/rangetypes.sql 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/regress/sql/rangetypes.sql 2017-11-06 22:08:55.000000000 +0000 @@ -462,6 +462,18 @@ drop type two_ints cascade; -- +-- Check behavior when subtype lacks a hash function +-- + +create type cashrange as range (subtype = money); + +set enable_sort = off; -- try to make it pick a hash setop implementation + +select '(2,5)'::cashrange except select '(5,6)'::cashrange; + +reset enable_sort; + +-- -- OUT/INOUT/TABLE functions -- diff -Nru postgresql-9.6-9.6.5/src/test/regress/sql/rowsecurity.sql postgresql-9.6-9.6.6/src/test/regress/sql/rowsecurity.sql --- postgresql-9.6-9.6.5/src/test/regress/sql/rowsecurity.sql 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/regress/sql/rowsecurity.sql 2017-11-06 22:08:55.000000000 +0000 @@ -1487,10 +1487,11 @@ -- SET SESSION AUTHORIZATION regress_rls_alice; SET row_security = on; -CREATE TABLE r1 (a int); +CREATE TABLE r1 (a int PRIMARY KEY); CREATE POLICY p1 ON r1 FOR SELECT USING (a < 20); CREATE POLICY p2 ON r1 FOR UPDATE USING (a < 20) WITH CHECK (true); +CREATE POLICY p3 ON r1 FOR INSERT WITH CHECK (true); INSERT INTO r1 VALUES (10); ALTER TABLE r1 ENABLE ROW LEVEL SECURITY; ALTER TABLE r1 FORCE ROW LEVEL SECURITY; @@ -1512,6 +1513,17 @@ -- Error UPDATE r1 SET a = 30 RETURNING *; +-- UPDATE path of INSERT ... ON CONFLICT DO UPDATE should also error out +INSERT INTO r1 VALUES (10) + ON CONFLICT (a) DO UPDATE SET a = 30 RETURNING *; + +-- Should still error out without RETURNING (use of arbiter always requires +-- SELECT permissions) +INSERT INTO r1 VALUES (10) + ON CONFLICT (a) DO UPDATE SET a = 30; +INSERT INTO r1 VALUES (10) + ON CONFLICT ON CONSTRAINT r1_pkey DO UPDATE SET a = 30; + DROP TABLE r1; -- Check dependency handling diff -Nru postgresql-9.6-9.6.5/src/test/regress/sql/select_parallel.sql postgresql-9.6-9.6.6/src/test/regress/sql/select_parallel.sql --- postgresql-9.6-9.6.5/src/test/regress/sql/select_parallel.sql 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/regress/sql/select_parallel.sql 2017-11-06 22:08:55.000000000 +0000 @@ -39,7 +39,15 @@ select sum(parallel_restricted(unique1)) from tenk1 group by(parallel_restricted(unique1)); +-- test the sanity of parallel query after the active role is dropped. set force_parallel_mode=1; +drop role if exists regress_parallel_worker; +create role regress_parallel_worker; +set role regress_parallel_worker; +reset session authorization; +drop role regress_parallel_worker; +select count(*) from tenk1; +reset role; explain (costs off) select stringu1::int2 from tenk1 where unique1 = 1; diff -Nru postgresql-9.6-9.6.5/src/test/regress/sql/vacuum.sql postgresql-9.6-9.6.6/src/test/regress/sql/vacuum.sql --- postgresql-9.6-9.6.5/src/test/regress/sql/vacuum.sql 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/test/regress/sql/vacuum.sql 2017-11-06 22:08:55.000000000 +0000 @@ -62,5 +62,9 @@ VACUUM (DISABLE_PAGE_SKIPPING) vaccluster; +-- check behavior with duplicate column mentions +VACUUM ANALYZE vaccluster(i,i); +ANALYZE vaccluster(i,i); + DROP TABLE vaccluster; DROP TABLE vactst; diff -Nru postgresql-9.6-9.6.5/src/timezone/data/africa postgresql-9.6-9.6.6/src/timezone/data/africa --- postgresql-9.6-9.6.5/src/timezone/data/africa 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/timezone/data/africa 2017-11-06 22:08:55.000000000 +0000 @@ -26,7 +26,7 @@ # # For data circa 1899, a common source is: # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. -# http://www.jstor.org/stable/1774359 +# https://www.jstor.org/stable/1774359 # # A reliable and entertaining source about time zones is # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997). @@ -218,7 +218,7 @@ # saving time in Egypt will end in the night of 2007-09-06 to 2007-09-07. # From Jesper Nørgaard Welen (2007-08-15): [The following agree:] # http://www.nentjes.info/Bill/bill5.htm -# http://www.timeanddate.com/worldclock/city.html?n=53 +# https://www.timeanddate.com/worldclock/city.html?n=53 # From Steffen Thorsen (2007-09-04): The official information...: # http://www.sis.gov.eg/En/EgyptOnline/Miscellaneous/000002/0207000000000000001580.htm Rule Egypt 2007 only - Sep Thu>=1 24:00 0 - @@ -256,8 +256,8 @@ # timeanddate[2] and another site I've found[3] also support that. # # [1] https://bugzilla.redhat.com/show_bug.cgi?id=492263 -# [2] http://www.timeanddate.com/worldclock/clockchange.html?n=53 -# [3] http://wwp.greenwichmeantime.com/time-zone/africa/egypt/ +# [2] https://www.timeanddate.com/worldclock/clockchange.html?n=53 +# [3] https://wwp.greenwichmeantime.com/time-zone/africa/egypt/ # From Arthur David Olson (2009-04-20): # In 2009 (and for the next several years), Ramadan ends before the fourth @@ -267,10 +267,10 @@ # From Steffen Thorsen (2009-08-11): # We have been able to confirm the August change with the Egyptian Cabinet # Information and Decision Support Center: -# http://www.timeanddate.com/news/time/egypt-dst-ends-2009.html +# https://www.timeanddate.com/news/time/egypt-dst-ends-2009.html # # The Middle East News Agency -# http://www.mena.org.eg/index.aspx +# https://www.mena.org.eg/index.aspx # also reports "Egypt starts winter time on August 21" # today in article numbered "71, 11/08/2009 12:25 GMT." # Only the title above is available without a subscription to their service, @@ -320,7 +320,7 @@ # Thursday of April.... Clocks will still be turned back for Ramadan, but # dates not yet announced.... # http://almogaz.com/news/weird-news/2015/04/05/1947105 ... -# http://www.timeanddate.com/news/time/egypt-starts-dst-2015.html +# https://www.timeanddate.com/news/time/egypt-starts-dst-2015.html # From Ahmed Nazmy (2015-04-20): # Egypt's ministers cabinet just announced ... that it will cancel DST at @@ -447,11 +447,11 @@ # From Even Scharning (2012-11-10): # Libya set their time one hour back at 02:00 on Saturday November 10. -# http://www.libyaherald.com/2012/11/04/clocks-to-go-back-an-hour-on-saturday/ +# https://www.libyaherald.com/2012/11/04/clocks-to-go-back-an-hour-on-saturday/ # Here is an official source [in Arabic]: http://ls.ly/fb6Yc # # Steffen Thorsen forwarded a translation (2012-11-10) in -# http://mm.icann.org/pipermail/tz/2012-November/018451.html +# https://mm.icann.org/pipermail/tz/2012-November/018451.html # # From Tim Parenti (2012-11-11): # Treat the 2012-11-10 change as a zone change from UTC+2 to UTC+1. @@ -462,7 +462,7 @@ # From Even Scharning (2013-10-25): # The scheduled end of DST in Libya on Friday, October 25, 2013 was # cancelled yesterday.... -# http://www.libyaherald.com/2013/10/24/correction-no-time-change-tomorrow/ +# https://www.libyaherald.com/2013/10/24/correction-no-time-change-tomorrow/ # # From Paul Eggert (2013-10-25): # For now, assume they're reverting to the pre-2012 rules of permanent UT +02. @@ -515,7 +515,7 @@ # basis.... # It seems that Mauritius observed daylight saving time from 1982-10-10 to # 1983-03-20 as well, but that was not successful.... -# http://www.timeanddate.com/news/time/mauritius-daylight-saving-time.html +# https://www.timeanddate.com/news/time/mauritius-daylight-saving-time.html # From Alex Krivenyshev (2008-06-25): # http://economicdevelopment.gov.mu/portal/site/Mainhomepage/menuitem.a42b24128104d9845dabddd154508a0c/?content_id=0a7cee8b5d69a110VgnVCM1000000a04a8c0RCRD @@ -583,7 +583,7 @@ # http://lexpress.mu/Story/3398~Beebeejaun---Les-objectifs-d-%C3%A9conomie-d-%C3%A9nergie-de-l-heure-d-%C3%A9t%C3%A9-ont-%C3%A9t%C3%A9-atteints- # # Our wrap-up: -# http://www.timeanddate.com/news/time/mauritius-dst-will-not-repeat.html +# https://www.timeanddate.com/news/time/mauritius-dst-will-not-repeat.html # From Arthur David Olson (2009-07-11): # The "mauritius-dst-will-not-repeat" wrapup includes this: @@ -615,7 +615,7 @@ # be one hour ahead of GMT between 1 June and 27 September, according to # Communication Minister and Government Spokesman, Khalid Naciri...." # -# http://www.worldtimezone.net/dst_news/dst_news_morocco01.html +# http://www.worldtimezone.com/dst_news/dst_news_morocco01.html # http://en.afrik.com/news11892.html # From Alex Krivenyshev (2008-05-09): @@ -628,7 +628,7 @@ # From Patrice Scattolin (2008-05-09): # According to this article: -# http://www.avmaroc.com/actualite/heure-dete-comment-a127896.html +# https://www.avmaroc.com/actualite/heure-dete-comment-a127896.html # (and republished here: ) # the changes occur at midnight: # @@ -650,7 +650,7 @@ # posted in English). # # The following Google query will generate many relevant hits: -# http://www.google.com/search?hl=en&q=Conseil+de+gouvernement+maroc+heure+avance&btnG=Search +# https://www.google.com/search?hl=en&q=Conseil+de+gouvernement+maroc+heure+avance&btnG=Search # From Steffen Thorsen (2008-08-27): # Morocco will change the clocks back on the midnight between August 31 @@ -661,7 +661,7 @@ # http://www.menara.ma/fr/Actualites/Maroc/Societe/ci.retour_a_l_heure_gmt_a_partir_du_dimanche_31_aout_a_minuit_officiel_.default # # We have some further details posted here: -# http://www.timeanddate.com/news/time/morocco-ends-dst-early-2008.html +# https://www.timeanddate.com/news/time/morocco-ends-dst-early-2008.html # From Steffen Thorsen (2009-03-17): # Morocco will observe DST from 2009-06-01 00:00 to 2009-08-21 00:00 according @@ -671,7 +671,7 @@ # (French) # # Our summary: -# http://www.timeanddate.com/news/time/morocco-starts-dst-2009.html +# https://www.timeanddate.com/news/time/morocco-starts-dst-2009.html # From Alexander Krivenyshev (2009-03-17): # Here is a link to official document from Royaume du Maroc Premier Ministre, @@ -694,7 +694,7 @@ # http://www.lavieeco.com/actualites/4099-le-maroc-passera-a-l-heure-d-ete-gmt1-le-2-mai.html # (French) # Our page: -# http://www.timeanddate.com/news/time/morocco-starts-dst-2010.html +# https://www.timeanddate.com/news/time/morocco-starts-dst-2010.html # From Dan Abitol (2011-03-30): # ...Rules for Africa/Casablanca are the following (24h format) @@ -711,7 +711,7 @@ # They said that the decision was already taken. # # More articles in the press -# http://www.yabiladi.com/articles/details/5058/secret-l-heure-d-ete-maroc-leve.html +# https://www.yabiladi.com/articles/details/5058/secret-l-heure-d-ete-maroc-leve.html # http://www.lematin.ma/Actualite/Express/Article.asp?id=148923 # http://www.lavieeco.com/actualite/Le-Maroc-passe-sur-GMT%2B1-a-partir-de-dim @@ -803,7 +803,7 @@ # 1433 (18 April 2012) and the decision of the Head of Government of # 16 N. 3-29-15 Chaaban 1435 (4 June 2015). # Source (french): -# http://lnt.ma/le-maroc-reculera-dune-heure-le-dimanche-14-juin/ +# https://lnt.ma/le-maroc-reculera-dune-heure-le-dimanche-14-juin/ # # From Milamber (2015-06-09): # http://www.mmsp.gov.ma/fr/actualites.aspx?id=863 @@ -812,7 +812,7 @@ # [The gov.ma announcement] would (probably) make the switch on 2015-07-19 go # from 03:00 to 04:00 rather than from 02:00 to 03:00, as in the patch.... # I think the patch is correct and the quoted text is wrong; the text in -# agrees +# agrees # with the patch. # From Paul Eggert (2015-06-08): @@ -937,9 +937,17 @@ Link Africa/Maputo Africa/Lubumbashi # E Dem. Rep. of Congo Link Africa/Maputo Africa/Lusaka # Zambia + # Namibia -# The 1994-04-03 transition is from Shanks & Pottenger. -# Shanks & Pottenger report no DST after 1998-04; go with IATA. + +# From Arthur David Olson (2017-08-09): +# The text of the "Namibia Time Act, 1994" is available online at +# www.lac.org.na/laws/1994/811.pdf +# and includes this nugget: +# Notwithstanding the provisions of subsection (2) of section 1, the +# first winter period after the commencement of this Act shall +# commence at OOhOO on Monday 21 March 1994 and shall end at 02h00 on +# Sunday 4 September 1994. # From Petronella Sibeene (2007-03-30): # http://allafrica.com/stories/200703300178.html @@ -955,19 +963,30 @@ # observes Botswana time, we have no details about historical practice. # In the meantime people there can use Africa/Gaborone. # See: Immanuel S. The Namibian. 2017-02-23. -# http://www.namibian.com.na/51480/read/Time-change-divides-lawmakers +# https://www.namibian.com.na/51480/read/Time-change-divides-lawmakers + +# From Steffen Thorsen (2017-08-09): +# Namibia is going to change their time zone to what is now their DST: +# https://www.newera.com.na/2017/02/23/namibias-winter-time-might-be-repealed/ +# This video is from the government decision: +# https://www.nbc.na/news/na-passes-namibia-time-bill-repealing-1994-namibia-time-act.8665 +# We have made the assumption so far that they will change their time zone at +# the same time they would normally start DST, the first Sunday in September: +# https://www.timeanddate.com/news/time/namibia-new-time-zone.html # RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Namibia 1994 max - Sep Sun>=1 2:00 1:00 S -Rule Namibia 1995 max - Apr Sun>=1 2:00 0 - +Rule Namibia 1994 only - Mar 21 0:00 0 - +Rule Namibia 1994 2016 - Sep Sun>=1 2:00 1:00 S +Rule Namibia 1995 2017 - Apr Sun>=1 2:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Africa/Windhoek 1:08:24 - LMT 1892 Feb 8 1:30 - +0130 1903 Mar 2:00 - SAST 1942 Sep 20 2:00 2:00 1:00 SAST 1943 Mar 21 2:00 2:00 - SAST 1990 Mar 21 # independence - 2:00 - CAT 1994 Apr 3 - 1:00 Namibia WA%sT + 2:00 - CAT 1994 Mar 21 0:00 + 1:00 Namibia WA%sT 2017 Sep 3 2:00 + 2:00 - CAT # Niger # See Africa/Lagos. @@ -1054,14 +1073,24 @@ # no information # Sudan -# + # From # Sudan News Agency (2000-01-13), # also reported by Michaël De Beukelaer-Dossche via Steffen Thorsen: # Clocks will be moved ahead for 60 minutes all over the Sudan as of noon # Saturday.... This was announced Thursday by Caretaker State Minister for # Manpower Abdul-Rahman Nur-Eddin. -# + +# From Ahmed Atyya, National Telecommunications Corp. (NTC), Sudan (2017-10-17): +# ... the Republic of Sudan is going to change the time zone from (GMT+3:00) +# to (GMT+ 2:00) starting from Wednesday 1 November 2017. +# +# From Paul Eggert (2017-10-18): +# A scanned copy (in Arabic) of Cabinet Resolution No. 352 for the +# year 2017 can be found as an attachment in email today from Yahia +# Abdalla of NTC, archived at: +# https://mm.icann.org/pipermail/tz/2017-October/025333.html + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Sudan 1970 only - May 1 0:00 1:00 S Rule Sudan 1970 1985 - Oct 15 0:00 0 - @@ -1070,10 +1099,14 @@ # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Africa/Khartoum 2:10:08 - LMT 1931 2:00 Sudan CA%sT 2000 Jan 15 12:00 - 3:00 - EAT + 3:00 - EAT 2017 Nov 1 + 2:00 - CAT # South Sudan -Link Africa/Khartoum Africa/Juba +# Zone NAME GMTOFF RULES FORMAT [UNTIL] +Zone Africa/Juba 2:06:28 - LMT 1931 + 2:00 Sudan CA%sT 2000 Jan 15 12:00 + 3:00 - EAT # Swaziland # See Africa/Johannesburg. @@ -1111,11 +1144,11 @@ # According to several news sources, Tunisia will not observe DST this year. # (Arabic) # http://www.elbashayer.com/?page=viewn&nid=42546 -# http://www.babnet.net/kiwidetail-15295.asp +# https://www.babnet.net/kiwidetail-15295.asp # # We have also confirmed this with the US embassy in Tunisia. # We have a wrap-up about this on the following page: -# http://www.timeanddate.com/news/time/tunisia-cancels-dst-2009.html +# https://www.timeanddate.com/news/time/tunisia-cancels-dst-2009.html # From Alexander Krivenyshev (2009-03-17): # Here is a link to Tunis Afrique Presse News Agency diff -Nru postgresql-9.6-9.6.5/src/timezone/data/antarctica postgresql-9.6-9.6.6/src/timezone/data/antarctica --- postgresql-9.6-9.6.5/src/timezone/data/antarctica 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/timezone/data/antarctica 2017-11-06 22:08:55.000000000 +0000 @@ -26,7 +26,7 @@ # Heard Island, McDonald Islands (uninhabited) # previously sealers and scientific personnel wintered # Margaret Turner reports -# http://web.archive.org/web/20021204222245/http://www.dstc.qut.edu.au/DST/marg/daylight.html +# https://web.archive.org/web/20021204222245/http://www.dstc.qut.edu.au/DST/marg/daylight.html # (1999-09-30) that they're UT +05, with no DST; # presumably this is when they have visitors. # @@ -47,7 +47,7 @@ # http://www.aad.gov.au/default.asp?casid=37079 # # We have more background information here: -# http://www.timeanddate.com/news/time/antarctica-new-times.html +# https://www.timeanddate.com/news/time/antarctica-new-times.html # From Steffen Thorsen (2010-03-10): # We got these changes from the Australian Antarctic Division: ... @@ -62,7 +62,7 @@ # - Mawson station stays on UTC+5. # # Background: -# http://www.timeanddate.com/news/time/antartica-time-changes-2010.html +# https://www.timeanddate.com/news/time/antartica-time-changes-2010.html # From Steffen Thorsen (2016-10-28): # Australian Antarctica Division informed us that Casey changed time @@ -145,7 +145,7 @@ # # year-round base in the main continent # Dumont d'Urville, Île des Pétrels, -6640+14001, since 1956-11 -# (2005-12-05) +# (2005-12-05) # # Another base at Port-Martin, 50km east, began operation in 1947. # It was destroyed by fire on 1952-01-14. diff -Nru postgresql-9.6-9.6.5/src/timezone/data/asia postgresql-9.6-9.6.6/src/timezone/data/asia --- postgresql-9.6-9.6.5/src/timezone/data/asia 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/timezone/data/asia 2017-11-06 22:08:55.000000000 +0000 @@ -26,7 +26,7 @@ # # For data circa 1899, a common source is: # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. -# http://www.jstor.org/stable/1774359 +# https://www.jstor.org/stable/1774359 # # For Russian data circa 1919, a source is: # Byalokoz EL. New Counting of Time in Russia since July 1, 1919. @@ -75,8 +75,8 @@ Rule RussiaAsia 1981 1984 - Apr 1 0:00 1:00 S Rule RussiaAsia 1981 1983 - Oct 1 0:00 0 - Rule RussiaAsia 1984 1995 - Sep lastSun 2:00s 0 - -Rule RussiaAsia 1985 2011 - Mar lastSun 2:00s 1:00 S -Rule RussiaAsia 1996 2011 - Oct lastSun 2:00s 0 - +Rule RussiaAsia 1985 2010 - Mar lastSun 2:00s 1:00 S +Rule RussiaAsia 1996 2010 - Oct lastSun 2:00s 0 - # Afghanistan # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -109,13 +109,17 @@ # or # (brief) # http://www.worldtimezone.com/dst_news/dst_news_armenia03.html +# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +Rule Armenia 2011 only - Mar lastSun 2:00s 1:00 S +Rule Armenia 2011 only - Oct lastSun 2:00s 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Yerevan 2:58:00 - LMT 1924 May 2 3:00 - +03 1957 Mar 4:00 RussiaAsia +04/+05 1991 Mar 31 2:00s 3:00 RussiaAsia +03/+04 1995 Sep 24 2:00s 4:00 - +04 1997 - 4:00 RussiaAsia +04/+05 + 4:00 RussiaAsia +04/+05 2011 + 4:00 Armenia +04/+05 # Azerbaijan @@ -127,7 +131,7 @@ # From Steffen Thorsen (2016-03-17): # ... the Azerbaijani Cabinet of Ministers has cancelled switching to # daylight saving time.... -# http://www.azernews.az/azerbaijan/94137.html +# https://www.azernews.az/azerbaijan/94137.html # http://vestnikkavkaza.net/news/Azerbaijani-Cabinet-of-Ministers-cancels-daylight-saving-time.html # http://en.apa.az/xeber_azerbaijan_abolishes_daylight_savings_ti_240862.html @@ -168,11 +172,11 @@ # the 19th and 20th, and they have not set the end date yet. # # Some sources: -# http://in.reuters.com/article/southAsiaNews/idINIndia-40017620090601 +# https://in.reuters.com/article/southAsiaNews/idINIndia-40017620090601 # http://bdnews24.com/details.php?id=85889&cid=2 # # Our wrap-up: -# http://www.timeanddate.com/news/time/bangladesh-daylight-saving-2009.html +# https://www.timeanddate.com/news/time/bangladesh-daylight-saving-2009.html # From A. N. M. Kamrus Saadat (2009-06-15): # Finally we've got the official mail regarding DST start time where DST start @@ -258,9 +262,15 @@ # Milne says 6:24:40 was the meridian of the time ball observatory at Rangoon. +# From Paul Eggert (2017-04-20): +# Page 27 of Reed & Low (cited for Asia/Kolkata) says "Rangoon local time is +# used upon the railways and telegraphs of Burma, and is 6h. 24m. 47s. ahead +# of Greenwich." This refers to the period before Burma's transition to +0630, +# a transition for which Shanks is the only source. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Asia/Yangon 6:24:40 - LMT 1880 # or Rangoon - 6:24:40 - RMT 1920 # Rangoon Mean Time? +Zone Asia/Yangon 6:24:47 - LMT 1880 # or Rangoon + 6:24:47 - RMT 1920 # Rangoon local time 6:30 - +0630 1942 May 9:00 - +09 1945 May 3 6:30 - +0630 @@ -317,7 +327,7 @@ # # From Jesper Nørgaard Welen (2006-07-14): # I have investigated the timezones around 1970 on the -# http://www.astro.com/atlas site [with provinces and county +# https://www.astro.com/atlas site [with provinces and county # boundaries summarized below].... A few other exceptions were two # counties on the Sichuan side of the Xizang-Sichuan border, # counties Dege and Baiyu which lies on the Sichuan side and are @@ -469,7 +479,7 @@ # From David Cochrane (2014-03-26): # Just a confirmation that Ürümqi time was implemented in Ürümqi on 1 Feb 1986: -# http://content.time.com/time/magazine/article/0,9171,960684,00.html +# https://content.time.com/time/magazine/article/0,9171,960684,00.html # From Luther Ma (2014-04-22): # I have interviewed numerous people of various nationalities and from @@ -626,7 +636,7 @@ # (both in Okinawa) adopt the Western Standard Time which is based on # 120E. The adoption began from Jan 1, 1896. The original text can be # found on Wikisource: -# http://ja.wikisource.org/wiki/標準時ニ關スル件_(公布時) +# https://ja.wikisource.org/wiki/標準時ニ關スル件_(公布時) # ... This could be the first adoption of time zone in Taiwan, because # during the Qing Dynasty, it seems that there was no time zone # declared officially. @@ -639,7 +649,7 @@ # territory, including later occupations, adopt Japan Central Time # (UTC+9). The adoption began on Oct 1, 1937. The original text can # be found on Wikisource: -# http://ja.wikisource.org/wiki/明治二十八年勅令第百六十七號標準時ニ關スル件中改正ノ件 +# https://ja.wikisource.org/wiki/明治二十八年勅令第百六十七號標準時ニ關スル件中改正ノ件 # # That is, the time zone of Taipei switched to UTC+9 on Oct 1, 1937. @@ -775,6 +785,12 @@ # Looks like the time zone split in Cyprus went through last night. # http://cyprus-mail.com/2016/10/30/cyprus-new-division-two-time-zones-now-reality/ +# From Paul Eggert (2017-10-18): +# Northern Cyprus will reinstate winter time on October 29, thus +# staying in sync with the rest of Cyprus. See: Anastasiou A. +# Cyprus to remain united in time. Cyprus Mail 2017-10-17. +# https://cyprus-mail.com/2017/10/17/cyprus-remain-united-time/ + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Cyprus 1975 only - Apr 13 0:00 1:00 S Rule Cyprus 1975 only - Oct 12 0:00 0 - @@ -792,7 +808,8 @@ Zone Asia/Famagusta 2:15:48 - LMT 1921 Nov 14 2:00 Cyprus EE%sT 1998 Sep 2:00 EUAsia EE%sT 2016 Sep 8 - 3:00 - +03 + 3:00 - +03 2017 Oct 29 1:00u + 2:00 EUAsia EE%sT # Classically, Cyprus belongs to Asia; e.g. see Herodotus, Histories, I.72. # However, for various reasons many users expect to find it under Europe. @@ -852,7 +869,7 @@ # From João Carrascalão, brother of the former governor of East Timor, in # East Timor may be late for its millennium -# (1999-12-26/31): +# (1999-12-26/31): # Portugal tried to change the time forward in 1974 because the sun # rises too early but the suggestion raised a lot of problems with the # Timorese and I still don't think it would work today because it @@ -880,21 +897,62 @@ # India # From Ian P. Beacock, in "A brief history of (modern) time", The Atlantic -# http://www.theatlantic.com/technology/archive/2015/12/the-creation-of-modern-time/421419/ +# https://www.theatlantic.com/technology/archive/2015/12/the-creation-of-modern-time/421419/ # (2015-12-22): # In January 1906, several thousand cotton-mill workers rioted on the # outskirts of Bombay.... They were protesting the proposed abolition of # local time in favor of Indian Standard Time.... Journalists called this # dispute the "Battle of the Clocks." It lasted nearly half a century. -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Asia/Kolkata 5:53:28 - LMT 1880 # Kolkata - 5:53:20 - HMT 1941 Oct # Howrah Mean Time? - 6:30 - +0630 1942 May 15 +# From Paul Eggert (2017-04-20): +# Good luck trying to nail down old timekeeping records in India. +# "... in the nineteenth century ... Madras Observatory took its magnetic +# measurements on Göttingen time, its meteorological measurements on Madras +# (local) time, dropped its time ball on Greenwich (ocean navigator's) time, +# and distributed civil (local time)." -- Bartky IR. Selling the true time: +# 19th-century timekeeping in america. Stanford U Press (2000), 247 note 19. +# "A more potent cause of resistance to the general adoption of the present +# standard time lies in the fact that it is Madras time. The citizen of +# Bombay, proud of being 'primus in Indis' and of Calcutta, equally proud of +# his city being the Capital of India, and - for a part of the year - the Seat +# of the Supreme Government, alike look down on Madras, and refuse to change +# the time they are using, for that of what they regard as a benighted +# Presidency; while Madras, having for long given the standard time to the +# rest of India, would resist the adoption of any other Indian standard in its +# place." -- Oldham RD. On Time in India: a suggestion for its improvement. +# Proceedings of the Asiatic Society of Bengal (April 1899), 49-55. +# +# "In 1870 ... Madras time - 'now used by the telegraph and regulated from the +# only government observatory' - was suggested as a standard railway time, +# first to be adopted on the Great Indian Peninsular Railway (GIPR).... +# Calcutta, Bombay, and Karachi, were to be allowed to continue with their +# local time for civil purposes." - Prasad R. Tracks of Change: Railways and +# Everyday Life in Colonial India. Cambridge University Press (2016), 145. +# +# Reed S, Low F. The Indian Year Book 1936-37. Bennett, Coleman, pp 27-8. +# https://archive.org/details/in.ernet.dli.2015.282212 +# This lists +052110 as Madras local time used in railways, and says that on +# 1906-01-01 railways and telegraphs in India switched to +0530. Some +# municipalities retained their former time, and the time in Calcutta +# continued to depend on whether you were at the railway station or at +# government offices. Government time was at +055320 (according to Shanks) or +# at +0554 (according to the Indian Year Book). Railway time is more +# appropriate for our purposes, as it was better documented, it is what we do +# elsewhere (e.g., Europe/London before 1880), and after 1906 it was +# consistent in the region now identified by Asia/Kolkata. So, use railway +# time for 1870-1941. Shanks is our only (and dubious) source for the +# 1941-1945 data. + +# Zone NAME GMTOFF RULES FORMAT [UNTIL] +Zone Asia/Kolkata 5:53:28 - LMT 1854 Jun 28 # Kolkata + 5:53:20 - HMT 1870 # Howrah Mean Time? + 5:21:10 - MMT 1906 Jan 1 # Madras local time + 5:30 - IST 1941 Oct + 5:30 1:00 +0630 1942 May 15 5:30 - IST 1942 Sep 5:30 1:00 +0630 1945 Oct 15 5:30 - IST -# The following are like Asia/Kolkata: +# Since 1970 the following are like Asia/Kolkata: # Andaman Is # Lakshadweep (Laccadive, Minicoy and Amindivi Is) # Nicobar Is @@ -1036,7 +1094,7 @@ # From Reuters (2007-09-16), with a heads-up from Jesper Nørgaard Welen: # ... the Guardian Council ... approved a law on Sunday to re-introduce # daylight saving time ... -# http://uk.reuters.com/article/oilRpt/idUKBLA65048420070916 +# https://uk.reuters.com/article/oilRpt/idUKBLA65048420070916 # # From Roozbeh Pournader (2007-11-05): # This is quoted from Official Gazette of the Islamic Republic of @@ -1135,7 +1193,7 @@ # http://www.aswataliraq.info/look/article.tpl?id=2047&IdLanguage=17&IdPublication=4&NrArticle=71743&NrIssue=1&NrSection=10 # # We have published a short article in English about the change: -# http://www.timeanddate.com/news/time/iraq-dumps-daylight-saving.html +# https://www.timeanddate.com/news/time/iraq-dumps-daylight-saving.html # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Iraq 1982 only - May 1 0:00 1:00 D @@ -1443,12 +1501,12 @@ # From Yu-Cheng Chuang (2013-07-12): # ...the Meiji Emperor announced Ordinance No. 167 of Meiji Year 28 "The clause # about standard time" ... The adoption began from Jan 1, 1896. -# http://ja.wikisource.org/wiki/標準時ニ關スル件_(公布時) +# https://ja.wikisource.org/wiki/標準時ニ關スル件_(公布時) # # ...the Showa Emperor announced Ordinance No. 529 of Showa Year 12 ... which # means the whole Japan territory, including later occupations, adopt Japan # Central Time (UTC+9). The adoption began on Oct 1, 1937. -# http://ja.wikisource.org/wiki/明治二十八年勅令第百六十七號標準時ニ關スル件中改正ノ件 +# https://ja.wikisource.org/wiki/明治二十八年勅令第百六十七號標準時ニ關スル件中改正ノ件 # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Tokyo 9:18:59 - LMT 1887 Dec 31 15:00u @@ -1510,7 +1568,7 @@ # Official, in Arabic: # http://www.petra.gov.jo/public_news/Nws_NewsDetails.aspx?Menu_ID=&Site_Id=2&lang=1&NewsID=133230&CatID=14 # ... Our background/permalink about it -# http://www.timeanddate.com/news/time/jordan-reverses-dst-decision.html +# https://www.timeanddate.com/news/time/jordan-reverses-dst-decision.html # ... # http://www.petra.gov.jo/Public_News/Nws_NewsDetails.aspx?lang=2&site_id=1&NewsID=133313&Type=P # ... says midnight for the coming one and 1:00 for the ones in the future @@ -1868,9 +1926,9 @@ # between 1987 and 1988 ... # From Sanghyuk Jung (2014-10-29): -# http://mm.icann.org/pipermail/tz/2014-October/021830.html +# https://mm.icann.org/pipermail/tz/2014-October/021830.html # According to the Korean Wikipedia -# http://ko.wikipedia.org/wiki/한국_표준시 +# https://ko.wikipedia.org/wiki/한국_표준시 # [oldid=12896437 2014-09-04 08:03 UTC] # DST in Republic of Korea was as follows.... And I checked old # newspapers in Korean, all articles correspond with data in Wikipedia. @@ -2092,7 +2150,7 @@ # +08:00 instead. Different sources appear to disagree with the tz # database on this, e.g.: # -# http://www.timeanddate.com/worldclock/city.html?n=1026 +# https://www.timeanddate.com/worldclock/city.html?n=1026 # http://www.worldtimeserver.com/current_time_in_MN.aspx # # both say GMT+08:00. @@ -2222,7 +2280,7 @@ # help reduce load shedding by approving the closure of commercial centres at # 9pm and moving clocks forward by one hour for the next three months. ...." # -# http://www.worldtimezone.net/dst_news/dst_news_pakistan01.html +# http://www.worldtimezone.com/dst_news/dst_news_pakistan01.html # http://www.dailytimes.com.pk/default.asp?page=2008%5C05%5C15%5Cstory_15-5-2008_pg1_4 # From Arthur David Olson (2008-05-19): @@ -2288,7 +2346,7 @@ # # We have confirmed this year's end date with both with the Ministry of # Water and Power and the Pakistan Electric Power Company: -# http://www.timeanddate.com/news/time/pakistan-ends-dst09.html +# https://www.timeanddate.com/news/time/pakistan-ends-dst09.html # From Christoph Göhre (2009-10-01): # [T]he German Consulate General in Karachi reported me today that Pakistan @@ -2470,7 +2528,7 @@ # # We are not sure if Gaza will do the same, last year they had a different # end date, we will keep this page updated: -# http://www.timeanddate.com/news/time/westbank-gaza-dst-2009.html +# https://www.timeanddate.com/news/time/westbank-gaza-dst-2009.html # From Alexander Krivenyshev (2009-09-02): # Seems that Gaza Strip will go back to Winter Time same date as West Bank. @@ -2508,7 +2566,7 @@ # the clocks were set back one hour at 2010-08-11 00:00:00 local time in # Gaza and the West Bank. # Some more background info: -# http://www.timeanddate.com/news/time/westbank-gaza-end-dst-2010.html +# https://www.timeanddate.com/news/time/westbank-gaza-end-dst-2010.html # From Steffen Thorsen (2011-08-26): # Gaza and the West Bank did go back to standard time in the beginning of @@ -2518,7 +2576,7 @@ # # http://www.maannews.net/eng/ViewDetails.aspx?ID=416217 # Additional info: -# http://www.timeanddate.com/news/time/palestine-dst-2011.html +# https://www.timeanddate.com/news/time/palestine-dst-2011.html # From Alexander Krivenyshev (2011-08-27): # According to the article in The Jerusalem Post: @@ -2528,7 +2586,7 @@ # The Hamas government said on Saturday that it won't observe summertime after # the Muslim feast of Id al-Fitr, which begins on Tuesday..." # ... -# http://www.jpost.com/MiddleEast/Article.aspx?id=235650 +# https://www.jpost.com/MiddleEast/Article.aspx?id=235650 # http://www.worldtimezone.com/dst_news/dst_news_gazastrip05.html # The rules for Egypt are stolen from the 'africa' file. @@ -2549,7 +2607,7 @@ # http://safa.ps/details/news/74352/%D8%A8%D8%AF%D8%A1-%D8%A7%D9%84%D8%AA%D9%88%D9%82%D9%8A%D8%AA-%D8%A7%D9%84%D8%B5%D9%8A%D9%81%D9%8A-%D8%A8%D8%A7%D9%84%D8%B6%D9%81%D8%A9-%D9%88%D8%BA%D8%B2%D8%A9-%D9%84%D9%8A%D9%84%D8%A9-%D8%A7%D9%84%D8%AC%D9%85%D8%B9%D8%A9.html # # Our brief summary: -# http://www.timeanddate.com/news/time/gaza-west-bank-dst-2012.html +# https://www.timeanddate.com/news/time/gaza-west-bank-dst-2012.html # From Steffen Thorsen (2013-03-26): # The following news sources tells that Palestine will "start daylight saving @@ -2569,11 +2627,11 @@ # From Steffen Thorsen (2015-03-03): # Sources such as http://www.alquds.com/news/article/view/id/548257 -# and http://www.raya.ps/ar/news/890705.html say Palestine areas will +# and https://www.raya.ps/ar/news/890705.html say Palestine areas will # start DST on 2015-03-28 00:00 which is one day later than expected. # # From Paul Eggert (2015-03-03): -# http://www.timeanddate.com/time/change/west-bank/ramallah?year=2014 +# https://www.timeanddate.com/time/change/west-bank/ramallah?year=2014 # says that the fall 2014 transition was Oct 23 at 24:00. # From Hannah Kreitem (2016-03-09): @@ -2597,8 +2655,8 @@ # # From Paul Eggert (2016-10-19): # It's also consistent with predictions in the following URLs today: -# http://www.timeanddate.com/time/change/gaza-strip/gaza -# http://www.timeanddate.com/time/change/west-bank/hebron +# https://www.timeanddate.com/time/change/gaza-strip/gaza +# https://www.timeanddate.com/time/change/west-bank/hebron # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule EgyptAsia 1957 only - May 10 0:00 1:00 S @@ -2661,7 +2719,7 @@ # Philippines, issued a proclamation announcing that 1844-12-30 was to # be immediately followed by 1845-01-01; see R.H. van Gent's # History of the International Date Line -# http://www.staff.science.uu.nl/~gent0113/idl/idl_philippines.htm +# https://www.staff.science.uu.nl/~gent0113/idl/idl_philippines.htm # The rest of the data entries are from Shanks & Pottenger. # From Jesper Nørgaard Welen (2006-04-26): @@ -2925,7 +2983,7 @@ # We have not found any sources saying anything about when DST ends this year. # # Our summary -# http://www.timeanddate.com/news/time/syria-dst-starts-march-27-2009.html +# https://www.timeanddate.com/news/time/syria-dst-starts-march-27-2009.html # From Steffen Thorsen (2009-10-27): # The Syrian Arab News Network on 2009-09-29 reported that Syria will @@ -2952,7 +3010,7 @@ # http://www.sana.sy/ara/2/2012/03/26/408215.htm # # Our brief summary: -# http://www.timeanddate.com/news/time/syria-dst-2012.html +# https://www.timeanddate.com/news/time/syria-dst-2012.html # From Arthur David Olson (2012-03-27): # Assume last Friday in March going forward XXX. @@ -3035,7 +3093,7 @@ # is quoted verbatim in: # http://www.thoigian.com.vn/?mPage=P80D01 # is translated by Brian Inglis in: -# http://mm.icann.org/pipermail/tz/2014-October/021654.html +# https://mm.icann.org/pipermail/tz/2014-October/021654.html # and is the basis for the information below. # # The 1906 transition was effective July 1 and standardized Indochina to diff -Nru postgresql-9.6-9.6.5/src/timezone/data/australasia postgresql-9.6-9.6.6/src/timezone/data/australasia --- postgresql-9.6-9.6.5/src/timezone/data/australasia 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/timezone/data/australasia 2017-11-06 22:08:55.000000000 +0000 @@ -293,7 +293,7 @@ # http://www.fiji.gov.fj/index.php?option=com_content&view=article&id=1096:3310-cabinet-approves-change-in-daylight-savings-dates&catid=49:cabinet-releases&Itemid=166 # # A bit more background info here: -# http://www.timeanddate.com/news/time/fiji-dst-ends-march-2010.html +# https://www.timeanddate.com/news/time/fiji-dst-ends-march-2010.html # From Alexander Krivenyshev (2010-10-24): # According to Radio Fiji and Fiji Times online, Fiji will end DST 3 @@ -357,9 +357,12 @@ # clocks go forward an hour at 2am to 3am.... Daylight Saving will # end at 3.00am on Sunday 15th January 2017." -# From Paul Eggert (2016-10-03): -# For now, guess DST from 02:00 the first Sunday in November to -# 03:00 the third Sunday in January. Although ad hoc, it matches +# From Paul Eggert (2017-08-21): +# Dominic Fok writes (2017-08-20) that DST ends 2018-01-14, citing +# Extraordinary Government of Fiji Gazette Supplement No. 21 (2017-08-27), +# [Legal Notice No. 41] of an order of the previous day by J Usamate. +# For now, guess DST from 02:00 the first Sunday in November to 03:00 +# the first Sunday on or after January 14. Although ad hoc, it matches # transitions since late 2014 and seems more likely to match future # practice than guessing no DST. @@ -373,7 +376,7 @@ Rule Fiji 2012 2013 - Jan Sun>=18 3:00 0 - Rule Fiji 2014 only - Jan Sun>=18 2:00 0 - Rule Fiji 2014 max - Nov Sun>=1 2:00 1:00 S -Rule Fiji 2015 max - Jan Sun>=15 3:00 0 - +Rule Fiji 2015 max - Jan Sun>=14 3:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva 12:00 Fiji +12/+13 @@ -557,7 +560,7 @@ # The World War II entries below are instead based on Arawa-Kieta. # The Japanese occupied Kieta in July 1942, # according to the Pacific War Online Encyclopedia -# http://pwencycl.kgbudge.com/B/o/Bougainville.htm +# https://pwencycl.kgbudge.com/B/o/Bougainville.htm # and seem to have controlled it until their 1945-08-21 surrender. # # The Autonomous Region of Bougainville switched from UT +10 to +11 @@ -579,7 +582,7 @@ -8:00 - -08 # American Samoa -Zone Pacific/Pago_Pago 12:37:12 - LMT 1879 Jul 5 +Zone Pacific/Pago_Pago 12:37:12 - LMT 1892 Jul 5 -11:22:48 - LMT 1911 -11:00 - SST # S=Samoa Link Pacific/Pago_Pago Pacific/Midway # in US minor outlying islands @@ -595,7 +598,7 @@ # Sunday of April 2011." # # Background info: -# http://www.timeanddate.com/news/time/samoa-dst-plan-2009.html +# https://www.timeanddate.com/news/time/samoa-dst-plan-2009.html # # Samoa's Daylight Saving Time Act 2009 is available here, but does not # contain any dates: @@ -659,7 +662,7 @@ Rule WS 2012 max - Apr Sun>=1 4:00 0 S Rule WS 2012 max - Sep lastSun 3:00 1 D # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Pacific/Apia 12:33:04 - LMT 1879 Jul 5 +Zone Pacific/Apia 12:33:04 - LMT 1892 Jul 5 -11:26:56 - LMT 1911 -11:30 - -1130 1950 -11:00 WS -11/-10 2011 Dec 29 24:00 @@ -686,7 +689,7 @@ # From Paul Eggert (2012-07-25) # A Google Books snippet of Appendix to the Journals of the House of # Representatives of New Zealand, Session 1948, -# , page 65, says Tokelau +# , page 65, says Tokelau # was "11 hours slow on G.M.T." Go with Thorsen and assume Shanks & Pottenger # are off by an hour starting in 1901. @@ -701,8 +704,8 @@ Rule Tonga 2000 only - Mar 19 2:00s 0 - Rule Tonga 2000 2001 - Nov Sun>=1 2:00 1:00 S Rule Tonga 2001 2002 - Jan lastSun 2:00 0 - -Rule Tonga 2016 max - Nov Sun>=1 2:00 1:00 S -Rule Tonga 2017 max - Jan Sun>=15 3:00 0 - +Rule Tonga 2016 only - Nov Sun>=1 2:00 1:00 S +Rule Tonga 2017 only - Jan Sun>=15 3:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Pacific/Tongatapu 12:19:20 - LMT 1901 12:20 - +1220 1941 @@ -756,7 +759,7 @@ # Operation Fishbowl shot (Tightrope, 1962-11-04).... [See] Herman Hoerlin, # "The United States High-Altitude Test Experience: A Review Emphasizing the # Impact on the Environment", Los Alamos LA-6405, Oct 1976. -# http://www.fas.org/sgp/othergov/doe/lanl/docs1/00322994.pdf +# https://www.fas.org/sgp/othergov/doe/lanl/docs1/00322994.pdf # See the table on page 4 where he lists GMT and local times for the tests; a # footnote for the JI tests reads that local time is "JI time = Hawaii Time # Minus One Hour". @@ -822,7 +825,7 @@ # # For data circa 1899, a common source is: # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. -# http://www.jstor.org/stable/1774359 +# https://www.jstor.org/stable/1774359 # # A reliable and entertaining source about time zones is # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997). @@ -969,7 +972,7 @@ # AEST ACST AWST AEDT ACDT # # Parliamentary Library (2008-11-10) -# http://www.aph.gov.au/binaries/library/pubs/rp/2008-09/09rp14.pdf +# https://www.aph.gov.au/binaries/library/pubs/rp/2008-09/09rp14.pdf # EST CST WST preferred for standard time; AEST AEDT ACST ACDT also used # # The Transport Safety Bureau has an extensive series of accident reports, @@ -1005,13 +1008,13 @@ # # NSW (including LHI and Broken Hill): # Standard Time Act 1987 (updated 1995-04-04) -# http://www.austlii.edu.au/au/legis/nsw/consol_act/sta1987137/index.html +# https://www.austlii.edu.au/au/legis/nsw/consol_act/sta1987137/index.html # ACT # Standard Time and Summer Time Act 1972 -# http://www.austlii.edu.au/au/legis/act/consol_act/stasta1972279/index.html +# https://www.austlii.edu.au/au/legis/act/consol_act/stasta1972279/index.html # SA # Standard Time Act, 1898 -# http://www.austlii.edu.au/au/legis/sa/consol_act/sta1898137/index.html +# https://www.austlii.edu.au/au/legis/sa/consol_act/sta1898137/index.html # From David Grosz (2005-06-13): # It was announced last week that Daylight Saving would be extended by @@ -1306,7 +1309,7 @@ # http://abc.net.au/news/regionals/neweng/monthly/regeng-22jul1999-1.htm # (1999-07-22). For now, we'll wait to see if this really happens. # -# Victoria will following NSW. See: +# Victoria will follow NSW. See: # Vic to extend daylight saving (1999-07-28) # http://abc.net.au/local/news/olympics/1999/07/item19990728112314_1.htm # @@ -1409,7 +1412,7 @@ # the ACT for all 52 weeks of the year... # # We have a wrap-up here: -# http://www.timeanddate.com/news/time/south-australia-extends-dst.html +# https://www.timeanddate.com/news/time/south-australia-extends-dst.html ############################################################################### # New Zealand @@ -1463,7 +1466,7 @@ # From Paul Eggert (2014-07-14): # Chatham Island time was formally standardized on 1957-01-01 by # New Zealand's Standard Time Amendment Act 1956 (1956-10-26). -# http://www.austlii.edu.au/nz/legis/hist_act/staa19561956n100244.pdf +# https://www.austlii.edu.au/nz/legis/hist_act/staa19561956n100244.pdf # According to Google Books snippet view, a speaker in the New Zealand # parliamentary debates in 1956 said "Clause 78 makes provision for standard # time in the Chatham Islands. The time there is 45 minutes in advance of New @@ -1578,7 +1581,7 @@ # the Norfolk Island Museum and the Australian Bureau of Meteorology's # Norfolk Island station, and found no record of Norfolk observing DST # other than in 1974/5. See: -# http://www.timeanddate.com/time/australia/norfolk-island.html +# https://www.timeanddate.com/time/australia/norfolk-island.html # Pitcairn @@ -1606,11 +1609,13 @@ # (Western) Samoa and American Samoa -# Howse writes (p 153, citing p 10 of the 1883-11-18 New York Herald) -# that in 1879 the King of Samoa decided to change +# Howse writes (p 153) that after the 1879 standardization on Antipodean +# time by the British governor of Fiji, the King of Samoa decided to change # "the date in his kingdom from the Antipodean to the American system, # ordaining - by a masterpiece of diplomatic flattery - that # the Fourth of July should be celebrated twice in that year." +# This happened in 1892, according to the Evening News (Sydney) of 1892-07-20. +# https://www.staff.science.uu.nl/~gent0113/idl/idl.htm # Although Shanks & Pottenger says they both switched to UT -11:30 # in 1911, and to -11 in 1950. many earlier sources give -11 @@ -1621,6 +1626,7 @@ # day in 2011. Assume also that the Samoas follow the US and New # Zealand's "ST"/"DT" style of daylight-saving abbreviations. + # Tonga # From Paul Eggert (1996-01-22): @@ -1715,6 +1721,15 @@ # Assume Tonga will observe DST from the first Sunday in November at 02:00 # through the third Sunday in January at 03:00, like Fiji, for now. +# From David Wade (2017-10-18): +# In August government was disolved by the King. The current prime minister +# continued in office in care taker mode. It is easy to see that few +# decisions will be made until elections 16th November. +# +# From Paul Eggert (2017-10-18): +# For now, guess that DST is discontinued. That's what the IATA is guessing. + + # Wake # From Vernice Anderson, Personal Secretary to Philip Jessup, @@ -1727,7 +1742,7 @@ # making calculation of time in Washington difficult if not almost # impossible. # -# http://www.trumanlibrary.org/wake/meeting.htm +# https://www.trumanlibrary.org/oralhist/andrsonv.htm # From Paul Eggert (2003-03-23): # We have no other report of DST in Wake Island, so omit this info for now. @@ -1755,7 +1770,7 @@ # an international standard, there are some places on the high seas where the # correct date is ambiguous. -# From Wikipedia (2005-08-31): +# From Wikipedia (2005-08-31): # Before 1920, all ships kept local apparent time on the high seas by setting # their clocks at night or at the morning sight so that, given the ship's # speed and direction, it would be 12 o'clock when the Sun crossed the ship's diff -Nru postgresql-9.6-9.6.5/src/timezone/data/backward postgresql-9.6-9.6.6/src/timezone/data/backward --- postgresql-9.6-9.6.5/src/timezone/data/backward 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/timezone/data/backward 2017-11-06 22:08:55.000000000 +0000 @@ -61,7 +61,9 @@ Link America/Manaus Brazil/West Link America/Halifax Canada/Atlantic Link America/Winnipeg Canada/Central -Link America/Regina Canada/East-Saskatchewan +# This line is commented out, as the name exceeded the 14-character limit +# and was an unused misnomer. +#Link America/Regina Canada/East-Saskatchewan Link America/Toronto Canada/Eastern Link America/Edmonton Canada/Mountain Link America/St_Johns Canada/Newfoundland diff -Nru postgresql-9.6-9.6.5/src/timezone/data/backzone postgresql-9.6-9.6.6/src/timezone/data/backzone --- postgresql-9.6-9.6.5/src/timezone/data/backzone 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/timezone/data/backzone 2017-11-06 22:08:55.000000000 +0000 @@ -181,7 +181,7 @@ # with the date that it took effect, namely 1912-01-01. # Zone Africa/Luanda 0:52:56 - LMT 1892 - 0:52:04 - +005204 1912 Jan 1 + 0:52:04 - LMT 1912 Jan 1 # Luanda Mean Time? 1:00 - WAT # Democratic Republic of the Congo (east) @@ -540,10 +540,10 @@ # Guernsey # Data from Joseph S. Myers -# http://mm.icann.org/pipermail/tz/2013-September/019883.html +# https://mm.icann.org/pipermail/tz/2013-September/019883.html # References to be added -# LMT Location - 49.27N -2.33E - St.Peter Port -Zone Europe/Guernsey -0:09:19 - LMT 1913 Jun 18 +# LMT is for Town Church, St. Peter Port, 49 degrees 27'17"N 2 degrees 32'10"W +Zone Europe/Guernsey -0:10:09 - LMT 1913 Jun 18 0:00 GB-Eire %s 1940 Jul 2 1:00 C-Eur CE%sT 1945 May 8 0:00 GB-Eire %s 1968 Oct 27 @@ -555,11 +555,11 @@ # # From Lester Caine (2013-09-04): # The Isle of Man legislation is now on-line at -# , starting with the original Statutory +# , starting with the original Statutory # Time Act in 1883 and including additional confirmation of some of # the dates of the 'Summer Time' orders originating at # Westminster. There is a little uncertainty as to the starting date -# of the first summer time in 1916 which may have be announced a +# of the first summer time in 1916 which may have been announced a # couple of days late. There is still a substantial number of # documents to work through, but it is thought that every GB change # was also implemented on the island. @@ -574,10 +574,10 @@ # Jersey # Data from Joseph S. Myers -# http://mm.icann.org/pipermail/tz/2013-September/019883.html +# https://mm.icann.org/pipermail/tz/2013-September/019883.html # References to be added -# LMT Location - 49.187N -2.107E - St. Helier -Zone Europe/Jersey -0:08:25 - LMT 1898 Jun 11 16:00u +# LMT is for Parish Church, St. Helier, 49 degrees 11'0.57"N 2 degrees 6'24.33"W +Zone Europe/Jersey -0:08:26 - LMT 1898 Jun 11 16:00u 0:00 GB-Eire %s 1940 Jul 2 1:00 C-Eur CE%sT 1945 May 8 0:00 GB-Eire %s 1968 Oct 27 diff -Nru postgresql-9.6-9.6.5/src/timezone/data/europe postgresql-9.6-9.6.6/src/timezone/data/europe --- postgresql-9.6-9.6.5/src/timezone/data/europe 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/timezone/data/europe 2017-11-06 22:08:55.000000000 +0000 @@ -37,14 +37,14 @@ # [PDF] (1914-03) # # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 -# . He writes: +# . He writes: # "It is requested that corrections and additions to these tables # may be sent to Mr. John Milne, Royal Geographical Society, # Savile Row, London." Nowadays please email them to tz@iana.org. # # Byalokoz EL. New Counting of Time in Russia since July 1, 1919. # This Russian-language source was consulted by Vladimir Karpinsky; see -# http://mm.icann.org/pipermail/tz/2014-August/021320.html +# https://mm.icann.org/pipermail/tz/2014-August/021320.html # The full Russian citation is: # Бялокоз, Евгений Людвигович. Новый счет времени в течении суток # введенный декретом Совета народных комиссаров для всей России с 1-го @@ -187,7 +187,7 @@ # foundations of civilization throughout the world. # -- "A Silent Toast to William Willett", Pictorial Weekly; # republished in Finest Hour (Spring 2002) 1(114):26 -# http://www.winstonchurchill.org/images/finesthour/Vol.01%20No.114.pdf +# https://www.winstonchurchill.org/publications/finest-hour/finest-hour-114/a-silent-toast-to-william-willett-by-winston-s-churchill # From Paul Eggert (2015-08-08): # The OED Supplement says that the English originally said "Daylight Saving" @@ -225,8 +225,8 @@ # official designation; the reply of the 21st was that there wasn't # but he couldn't think of anything better than the "Double British # Summer Time" that the BBC had been using informally. -# http://www.polyomino.org.uk/british-time/bbc-19410418.png -# http://www.polyomino.org.uk/british-time/ho-19410421.png +# https://www.polyomino.org.uk/british-time/bbc-19410418.png +# https://www.polyomino.org.uk/british-time/ho-19410421.png # From Sir Alexander Maxwell in the above-mentioned letter (1941-04-21): # [N]o official designation has as far as I know been adopted for the time @@ -243,13 +243,13 @@ # the history of summer time legislation in the United Kingdom. # Since 1998 Joseph S. Myers has been updating # and extending this list, which can be found in -# http://www.polyomino.org.uk/british-time/ +# https://www.polyomino.org.uk/british-time/ # From Joseph S. Myers (1998-01-06): # # The legal time in the UK outside of summer time is definitely GMT, not UTC; # see Lord Tanlaw's speech -# http://www.publications.parliament.uk/pa/ld199798/ldhansrd/vo970611/text/70611-10.htm#70611-10_head0 +# https://www.publications.parliament.uk/pa/ld199798/ldhansrd/vo970611/text/70611-10.htm#70611-10_head0 # (Lords Hansard 11 June 1997 columns 964 to 976). # From Paul Eggert (2006-03-22): @@ -295,7 +295,7 @@ # Irish 'public feeling (was) outraged by forcing of English time on us'." # -- Parsons M. Dublin lost its time zone - and 25 minutes - after 1916 Rising. # Irish Times 2014-10-27. -# http://www.irishtimes.com/news/politics/dublin-lost-its-time-zone-and-25-minutes-after-1916-rising-1.1977411 +# https://www.irishtimes.com/news/politics/dublin-lost-its-time-zone-and-25-minutes-after-1916-rising-1.1977411 # From Joseph S. Myers (2005-01-26): # Irish laws are available online at . @@ -348,6 +348,12 @@ # Justice (tel +353 1 678 9711) who confirmed to me that the correct name is # "Irish Summer Time", abbreviated to "IST". +# Michael Deckers (2017-06-01) gave the following URLs for Ireland's +# Summer Time Act, 1925 and Summer Time Orders, 1926 and 1947: +# http://www.irishstatutebook.ie/eli/1925/act/8/enacted/en/print.html +# http://www.irishstatutebook.ie/eli/1926/sro/919/made/en/print.html +# http://www.irishstatutebook.ie/eli/1947/sro/71/made/en/print.html + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Summer Time Act, 1916 Rule GB-Eire 1916 only - May 21 2:00s 1:00 BST @@ -472,14 +478,14 @@ # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Europe/Dublin -0:25:00 - LMT 1880 Aug 2 - -0:25:21 - DMT 1916 May 21 2:00 # Dublin MT + -0:25:21 - DMT 1916 May 21 2:00s # Dublin MT -0:25:21 1:00 IST 1916 Oct 1 2:00s 0:00 GB-Eire %s 1921 Dec 6 # independence - 0:00 GB-Eire GMT/IST 1940 Feb 25 2:00 - 0:00 1:00 IST 1946 Oct 6 2:00 - 0:00 - GMT 1947 Mar 16 2:00 - 0:00 1:00 IST 1947 Nov 2 2:00 - 0:00 - GMT 1948 Apr 18 2:00 + 0:00 GB-Eire GMT/IST 1940 Feb 25 2:00s + 0:00 1:00 IST 1946 Oct 6 2:00s + 0:00 - GMT 1947 Mar 16 2:00s + 0:00 1:00 IST 1947 Nov 2 2:00s + 0:00 - GMT 1948 Apr 18 2:00s 0:00 GB-Eire GMT/IST 1968 Oct 27 1:00 - IST 1971 Oct 31 2:00u 0:00 GB-Eire GMT/IST 1996 @@ -625,7 +631,7 @@ # Council of Ministers of the USSR from 1989-03-14 No. 227. # # I did not find full texts of these acts. For the 1989 one we have -# title at http://base.garant.ru/70754136/ : +# title at https://base.garant.ru/70754136/ : # "About change in calculation of time on the territories of # Lithuanian SSR, Latvian SSR and Estonian SSR, Astrakhan, # Kaliningrad, Kirov, Kuybyshev, Ulyanovsk and Uralsk oblasts". @@ -656,7 +662,7 @@ # http://bmockbe.ru/events/?ID=7583 # # Medvedev signed a law on the calculation of the time (in russian): -# http://www.regnum.ru/news/polit/1413906.html +# https://www.regnum.ru/news/polit/1413906.html # From Arthur David Olson (2011-06-15): # Take "abolishing daylight saving time" to mean that time is now considered @@ -783,7 +789,7 @@ # Sources (Russian language): # http://www.belta.by/ru/all_news/society/V-Belarusi-otmenjaetsja-perexod-na-sezonnoe-vremja_i_572952.html # http://naviny.by/rubrics/society/2011/09/16/ic_articles_116_175144/ -# http://news.tut.by/society/250578.html +# https://news.tut.by/society/250578.html # # From Alexander Bokovoy (2014-10-09): # Belarussian government decided against changing to winter time.... @@ -1104,7 +1110,7 @@ # for their standard and summer times. He says no, they use "suveaeg" # (summer time) and "talveaeg" (winter time). -# From The Baltic Times (1999-09-09) +# From The Baltic Times (1999-09-09) # via Steffen Thorsen: # This year will mark the last time Estonia shifts to summer time, # a council of the ruling coalition announced Sept. 6.... @@ -1156,7 +1162,7 @@ # This is documented in Heikki Oja: Aikakirja 2007, published by The Almanac # Office of University of Helsinki, ISBN 952-10-3221-9, available online (in # Finnish) at -# http://almanakka.helsinki.fi/aikakirja/Aikakirja2007kokonaan.pdf +# https://almanakka.helsinki.fi/aikakirja/Aikakirja2007kokonaan.pdf # # Page 105 (56 in PDF version) has a handy table of all past daylight savings # transitions. It is easy enough to interpret without Finnish skills. @@ -1169,7 +1175,7 @@ # From Konstantin Hyppönen (2014-06-13): # [Heikki Oja's book Aikakirja 2013] -# http://almanakka.helsinki.fi/images/aikakirja/Aikakirja2013kokonaan.pdf +# https://almanakka.helsinki.fi/images/aikakirja/Aikakirja2013kokonaan.pdf # pages 104-105, including a scan from a newspaper published on Apr 2 1942 # say that ... [o]n Apr 2 1942, 24 o'clock (which means Apr 3 1942, # 00:00), clocks were moved one hour forward. The newspaper @@ -1299,7 +1305,7 @@ # From Jörg Schilling (2002-10-23): # In 1945, Berlin was switched to Moscow Summer time (GMT+4) by -# http://www.dhm.de/lemo/html/biografien/BersarinNikolai/ +# https://www.dhm.de/lemo/html/biografien/BersarinNikolai/ # General [Nikolai] Bersarin. # From Paul Eggert (2003-03-08): @@ -1524,7 +1530,7 @@ # From Paul Eggert (2016-10-27): # Go with INRiM for DST rules, except as corrected by Inglis for 1944 # for the Kingdom of Italy. This is consistent with Renzo Baldini. -# Model Rome's occupation by using using C-Eur rules from 1943-09-10 +# Model Rome's occupation by using C-Eur rules from 1943-09-10 # to 1944-06-04; although Rome was an open city during this period, it # was effectively controlled by Germany. # @@ -1839,14 +1845,14 @@ # Following Moldova and neighboring Ukraine- Transnistria (Pridnestrovie)- # Tiraspol will go back to winter time on October 30, 2011. # News from Moldova (in russian): -# http://ru.publika.md/link_317061.html +# https://ru.publika.md/link_317061.html # From Roman Tudos (2015-07-02): # http://lex.justice.md/index.php?action=view&view=doc&lang=1&id=355077 # From Paul Eggert (2015-07-01): # The abovementioned official link to IGO1445-868/2014 states that # 2014-10-26's fallback transition occurred at 03:00 local time. Also, -# http://www.trm.md/en/social/la-30-martie-vom-trece-la-ora-de-vara +# https://www.trm.md/en/social/la-30-martie-vom-trece-la-ora-de-vara # says the 2014-03-30 spring-forward transition was at 02:00 local time. # Guess that since 1997 Moldova has switched one hour before the EU. @@ -1918,7 +1924,7 @@ # Amsterdam mean time. # The data entries before 1945 are taken from -# http://www.staff.science.uu.nl/~gent0113/wettijd/wettijd.htm +# https://www.staff.science.uu.nl/~gent0113/wettijd/wettijd.htm # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Neth 1916 only - May 1 0:00 1:00 NST # Netherlands Summer Time @@ -1999,7 +2005,7 @@ # so it must have diverged from Oslo time during the war, as Oslo was # keeping Berlin time. # -# says that the meteorologists +# says that the meteorologists # burned down their station in 1940 and left the island, but returned in # 1941 with a small Norwegian garrison and continued operations despite # frequent air attacks from Germans. In 1943 the Americans established a @@ -2037,7 +2043,7 @@ Rule Poland 1945 only - Nov 1 0:00 0 - # For 1946 on the source is Kazimierz Borkowski, # Toruń Center for Astronomy, Dept. of Radio Astronomy, Nicolaus Copernicus U., -# http://www.astro.uni.torun.pl/~kb/Artykuly/U-PA/Czas2.htm#tth_tAb1 +# https://www.astro.uni.torun.pl/~kb/Artykuly/U-PA/Czas2.htm#tth_tAb1 # Thanks to Przemysław Augustyniak (2005-05-28) for this reference. # He also gives these further references: # Mon Pol nr 13, poz 162 (1995) @@ -2071,7 +2077,7 @@ # # From Paul Eggert (2014-08-11), after a heads-up from Stephen Colebourne: # According to a Portuguese decree (1911-05-26) -# http://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf +# https://dre.pt/application/dir/pdf1sdip/1911/05/12500/23132313.pdf # Lisbon was at -0:36:44.68, but switched to GMT on 1912-01-01 at 00:00. # Round the old offset to -0:36:45. This agrees with Willett but disagrees # with Shanks, who says the transition occurred on 1911-05-24 at 00:00 for @@ -2253,7 +2259,7 @@ # 2011 No. 725" and contains no other dates or "effective date" information. # # Another source is -# http://www.rg.ru/2011/09/06/chas-zona-dok.html +# https://rg.ru/2011/09/06/chas-zona-dok.html # which, according to translate.google.com, begins "Resolution of the # Government of the Russian Federation on August 31, 2011 N 725" and also # contains "Date first official publication: September 6, 2011 Posted on: @@ -2261,7 +2267,7 @@ # does not contain any "effective date" information. # # Another source is -# http://en.wikipedia.org/wiki/Oymyakonsky_District#cite_note-RuTime-7 +# https://en.wikipedia.org/wiki/Oymyakonsky_District#cite_note-RuTime-7 # which, in note 8, contains "Resolution No. 725 of August 31, 2011... # Effective as of after 7 days following the day of the official publication" # but which does not contain any reference to September 6, 2011. @@ -2297,7 +2303,7 @@ # http://itar-tass.com/obschestvo/1333711 # http://www.pravo.gov.ru:8080/page.aspx?111660 # http://www.kremlin.ru/acts/46279 -# From October 26, 2014 the new Russian time zone map will looks like this: +# From October 26, 2014 the new Russian time zone map will look like this: # http://www.worldtimezone.com/dst_news/dst_news_russia-map-2014-07.html # From Paul Eggert (2006-03-22): @@ -2344,7 +2350,7 @@ # with maintenance only and represent our best guesses as to which regions # are covered by each zone. They are not meant to be taken as an authoritative # listing. The region codes listed come from -# http://en.wikipedia.org/w/?title=Federal_subjects_of_Russia&oldid=611810498 +# https://en.wikipedia.org/w/?title=Federal_subjects_of_Russia&oldid=611810498 # and are used for convenience only; no guarantees are made regarding their # future stability. ISO 3166-2:RU codes are also listed for first-level # divisions where available. @@ -2509,7 +2515,7 @@ # http://www.kaliningradka.ru/site_pc/cherez/index.php?ELEMENT_ID=40091 # says that Kaliningrad decided not to be an exception 2 days before the # 1991-03-31 switch and one person at -# http://izhevsk.ru/forum_light_message/50/682597-m8369040.html +# https://izhevsk.ru/forum_light_message/50/682597-m8369040.html # says he remembers that Samara opted out of the 1992-01-19 exception # 2 days before the switch. # @@ -2581,7 +2587,7 @@ 3:00 - MSK 1997 Mar lastSun 1:00u # From Alexander Krivenyshev (2014-03-17): # time change at 2:00 (2am) on March 30, 2014 -# http://vz.ru/news/2014/3/17/677464.html +# https://vz.ru/news/2014/3/17/677464.html # From Paul Eggert (2014-03-30): # Simferopol and Sevastopol reportedly changed their central town clocks # late the previous day, but this appears to have been ceremonial @@ -2764,7 +2770,7 @@ # suggests that Altai Republic transitioned to Moscow+3 on # 1995-05-28. # -# http://regnum.ru/news/society/1957270.html +# https://regnum.ru/news/society/1957270.html # has some historical data for Altai Krai: # before 1957: west part on UTC+6, east on UTC+7 # after 1957: UTC+7 @@ -3138,8 +3144,8 @@ # districts, but have very similar populations. In fact, Wikipedia currently # lists them both as having 3528 people, exactly 1668 males and 1860 females # each! (Yikes!) -# http://en.wikipedia.org/w/?title=Srednekolymsky_District&oldid=603435276 -# http://en.wikipedia.org/w/?title=Verkhnekolymsky_District&oldid=594378493 +# https://en.wikipedia.org/w/?title=Srednekolymsky_District&oldid=603435276 +# https://en.wikipedia.org/w/?title=Verkhnekolymsky_District&oldid=594378493 # Assume this is a mistake, albeit an amusing one. # # Looking at censuses, the populations of the two municipalities seem to have @@ -3460,7 +3466,7 @@ # # From Alois Treindl (2013-09-11): # The Federal regulations say -# http://www.admin.ch/opc/de/classified-compilation/20071096/index.html +# https://www.admin.ch/opc/de/classified-compilation/20071096/index.html # ... the meridian for Bern mean time ... is 7 degrees 26' 22.50". # Expressed in time, it is 0h29m45.5s. @@ -3537,9 +3543,9 @@ # According to the articles linked below, Turkey will change into summer # time zone (GMT+3) on March 28, 2011 at 3:00 a.m. instead of March 27. # This change is due to a nationwide exam on 27th. -# http://www.worldbulletin.net/?aType=haber&ArticleID=70872 +# https://www.worldbulletin.net/?aType=haber&ArticleID=70872 # Turkish: -# http://www.hurriyet.com.tr/ekonomi/17230464.asp?gid=373 +# https://www.hurriyet.com.tr/yaz-saati-uygulamasi-bir-gun-ileri-alindi-17230464 # From Faruk Pasin (2014-02-14): # The DST for Turkey has been changed for this year because of the @@ -3675,7 +3681,7 @@ # http://www.segodnya.ua/news/14290482.html # # Deputies cancelled the winter time (in Russian) -# http://www.pravda.com.ua/rus/news/2011/09/20/6600616/ +# https://www.pravda.com.ua/rus/news/2011/09/20/6600616/ # # From Philip Pizzey (2011-10-18): # Today my Ukrainian colleagues have informed me that the diff -Nru postgresql-9.6-9.6.5/src/timezone/data/northamerica postgresql-9.6-9.6.6/src/timezone/data/northamerica --- postgresql-9.6-9.6.5/src/timezone/data/northamerica 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/timezone/data/northamerica 2017-11-06 22:08:55.000000000 +0000 @@ -105,10 +105,13 @@ # Last night I heard part of a rebroadcast of a 1945 Arch Oboler radio drama. # In the introduction, Oboler spoke of "Eastern Peace Time." # An AltaVista search turned up: -# http://rowayton.org/rhs/hstaug45.html +# https://web.archive.org/web/20000926032210/http://rowayton.org/rhs/hstaug45.html # "When the time is announced over the radio now, it is 'Eastern Peace # Time' instead of the old familiar 'Eastern War Time.' Peace is wonderful." # (August 1945) by way of confirmation. +# +# From Paul Eggert (2017-09-23): +# This was the V-J Day issue of the Clamdigger, a Rowayton, CT newsletter. # From Joseph Gallant citing # George H. Douglas, _The Early Days of Radio Broadcasting_ (1987): @@ -257,7 +260,7 @@ # HST and HDT are standardized abbreviations for Hawaii-Aleutian # standard and daylight times. See section 9.47 (p 234) of the # U.S. Government Printing Office Style Manual (2008) -# http://www.gpo.gov/fdsys/pkg/GPO-STYLEMANUAL-2008/pdf/GPO-STYLEMANUAL-2008.pdf +# https://www.gpo.gov/fdsys/pkg/GPO-STYLEMANUAL-2008/pdf/GPO-STYLEMANUAL-2008.pdf # From Arthur David Olson, 2005-08-09 # The following was signed into law on 2005-08-08. @@ -346,7 +349,7 @@ # western Tennessee, most of Texas, Wisconsin # From Larry M. Smith (2006-04-26) re Wisconsin: -# http://www.legis.state.wi.us/statutes/Stat0175.pdf ... +# https://docs.legis.wisconsin.gov/statutes/statutes/175.pdf # is currently enforced at the 01:00 time of change. Because the local # "bar time" in the state corresponds to 02:00, a number of citations # are issued for the "sale of class 'B' alcohol after prohibited @@ -355,7 +358,7 @@ # From Douglas R. Bomberg (2007-03-12): # Wisconsin has enacted (nearly eleventh-hour) legislation to get WI # Statue 175 closer in synch with the US Congress' intent.... -# http://www.legis.state.wi.us/2007/data/acts/07Act3.pdf +# https://docs.legis.wisconsin.gov/2007/related/acts/3 # From an email administrator of the City of Fort Pierre, SD (2015-12-21): # Fort Pierre is technically located in the Mountain time zone as is @@ -402,7 +405,7 @@ # ...it appears that Mercer County, North Dakota, changed from the # mountain time zone to the central time zone at the last transition from # daylight-saving to standard time (on Nov. 7, 2010): -# http://www.gpo.gov/fdsys/pkg/FR-2010-09-29/html/2010-24376.htm +# https://www.gpo.gov/fdsys/pkg/FR-2010-09-29/html/2010-24376.htm # http://www.bismarcktribune.com/news/local/article_1eb1b588-c758-11df-b472-001cc4c03286.html # From Andy Lipscomb (2011-01-24): @@ -453,7 +456,7 @@ # legal time, and is not part of the data here.) See: # Ross SA. An energy crisis from the past: Northern California in 1948. # Working Paper No. 8, Institute of Governmental Studies, UC Berkeley, -# 1973-11. http://escholarship.org/uc/item/8x22k30c +# 1973-11. https://escholarship.org/uc/item/8x22k30c # # In another measure to save electricity, DST was instituted from 1948-03-14 # at 02:01 to 1949-01-16 at 02:00, with the governor having the option to move @@ -474,8 +477,8 @@ # which established DST from April's last Sunday at 01:00 until September's # last Sunday at 02:00. This was amended by 1962's Proposition 6, which changed # the fall-back date to October's last Sunday. See: -# http://repository.uchastings.edu/cgi/viewcontent.cgi?article=1501&context=ca_ballot_props -# http://repository.uchastings.edu/cgi/viewcontent.cgi?article=1636&context=ca_ballot_props +# https://repository.uchastings.edu/cgi/viewcontent.cgi?article=1501&context=ca_ballot_props +# https://repository.uchastings.edu/cgi/viewcontent.cgi?article=1636&context=ca_ballot_props # # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER Rule CA 1948 only - Mar 14 2:01 1:00 D @@ -492,20 +495,31 @@ # Alaska # AK%sT is the modern abbreviation for -09 per USNO. # -# From Paul Eggert (2001-05-30): +# From Paul Eggert (2017-06-15): # Howse writes that Alaska switched from the Julian to the Gregorian calendar, # and from east-of-GMT to west-of-GMT days, when the US bought it from Russia. -# This was on 1867-10-18, a Friday; the previous day was 1867-10-06 Julian, -# also a Friday. Include only the time zone part of this transition, -# ignoring the switch from Julian to Gregorian, since we can't represent -# the Julian calendar. +# On Friday, 1867-10-18 (Gregorian), at precisely 15:30 local time, the +# Russian forts and fleet at Sitka fired salutes to mark the ceremony of +# formal transfer. See the Sacramento Daily Union (1867-11-14), p 3, col 2. +# https://cdnc.ucr.edu/cgi-bin/cdnc?a=d&d=SDU18671114.2.12.1 +# Sitka workers did not change their calendars until Sunday, 1867-10-20, +# and so celebrated two Sundays that week. See: Ahllund T (tr Hallamaa P). +# From the memoirs of a Finnish workman. Alaska History. 2006 Fall;21(2):1-25. +# http://alaskahistoricalsociety.org/wp-content/uploads/2016/12/Ahllund-2006-Memoirs-of-a-Finnish-Workman.pdf +# Include only the time zone part of this transition, ignoring the switch +# from Julian to Gregorian, since we can't represent the Julian calendar. # -# As far as we know, none of the exact locations mentioned below were +# As far as we know, of the locations mentioned below only Sitka was # permanently inhabited in 1867 by anyone using either calendar. -# (Yakutat was colonized by the Russians in 1799, but the settlement -# was destroyed in 1805 by a Yakutat-kon war party.) However, there -# were nearby inhabitants in some cases and for our purposes perhaps -# it's best to simply use the official transition. +# (Yakutat was colonized by the Russians in 1799, but the settlement was +# destroyed in 1805 by a Yakutat-kon war party.) Many of Alaska's inhabitants +# were unaware of the US acquisition of Alaska, much less of any calendar or +# time change. However, the Russian-influenced part of Alaska did observe +# Russian time, and it is more accurate to model this than to ignore it. +# The database format requires an exact transition time; use the Russian +# salute as a somewhat-arbitrary time for the formal transfer of control for +# all of Alaska. Sitka's UTC offset is -9:01:13; adjust its 15:30 to the +# local times of other Alaskan locations so that they change simultaneously. # From Paul Eggert (2014-07-18): # One opinion of the early-1980s turmoil in Alaska over time zones and @@ -558,10 +572,10 @@ # It seems Metlakatla did go off PST on Sunday, November 1, changing # their time to AKST and are going to follow Alaska's DST, switching # between AKST and AKDT from now on.... -# http://www.krbd.org/2015/10/30/annette-island-times-they-are-a-changing/ +# https://www.krbd.org/2015/10/30/annette-island-times-they-are-a-changing/ # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone America/Juneau 15:02:19 - LMT 1867 Oct 18 +Zone America/Juneau 15:02:19 - LMT 1867 Oct 19 15:33:32 -8:57:41 - LMT 1900 Aug 20 12:00 -8:00 - PST 1942 -8:00 US P%sT 1946 @@ -571,7 +585,7 @@ -8:00 US P%sT 1983 Oct 30 2:00 -9:00 US Y%sT 1983 Nov 30 -9:00 US AK%sT -Zone America/Sitka 14:58:47 - LMT 1867 Oct 18 +Zone America/Sitka 14:58:47 - LMT 1867 Oct 19 15:30 -9:01:13 - LMT 1900 Aug 20 12:00 -8:00 - PST 1942 -8:00 US P%sT 1946 @@ -579,7 +593,7 @@ -8:00 US P%sT 1983 Oct 30 2:00 -9:00 US Y%sT 1983 Nov 30 -9:00 US AK%sT -Zone America/Metlakatla 15:13:42 - LMT 1867 Oct 18 +Zone America/Metlakatla 15:13:42 - LMT 1867 Oct 19 15:44:55 -8:46:18 - LMT 1900 Aug 20 12:00 -8:00 - PST 1942 -8:00 US P%sT 1946 @@ -587,14 +601,14 @@ -8:00 US P%sT 1983 Oct 30 2:00 -8:00 - PST 2015 Nov 1 2:00 -9:00 US AK%sT -Zone America/Yakutat 14:41:05 - LMT 1867 Oct 18 +Zone America/Yakutat 14:41:05 - LMT 1867 Oct 19 15:12:18 -9:18:55 - LMT 1900 Aug 20 12:00 -9:00 - YST 1942 -9:00 US Y%sT 1946 -9:00 - YST 1969 -9:00 US Y%sT 1983 Nov 30 -9:00 US AK%sT -Zone America/Anchorage 14:00:24 - LMT 1867 Oct 18 +Zone America/Anchorage 14:00:24 - LMT 1867 Oct 19 14:31:37 -9:59:36 - LMT 1900 Aug 20 12:00 -10:00 - AST 1942 -10:00 US A%sT 1967 Apr @@ -602,7 +616,7 @@ -10:00 US AH%sT 1983 Oct 30 2:00 -9:00 US Y%sT 1983 Nov 30 -9:00 US AK%sT -Zone America/Nome 12:58:21 - LMT 1867 Oct 18 +Zone America/Nome 12:58:22 - LMT 1867 Oct 19 13:29:35 -11:01:38 - LMT 1900 Aug 20 12:00 -11:00 - NST 1942 -11:00 US N%sT 1946 @@ -611,7 +625,7 @@ -11:00 US B%sT 1983 Oct 30 2:00 -9:00 US Y%sT 1983 Nov 30 -9:00 US AK%sT -Zone America/Adak 12:13:21 - LMT 1867 Oct 18 +Zone America/Adak 12:13:22 - LMT 1867 Oct 19 12:44:35 -11:46:38 - LMT 1900 Aug 20 12:00 -11:00 - NST 1942 -11:00 US N%sT 1946 @@ -647,7 +661,7 @@ # "Hawaiian Time" by Robert C. Schmitt and Doak C. Cox appears on pages 207-225 # of volume 26 of The Hawaiian Journal of History (1992). As of 2010-12-09, # the article is available at -# http://evols.library.manoa.hawaii.edu/bitstream/10524/239/2/JL26215.pdf +# https://evols.library.manoa.hawaii.edu/bitstream/10524/239/2/JL26215.pdf # and indicates that standard time was adopted effective noon, January # 13, 1896 (page 218), that in "1933, the Legislature decreed daylight # saving for the period between the last Sunday of each April and the @@ -746,7 +760,7 @@ # Indiana # # For a map of Indiana's time zone regions, see: -# http://en.wikipedia.org/wiki/Time_in_Indiana +# https://en.wikipedia.org/wiki/Time_in_Indiana # # From Paul Eggert (2007-08-17): # Since 1970, most of Indiana has been like America/Indiana/Indianapolis, @@ -973,7 +987,7 @@ # From Paul Eggert (2001-07-16): # The final rule was published in the # Federal Register 65, 160 (2000-08-17), pp 50154-50158. -# http://frwebgate.access.gpo.gov/cgi-bin/getdoc.cgi?dbname=2000_register&docid=fr17au00-22 +# https://www.gpo.gov/fdsys/pkg/FR-2000-08-17/html/00-20854.htm # Zone America/Kentucky/Monticello -5:39:24 - LMT 1883 Nov 18 12:20:36 -6:00 US C%sT 1946 @@ -999,7 +1013,7 @@ # West Wendover, NV officially switched from Pacific to mountain time on # 1999-10-31. See the # Federal Register 64, 203 (1999-10-21), pp 56705-56707. -# http://frwebgate.access.gpo.gov/cgi-bin/getdoc.cgi?dbname=1999_register&docid=fr21oc99-15 +# https://www.gpo.gov/fdsys/pkg/FR-1999-10-21/html/99-27240.htm # However, the Federal Register says that West Wendover already operated # on mountain time, and the rule merely made this official; # hence a separate tz entry is not needed. @@ -1029,12 +1043,23 @@ # one hour in 1914." This change is not in Shanks. We have no more # info, so omit this for now. # +# From Paul Eggert (2017-07-26): +# Although Shanks says Detroit observed DST in 1967 from 06-14 00:01 +# until 10-29 00:01, I now see multiple reports that this is incorrect. +# For example, according to a 50-year anniversary report about the 1967 +# Detroit riots and a major-league doubleheader on 1967-07-23, "By the time +# the last fly ball of the doubleheader settled into the glove of leftfielder +# Lenny Green, it was after 7 p.m. Detroit did not observe daylight saving +# time, so light was already starting to fail. Twilight was made even deeper +# by billowing columns of smoke that ascended in an unbroken wall north of the +# ballpark." See: Dow B. Detroit '67: As violence unfolded, Tigers played two +# at home vs. Yankees. Detroit Free Press 2017-07-23. +# https://www.freep.com/story/sports/mlb/tigers/2017/07/23/detroit-tigers-1967-riot-new-york-yankees/499951001/ +# # Most of Michigan observed DST from 1973 on, but was a bit late in 1975. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER Rule Detroit 1948 only - Apr lastSun 2:00 1:00 D Rule Detroit 1948 only - Sep lastSun 2:00 0 S -Rule Detroit 1967 only - Jun 14 2:00 1:00 D -Rule Detroit 1967 only - Oct lastSun 2:00 0 S # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Detroit -5:32:11 - LMT 1905 -6:00 - CST 1915 May 15 2:00 @@ -1098,7 +1123,7 @@ # [PDF] (1914-03) # # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 -# . +# . # # See the 'europe' file for Greenland. @@ -1144,19 +1169,19 @@ # The British Columbia government announced yesterday that it will # adjust daylight savings next year to align with changes in the # U.S. and the rest of Canada.... -# http://www2.news.gov.bc.ca/news_releases_2005-2009/2006AG0014-000330.htm +# https://archive.news.gov.bc.ca/releases/news_releases_2005-2009/2006AG0014-000330.htm # ... # Nova Scotia # Daylight saving time will be extended by four weeks starting in 2007.... -# http://www.gov.ns.ca/just/regulations/rg2/2006/ma1206.pdf +# https://www.novascotia.ca/just/regulations/rg2/2006/ma1206.pdf # # [For New Brunswick] the new legislation dictates that the time change is to # be done at 02:00 instead of 00:01. -# http://www.gnb.ca/0062/acts/BBA-2006/Chap-19.pdf +# https://www.gnb.ca/0062/acts/BBA-2006/Chap-19.pdf # ... # Manitoba has traditionally changed the clock every fall at 03:00. # As of 2006, the transition is to take place one hour earlier at 02:00. -# http://web2.gov.mb.ca/laws/statutes/ccsm/o030e.php +# https://web2.gov.mb.ca/laws/statutes/ccsm/o030e.php # ... # [Alberta, Ontario, Quebec] will follow US rules. # http://www.qp.gov.ab.ca/documents/spring/CH03_06.CFM @@ -1170,7 +1195,7 @@ # http://www.hoa.gov.nl.ca/hoa/bills/Bill0634.htm # ... # Yukon -# http://www.gov.yk.ca/legislation/regs/oic2006_127.pdf +# https://www.gov.yk.ca/legislation/regs/oic2006_127.pdf # ... # N.W.T. will follow US rules. Whoever maintains the government web site # does not seem to believe in bookmarks. To see the news release, click the @@ -1191,8 +1216,8 @@ # time and daylight saving time arrangements in Canada circa 1998. # # National Research Council Canada maintains info about time zones and DST. -# http://www.nrc-cnrc.gc.ca/eng/services/time/time_zones.html -# http://www.nrc-cnrc.gc.ca/eng/services/time/faq/index.html#Q5 +# https://www.nrc-cnrc.gc.ca/eng/services/time/time_zones.html +# https://www.nrc-cnrc.gc.ca/eng/services/time/faq/index.html#Q5 # Its unofficial information is often taken from Matthews and Vincent. # From Paul Eggert (2006-06-27): @@ -1229,11 +1254,13 @@ # Newfoundland and Labrador -# From Paul Eggert (2000-10-02): -# Matthews and Vincent (1998) write that Labrador should use NST/NDT, -# but the only part of Labrador that follows the rules is the -# southeast corner, including Port Hope Simpson and Mary's Harbour, -# but excluding, say, Black Tickle. +# From Paul Eggert (2017-10-14): +# Legally Labrador should observe Newfoundland time; see: +# McLeod J. Labrador time - legal or not? St. John's Telegram, 2017-10-07 +# http://www.thetelegram.com/news/local/labrador-time--legal-or-not-154860/ +# Matthews and Vincent (1998) write that the only part of Labrador +# that follows the rules is the southeast corner, including Port Hope +# Simpson and Mary's Harbour, but excluding, say, Black Tickle. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule StJohns 1917 only - Apr 8 2:00 1:00 D @@ -1433,7 +1460,7 @@ # http://www.justice.gouv.qc.ca/english/publications/generale/temps-minganie-a.htm # that the coastal strip from just east of Natashquan to Blanc-Sablon # observes Atlantic standard time all year round. -# http://www.assnat.qc.ca/Media/Process.aspx?MediaId=ANQ.Vigie.Bll.DocumentGenerique_8845en +# https://www.assnat.qc.ca/Media/Process.aspx?MediaId=ANQ.Vigie.Bll.DocumentGenerique_8845en # says this common practice was codified into law as of 2007. # For lack of better info, guess this practice began around 1970, contra to # Shanks & Pottenger who have this region observing AST/ADT. @@ -1465,6 +1492,11 @@ # earlier in June). # # Kenora, Ontario, was to abandon DST on 1914-06-01 (-05-21). +# +# From Paul Eggert (2017-07-08): +# For more on Orillia, see: Daubs K. Bold attempt at daylight saving +# time became a comic failure in Orillia. Toronto Star 2017-07-08. +# https://www.thestar.com/news/insight/2017/07/08/bold-attempt-at-daylight-saving-time-became-a-comic-failure-in-orillia.html # From Paul Eggert (1997-10-17): # Mark Brader writes that an article in the 1997-10-14 Toronto Star @@ -1956,7 +1988,7 @@ # * 1967. Paragraph 28(34)(g) of the Interpretation Act, S.C. 1967-68, # c. 7 defines Yukon standard time as UTC-9.... # see Interpretation Act, R.S.C. 1985, c. I-21, s. 35(1). -# [http://canlii.ca/t/7vhg] +# [https://www.canlii.org/en/ca/laws/stat/rsc-1985-c-i-21/latest/rsc-1985-c-i-21.html] # * C.O. 1973/214 switched Yukon to PST on 1973-10-28 00:00. # * O.I.C. 1980/02 established DST. # * O.I.C. 1987/056 changed DST to Apr firstSun 2:00 to Oct lastSun 2:00. @@ -2021,7 +2053,7 @@ # hours behind Greenwich Time. # # * Yukon Standard Time defined as Pacific Standard Time, YCO 1973/214 -# http://www.canlii.org/en/yk/laws/regu/yco-1973-214/latest/yco-1973-214.html +# https://www.canlii.org/en/yk/laws/regu/yco-1973-214/latest/yco-1973-214.html # C.O. 1973/214 INTERPRETATION ACT ... # # 1. Effective October 28, 1973 Commissioner's Order 1967/59 is hereby @@ -2036,7 +2068,7 @@ # http://? - no online source found # # * Yukon Daylight Saving Time, YOIC 1987/56 -# http://www.canlii.org/en/yk/laws/regu/yoic-1987-56/latest/yoic-1987-56.html +# https://www.canlii.org/en/yk/laws/regu/yoic-1987-56/latest/yoic-1987-56.html # O.I.C. 1987/056 INTERPRETATION ACT ... # # In every year between @@ -2048,7 +2080,7 @@ # Dated ... 9th day of March, A.D., 1987. # # * Yukon Daylight Saving Time 2006, YOIC 2006/127 -# http://www.canlii.org/en/yk/laws/regu/yoic-2006-127/latest/yoic-2006-127.html +# https://www.canlii.org/en/yk/laws/regu/yoic-2006-127/latest/yoic-2006-127.html # O.I.C. 2006/127 INTERPRETATION ACT ... # # 1. In Yukon each year the time for general purposes shall be 7 hours @@ -2062,7 +2094,7 @@ # 3. This order comes into force January 1, 2007. # # * Interpretation Act, RSY 2002, c 125 -# http://www.canlii.org/en/yk/laws/stat/rsy-2002-c-125/latest/rsy-2002-c-125.html +# https://www.canlii.org/en/yk/laws/stat/rsy-2002-c-125/latest/rsy-2002-c-125.html # From Rives McDow (1999-09-04): # Nunavut ... moved ... to incorporate the whole territory into one time zone. @@ -2105,7 +2137,7 @@ # From Michaela Rodrigue, writing in the # Nunatsiaq News (1999-11-19): -# http://www.nunatsiaq.com/archives/nunavut991130/nvt91119_17.html +# http://www.nunatsiaqonline.ca/archives/nunavut991130/nvt91119_17.html # Clyde River, Pangnirtung and Sanikiluaq now operate with two time zones, # central - or Nunavut time - for government offices, and eastern time # for municipal offices and schools.... Igloolik [was similar but then] @@ -2123,7 +2155,7 @@ # Central Time and Southampton Island [in the Central zone] is not # required to use daylight savings. -# From +# From # Nunavut now has two time zones (2000-11-10): # The Nunavut government would allow its employees in Kugluktuk and # Cambridge Bay to operate on central time year-round, putting them @@ -2454,7 +2486,7 @@ # http://gaceta.diputados.gob.mx/Gaceta/61/2009/dic/V2-101209.html # # Our page: -# http://www.timeanddate.com/news/time/north-mexico-dst-change.html +# https://www.timeanddate.com/news/time/north-mexico-dst-change.html # From Arthur David Olson (2010-01-20): # The page @@ -2873,7 +2905,7 @@ # http://www.nnc.cubaweb.cu/marzo-2008/cien-1-11-3-08.htm # # Some more background information is posted here: -# http://www.timeanddate.com/news/time/cuba-starts-dst-march-16.html +# https://www.timeanddate.com/news/time/cuba-starts-dst-march-16.html # # The article also says that Cuba has been observing DST since 1963, # while Shanks (and tzdata) has 1965 as the first date (except in the @@ -2920,7 +2952,7 @@ # http://granma.co.cu/2011/03/08/nacional/artic01.html # # Our info: -# http://www.timeanddate.com/news/time/cuba-starts-dst-2011.html +# https://www.timeanddate.com/news/time/cuba-starts-dst-2011.html # # From Steffen Thorsen (2011-10-30) # Cuba will end DST two weeks later this year. Instead of going back @@ -2930,7 +2962,7 @@ # http://www.radioangulo.cu/noticias/cuba/17105-cuba-restablecera-el-horario-del-meridiano-de-greenwich.html # # Our page: -# http://www.timeanddate.com/news/time/cuba-time-changes-2011.html +# https://www.timeanddate.com/news/time/cuba-time-changes-2011.html # # From Steffen Thorsen (2012-03-01) # According to Radio Reloj, Cuba will start DST on Midnight between March @@ -2940,7 +2972,7 @@ # http://www.radioreloj.cu/index.php/noticias-radio-reloj/71-miscelaneas/7529-cuba-aplicara-el-horario-de-verano-desde-el-1-de-abril # # Our info on it: -# http://www.timeanddate.com/news/time/cuba-starts-dst-2012.html +# https://www.timeanddate.com/news/time/cuba-starts-dst-2012.html # From Steffen Thorsen (2012-11-03): # Radio Reloj and many other sources report that Cuba is changing back @@ -3135,8 +3167,8 @@ # From Steffen Thorsen (2016-03-12): # Jean Antoine, editor of www.haiti-reference.com informed us that Haiti # are not going on DST this year. Several other resources confirm this: ... -# http://www.radiotelevisioncaraibes.com/presse/heure_d_t_pas_de_changement_d_heure_pr_vu_pour_cet_ann_e.html -# http://www.vantbefinfo.com/changement-dheure-pas-pour-haiti/ +# https://www.radiotelevisioncaraibes.com/presse/heure_d_t_pas_de_changement_d_heure_pr_vu_pour_cet_ann_e.html +# https://www.vantbefinfo.com/changement-dheure-pas-pour-haiti/ # http://news.anmwe.com/haiti-lheure-nationale-ne-sera-ni-avancee-ni-reculee-cette-annee/ # From Steffen Thorsen (2017-03-12): @@ -3335,7 +3367,7 @@ # Turks and Caicos # # From Chris Dunn in -# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=415007 +# https://bugs.debian.org/415007 # (2007-03-15): In the Turks & Caicos Islands (America/Grand_Turk) the # daylight saving dates for time changes have been adjusted to match # the recent U.S. change of dates. @@ -3357,12 +3389,25 @@ # "permanent daylight saving time" by one year.... # http://tcweeklynews.com/time-change-to-go-ahead-this-november-p5437-127.htm # +# From the Turks & Caicos Cabinet (2017-07-20), heads-up from Steffen Thorsen: +# ... agreed to the reintroduction in TCI of Daylight Saving Time (DST) +# during the summer months and Standard Time, also known as Local +# Time, during the winter months with effect from April 2018 ... +# https://www.gov.uk/government/news/turks-and-caicos-post-cabinet-meeting-statement--3 +# +# From Paul Eggert (2017-08-26): +# The date of effect of the spring 2018 change appears to be March 11, +# which makes more sense. See: Hamilton D. Time change back +# by March 2018 for TCI. Magnetic Media. 2017-08-25. +# http://magneticmediatv.com/2017/08/time-change-back-by-march-2018-for-tci/ +# # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Grand_Turk -4:44:32 - LMT 1890 -5:07:11 - KMT 1912 Feb # Kingston Mean Time -5:00 - EST 1979 -5:00 US E%sT 2015 Nov Sun>=1 2:00 - -4:00 - AST + -4:00 - AST 2018 Mar 11 3:00 + -5:00 US E%sT # British Virgin Is # Virgin Is diff -Nru postgresql-9.6-9.6.5/src/timezone/data/southamerica postgresql-9.6-9.6.6/src/timezone/data/southamerica --- postgresql-9.6-9.6.5/src/timezone/data/southamerica 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/timezone/data/southamerica 2017-11-06 22:08:55.000000000 +0000 @@ -22,7 +22,7 @@ # # For data circa 1899, a common source is: # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. -# http://www.jstor.org/stable/1774359 +# https://www.jstor.org/stable/1774359 # # These tables use numeric abbreviations like -03 and -0330 for # integer hour and minute UTC offsets. Although earlier editions used @@ -265,8 +265,8 @@ # # Es inminente que en San Luis atrasen una hora los relojes # (It is imminent in San Luis clocks one hour delay) -# http://www.lagaceta.com.ar/nota/253414/Economia/Es-inminente-que-en-San-Luis-atrasen-una-hora-los-relojes.html -# http://www.worldtimezone.net/dst_news/dst_news_argentina02.html +# https://www.lagaceta.com.ar/nota/253414/Economia/Es-inminente-que-en-San-Luis-atrasen-una-hora-los-relojes.html +# http://www.worldtimezone.com/dst_news/dst_news_argentina02.html # From Jesper Nørgaard Welen (2008-01-18): # The page of the San Luis provincial government @@ -385,7 +385,7 @@ # Perhaps San Luis operates on the legal fiction that it is at -04 # with perpetual summer time, but ordinary usage typically seems to # just say it's at -03; see, for example, -# http://es.wikipedia.org/wiki/Hora_oficial_argentina +# https://es.wikipedia.org/wiki/Hora_oficial_argentina # We've documented similar situations as being plain changes to # standard time, so let's do that here too. This does not change UTC # offsets, only tm_isdst and the time zone abbreviations. One minor @@ -716,7 +716,7 @@ # (Portuguese) # # We have a written a short article about it as well: -# http://www.timeanddate.com/news/time/brazil-dst-2008-2009.html +# https://www.timeanddate.com/news/time/brazil-dst-2008-2009.html # # From Alexander Krivenyshev (2011-10-04): # State Bahia will return to Daylight savings time this year after 8 years off. @@ -725,7 +725,7 @@ # In Portuguese: # http://g1.globo.com/bahia/noticia/2011/10/governador-jaques-wagner-confirma-horario-de-verao-na-bahia.html -# http://noticias.terra.com.br/brasil/noticias/0,,OI5390887-EI8139,00-Bahia+volta+a+ter+horario+de+verao+apos+oito+anos.html +# https://noticias.terra.com.br/brasil/noticias/0,,OI5390887-EI8139,00-Bahia+volta+a+ter+horario+de+verao+apos+oito+anos.html # From Guilherme Bernardes Rodrigues (2011-10-07): # There is news in the media, however there is still no decree about it. @@ -751,16 +751,16 @@ # From Rodrigo Severo (2012-10-16): # Tocantins state will have DST. -# http://noticias.terra.com.br/brasil/noticias/0,,OI6232536-EI306.html +# https://noticias.terra.com.br/brasil/noticias/0,,OI6232536-EI306.html # From Steffen Thorsen (2013-09-20): # Tocantins in Brazil is very likely not to observe DST from October.... # http://conexaoto.com.br/2013/09/18/ministerio-confirma-que-tocantins-esta-fora-do-horario-de-verao-em-2013-mas-falta-publicacao-de-decreto # We will keep this article updated when this is confirmed: -# http://www.timeanddate.com/news/time/brazil-starts-dst-2013.html +# https://www.timeanddate.com/news/time/brazil-starts-dst-2013.html # From Steffen Thorsen (2013-10-17): -# http://www.timeanddate.com/news/time/acre-amazonas-change-time-zone.html +# https://www.timeanddate.com/news/time/acre-amazonas-change-time-zone.html # Senator Jorge Viana announced that Acre will change time zone on November 10. # He did not specify the time of the change, nor if western parts of Amazonas # will change as well. @@ -1076,18 +1076,18 @@ # the following source, cited by Oscar van Vlijmen (2006-10-08): # [1] Chile Law # http://www.webexhibits.org/daylightsaving/chile.html -# This contains a copy of a this official table: +# This contains a copy of this official table: # Cambios en la hora oficial de Chile desde 1900 (retrieved 2008-03-30) -# http://web.archive.org/web/20080330200901/http://www.horaoficial.cl/cambio.htm +# https://web.archive.org/web/20080330200901/http://www.horaoficial.cl/cambio.htm # [1] needs several corrections, though. # # The first set of corrections is from: # [2] History of the Official Time of Chile # http://www.horaoficial.cl/ing/horaof_ing.html (retrieved 2012-03-06). See: -# http://web.archive.org/web/20120306042032/http://www.horaoficial.cl/ing/horaof_ing.html +# https://web.archive.org/web/20120306042032/http://www.horaoficial.cl/ing/horaof_ing.html # This is an English translation of: # Historia de la hora oficial de Chile (retrieved 2012-10-24). See: -# http://web.archive.org/web/20121024234627/http://www.horaoficial.cl/horaof.htm +# https://web.archive.org/web/20121024234627/http://www.horaoficial.cl/horaof.htm # A fancier Spanish version (requiring mouse-clicking) is at: # http://www.horaoficial.cl/historia_hora.html # Conflicts between [1] and [2] were resolved as follows: @@ -1363,10 +1363,10 @@ # Milne says the Central and South American Telegraph Company used -5:24:15. # # From Alois Treindl (2016-12-15): -# http://www.elcomercio.com/actualidad/hora-sixto-1993.html +# https://www.elcomercio.com/actualidad/hora-sixto-1993.html # ... Whether the law applied also to Galápagos, I do not know. # From Paul Eggert (2016-12-15): -# http://www.elcomercio.com/afull/modificacion-husohorario-ecuador-presidentes-decreto.html +# https://www.elcomercio.com/afull/modificacion-husohorario-ecuador-presidentes-decreto.html # This says President Sixto Durán Ballén signed decree No. 285, which # established DST from 1992-11-28 to 1993-02-05; it does not give transition # times. The people called it "hora de Sixto" ("Sixto hour"). The change did @@ -1778,7 +1778,7 @@ # hours of presidential broadcasts, hours of lines,' quipped comedian # Jean Mary Curró ...". See: Cawthorne A, Kai D. Venezuela scraps # half-hour time difference set by Chavez. Reuters 2016-04-15 14:50 -0400 -# http://www.reuters.com/article/us-venezuela-timezone-idUSKCN0XC2BE +# https://www.reuters.com/article/us-venezuela-timezone-idUSKCN0XC2BE # # From Matt Johnson (2016-04-20): # ... published in the official Gazette [2016-04-18], here: diff -Nru postgresql-9.6-9.6.5/src/timezone/localtime.c postgresql-9.6-9.6.6/src/timezone/localtime.c --- postgresql-9.6-9.6.5/src/timezone/localtime.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/timezone/localtime.c 2017-11-06 22:08:55.000000000 +0000 @@ -26,15 +26,15 @@ #ifndef WILDABBR /* * Someone might make incorrect use of a time zone abbreviation: - * 1. They might reference tzname[0] before calling tzset (explicitly + * 1. They might reference tzname[0] before calling tzset (explicitly * or implicitly). - * 2. They might reference tzname[1] before calling tzset (explicitly + * 2. They might reference tzname[1] before calling tzset (explicitly * or implicitly). - * 3. They might reference tzname[1] after setting to a time zone + * 3. They might reference tzname[1] after setting to a time zone * in which Daylight Saving Time is never observed. - * 4. They might reference tzname[0] after setting to a time zone + * 4. They might reference tzname[0] after setting to a time zone * in which Standard Time is never observed. - * 5. They might reference tm.TM_ZONE after calling offtime. + * 5. They might reference tm.TM_ZONE after calling offtime. * What's best to do in the above cases is open to debate; * for now, we just set things up so that in any of the five cases * WILDABBR is used. Another possibility: initialize tzname[0] to the @@ -44,18 +44,14 @@ * that tzname[0] has the "normal" length of three characters). */ #define WILDABBR " " -#endif /* !defined WILDABBR */ +#endif /* !defined WILDABBR */ static const char wildabbr[] = WILDABBR; static const char gmt[] = "GMT"; -/* The minimum and maximum finite time values. This assumes no padding. */ -static const pg_time_t time_t_min = MINVAL(pg_time_t, TYPE_BIT(pg_time_t)); -static const pg_time_t time_t_max = MAXVAL(pg_time_t, TYPE_BIT(pg_time_t)); - /* - * We cache the result of trying to load the TZDEFRULES zone here. + * PG: We cache the result of trying to load the TZDEFRULES zone here. * tzdefrules_loaded is 0 if not tried yet, +1 if good, -1 if failed. */ static struct state tzdefrules_s; @@ -63,12 +59,12 @@ /* * The DST rules to use if TZ has no rules and we can't load TZDEFRULES. - * We default to US rules as of 1999-08-17. + * Default to US rules as of 2017-05-07. * POSIX 1003.1 section 8.1.1 says that the default DST rules are * implementation dependent; for historical reasons, US rules are a * common default. */ -#define TZDEFRULESTRING ",M4.1.0,M10.5.0" +#define TZDEFRULESTRING ",M3.2.0,M11.1.0" /* structs ttinfo, lsinfo, state have been moved to pgtz.h */ @@ -112,7 +108,7 @@ /* Initialize *S to a value based on GMTOFF, ISDST, and ABBRIND. */ static void -init_ttinfo(struct ttinfo * s, int32 gmtoff, bool isdst, int abbrind) +init_ttinfo(struct ttinfo *s, int32 gmtoff, bool isdst, int abbrind) { s->tt_gmtoff = gmtoff; s->tt_isdst = isdst; @@ -189,16 +185,14 @@ /* The entire buffer. */ char buf[2 * sizeof(struct tzhead) + 2 * sizeof(struct state) - + 4 * TZ_MAX_TIMES]; + + 4 * TZ_MAX_TIMES]; }; /* Local storage needed for 'tzloadbody'. */ union local_storage { - /* We don't need the "fullname" member */ - /* The results of analyzing the file's contents after it is opened. */ - struct + struct file_analysis { /* The input buffer. */ union input_buffer u; @@ -206,6 +200,8 @@ /* A temporary state used for parsing a TZ string in the file. */ struct state st; } u; + + /* We don't need the "fullname" member */ }; /* Load tz data from the file named NAME into *SP. Read extended @@ -215,8 +211,8 @@ * given name is stored there (the buffer must be > TZ_STRLEN_MAX bytes!). */ static int -tzloadbody(char const * name, char *canonname, struct state * sp, bool doextend, - union local_storage * lsp) +tzloadbody(char const *name, char *canonname, struct state *sp, bool doextend, + union local_storage *lsp) { int i; int fid; @@ -255,6 +251,8 @@ { int32 ttisstdcnt = detzcode(up->tzhead.tzh_ttisstdcnt); int32 ttisgmtcnt = detzcode(up->tzhead.tzh_ttisgmtcnt); + int64 prevtr = 0; + int32 prevcorr = 0; int32 leapcnt = detzcode(up->tzhead.tzh_leapcnt); int32 timecnt = detzcode(up->tzhead.tzh_timecnt); int32 typecnt = detzcode(up->tzhead.tzh_typecnt); @@ -270,7 +268,7 @@ return EINVAL; if (nread < (tzheadsize /* struct tzhead */ - + timecnt * stored /* ats */ + + timecnt * stored /* ats */ + timecnt /* types */ + typecnt * 6 /* ttinfos */ + charcnt /* chars */ @@ -285,8 +283,8 @@ /* * Read transitions, discarding those out of pg_time_t range. But - * pretend the last transition before time_t_min occurred at - * time_t_min. + * pretend the last transition before TIME_T_MIN occurred at + * TIME_T_MIN. */ timecnt = 0; for (i = 0; i < sp->timecnt; ++i) @@ -294,12 +292,12 @@ int64 at = stored == 4 ? detzcode(p) : detzcode64(p); - sp->types[i] = at <= time_t_max; + sp->types[i] = at <= TIME_T_MAX; if (sp->types[i]) { pg_time_t attime - = ((TYPE_SIGNED(pg_time_t) ? at < time_t_min : at < 0) - ? time_t_min : at); + = ((TYPE_SIGNED(pg_time_t) ? at < TIME_T_MIN : at < 0) + ? TIME_T_MIN : at); if (timecnt && attime <= sp->ats[timecnt - 1]) { @@ -354,20 +352,22 @@ int32 corr = detzcode(p + stored); p += stored + 4; - if (tr <= time_t_max) + /* Leap seconds cannot occur before the Epoch. */ + if (tr < 0) + return EINVAL; + if (tr <= TIME_T_MAX) { - pg_time_t trans - = ((TYPE_SIGNED(pg_time_t) ? tr < time_t_min : tr < 0) - ? time_t_min : tr); - - if (leapcnt && trans <= sp->lsis[leapcnt - 1].ls_trans) - { - if (trans < sp->lsis[leapcnt - 1].ls_trans) - return EINVAL; - leapcnt--; - } - sp->lsis[leapcnt].ls_trans = trans; - sp->lsis[leapcnt].ls_corr = corr; + /* + * Leap seconds cannot occur more than once per UTC month, and + * UTC months are at least 28 days long (minus 1 second for a + * negative leap second). Each leap second's correction must + * differ from the previous one's by 1 second. + */ + if (tr - prevtr < 28 * SECSPERDAY - 1 + || (corr != prevcorr - 1 && corr != prevcorr + 1)) + return EINVAL; + sp->lsis[leapcnt].ls_trans = prevtr = tr; + sp->lsis[leapcnt].ls_corr = prevcorr = corr; leapcnt++; } } @@ -508,7 +508,7 @@ } /* - * If type 0 is is unused in transitions, it's the type to use for early + * If type 0 is unused in transitions, it's the type to use for early * times. */ for (i = 0; i < sp->timecnt; ++i) @@ -553,7 +553,7 @@ * given name is stored there (the buffer must be > TZ_STRLEN_MAX bytes!). */ int -tzload(const char *name, char *canonname, struct state * sp, bool doextend) +tzload(const char *name, char *canonname, struct state *sp, bool doextend) { union local_storage *lsp = malloc(sizeof *lsp); @@ -569,7 +569,7 @@ } static bool -typesequiv(const struct state * sp, int a, int b) +typesequiv(const struct state *sp, int a, int b) { bool result; @@ -737,7 +737,7 @@ * Otherwise, return a pointer to the first character not part of the rule. */ static const char * -getrule(const char *strp, struct rule * rulep) +getrule(const char *strp, struct rule *rulep) { if (*strp == 'J') { @@ -788,7 +788,7 @@ strp = getoffset(strp, &rulep->r_time); } else - rulep->r_time = 2 * SECSPERHOUR; /* default = 2:00:00 */ + rulep->r_time = 2 * SECSPERHOUR; /* default = 2:00:00 */ return strp; } @@ -797,13 +797,13 @@ * effect, calculate the year-relative time that rule takes effect. */ static int32 -transtime(int year, const struct rule * rulep, +transtime(int year, const struct rule *rulep, int32 offset) { bool leapyear; int32 value; - int i, - d, + int i; + int d, m1, yy0, yy1, @@ -894,7 +894,7 @@ * Returns true on success, false on failure. */ bool -tzparse(const char *name, struct state * sp, bool lastditch) +tzparse(const char *name, struct state *sp, bool lastditch) { const char *stdname; const char *dstname = NULL; @@ -921,7 +921,7 @@ stdlen = (sizeof sp->chars) - 1; charcnt = stdlen + 1; stdoffset = 0; - sp->goback = sp->goahead = false; /* simulate failed tzload() */ + sp->goback = sp->goahead = false; /* simulate failed tzload() */ load_ok = false; } else @@ -1217,7 +1217,7 @@ } static void -gmtload(struct state * sp) +gmtload(struct state *sp) { if (tzload(gmt, NULL, sp, true) != 0) tzparse(gmt, sp, true); @@ -1231,8 +1231,8 @@ * but it *is* desirable.) */ static struct pg_tm * -localsub(struct state const * sp, pg_time_t const * timep, - struct pg_tm * tmp) +localsub(struct state const *sp, pg_time_t const *timep, + struct pg_tm *tmp) { const struct ttinfo *ttisp; int i; @@ -1323,7 +1323,7 @@ * Except we have a private "struct state" for GMT, so no sp is passed in. */ static struct pg_tm * -gmtsub(pg_time_t const * timep, int32 offset, struct pg_tm * tmp) +gmtsub(pg_time_t const *timep, int32 offset, struct pg_tm *tmp) { struct pg_tm *result; @@ -1362,15 +1362,22 @@ * where, to make the math easy, the answer for year zero is defined as zero. */ static int +leaps_thru_end_of_nonneg(int y) +{ + return y / 4 - y / 100 + y / 400; +} + +static int leaps_thru_end_of(const int y) { - return (y >= 0) ? (y / 4 - y / 100 + y / 400) : - -(leaps_thru_end_of(-(y + 1)) + 1); + return (y < 0 + ? -1 - leaps_thru_end_of_nonneg(-1 - y) + : leaps_thru_end_of_nonneg(y)); } static struct pg_tm * timesub(const pg_time_t *timep, int32 offset, - const struct state * sp, struct pg_tm * tmp) + const struct state *sp, struct pg_tm *tmp) { const struct lsinfo *lp; pg_time_t tdays; @@ -1390,22 +1397,9 @@ lp = &sp->lsis[i]; if (*timep >= lp->ls_trans) { - if (*timep == lp->ls_trans) - { - hit = ((i == 0 && lp->ls_corr > 0) || - lp->ls_corr > sp->lsis[i - 1].ls_corr); - if (hit) - while (i > 0 && - sp->lsis[i].ls_trans == - sp->lsis[i - 1].ls_trans + 1 && - sp->lsis[i].ls_corr == - sp->lsis[i - 1].ls_corr + 1) - { - ++hit; - --i; - } - } corr = lp->ls_corr; + hit = (*timep == lp->ls_trans + && (i == 0 ? 0 : lp[-1].ls_corr) < corr); break; } } @@ -1529,13 +1523,13 @@ { /*---------- * This is like - * 'if (! (time_t_min <= *tp + j && *tp + j <= time_t_max)) ...', + * 'if (! (TIME_T_MIN <= *tp + j && *tp + j <= TIME_T_MAX)) ...', * except that it does the right thing even if *tp + j would overflow. *---------- */ if (!(j < 0 - ? (TYPE_SIGNED(pg_time_t) ? time_t_min - j <= *tp : -1 - j < *tp) - : *tp <= time_t_max - j)) + ? (TYPE_SIGNED(pg_time_t) ? TIME_T_MIN - j <= *tp : -1 - j < *tp) + : *tp <= TIME_T_MAX - j)) return true; *tp += j; return false; diff -Nru postgresql-9.6-9.6.5/src/timezone/private.h postgresql-9.6-9.6.6/src/timezone/private.h --- postgresql-9.6-9.6.5/src/timezone/private.h 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/timezone/private.h 2017-11-06 22:08:55.000000000 +0000 @@ -38,30 +38,9 @@ #define EOVERFLOW EINVAL #endif -#ifndef WIFEXITED -#define WIFEXITED(status) (((status) & 0xff) == 0) -#endif /* !defined WIFEXITED */ -#ifndef WEXITSTATUS -#define WEXITSTATUS(status) (((status) >> 8) & 0xff) -#endif /* !defined WEXITSTATUS */ - /* Unlike 's isdigit, this also works if c < 0 | c > UCHAR_MAX. */ #define is_digit(c) ((unsigned)(c) - '0' <= 9) -#ifndef SIZE_MAX -#define SIZE_MAX ((size_t) -1) -#endif - -/* - * SunOS 4.1.1 libraries lack remove. - */ - -#ifndef remove -extern int unlink(const char *filename); - -#define remove unlink -#endif /* !defined remove */ - /* * Finally, some convenience items. @@ -82,6 +61,10 @@ #define MINVAL(t, b) \ ((t) (TYPE_SIGNED(t) ? - TWOS_COMPLEMENT(t) - MAXVAL(t, b) : 0)) +/* The extreme time values, assuming no padding. */ +#define TIME_T_MIN MINVAL(pg_time_t, TYPE_BIT(pg_time_t)) +#define TIME_T_MAX MAXVAL(pg_time_t, TYPE_BIT(pg_time_t)) + /* * 302 / 1000 is log10(2.0) rounded up. * Subtract one for the sign bit if the type is signed; @@ -95,7 +78,7 @@ /* * INITIALIZE(x) */ -#define INITIALIZE(x) ((x) = 0) +#define INITIALIZE(x) ((x) = 0) #undef _ #define _(msgid) (msgid) @@ -150,7 +133,7 @@ * or * isleap(a + b) == isleap(a % 400 + b % 400) * This is true even if % means modulo rather than Fortran remainder - * (which is allowed by C89 but not C99). + * (which is allowed by C89 but not by C99 or later). * We use this to avoid addition overflow problems. */ @@ -166,4 +149,4 @@ ((int64) YEARSPERREPEAT * (int64) AVGSECSPERYEAR) #define SECSPERREPEAT_BITS 34 /* ceil(log2(SECSPERREPEAT)) */ -#endif /* !defined PRIVATE_H */ +#endif /* !defined PRIVATE_H */ diff -Nru postgresql-9.6-9.6.5/src/timezone/README postgresql-9.6-9.6.6/src/timezone/README --- postgresql-9.6-9.6.5/src/timezone/README 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/timezone/README 2017-11-06 22:08:55.000000000 +0000 @@ -50,7 +50,7 @@ Time Zone code ============== -The code in this directory is currently synced with tzcode release 2017b. +The code in this directory is currently synced with tzcode release 2017c. There are many cosmetic (and not so cosmetic) differences from the original tzcode library, but diffs in the upstream version should usually be propagated to our version. Here are some notes about that. diff -Nru postgresql-9.6-9.6.5/src/timezone/strftime.c postgresql-9.6-9.6.6/src/timezone/strftime.c --- postgresql-9.6-9.6.5/src/timezone/strftime.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/timezone/strftime.c 2017-11-06 22:08:55.000000000 +0000 @@ -41,7 +41,6 @@ #include "postgres.h" #include -#include #include "private.h" @@ -83,17 +82,17 @@ /* * x_fmt * - * C99 requires this format. Using just numbers (as here) makes Quakers - * happier; it's also compatible with SVR4. + * C99 and later require this format. Using just numbers (as here) makes + * Quakers happier; it's also compatible with SVR4. */ "%m/%d/%y", /* * c_fmt * - * C99 requires this format. Previously this code used "%D %X", but we now - * conform to C99. Note that "%a %b %d %H:%M:%S %Y" is used by Solaris - * 2.3. + * C99 and later require this format. Previously this code used "%D %X", + * but we now conform to C99. Note that "%a %b %d %H:%M:%S %Y" is used by + * Solaris 2.3. */ "%a %b %e %T %Y", @@ -107,26 +106,24 @@ "%a %b %e %H:%M:%S %Z %Y" }; +enum warn +{ + IN_NONE, IN_SOME, IN_THIS, IN_ALL +}; + static char *_add(const char *, char *, const char *); static char *_conv(int, const char *, char *, const char *); -static char *_fmt(const char *, const struct pg_tm *, char *, - const char *, int *); +static char *_fmt(const char *, const struct pg_tm *, char *, const char *, + enum warn *); static char *_yconv(int, int, bool, bool, char *, const char *); -#define IN_NONE 0 -#define IN_SOME 1 -#define IN_THIS 2 -#define IN_ALL 3 - size_t -pg_strftime(char *s, size_t maxsize, const char *format, - const struct pg_tm * t) +pg_strftime(char *s, size_t maxsize, const char *format, const struct pg_tm *t) { char *p; - int warn; + enum warn warn = IN_NONE; - warn = IN_NONE; p = _fmt(format, t, s, s + maxsize, &warn); if (p == s + maxsize) return 0; @@ -135,8 +132,8 @@ } static char * -_fmt(const char *format, const struct pg_tm * t, char *pt, const char *ptlim, - int *warnp) +_fmt(const char *format, const struct pg_tm *t, char *pt, + const char *ptlim, enum warn *warnp) { for (; *format; ++format) { @@ -185,7 +182,7 @@ continue; case 'c': { - int warn2 = IN_SOME; + enum warn warn2 = IN_SOME; pt = _fmt(Locale->c_fmt, t, pt, ptlim, &warn2); if (warn2 == IN_ALL) @@ -204,9 +201,9 @@ case 'O': /* - * C99 locale modifiers. The sequences %Ec %EC %Ex %EX - * %Ey %EY %Od %oe %OH %OI %Om %OM %OS %Ou %OU %OV %Ow - * %OW %Oy are supposed to provide alternate + * Locale modifiers of C99 and later. The sequences %Ec + * %EC %Ex %EX %Ey %EY %Od %oe %OH %OI %Om %OM %OS %Ou %OU + * %OV %Ow %OW %Oy are supposed to provide alternate * representations. */ goto label; @@ -230,9 +227,9 @@ case 'k': /* - * This used to be... _conv(t->tm_hour % 12 ? t->tm_hour - * % 12 : 12, 2, ' '); ...and has been changed to the - * below to match SunOS 4.1.1 and Arnold Robbins' strftime + * This used to be... _conv(t->tm_hour % 12 ? t->tm_hour % + * 12 : 12, 2, ' '); ...and has been changed to the below + * to match SunOS 4.1.1 and Arnold Robbins' strftime * version 3.0. That is, "%k" and "%l" have been swapped. * (ado, 1993-05-24) */ @@ -246,11 +243,11 @@ */ pt = _add("kitchen sink", pt, ptlim); continue; -#endif /* defined KITCHEN_SINK */ +#endif /* defined KITCHEN_SINK */ case 'l': /* - * This used to be... _conv(t->tm_hour, 2, ' '); ...and + * This used to be... _conv(t->tm_hour, 2, ' '); ...and * has been changed to the below to match SunOS 4.1.1 and * Arnold Robbin's strftime version 3.0. That is, "%k" and * "%l" have been swapped. (ado, 1993-05-24) @@ -314,7 +311,7 @@ * (01-53)." * (ado, 1993-05-24) * - * From by Markus Kuhn: + * From by Markus Kuhn: * "Week 01 of a year is per definition the first week which has the * Thursday in this year, which is equivalent to the week which contains * the fourth day of January. In other words, the first week of a new year @@ -418,7 +415,7 @@ continue; case 'x': { - int warn2 = IN_SOME; + enum warn warn2 = IN_SOME; pt = _fmt(Locale->x_fmt, t, pt, ptlim, &warn2); if (warn2 == IN_ALL) @@ -443,8 +440,8 @@ pt = _add(t->tm_zone, pt, ptlim); /* - * C99 says that %Z must be replaced by the empty string - * if the time zone is not determinable. + * C99 and later say that %Z must be replaced by the empty + * string if the time zone is not determinable. */ continue; case 'z': @@ -484,7 +481,7 @@ /* * X311J/88-090 (4.12.3.5): if conversion char is - * undefined, behavior is undefined. Print out the + * undefined, behavior is undefined. Print out the * character itself as printf(3) also does. */ default: diff -Nru postgresql-9.6-9.6.5/src/timezone/tzfile.h postgresql-9.6-9.6.6/src/timezone/tzfile.h --- postgresql-9.6-9.6.5/src/timezone/tzfile.h 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/timezone/tzfile.h 2017-11-06 22:08:55.000000000 +0000 @@ -34,9 +34,9 @@ { char tzh_magic[4]; /* TZ_MAGIC */ char tzh_version[1]; /* '\0' or '2' or '3' as of 2013 */ - char tzh_reserved[15]; /* reserved; must be zero */ - char tzh_ttisgmtcnt[4]; /* coded number of trans. time flags */ - char tzh_ttisstdcnt[4]; /* coded number of trans. time flags */ + char tzh_reserved[15]; /* reserved; must be zero */ + char tzh_ttisgmtcnt[4]; /* coded number of trans. time flags */ + char tzh_ttisstdcnt[4]; /* coded number of trans. time flags */ char tzh_leapcnt[4]; /* coded number of leap seconds */ char tzh_timecnt[4]; /* coded number of transition times */ char tzh_typecnt[4]; /* coded number of local time types */ @@ -50,8 +50,8 @@ * tzh_timecnt (unsigned char)s types of local time starting at above * tzh_typecnt repetitions of * one (char [4]) coded UT offset in seconds - * one (unsigned char) used to set tm_isdst - * one (unsigned char) that's an abbreviation list index + * one (unsigned char) used to set tm_isdst + * one (unsigned char) that's an abbreviation list index * tzh_charcnt (char)s '\0'-terminated zone abbreviations * tzh_leapcnt repetitions of * one (char [4]) coded leap second transition times @@ -100,4 +100,4 @@ #define TZ_MAX_LEAPS 50 /* Maximum number of leap second corrections */ -#endif /* !defined TZFILE_H */ +#endif /* !defined TZFILE_H */ diff -Nru postgresql-9.6-9.6.5/src/timezone/zic.c postgresql-9.6-9.6.6/src/timezone/zic.c --- postgresql-9.6-9.6.5/src/timezone/zic.c 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/timezone/zic.c 2017-11-06 22:08:55.000000000 +0000 @@ -9,26 +9,24 @@ #include "postgres_fe.h" #include -#include #include #include -#include #include "pg_getopt.h" #include "private.h" #include "tzfile.h" -#define ZIC_VERSION_PRE_2013 '2' -#define ZIC_VERSION '3' +#define ZIC_VERSION_PRE_2013 '2' +#define ZIC_VERSION '3' typedef int64 zic_t; #define ZIC_MIN PG_INT64_MIN #define ZIC_MAX PG_INT64_MAX #ifndef ZIC_MAX_ABBR_LEN_WO_WARN -#define ZIC_MAX_ABBR_LEN_WO_WARN 6 -#endif /* !defined ZIC_MAX_ABBR_LEN_WO_WARN */ +#define ZIC_MAX_ABBR_LEN_WO_WARN 6 +#endif /* !defined ZIC_MAX_ABBR_LEN_WO_WARN */ #ifndef WIN32 #ifdef S_IRUSR @@ -47,9 +45,12 @@ static ptrdiff_t const PTRDIFF_MAX = MAXVAL(ptrdiff_t, TYPE_BIT(ptrdiff_t)); #endif -/* The type and printf format for line numbers. */ +/* + * The type for line numbers. In Postgres, use %d to format them; upstream + * uses PRIdMAX but we prefer not to rely on that, not least because it + * results in platform-dependent strings to be translated. + */ typedef int lineno_t; -#define PRIdLINENO "d" struct rule { @@ -84,9 +85,9 @@ * r_dycode r_dayofmonth r_wday */ -#define DC_DOM 0 /* 1..31 */ /* unused */ -#define DC_DOWGEQ 1 /* 1..31 */ /* 0..6 (Sun..Sat) */ -#define DC_DOWLEQ 2 /* 1..31 */ /* 0..6 (Sun..Sat) */ +#define DC_DOM 0 /* 1..31 */ /* unused */ +#define DC_DOWGEQ 1 /* 1..31 */ /* 0..6 (Sun..Sat) */ +#define DC_DOWLEQ 2 /* 1..31 */ /* 0..6 (Sun..Sat) */ struct zone { @@ -138,9 +139,9 @@ static void mkdirs(char const *, bool); static void newabbr(const char *abbr); static zic_t oadd(zic_t t1, zic_t t2); -static void outzone(const struct zone * zp, ptrdiff_t ntzones); -static zic_t rpytime(const struct rule * rp, zic_t wantedy); -static void rulesub(struct rule * rp, +static void outzone(const struct zone *zp, ptrdiff_t ntzones); +static zic_t rpytime(const struct rule *rp, zic_t wantedy); +static void rulesub(struct rule *rp, const char *loyearp, const char *hiyearp, const char *typep, const char *monthp, const char *dayp, const char *timep); @@ -292,12 +293,15 @@ }; static struct lookup const *byword(const char *string, - const struct lookup * lp); + const struct lookup *lp); -static struct lookup const line_codes[] = { +static struct lookup const zi_line_codes[] = { {"Rule", LC_RULE}, {"Zone", LC_ZONE}, {"Link", LC_LINK}, + {NULL, 0} +}; +static struct lookup const leap_line_codes[] = { {"Leap", LC_LEAP}, {NULL, 0} }; @@ -373,7 +377,7 @@ zic_t at; bool dontmerge; unsigned char type; -} *attypes; +} *attypes; static zic_t gmtoffs[TZ_MAX_TYPES]; static char isdsts[TZ_MAX_TYPES]; static unsigned char abbrinds[TZ_MAX_TYPES]; @@ -424,7 +428,7 @@ } static char * -ecpyalloc(char const * str) +ecpyalloc(char const *str) { return memcheck(strdup(str)); } @@ -436,7 +440,8 @@ return ptr; else { - ptrdiff_t amax = PTRDIFF_MAX - WORK_AROUND_QTBUG_53071; + ptrdiff_t nitems_max = PTRDIFF_MAX - WORK_AROUND_QTBUG_53071; + ptrdiff_t amax = nitems_max < SIZE_MAX ? nitems_max : SIZE_MAX; if ((amax - 1) / 3 * 2 < *nitems_alloc) memory_exhausted(_("integer overflow")); @@ -450,7 +455,7 @@ */ static void -eats(char const * name, lineno_t num, char const * rname, lineno_t rnum) +eats(char const *name, lineno_t num, char const *rname, lineno_t rnum) { filename = name; linenum = num; @@ -459,7 +464,7 @@ } static void -eat(char const * name, lineno_t num) +eat(char const *name, lineno_t num) { eats(name, num, NULL, -1); } @@ -468,14 +473,14 @@ verror(const char *string, va_list args) { /* - * Match the format of "cc" to allow sh users to zic ... 2>&1 | error -t + * Match the format of "cc" to allow sh users to zic ... 2>&1 | error -t * "*" -v on BSD systems. */ if (filename) - fprintf(stderr, _("\"%s\", line %" PRIdLINENO ": "), filename, linenum); + fprintf(stderr, _("\"%s\", line %d: "), filename, linenum); vfprintf(stderr, string, args); if (rfilename != NULL) - fprintf(stderr, _(" (rule from \"%s\", line %" PRIdLINENO ")"), + fprintf(stderr, _(" (rule from \"%s\", line %d)"), rfilename, rlinenum); fprintf(stderr, "\n"); } @@ -504,7 +509,7 @@ } static void -close_file(FILE *stream, char const * dir, char const * name) +close_file(FILE *stream, char const *dir, char const *name) { char const *e = (ferror(stream) ? _("I/O error") : fclose(stream) != 0 ? strerror(errno) : NULL); @@ -537,7 +542,7 @@ ancestors. After this is done, all files are accessed with names relative to DIR. */ static void -change_directory(char const * dir) +change_directory(char const *dir) { if (chdir(dir) != 0) { @@ -564,7 +569,7 @@ static const char *yitcommand; int -main(int argc, char *argv[]) +main(int argc, char **argv) { int c, k; @@ -573,7 +578,7 @@ #ifndef WIN32 umask(umask(S_IWGRP | S_IWOTH) | (S_IWGRP | S_IWOTH)); -#endif /* !WIN32 */ +#endif progname = argv[0]; if (TYPE_BIT(zic_t) <64) { @@ -632,7 +637,10 @@ break; case 'y': if (yitcommand == NULL) + { + warning(_("-y is obsolescent")); yitcommand = strdup(optarg); + } else { fprintf(stderr, @@ -721,8 +729,8 @@ } static bool -componentcheck(char const * name, char const * component, - char const * component_end) +componentcheck(char const *name, char const *component, + char const *component_end) { enum { @@ -813,7 +821,7 @@ */ #ifdef HAVE_SYMLINK static char * -relname(char const * from, char const * to) +relname(char const *from, char const *to) { size_t i, taillen, @@ -853,12 +861,12 @@ } return result; } -#endif /* HAVE_SYMLINK */ +#endif /* HAVE_SYMLINK */ /* Hard link FROM to TO, following any symbolic links. Return 0 if successful, an error number otherwise. */ static int -hardlinkerr(char const * from, char const * to) +hardlinkerr(char const *from, char const *to) { int r = linkat(AT_FDCWD, from, AT_FDCWD, to, AT_SYMLINK_FOLLOW); @@ -866,7 +874,7 @@ } static void -dolink(char const * fromfield, char const * tofield, bool staysymlink) +dolink(char const *fromfield, char const *tofield, bool staysymlink) { bool todirs_made = false; int link_errno; @@ -921,7 +929,7 @@ strerror(link_errno)); } else -#endif /* HAVE_SYMLINK */ +#endif /* HAVE_SYMLINK */ { FILE *fp, *tp; @@ -961,7 +969,7 @@ } } -#define TIME_T_BITS_IN_FILE 64 +#define TIME_T_BITS_IN_FILE 64 static zic_t const min_time = MINVAL(zic_t, TIME_T_BITS_IN_FILE); static zic_t const max_time = MAXVAL(zic_t, TIME_T_BITS_IN_FILE); @@ -976,7 +984,7 @@ * Ade PAR, Aghanim N, Armitage-Caplan C et al. Planck 2013 results. * I. Overview of products and scientific results. * arXiv:1303.5062 2013-03-20 20:10:01 UTC - * [PDF] + * [PDF] * * Page 36, Table 9, row Age/Gyr, column Planck+WP+highL+BAO 68% limits * gives the value 13.798 plus-or-minus 0.037 billion years. @@ -1010,7 +1018,7 @@ /* Return true if NAME is a directory. */ static bool -itsdir(char const * name) +itsdir(char const *name) { struct stat st; int res = stat(name, &st); @@ -1035,7 +1043,7 @@ /* Return true if NAME is a symbolic link. */ static bool -itssymlink(char const * name) +itssymlink(char const *name) { #ifdef HAVE_SYMLINK char c; @@ -1200,9 +1208,14 @@ /* nothing to do */ } else if (wantcont) + { wantcont = inzcont(fields, nfields); + } else { + struct lookup const *line_codes + = name == leapsec ? leap_line_codes : zi_line_codes; + lp = byword(fields[0], line_codes); if (lp == NULL) error(_("input line of unknown type")); @@ -1221,12 +1234,7 @@ wantcont = false; break; case LC_LEAP: - if (name != leapsec) - warning(_("%s: Leap line in non leap" - " seconds file %s"), - progname, name); - else - inleap(fields, nfields); + inleap(fields, nfields); wantcont = false; break; default: /* "cannot happen" */ @@ -1251,7 +1259,7 @@ * Call error with errstring and return zero on errors. */ static zic_t -gethms(char const * string, char const * errstring, bool signable) +gethms(char const *string, char const *errstring, bool signable) { /* PG: make hh be int not zic_t to avoid sscanf portability issues */ int hh; @@ -1360,7 +1368,7 @@ strcmp(zones[i].z_name, fields[ZF_NAME]) == 0) { error(_("duplicate zone name %s" - " (file \"%s\", line %" PRIdLINENO ")"), + " (file \"%s\", line %d)"), fields[ZF_NAME], zones[i].z_filename, zones[i].z_linenum); @@ -1574,21 +1582,11 @@ positive = false; count = 1; } - else if (strcmp(cp, "--") == 0) - { - positive = false; - count = 2; - } else if (strcmp(cp, "+") == 0) { positive = true; count = 1; } - else if (strcmp(cp, "++") == 0) - { - positive = true; - count = 2; - } else { error(_("illegal CORRECTION field on Leap line")); @@ -1600,9 +1598,9 @@ return; } t = tadd(t, tod); - if (t < early_time) + if (t < 0) { - error(_("leap second precedes Big Bang")); + error(_("leap second precedes Epoch")); return; } leapadd(t, positive, lp->l_value, count); @@ -1635,7 +1633,7 @@ } static void -rulesub(struct rule * rp, const char *loyearp, const char *hiyearp, +rulesub(struct rule *rp, const char *loyearp, const char *hiyearp, const char *typep, const char *monthp, const char *dayp, const char *timep) { @@ -1754,11 +1752,14 @@ error(_("typed single year")); return; } + warning(_("year type \"%s\" is obsolete; use \"-\" instead"), + typep); rp->r_yrtype = ecpyalloc(typep); } /* - * Day work. Accept things such as: 1 last-Sunday Sun<=20 Sun>=7 + * Day work. Accept things such as: 1 lastSunday last-Sunday + * (undocumented; warn about this) Sun<=20 Sun>=7 */ dp = ecpyalloc(dayp); if ((lp = byword(dp, lasts)) != NULL) @@ -2141,7 +2142,7 @@ writetype[type] = true; } } -#endif /* !defined +#endif /* !defined * LEAVE_SOME_PRE_2011_SYSTEMS_IN_THE_LURCH */ thistypecnt = 0; for (i = 0; i < typecnt; ++i) @@ -2324,7 +2325,7 @@ } static size_t -doabbr(char *abbr, struct zone const * zp, char const * letters, +doabbr(char *abbr, struct zone const *zp, char const *letters, zic_t stdoff, bool doquotes) { char *cp; @@ -2410,7 +2411,7 @@ } static int -stringrule(char *result, const struct rule * const rp, const zic_t dstoff, +stringrule(char *result, const struct rule *const rp, const zic_t dstoff, const zic_t gmtoff) { zic_t tod = rp->r_tod; @@ -2492,7 +2493,7 @@ } static int -rule_cmp(struct rule const * a, struct rule const * b) +rule_cmp(struct rule const *a, struct rule const *b) { if (!a) return -!!b; @@ -2510,7 +2511,7 @@ YEAR_BY_YEAR_ZONE = 1}; static int -stringzone(char *result, struct zone const * zpfirst, ptrdiff_t zonecount) +stringzone(char *result, struct zone const *zpfirst, ptrdiff_t zonecount) { const struct zone *zp; struct rule *rp; @@ -2645,7 +2646,7 @@ } static void -outzone(const struct zone * zpfirst, ptrdiff_t zonecount) +outzone(const struct zone *zpfirst, ptrdiff_t zonecount) { const struct zone *zp; struct rule *rp; @@ -2851,9 +2852,10 @@ { ptrdiff_t k; zic_t jtime, - ktime = 0; + ktime; zic_t offset; + INITIALIZE(ktime); if (useuntil) { /* @@ -2930,7 +2932,8 @@ continue; } if (*startbuf == '\0' && - startoff == oadd(zp->z_gmtoff, stdoff)) + startoff == oadd(zp->z_gmtoff, + stdoff)) { doabbr(startbuf, zp, @@ -3046,7 +3049,7 @@ } static int -addtype(zic_t gmtoff, char const * abbr, bool isdst, bool ttisstd, bool ttisgmt) +addtype(zic_t gmtoff, char const *abbr, bool isdst, bool ttisstd, bool ttisgmt) { int i, j; @@ -3105,14 +3108,7 @@ } for (i = 0; i < leapcnt; ++i) if (t <= trans[i]) - { - if (t == trans[i]) - { - error(_("repeated leap second moment")); - exit(EXIT_FAILURE); - } break; - } do { for (j = leapcnt; j > i; --j) @@ -3133,19 +3129,26 @@ { int i; zic_t last = 0; + zic_t prevtrans = 0; /* * propagate leap seconds forward */ for (i = 0; i < leapcnt; ++i) { + if (trans[i] - prevtrans < 28 * SECSPERDAY) + { + error(_("Leap seconds too close together")); + exit(EXIT_FAILURE); + } + prevtrans = trans[i]; trans[i] = tadd(trans[i], last); last = corr[i] += last; } } static char * -shellquote(char *b, char const * s) +shellquote(char *b, char const *s) { *b++ = '\''; while (*s) @@ -3192,7 +3195,7 @@ exit(EXIT_FAILURE); } -/* Is A a space character in the C locale? */ +/* Is A a space character in the C locale? */ static bool is_space(char a) { @@ -3363,8 +3366,21 @@ return true; } +/* Return true if ABBR is an initial prefix of WORD, ignoring ASCII case. */ + +static bool +ciprefix(char const *abbr, char const *word) +{ + do + if (!*abbr) + return true; + while (lowerit(*abbr++) == lowerit(*word++)); + + return false; +} + static const struct lookup * -byword(const char *word, const struct lookup * table) +byword(const char *word, const struct lookup *table) { const struct lookup *foundlp; const struct lookup *lp; @@ -3373,6 +3389,23 @@ return NULL; /* + * If TABLE is LASTS and the word starts with "last" followed by a + * non-'-', skip the "last" and look in WDAY_NAMES instead. Warn about any + * usage of the undocumented prefix "last-". + */ + if (table == lasts && ciprefix("last", word) && word[4]) + { + if (word[4] == '-') + warning(_("\"%s\" is undocumented; use \"last%s\" instead"), + word, word + 5); + else + { + word += 4; + table = wday_names; + } + } + + /* * Look for exact match. */ for (lp = table; lp->l_word != NULL; ++lp) @@ -3384,13 +3417,31 @@ */ foundlp = NULL; for (lp = table; lp->l_word != NULL; ++lp) - if (itsabbr(word, lp->l_word)) + if (ciprefix(word, lp->l_word)) { if (foundlp == NULL) foundlp = lp; else return NULL; /* multiple inexact matches */ } + + /* Warn about any backward-compatibility issue with pre-2017c zic. */ + if (foundlp) + { + bool pre_2017c_match = false; + + for (lp = table; lp->l_word; lp++) + if (itsabbr(word, lp->l_word)) + { + if (pre_2017c_match) + { + warning(_("\"%s\" is ambiguous in pre-2017c zic"), word); + break; + } + pre_2017c_match = true; + } + } + return foundlp; } @@ -3479,7 +3530,7 @@ */ static zic_t -rpytime(const struct rule * rp, zic_t wantedy) +rpytime(const struct rule *rp, zic_t wantedy) { int m, i; @@ -3571,7 +3622,7 @@ return min_time; if (dayoff > max_time / SECSPERDAY) return max_time; - t = (zic_t) dayoff *SECSPERDAY; + t = (zic_t) dayoff * SECSPERDAY; return tadd(t, rp->r_tod); } @@ -3615,18 +3666,22 @@ do it for ARGNAME too. Exit with failure if there is trouble. Do not consider an existing non-directory to be trouble. */ static void -mkdirs(char const * argname, bool ancestors) +mkdirs(char const *argname, bool ancestors) { char *name; char *cp; cp = name = ecpyalloc(argname); + /* + * On MS-Windows systems, do not worry about drive letters or backslashes, + * as this should suffice in practice. Time zone names do not use drive + * letters and backslashes. If the -d option of zic does not name an + * already-existing directory, it can use slashes to separate the + * already-existing ancestor prefix from the to-be-created subdirectories. + */ + /* Do not mkdir a root directory, as it must exist. */ -#ifdef WIN32 - if (is_alpha(name[0]) && name[1] == ':') - cp += 2; -#endif while (*cp == '/') cp++; diff -Nru postgresql-9.6-9.6.5/src/tools/msvc/gendef.pl postgresql-9.6-9.6.6/src/tools/msvc/gendef.pl --- postgresql-9.6-9.6.5/src/tools/msvc/gendef.pl 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/tools/msvc/gendef.pl 2017-11-06 22:08:55.000000000 +0000 @@ -29,7 +29,7 @@ sub extract_syms { my ($symfile, $def) = @_; - open(F, "<$symfile") || die "Could not open $symfile for $_\n"; + open(F, "<$symfile") || die "Could not open $symfile for $_: $!\n"; while () { diff -Nru postgresql-9.6-9.6.5/src/tools/msvc/MSBuildProject.pm postgresql-9.6-9.6.6/src/tools/msvc/MSBuildProject.pm --- postgresql-9.6-9.6.5/src/tools/msvc/MSBuildProject.pm 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/tools/msvc/MSBuildProject.pm 2017-11-06 22:08:55.000000000 +0000 @@ -483,4 +483,27 @@ return $self; } +package VC2017Project; + +# +# Package that encapsulates a Visual C++ 2017 project file +# + +use strict; +use warnings; +use base qw(VC2012Project); + +sub new +{ + my $classname = shift; + my $self = $classname->SUPER::_new(@_); + bless($self, $classname); + + $self->{vcver} = '15.00'; + $self->{PlatformToolset} = 'v141'; + $self->{ToolsVersion} = '15.0'; + + return $self; +} + 1; diff -Nru postgresql-9.6-9.6.5/src/tools/msvc/README postgresql-9.6-9.6.6/src/tools/msvc/README --- postgresql-9.6-9.6.5/src/tools/msvc/README 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/tools/msvc/README 2017-11-06 22:08:55.000000000 +0000 @@ -4,7 +4,7 @@ ========== This directory contains the tools required to build PostgreSQL using -Microsoft Visual Studio 2005 - 2011. This builds the whole backend, not just +Microsoft Visual Studio 2005 - 2017. This builds the whole backend, not just the libpq frontend library. For more information, see the documentation chapter "Installation on Windows" and the description below. @@ -92,11 +92,12 @@ (Mkvcbuild.pm) which creates the Visual Studio project and solution files. It does this by using VSObjectFactory::CreateSolution to create an object implementing the Solution interface (this could be either a VS2005Solution, -a VS2008Solution, a VS2010Solution or a VS2012Solution, all in Solution.pm, -depending on the user's build environment) and adding objects implementing -the corresponding Project interface (VC2005Project or VC2008Project from -VCBuildProject.pm or VC2010Project or VC2012Project from MSBuildProject.pm) -to it. +a VS2008Solution, a VS2010Solution or a VS2012Solution or a VS2013Solution, +or a VS2015Solution or a VS2017Solution, all in Solution.pm, depending on +the user's build environment) and adding objects implementing the corresponding +Project interface (VC2005Project or VC2008Project from VCBuildProject.pm or +VC2010Project or VC2012Project or VC2013Project or VC2015Project or VC2017Project +from MSBuildProject.pm) to it. When Solution::Save is called, the implementations of Solution and Project save their content in the appropriate format. The final step of starting the appropriate build program (msbuild or vcbuild) diff -Nru postgresql-9.6-9.6.5/src/tools/msvc/Solution.pm postgresql-9.6-9.6.6/src/tools/msvc/Solution.pm --- postgresql-9.6-9.6.5/src/tools/msvc/Solution.pm 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/tools/msvc/Solution.pm 2017-11-06 22:08:55.000000000 +0000 @@ -419,7 +419,7 @@ || confess "Could not open ecpg_config.h"; print O < 1200) -#define HAVE_LONG_LONG_INT_64 +#define HAVE_LONG_LONG_INT_64 1 #define ENABLE_THREAD_SAFETY 1 EOF print O "#define USE_INTEGER_DATETIMES 1\n" @@ -825,6 +825,32 @@ $self->{MinimumVisualStudioVersion} = '10.0.40219.1'; return $self; +} + +package VS2017Solution; + +# +# Package that encapsulates a Visual Studio 2017 solution file +# + +use Carp; +use strict; +use warnings; +use base qw(Solution); + +sub new +{ + my $classname = shift; + my $self = $classname->SUPER::_new(@_); + bless($self, $classname); + + $self->{solutionFileVersion} = '12.00'; + $self->{vcver} = '15.00'; + $self->{visualStudioName} = 'Visual Studio 2017'; + $self->{VisualStudioVersion} = '15.0.26730.3'; + $self->{MinimumVisualStudioVersion} = '10.0.40219.1'; + + return $self; } sub GetAdditionalHeaders diff -Nru postgresql-9.6-9.6.5/src/tools/msvc/VSObjectFactory.pm postgresql-9.6-9.6.6/src/tools/msvc/VSObjectFactory.pm --- postgresql-9.6-9.6.5/src/tools/msvc/VSObjectFactory.pm 2017-08-28 21:21:42.000000000 +0000 +++ postgresql-9.6-9.6.6/src/tools/msvc/VSObjectFactory.pm 2017-11-06 22:08:55.000000000 +0000 @@ -53,8 +53,14 @@ { return new VS2015Solution(@_); } + # visual 2017 hasn't changed the nmake version to 15, so adjust the check to support it. + elsif (($visualStudioVersion ge '14.10') or ($visualStudioVersion eq '15.00')) + { + return new VS2017Solution(@_); + } else { + croak $visualStudioVersion; croak "The requested Visual Studio version is not supported."; } } @@ -92,8 +98,14 @@ { return new VC2015Project(@_); } + # visual 2017 hasn't changed the nmake version to 15, so adjust the check to support it. + elsif (($visualStudioVersion ge '14.10') or ($visualStudioVersion eq '15.00')) + { + return new VC2017Project(@_); + } else { + croak $visualStudioVersion; croak "The requested Visual Studio version is not supported."; } } @@ -120,6 +132,7 @@ sub _GetVisualStudioVersion { my ($major, $minor) = @_; + # visual 2017 hasn't changed the nmake version to 15, so still using the older version for comparison. if ($major > 14) { carp