pgsql: postgres_fdw: Fix test for cached costs in estimate_path_cost_si

2019-01-28 Thread Etsuro Fujita
postgres_fdw: Fix test for cached costs in estimate_path_cost_size(). estimate_path_cost_size() failed to re-use cached costs when the cached startup/total cost was 0, so it calculated the costs redundantly. This is an oversight in commit aa09cd242f; but apply the patch to HEAD only because there

pgsql: Use catalog query to discover tables to process in vacuumdb

2019-01-28 Thread Michael Paquier
Use catalog query to discover tables to process in vacuumdb vacuumdb would use a catalog query only when the command caller does not define a list of tables. Switching to a catalog table represents two advantages: - Relation existence check can happen before running any VACUUM or ANALYZE query.

pgsql: Fix LLVM related headers to compile standalone (to fix cplusplus

2019-01-28 Thread Andres Freund
Fix LLVM related headers to compile standalone (to fix cpluspluscheck). Previously llvmjit.h #error'ed when USE_LLVM was not defined, to prevent it from being included from code not having #ifdef USE_LLVM guards - but that's not actually that useful after, during the development of JIT support, LL

pgsql: Fix LLVM related headers to compile standalone (to fix cplusplus

2019-01-28 Thread Andres Freund
Fix LLVM related headers to compile standalone (to fix cpluspluscheck). Previously llvmjit.h #error'ed when USE_LLVM was not defined, to prevent it from being included from code not having #ifdef USE_LLVM guards - but that's not actually that useful after, during the development of JIT support, LL

pgsql: Revert "Move page initialization from RelationAddExtraBlocks() t

2019-01-28 Thread Andres Freund
Revert "Move page initialization from RelationAddExtraBlocks() to use." This reverts commit fc02e6724f3ce069b33284bce092052ab55bd751 and e6799d5a53011985d916fdb48fe014a4ae70422e. Parts of the buildfarm error out with ERROR: page %u of relation "%s" should be empty but is not errors, and so far I/

pgsql: Fix race condition between relation extension and vacuum.

2019-01-28 Thread Andres Freund
Fix race condition between relation extension and vacuum. In e6799d5a5301 I removed vacuumlazy.c trickery around re-checking whether a page is actually empty after acquiring an extension lock on the relation, because the page is not PageInit()ed anymore, and entries in the FSM ought not to lead to

pgsql: Separate per-batch and per-tuple memory contexts in COPY

2019-01-28 Thread Tomas Vondra
Separate per-batch and per-tuple memory contexts in COPY In batching mode, COPY was using the same (per-tuple) memory context for allocations with longer lifetime. This was confusing but harmless, until commit 31f3817402 added COPY FROM ... WHERE feature, introducing a risk of memory leak. The "p

pgsql: In the planner, replace an empty FROM clause with a dummy RTE.

2019-01-28 Thread Tom Lane
In the planner, replace an empty FROM clause with a dummy RTE. The fact that "SELECT expression" has no base relations has long been a thorn in the side of the planner. It makes it hard to flatten a sub-query that looks like that, or is a trivial VALUES() item, because the planner generally uses

pgsql: Install JIT related headers.

2019-01-28 Thread Andres Freund
Install JIT related headers. There's no reason not to install these, and jit.h can be useful for users of e.g. planner hooks. Author: Donald Dong Reviewed-By: Andres Freund Discussion: https://postgr.es/m/[email protected] Backpatch: 11-, where JIT compilation was int

pgsql: Install JIT related headers.

2019-01-28 Thread Andres Freund
Install JIT related headers. There's no reason not to install these, and jit.h can be useful for users of e.g. planner hooks. Author: Donald Dong Reviewed-By: Andres Freund Discussion: https://postgr.es/m/[email protected] Backpatch: 11-, where JIT compilation was int

pgsql: Move page initialization from RelationAddExtraBlocks() to use.

2019-01-28 Thread Andres Freund
Move page initialization from RelationAddExtraBlocks() to use. Previously we initialized pages when bulk extending in RelationAddExtraBlocks(). That has a major disadvantage: It ties RelationAddExtraBlocks() to heap, as other types of storage are likely to need different amounts of special space,

pgsql: psql: Remove unused tab completion query

2019-01-28 Thread Peter Eisentraut
psql: Remove unused tab completion query This was used for the old CLUSTER syntax, has been unused since e55c8e36ae44677dca4420bed07ad09d191fdf6c. Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/d4316b87bb8ec7a0ea04fb5fbc18f34a6799fe3f Modified Files --

pgsql: doc: Add link from sslinfo to pg_stat_ssl

2019-01-28 Thread Peter Eisentraut
doc: Add link from sslinfo to pg_stat_ssl Reviewed-by: Kyotaro HORIGUCHI Discussion: https://www.postgresql.org/message-id/flat/[email protected]/ Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/bcf3f00be515c1da76b1d88923d01a7886