1. 02 4月, 2016 1 次提交
  2. 01 4月, 2016 4 次提交
    • T
      Fix English in bloom module documentation · a361c22e
      Teodor Sigaev 提交于
      Author: Erik Rijkers
      a361c22e
    • T
      Bloom index contrib module · 9ee014fc
      Teodor Sigaev 提交于
      Module provides new access method. It is actually a simple Bloom filter
      implemented as pgsql's index. It could give some benefits on search
      with large number of columns.
      
      Module is a single way to test generic WAL interface committed earlier.
      
      Author: Teodor Sigaev, Alexander Korotkov
      Reviewers: Aleksander Alekseev, Michael Paquier, Jim Nasby
      9ee014fc
    • T
      Fix typo in generic wal docs · 4e56e5a6
      Teodor Sigaev 提交于
      Markus Nullmeier
      4e56e5a6
    • T
      Add Generic WAL interface · 65578341
      Teodor Sigaev 提交于
      This interface is designed to give an access to WAL for extensions which
      could implement new access method, for example. Previously it was
      impossible because restoring from custom WAL would need to access system
      catalog to find a redo custom function. This patch suggests generic way
      to describe changes on page with standart layout.
      
      Bump XLOG_PAGE_MAGIC because of new record type.
      
      Author: Alexander Korotkov with a help of Petr Jelinek, Markus Nullmeier and
      	minor editorization by my
      Reviewers: Petr Jelinek, Alvaro Herrera, Teodor Sigaev, Jim Nasby,
      	Michael Paquier
      65578341
  3. 30 3月, 2016 10 次提交
    • T
      Introduce SP-GiST operator class over box. · acdf2a8b
      Teodor Sigaev 提交于
      Patch implements quad-tree over boxes, naive approach of 2D quad tree will not
      work for any non-point objects because splitting space on node is not
      efficient. The idea of pathc is treating 2D boxes as 4D points, so,
      object will not overlap (in 4D space).
      
      The performance tests reveal that this technique especially beneficial
      with too much overlapping objects, so called "spaghetti data".
      
      Author: Alexander Lebedev with editorization by Emre Hasegeli and me
      acdf2a8b
    • T
      Introduce traversalValue for SP-GiST scan · ccd6eb49
      Teodor Sigaev 提交于
      During scan sometimes it would be very helpful to know some information about
      parent node or all 	ancestor nodes. Right now reconstructedValue could be used
      but it's not a right usage of it (range opclass uses that).
      
      traversalValue is arbitrary piece of memory in separate MemoryContext while
      reconstructedVale should have the same type as indexed column.
      
      Subsequent patches for range opclass and quad4d tree will use it.
      
      Author: Alexander Lebedev, Teodor Sigaev
      ccd6eb49
    • T
      Remove TZ environment-variable entry from postgres reference page. · c3834ef9
      Tom Lane 提交于
      The server hasn't paid attention to the TZ environment variable since
      commit ca4af308, but that commit missed removing this documentation
      reference, as did commit d883b916 which added the reference where
      it now belongs (initdb).
      
      Back-patch to 9.2 where the behavior changed.  Also back-patch
      d883b916 as needed.
      
      Matthew Somerville
      c3834ef9
    • R
      Add new replication mode synchronous_commit = 'remote_apply'. · 314cbfc5
      Robert Haas 提交于
      In this mode, the master waits for the transaction to be applied on
      the remote side, not just written to disk.  That means that you can
      count on a transaction started on the standby to see all commits
      previously acknowledged by the master.
      
      To make this work, the standby sends a reply after replaying each
      commit record generated with synchronous_commit >= 'remote_apply'.
      This introduces a small inefficiency: the extra replies will be sent
      even by standbys that aren't the current synchronous standby.  But
      previously-existing synchronous_commit levels make no attempt at all
      to optimize which replies are sent based on what the primary cares
      about, so this is no worse, and at least avoids any extra replies for
      people not using the feature at all.
      
      Thomas Munro, reviewed by Michael Paquier and by me.  Some additional
      tweaks by me.
      314cbfc5
    • T
      Allow to_timestamp(float8) to convert float infinity to timestamp infinity. · e511d878
      Tom Lane 提交于
      With the original SQL-function implementation, such cases failed because
      we don't support infinite intervals.  Converting the function to C lets
      us bypass the interval representation, which should be a bit faster as
      well as more flexible.
      
      Vitaly Burovoy, reviewed by Anastasia Lubennikova
      e511d878
    • R
      Allow aggregate transition states to be serialized and deserialized. · 5fe5a2ce
      Robert Haas 提交于
      This is necessary infrastructure for supporting parallel aggregation
      for aggregates whose transition type is "internal".  Such values
      can't be passed between cooperating processes, because they are
      just pointers.
      
      David Rowley, reviewed by Tomas Vondra and by me.
      5fe5a2ce
    • R
      Improve pgbench docs regarding per-transaction logging. · 7f0a2c85
      Robert Haas 提交于
      The old documentation didn't know about the new -b flag, only about -f.
      
      Fabien Coelho
      7f0a2c85
    • R
      Fix pgbench documentation error. · d797bf7d
      Robert Haas 提交于
      The description of what the per-transaction log file says for skipped
      transactions is just plain wrong.
      
      Report and patch by Tomas Vondra, reviewed by Fabien Coelho and
      modified by me.
      d797bf7d
    • A
      pgbench: allow a script weight of zero · a1c935d3
      Alvaro Herrera 提交于
      This refines the previous weight range and allows a script to be "turned
      off" by passing a zero weight, which is useful when scripting multiple
      pgbench runs.
      
      I did not apply the suggested warning when a script uses zero weight; we
      use the principle elsewhere that if there's nothing to be done, do
      nothing quietly.
      
      Adjust docs accordingly.
      
      Author: Jeff Janes, Fabien Coelho
      a1c935d3
    • R
      pgbench: Remove \setrandom. · ad956647
      Robert Haas 提交于
      You can now do the same thing via \set using the appropriate function,
      either random(), random_gaussian(), or random_exponential(), depending
      on the desired distribution.  This is not backward-compatible, but per
      discussion, it's worth it to avoid having the old syntax hang around
      forever.
      
      Fabien Coelho, reviewed by Michael Paquier, and adjusted by me.
      ad956647
  4. 29 3月, 2016 3 次提交
    • R
      pgbench: Support double constants and functions. · 86c43f4e
      Robert Haas 提交于
      The new functions are pi(), random(), random_exponential(),
      random_gaussian(), and sqrt().  I was worried that this would be
      slower than before, but, if anything, it actually turns out to be
      slightly faster, because we now express the built-in pgbench scripts
      using fewer lines; each \setrandom can be merged into a subsequent
      \set.
      
      Fabien Coelho
      86c43f4e
    • A
      Mention BRIN as able to do multi-column indexes · 80b986cf
      Alvaro Herrera 提交于
      Documentation mentioned B-tree, GiST and GIN as able to do multicolumn
      indexes; I failed to add BRIN to the list.
      
      Author: Petr Jediný
      Reviewed-By: Fujii Masao, Emre Hasegeli
      80b986cf
    • T
      Document errhidecontext() where it ought to be documented. · e5a4dea8
      Tom Lane 提交于
      Seems to have been missed when this function was added.  Noted while
      looking at David Steele's proposal to add another similar function.
      e5a4dea8
  5. 28 3月, 2016 3 次提交
    • T
      Last-minute updates for release notes. · 4c46f833
      Tom Lane 提交于
      Security: CVE-2016-2193, CVE-2016-3065
      4c46f833
    • T
      Code and docs review for commit 3187d6de. · d12e5bb7
      Tom Lane 提交于
      Fix up check for high-bit-set characters, which provoked "comparison is
      always true due to limited range of data type" warnings on some compilers,
      and was unlike the way we do it elsewhere anyway.  Fix omission of "$"
      from the set of valid identifier continuation characters.  Get rid of
      sanitize_text(), which was utterly inconsistent with any other error report
      anywhere in the system, and wasn't even well designed on its own terms
      (double-quoting the result string without escaping contained double quotes
      doesn't seem very well thought out).  Fix up error messages, which didn't
      follow the message style guidelines very well, and were overly specific in
      situations where the actual mistake might not be what they said.  Improve
      documentation.
      
      (I started out just intending to fix the compiler warning, but the more
      I looked at the patch the less I liked it.)
      d12e5bb7
    • T
      Release notes for 9.5.2, 9.4.7, 9.3.12, 9.2.16, 9.1.21. · 499a5057
      Tom Lane 提交于
      499a5057
  6. 27 3月, 2016 1 次提交
    • T
      First-draft release notes for 9.5.2. · 29b6123e
      Tom Lane 提交于
      As usual, the release notes for other branches will be made by cutting
      these down, but put them up for community review first.
      29b6123e
  7. 26 3月, 2016 2 次提交
    • T
      Improve PL/Tcl errorCode facility by providing decoded name for SQLSTATE. · cd37bb78
      Tom Lane 提交于
      We don't really want to encourage people to write numeric SQLSTATEs in
      programs; that's unreadable and error-prone.  Copy plpgsql's infrastructure
      for converting between SQLSTATEs and exception names shown in Appendix A,
      and modify examples in tests and documentation to do it that way.
      cd37bb78
    • T
      In PL/Tcl, make database errors return additional info in the errorCode. · fb8d2a7f
      Tom Lane 提交于
      Tcl has a convention for returning additional info about an error in a
      global variable named errorCode.  Up to now PL/Tcl has ignored that,
      but this patch causes database errors caught by PL/Tcl to fill in
      errorCode with useful information from the ErrorData struct.
      
      Jim Nasby, reviewed by Pavel Stehule and myself
      fb8d2a7f
  8. 25 3月, 2016 1 次提交
  9. 24 3月, 2016 1 次提交
  10. 22 3月, 2016 3 次提交
  11. 21 3月, 2016 1 次提交
    • T
      SQL commands in pgbench scripts are now ended by semicolons, not newlines. · 68ab8e8b
      Tom Lane 提交于
      To allow multiline SQL commands in scripts, adopt the same rules psql uses
      to decide what is the end of a SQL command, to wit, an unquoted semicolon
      not encased in parentheses.  Do this by importing the same flex lexer that
      psql uses, since coping with stuff like dollar-quoted literals is hard to
      get right without going the full nine yards.
      
      This makes use of the infrastructure added in commit 0ea9efbe to
      support independently-written flex lexers scanning the same PsqlScanState
      input-buffer data structure.  Since that infrastructure isn't very
      friendly to ad-hoc parsing code such as strtok(), improve exprscan.l
      so that it can parse either whitespace-separated words or expression
      tokens, on demand, and rewrite pgbench.c's backslash-command parsing
      code to always use the lexer to fetch tokens.
      
      It's still the case that pgbench backslash commands extend to the end
      of the line, no more and no less.  That could be changed in a fairly
      localized way now, and there was some interest in doing so, but it
      seems like material for a separate patch.
      
      In passing, make some marginal cleanups in syntax error reporting,
      const-ify a few data structures that could use it, and run some of
      this code through pgindent.
      
      I can't tell whether the MSVC build scripts need to be taught explicitly
      about the changes here or not, but the buildfarm will soon tell us.
      
      Kyotaro Horiguchi and Tom Lane
      68ab8e8b
  12. 19 3月, 2016 4 次提交
    • A
      pgbench: Allow changing weights for scripts · 7bafffea
      Alvaro Herrera 提交于
      Previously, all scripts had the same probability of being chosen when
      multiple of them were specified via -b, -f, -N, -S.  With this commit,
      -b and -f now search for an "@" in the script name and use the integer
      found after it as the drawing probability for that script.
      
      (One disadvantage is that if you have script whose names contain @, you
      are now forced to specify "@1" at the end; otherwise the name's @ is
      confused with a weight separator.  We don't expect many pgbench script
      with @ in their names in the wild, so this shouldn't be too serious a
      problem.)
      
      While at it, rework the interface between addScript, process_file,
      process_builtin, and findBuiltin.  It had gotten a bit out of hand with
      recent commits.
      
      Author: Fabien Coelho
      Reviewed-By: Andres Freund, Robert Haas, Álvaro Herrera, Michaël Paquier
      Discussion: http://www.postgresql.org/message-id/alpine.DEB.2.10.1603160721240.1666@sto
      7bafffea
    • P
      Allow SSL server key file to have group read access if owned by root · 9a83564c
      Peter Eisentraut 提交于
      We used to require the server key file to have permissions 0600 or less
      for best security.  But some systems (such as Debian) have certificate
      and key files managed by the operating system that can be shared with
      other services.  In those cases, the "postgres" user is made a member of
      a special group that has access to those files, and the server key file
      has permissions 0640.  To accommodate that kind of setup, also allow the
      key file to have permissions 0640 but only if owned by root.
      
      From: Christoph Berg <myon@debian.org>
      Reviewed-by: NAlvaro Herrera <alvherre@alvh.no-ip.org>
      9a83564c
    • P
      Merge wal_level "archive" and "hot_standby" into new name "replica" · b555ed81
      Peter Eisentraut 提交于
      The distinction between "archive" and "hot_standby" existed only because
      at the time "hot_standby" was added, there was some uncertainty about
      stability.  This is now a long time ago.  We would like to move forward
      with simplifying the replication configuration, but this distinction is
      in the way, because a primary server cannot tell (without asking a
      standby or predicting the future) which one of these would be the
      appropriate level.
      
      Pick a new name for the combined setting to make it clearer that it
      covers all (non-logical) backup and replication uses.  The old values
      are still accepted but are converted internally.
      Reviewed-by: NMichael Paquier <michael.paquier@gmail.com>
      Reviewed-by: NDavid Steele <david@pgmasters.net>
      b555ed81
    • R
      Directly modify foreign tables. · 0bf3ae88
      Robert Haas 提交于
      postgres_fdw can now sent an UPDATE or DELETE statement directly to
      the foreign server in simple cases, rather than sending a SELECT FOR
      UPDATE statement and then updating or deleting rows one-by-one.
      
      Etsuro Fujita, reviewed by Rushabh Lathia, Shigeru Hanada, Kyotaro
      Horiguchi, Albe Laurenz, Thom Brown, and me.
      0bf3ae88
  13. 18 3月, 2016 3 次提交
  14. 17 3月, 2016 2 次提交
  15. 16 3月, 2016 1 次提交
    • T
      Add word_similarity to pg_trgm contrib module. · f576b17c
      Teodor Sigaev 提交于
      Patch introduces a concept of similarity over string and just a word from
      another string.
      
      Version of extension is not changed because 1.2 was already introduced in 9.6
      release cycle, so, there wasn't a public version.
      
      Author: Alexander Korotkov, Artur Zakirov
      f576b17c