- 12 Jul, 2013 3 commits
-
-
Noah Misch authored
This makes superuser-issued REFRESH MATERIALIZED VIEW safe regardless of the object's provenance. REINDEX is an earlier example of this pattern. As a downside, functions called from materialized views must tolerate running in a security-restricted operation. CREATE MATERIALIZED VIEW need not change user ID. Nonetheless, avoid creation of materialized views that will invariably fail REFRESH by making it, too, start a security-restricted operation. Back-patch to 9.3 so materialized views have this from the beginning. Reviewed by Kevin Grittner.
-
Noah Misch authored
-
Peter Eisentraut authored
-
- 11 Jul, 2013 2 commits
-
-
Bruce Momjian authored
Previously, pg_upgrade docs recommended using .pgpass if using MD5 authentication to avoid being prompted for a password. Turns out pg_ctl never prompts for a password, so MD5 requires .pgpass --- document that. Also recommend 'peer' for authentication too. Backpatch back to 9.1.
-
Peter Eisentraut authored
From: Ian Lawrence Barwick <barwick@gmail.com>
-
- 10 Jul, 2013 2 commits
-
-
Peter Eisentraut authored
-
Peter Eisentraut authored
-
- 09 Jul, 2013 3 commits
-
-
Heikki Linnakangas authored
Itanium doesn't have the mfence instruction - that's a 386 thing. Use the "mf" instruction instead. This reverts the previous commit to add "#include <emmintrinsic.h>"; the problem was not with a missing #include.
-
Heikki Linnakangas authored
Hopefully this fixes the build failure on buildfarm member dugong.
-
Peter Eisentraut authored
path_encode's "closed" argument used to take three values: TRUE, FALSE, or -1, while being of type bool. Replace that with a three-valued enum for more clarity.
-
- 08 Jul, 2013 5 commits
-
-
Alvaro Herrera authored
It's htup_details.h now. Jeff Janes
-
Heikki Linnakangas authored
Was broken by my xloginsert scaling patch. XLogCtl global variable needs to be initialized in each process, as it's not inherited by fork() on Windows.
-
Heikki Linnakangas authored
I didn't realize that ALIGNOF_XLOG_BUFFER was used in pg_test_fsync.
-
Heikki Linnakangas authored
This patch replaces WALInsertLock with a number of WAL insertion slots, allowing multiple backends to insert WAL records to the WAL buffers concurrently. This is particularly useful for parallel loading large amounts of data on a system with many CPUs. This has one user-visible change: switching to a new WAL segment with pg_switch_xlog() now fills the remaining unused portion of the segment with zeros. This potentially adds some overhead, but it has been a very common practice by DBA's to clear the "tail" of the segment with an external pg_clearxlogtail utility anyway, to make the WAL files compress better. With this patch, it's no longer necessary to do that. This patch adds a new GUC, xloginsert_slots, to tune the number of WAL insertion slots. Performance testing suggests that the default, 8, works pretty well for all kinds of worklods, but I left the GUC in place to allow others with different hardware to test that easily. We might want to remove that before release. Reviewed by Andres Freund.
-
Tom Lane authored
The code in set_append_rel_pathlist() for building parameterized paths for append relations (inheritance and UNION ALL combinations) supposed that the cheapest regular path for a child relation would still be cheapest when reparameterized. Which might not be the case, particularly if the added join conditions are expensive to compute, as in a recent example from Jeff Janes. Fix it to compare child path costs *after* reparameterizing. We can short-circuit that if the cheapest pre-existing path is already parameterized correctly, which seems likely to be true often enough to be worth checking for. Back-patch to 9.2 where parameterized paths were introduced.
-
- 07 Jul, 2013 6 commits
-
-
Peter Eisentraut authored
-
Peter Eisentraut authored
Use "MXID" as placeholder for -m option, instead of just "XID".
-
Bruce Momjian authored
Document that tablespaces and pg_xlog can be on different file systems for pg_upgrade --link mode. Backpatch to 9.3.
-
Magnus Hagander authored
Looks like a cut/paste error in the original addition of the file. Andres Freund
-
Peter Eisentraut authored
Explicitly ignore return value from write(), to silence warning. This warning only appeared under --disable-thread-safety.
-
Peter Eisentraut authored
Avoid output formatting differences by printing str() instead of repr() of the value.
-
- 06 Jul, 2013 4 commits
-
-
Jeff Davis authored
On some platforms, posix_fallocate() is available but may still return EINVAL if the underlying filesystem does not support it. So, in case of an error, fall through to the alternate implementation that just writes zeros. Per buildfarm failure and analysis by Tom Lane.
-
Michael Meskes authored
-
Tom Lane authored
Commit 31a89185 added some tests in plpgsql.sql that used a function rather unthinkingly named "foo()". However, rangefuncs.sql has some much older tests that create a function of that name, and since these test scripts run in parallel, there is a chance of failures if the timing is just right. Use another name to avoid that. Per buildfarm (failure seen today on "hamerkop", but probably it's happened before and not been noticed).
-
Peter Eisentraut authored
The old implementation converted PostgreSQL numeric to Python float, which was always considered a shortcoming. Now numeric is converted to the Python Decimal object. Either the external cdecimal module or the standard library decimal module are supported. From: Szymon Guz <mabewlun@gmail.com> From: Ronan Dunklau <rdunklau@gmail.com> Reviewed-by: Steve Singer <steve@ssinger.info>
-
- 05 Jul, 2013 7 commits
-
-
Noah Misch authored
All instances of the verbiage lagging the code. Back-patch to 9.3, where materialized views were introduced.
-
Jeff Davis authored
This function is more efficient than actually writing out zeroes to the new file, per microbenchmarks by Jon Nelson. Also, it may reduce the likelihood of WAL file fragmentation. Jon Nelson, with review by Andres Freund, Greg Smith and me.
-
Magnus Hagander authored
Erikjan Rijkers
-
Magnus Hagander authored
Reported by Kevin Hale Boyes
-
Magnus Hagander authored
This value, now pg_stat_all_tables.n_mod_since_analyze, was already tracked and used by autovacuum, but not exposed to the user. Mark Kirkwood, review by Laurenz Albe
-
Michael Meskes authored
-
Noah Misch authored
Commit 263865a4 switched tuplesort.c and tuplestore.c variables representing memory usage from type "long" to type "Size". This was unnecessary; I thought doing so avoided overflow scenarios on 64-bit Windows, but guc.c already limited work_mem so as to prevent the overflow. It was also incomplete, not touching the logic that assumed a signed data type. Change the affected variables to "int64". This is perfect for 64-bit platforms, and it reduces the need to contemplate platform-specific overflow scenarios. It also puts us close to being able to support work_mem over 2 GiB on 64-bit Windows. Per report from Andres Freund.
-
- 04 Jul, 2013 7 commits
-
-
Fujii Masao authored
Michael Paquier
-
Bruce Momjian authored
Comment: This code erroneously assumes '\.' on a line alone inside a quoted CSV string terminates the \copy. http://www.postgresql.org/message-id/E1TdNVQ-0001ju-GO@wrigleys.postgresql.org
-
Bruce Momjian authored
Backpatch to 9.3. Idea from Craig Ringer
-
Robert Haas authored
In 9.3, there's no particular limit on the number of bgworkers; instead, we just count up the number that are actually registered, and use that to set MaxBackends. However, that approach causes problems for Hot Standby, which needs both MaxBackends and the size of the lock table to be the same on the standby as on the master, yet it may not be desirable to run the same bgworkers in both places. 9.3 handles that by failing to notice the problem, which will probably work fine in nearly all cases anyway, but is not theoretically sound. A further problem with simply counting the number of registered workers is that new workers can't be registered without a postmaster restart. This is inconvenient for administrators, since bouncing the postmaster causes an interruption of service. Moreover, there are a number of applications for background processes where, by necessity, the background process must be started on the fly (e.g. parallel query). While this patch doesn't actually make it possible to register new background workers after startup time, it's a necessary prerequisite. Patch by me. Review by Michael Paquier.
-
Robert Haas authored
BGWORKER_BACKEND_DATABASE_CONNECTION can only be used if BGWORKER_SHMEM_ACCESS is also used. Michael Paquier, with some tweaks by me.
-
Peter Eisentraut authored
From: Dimitri Fontaine <dimitri@2ndQuadrant.fr>
-
Peter Eisentraut authored
From: Dimitri Fontaine <dimitri@2ndQuadrant.fr>
-
- 03 Jul, 2013 1 commit
-
-
Andrew Dunstan authored
Bug introduced by commit 6697aa2b and reported by Robert Haas.
-