Skip to content
Snippets Groups Projects
  1. Mar 12, 2014
    • Robert Haas's avatar
      test_decoding: Documentation fix. · a0b4c355
      Robert Haas authored
      Andres Freund
      a0b4c355
    • Heikki Linnakangas's avatar
      Allow opclasses to provide tri-valued GIN consistent functions. · c5608ea2
      Heikki Linnakangas authored
      With the GIN "fast scan" feature, GIN can skip items without fetching all
      the keys for them, if it can prove that they don't match regardless of
      those keys. So far, it has done the proving by calling the boolean
      consistent function with all combinations of TRUE/FALSE for the unfetched
      keys, but since that's O(n^2), it becomes unfeasible with more than a few
      keys. We can avoid calling consistent with all the combinations, if we can
      tell the operator class implementation directly which keys are unknown.
      
      This commit includes a triConsistent function for the built-in array and
      tsvector opclasses.
      
      Alexander Korotkov, with some changes by me.
      c5608ea2
  2. Mar 10, 2014
    • Robert Haas's avatar
      Allow logical decoding via the walsender interface. · 5a991ef8
      Robert Haas authored
      In order for this to work, walsenders need the optional ability to
      connect to a database, so the "replication" keyword now allows true
      or false, for backward-compatibility, and the new value "database"
      (which causes the "dbname" parameter to be respected).
      
      walsender needs to loop not only when idle but also when sending
      decoded data to the user and when waiting for more xlog data to decode.
      This means that there are now three separate loops inside walsender.c;
      although some refactoring has been done here, this is still a bit ugly.
      
      Andres Freund, with contributions from Álvaro Herrera, and further
      review by me.
      5a991ef8
  3. Mar 08, 2014
  4. Mar 07, 2014
  5. Mar 06, 2014
  6. Mar 04, 2014
    • Andrew Dunstan's avatar
      Provide a FORCE NULL option to COPY in CSV mode. · 3b5e03dc
      Andrew Dunstan authored
      This forces an input field containing the quoted null string to be
      returned as a NULL. Without this option, only unquoted null strings
      behave this way. This helps where some CSV producers insist on quoting
      every field, whether or not it is needed. The option takes a list of
      fields, and only applies to those columns. There is an equivalent
      column-level option added to file_fdw.
      
      Ian Barwick, with some tweaking by Andrew Dunstan, reviewed by Payal
      Singh.
      3b5e03dc
    • Alvaro Herrera's avatar
      auto_explain: Add logging of trigger execution · e2a0fc53
      Alvaro Herrera authored
      Author: Kyotaro HORIGUCHI
      Reviewed-by: Jaime Casanova
      e2a0fc53
    • Alvaro Herrera's avatar
      Constructors for interval, timestamp, timestamptz · 84df54b2
      Alvaro Herrera authored
      Author: Pavel Stěhule, editorialized somewhat by Álvaro Herrera
      Reviewed-by: Tomáš Vondra, Marko Tiikkaja
      With input from Fabrízio de Royes Mello, Jim Nasby
      84df54b2
  7. Mar 03, 2014
    • Robert Haas's avatar
      Introduce logical decoding. · b89e1510
      Robert Haas authored
      This feature, building on previous commits, allows the write-ahead log
      stream to be decoded into a series of logical changes; that is,
      inserts, updates, and deletes and the transactions which contain them.
      It is capable of handling decoding even across changes to the schema
      of the effected tables.  The output format is controlled by a
      so-called "output plugin"; an example is included.  To make use of
      this in a real replication system, the output plugin will need to be
      modified to produce output in the format appropriate to that system,
      and to perform filtering.
      
      Currently, information can be extracted from the logical decoding
      system only via SQL; future commits will add the ability to stream
      changes via walsender.
      
      Andres Freund, with review and other contributions from many other
      people, including Álvaro Herrera, Abhijit Menon-Sen, Peter Gheogegan,
      Kevin Grittner, Robert Haas, Heikki Linnakangas, Fujii Masao, Abhijit
      Menon-Sen, Michael Paquier, Simon Riggs, Craig Ringer, and Steve
      Singer.
      b89e1510
    • Heikki Linnakangas's avatar
      Rename huge_tlb_pages to huge_pages, and improve docs. · f8ce16d0
      Heikki Linnakangas authored
      Christian Kruse
      f8ce16d0
    • Alvaro Herrera's avatar
      pg_dump et al: Add --if-exists option · 9067310c
      Alvaro Herrera authored
      This option makes pg_dump, pg_dumpall and pg_restore inject an IF EXISTS
      clause to each DROP command they emit.  (In pg_dumpall, the clause is
      not added to individual objects drops, but rather to the CREATE DATABASE
      commands, as well as CREATE ROLE and CREATE TABLESPACE.)
      
      This allows for a better user dump experience when using --clean in case
      some objects do not already exist.  Per bug #7873 by Dave Rolsky.
      
      Author: Pavel Stěhule
      Reviewed-by: Jeevan Chalke, Álvaro Herrera, Josh Kupershmidt
      9067310c
    • Robert Haas's avatar
      Corrections to replication slots code and documentation. · d83ee622
      Robert Haas authored
      Andres Freund, per a report from Vik Faering
      d83ee622
  8. Feb 27, 2014
    • Alvaro Herrera's avatar
      Allow BASE_BACKUP to be throttled · ef5856fd
      Alvaro Herrera authored
      A new MAX_RATE option allows imposing a limit to the network transfer
      rate from the server side.  This is useful to limit the stress that
      taking a base backup has on the server.
      
      pg_basebackup is now able to specify a value to the server, too.
      
      Author: Antonin Houska
      
      Patch reviewed by Stefan Radomski, Andres Freund, Zoltán Böszörményi,
      Fujii Masao, and Álvaro Herrera.
      ef5856fd
    • Alvaro Herrera's avatar
      doc: bgw_main takes a Datum argument, not void *. · 4333eee8
      Alvaro Herrera authored
      Per report from James Harper.
      4333eee8
  9. Feb 25, 2014
    • Robert Haas's avatar
      Show xid and xmin in pg_stat_activity and pg_stat_replication. · dd1a3bcc
      Robert Haas authored
      Christian Kruse, reviewed by Andres Freund and myself, with further
      minor adjustments by me.
      dd1a3bcc
    • Peter Eisentraut's avatar
      Update and clarify ssl_ciphers default · 32001ab0
      Peter Eisentraut authored
      - Write HIGH:MEDIUM instead of DEFAULT:!LOW:!EXP for clarity.
      - Order 3DES last to work around inappropriate OpenSSL default.
      - Remove !MD5 and @STRENGTH, because they are irrelevant.
      - Add clarifying documentation.
      
      Effectively, the new default is almost the same as the old one, but it
      is arguably easier to understand and modify.
      
      Author: Marko Kreen <markokr@gmail.com>
      32001ab0
  10. Feb 24, 2014
  11. Feb 22, 2014
  12. Feb 21, 2014
    • Peter Eisentraut's avatar
      doc: Clarify documentation page header customization code · 8c059dff
      Peter Eisentraut authored
      The customization overrode the fast-forward code with its custom Up
      link.  So this is no longer really the fast-forward feature, so we might
      as well turn that off and override the non-ff template instead, thus
      removing one mental indirection.
      
      Fix the wrong column span declaration.
      
      Clarify and update the documentation.
      8c059dff
  13. Feb 19, 2014
  14. Feb 17, 2014
    • Tom Lane's avatar
      Last-minute updates for release notes. · 7b1fab3f
      Tom Lane authored
      Add entries for security issues.
      
      Security: CVE-2014-0060 through CVE-2014-0067
      7b1fab3f
    • Tom Lane's avatar
      Improve documentation about multixact IDs. · e7f40975
      Tom Lane authored
      Per gripe from Josh Berkus.
      e7f40975
    • Tom Lane's avatar
      Document risks of "make check" in the regression testing instructions. · 6ef32542
      Tom Lane authored
      Since the temporary server started by "make check" uses "trust"
      authentication, another user on the same machine could connect to it
      as database superuser, and then potentially exploit the privileges of
      the operating-system user who started the tests.  We should change
      the testing procedures to prevent this risk; but discussion is required
      about the best way to do that, as well as more testing than is practical
      for an undisclosed security problem.  Besides, the same issue probably
      affects some user-written test harnesses.  So for the moment, we'll just
      warn people against using "make check" when there are untrusted users on
      the same machine.
      
      In passing, remove some ancient advice that suggested making the
      regression testing subtree world-writable if you'd built as root.
      That looks dangerously insecure in modern contexts, and anyway we
      should not be encouraging people to build Postgres as root.
      
      Security: CVE-2014-0067
      6ef32542
    • Noah Misch's avatar
      Document security implications of check_function_bodies. · 540b4e5b
      Noah Misch authored
      Back-patch to 8.4 (all supported versions).
      540b4e5b
    • Noah Misch's avatar
      Prevent privilege escalation in explicit calls to PL validators. · 537cbd35
      Noah Misch authored
      The primary role of PL validators is to be called implicitly during
      CREATE FUNCTION, but they are also normal functions that a user can call
      explicitly.  Add a permissions check to each validator to ensure that a
      user cannot use explicit validator calls to achieve things he could not
      otherwise achieve.  Back-patch to 8.4 (all supported versions).
      Non-core procedural language extensions ought to make the same two-line
      change to their own validators.
      
      Andres Freund, reviewed by Tom Lane and Noah Misch.
      
      Security: CVE-2014-0061
      537cbd35
    • Noah Misch's avatar
      Shore up ADMIN OPTION restrictions. · fea164a7
      Noah Misch authored
      Granting a role without ADMIN OPTION is supposed to prevent the grantee
      from adding or removing members from the granted role.  Issuing SET ROLE
      before the GRANT bypassed that, because the role itself had an implicit
      right to add or remove members.  Plug that hole by recognizing that
      implicit right only when the session user matches the current role.
      Additionally, do not recognize it during a security-restricted operation
      or during execution of a SECURITY DEFINER function.  The restriction on
      SECURITY DEFINER is not security-critical.  However, it seems best for a
      user testing his own SECURITY DEFINER function to see the same behavior
      others will see.  Back-patch to 8.4 (all supported versions).
      
      The SQL standards do not conflate roles and users as PostgreSQL does;
      only SQL roles have members, and only SQL users initiate sessions.  An
      application using PostgreSQL users and roles as SQL users and roles will
      never attempt to grant membership in the role that is the session user,
      so the implicit right to add or remove members will never arise.
      
      The security impact was mostly that a role member could revoke access
      from others, contrary to the wishes of his own grantor.  Unapproved role
      member additions are less notable, because the member can still largely
      achieve that by creating a view or a SECURITY DEFINER function.
      
      Reviewed by Andres Freund and Tom Lane.  Reported, independently, by
      Jonas Sundman and Noah Misch.
      
      Security: CVE-2014-0060
      fea164a7
Loading