Re: [HACKERS] WIP: SCRAM authentication

2015-08-11 Thread Robert Haas
On Tue, Aug 11, 2015 at 2:35 PM, Peter Eisentraut pete...@gmx.net wrote: On 8/11/15 10:28 AM, Robert Haas wrote: Right. So what? First, you upgrade all of the clients one by one to a new version of the connector that supports SCRAM. In my experience, upgrading clients is, in many settings,

[HACKERS] can't coax query planner into using all columns of a gist index

2015-08-11 Thread Gideon Dresdner
Greetings, I had a discussion on IRC today with RhodiumToad regarding optimizing a specific query. We didn't manage to figure out how to get postgres to hit a GIST index. The bigger picture is that I am trying to do some bioinformatics and thought that postgres would be a great way of getting

Re: [HACKERS] Commitfest remaining Needs Review items

2015-08-11 Thread Stephen Frost
Heikki, * Heikki Linnakangas (hlinn...@iki.fi) wrote: * self-defined policy for sepgsql regression test Stephen: would you have the time to handle this, please? We'll definitely get this addressed soon. Apologies for taking so long to get to it, was in Brazil last week and over the weekend

Re: [HACKERS] replication slot restart_lsn initialization

2015-08-11 Thread Gurjeet Singh
On Mon, Aug 10, 2015 at 7:12 AM, Andres Freund and...@anarazel.de wrote: On 2015-07-07 09:42:54 -0700, Gurjeet Singh wrote: /* + * Grab and save an LSN value to prevent WAL recycling past that point. + */ +void +ReplicationSlotRegisterRestartLSN() +{ Didn't like that description

Re: [HACKERS] max_connections and standby server

2015-08-11 Thread Andres Freund
On 2015-08-11 02:06:53 -0400, Tom Lane wrote: Hm. Surely KnownAssignedXIDs could be resized at need. It's in shared memory so GetSnapshotData() can access it, so not trivially. lock table on the standby, that could be completely occupied by locks taken by hot-standby backend processes, so I

Re: [HACKERS] [PROPOSAL] VACUUM Progress Checker.

2015-08-11 Thread Simon Riggs
On 10 August 2015 at 17:50, Alvaro Herrera alvhe...@2ndquadrant.com wrote: Masahiko Sawada wrote: This topic may have been already discussed but, why don't we use just total scanned pages and total pages? Because those numbers don't extrapolate nicely. If the density of dead tuples is

Re: [HACKERS] Reducing ClogControlLock contention

2015-08-11 Thread Amit Kapila
On Wed, Jul 1, 2015 at 3:49 PM, Simon Riggs si...@2ndquadrant.com wrote: On 1 July 2015 at 11:14, Andres Freund and...@anarazel.de wrote: On 2015-07-01 09:08:11 +0100, Simon Riggs wrote: On 1 July 2015 at 09:00, Amit Kapila amit.kapil...@gmail.com wrote: On Tue, Jun 30, 2015 at 12:32

Re: [HACKERS] max_connections and standby server

2015-08-11 Thread Simon Riggs
On 11 August 2015 at 06:42, Tom Lane t...@sss.pgh.pa.us wrote: Tatsuo Ishii is...@postgresql.org writes: I think this is because pg_control on the standby remembers that the previous primary server's max_connections = 1100 even if the standby server fails to start. Shouldn't we update

Re: [HACKERS] Priority table or Cache table

2015-08-11 Thread Haribabu Kommi
On Mon, Aug 10, 2015 at 3:09 PM, Amit Kapila amit.kapil...@gmail.com wrote: On Thu, Aug 6, 2015 at 12:24 PM, Haribabu Kommi kommi.harib...@gmail.com wrote: What is the configuration for test (RAM of m/c, shared_buffers, scale_factor, etc.)? Here are the details: CPU - 16 core, RAM - 252 GB

Re: [HACKERS] max_connections and standby server

2015-08-11 Thread Andres Freund
On 2015-08-11 13:53:15 +0900, Tatsuo Ishii wrote: Today I encountered an interesting situation. 1) A streaming replication primary server and a standby server is running. At this point max_connections = 100 on both servers. 2) Shutdown both servers. 3) Change max_connections to 1100

Re: [HACKERS] Priority table or Cache table

2015-08-11 Thread Amit Kapila
On Tue, Aug 11, 2015 at 11:31 AM, Haribabu Kommi kommi.harib...@gmail.com wrote: On Mon, Aug 10, 2015 at 3:09 PM, Amit Kapila amit.kapil...@gmail.com wrote: On Thu, Aug 6, 2015 at 12:24 PM, Haribabu Kommi kommi.harib...@gmail.com wrote: What is the configuration for test (RAM of m/c,

Re: [HACKERS] Priority table or Cache table

2015-08-11 Thread Haribabu Kommi
On Tue, Aug 11, 2015 at 4:43 PM, Amit Kapila amit.kapil...@gmail.com wrote: On Tue, Aug 11, 2015 at 11:31 AM, Haribabu Kommi kommi.harib...@gmail.com wrote: On Mon, Aug 10, 2015 at 3:09 PM, Amit Kapila amit.kapil...@gmail.com wrote: On Thu, Aug 6, 2015 at 12:24 PM, Haribabu Kommi

Re: [HACKERS] max_connections and standby server

2015-08-11 Thread Tom Lane
Michael Paquier michael.paqu...@gmail.com writes: On Tue, Aug 11, 2015 at 2:42 PM, Tom Lane t...@sss.pgh.pa.us wrote: Somebody refresh my memory as to why we have this restriction (that is, slave's max_connections = master's max_connections) in the first place? Seems like it should not be a

Re: [HACKERS] Reducing ClogControlLock contention

2015-08-11 Thread Simon Riggs
On 11 August 2015 at 10:55, Amit Kapila amit.kapil...@gmail.com wrote: On Wed, Jul 1, 2015 at 3:49 PM, Simon Riggs si...@2ndquadrant.com wrote: On 1 July 2015 at 11:14, Andres Freund and...@anarazel.de wrote: On 2015-07-01 09:08:11 +0100, Simon Riggs wrote: On 1 July 2015 at 09:00,

Re: [HACKERS] Reducing ClogControlLock contention

2015-08-11 Thread Amit Kapila
On Tue, Aug 11, 2015 at 3:44 PM, Simon Riggs si...@2ndquadrant.com wrote: On 11 August 2015 at 10:55, Amit Kapila amit.kapil...@gmail.com wrote: What tricks are being used?? Please explain why taking 2 locks is bad here, yet works fine elsewhere. One thing that could be risky in this

Re: [HACKERS] statement_timeout affects query results fetching?

2015-08-11 Thread Shay Rojansky
Thanks (once again!) for the valuable suggestions Robert. The idea of chunking/buffering via cursors has been raised before for another purpose - allowing multiple queries concurrently at the API level (where concurrently means interleaving when reading the resultsets). This would imply exposing

Re: [HACKERS] Raising our compiler requirements for 9.6

2015-08-11 Thread Andres Freund
On 2015-08-05 15:46:36 +0200, Andres Freund wrote: On 2015-08-05 15:08:29 +0200, Andres Freund wrote: We might later want to change some of the harder to maintain macros to inline functions, but that seems better done separately. Here's a conversion for fastgetattr() and heap_getattr().

Re: [HACKERS] How to compare different datums within from a tuple?

2015-08-11 Thread Anastasia Lubennikova
Can someone tell me, how I can compare two datum fields, when I do not know the data type in advance inside an executor function? In a nutshell, there is no way to compare Datums. Datum is an abstact data type. It's the backend internal representation of a single value of any SQL data type.

[HACKERS] RLS and LEAKPROOF functions

2015-08-11 Thread Ted Toth
I built an index on a jsonb column of a table with RLS enabled but it was not being used. Turns out the the function jsonb_contains needed to be LEAKPROOF (thanks Joe Conway). However I do not actually know if jsonb_contains is LEAKPROOF. Who's responsibility is it to insure functions are

Re: [HACKERS] [patch] A \pivot command for psql

2015-08-11 Thread David Fetter
On Tue, Aug 11, 2015 at 10:13:48AM -0400, Robert Haas wrote: On Sun, Aug 9, 2015 at 8:18 PM, Tom Lane t...@sss.pgh.pa.us wrote: psql is a minority API, you know. Not for me. psql has already got a bunch of bells and whistles to format things in particular ways that people have wanted, and

Re: [HACKERS] checkpointer continuous flushing

2015-08-11 Thread Fabien COELHO
Hello Andres, [...] Right. At the cost of keeping track of all files... Sure. Pg already tracks all files, and probably some more tracking would be necessary for an early fsync feature to know what are those already fsync'ed and what are those not yet fsync'ed. Yes, the other version

Re: [HACKERS] Reducing ClogControlLock contention

2015-08-11 Thread Simon Riggs
On 11 August 2015 at 14:53, Amit Kapila amit.kapil...@gmail.com wrote: One more point here why do we need CommitLock before calling SimpleLruReadPage_ReadOnly() in the patch and if it is not required, then can we use LWLockAcquire(shared-buffer_locks[slotno], LW_EXCLUSIVE); instead of

Re: [HACKERS] Reducing ClogControlLock contention

2015-08-11 Thread Simon Riggs
On 11 August 2015 at 11:39, Amit Kapila amit.kapil...@gmail.com wrote: On Tue, Aug 11, 2015 at 3:44 PM, Simon Riggs si...@2ndquadrant.com wrote: On 11 August 2015 at 10:55, Amit Kapila amit.kapil...@gmail.com wrote: What tricks are being used?? Please explain why taking 2 locks is bad

Re: [HACKERS] [patch] A \pivot command for psql

2015-08-11 Thread Daniel Verite
David Fetter wrote: That depends on what you mean by dynamic columns. The approach taken in the tablefunc extension is to use functions which return SETOF RECORD, which in turn need to be cast at runtime. For me, PIVOT with dynamic columns would be a pivot query whose output columns

Re: [HACKERS] Reducing ClogControlLock contention

2015-08-11 Thread Amit Kapila
On Tue, Aug 11, 2015 at 4:09 PM, Amit Kapila amit.kapil...@gmail.com wrote: On Tue, Aug 11, 2015 at 3:44 PM, Simon Riggs si...@2ndquadrant.com wrote: Another thing is that in this flow, with patch there will be three locks (we take per-buffer locks before doing I/O) that will get involved

[HACKERS] statistics for array types

2015-08-11 Thread Jeff Janes
When reviewing some recent patches, I decided the statistics gathered for arrays had some pre-existing shortcomings. The main one is that when the arrays contain rare elements there is no histogram to fall back upon when the MCE array is empty, the way there is for scalar stats. So it has to

Re: [HACKERS] [patch] A \pivot command for psql

2015-08-11 Thread Robert Haas
On Sun, Aug 9, 2015 at 8:18 PM, Tom Lane t...@sss.pgh.pa.us wrote: psql is a minority API, you know. Not for me. psql has already got a bunch of bells and whistles to format things in particular ways that people have wanted, and I'm not really sure why the bar for this proposal should be any

Re: [HACKERS] WIP: SCRAM authentication

2015-08-11 Thread Robert Haas
On Sun, Aug 9, 2015 at 2:42 PM, Josh Berkus j...@agliodbs.com wrote: On 08/09/2015 08:09 AM, Robert Haas wrote: Why do we need to be able to authenticate using more than one mechanism? If you have some clients that can't support SCRAM yet, you might as well continue using MD5 across the board

Re: [HACKERS] WIP: SCRAM authentication

2015-08-11 Thread Josh Berkus
On 08/11/2015 07:28 AM, Robert Haas wrote: There may be a good answer to this question, but I don't think I've seen it spelled out clearly. Please see my follow-up post about making by-login-role migration easier for users. -- Josh Berkus PostgreSQL Experts Inc. http://pgexperts.com --

Re: [HACKERS] GinPageIs* don't actually return a boolean

2015-08-11 Thread Robert Haas
On Tue, Aug 11, 2015 at 12:40 PM, Tom Lane t...@sss.pgh.pa.us wrote: We do not use !! elsewhere for this purpose, and I for one find it a pretty ugly locution. We do, actually, now, in contrib/pg_xlogdump/pg_xlogdump.c. I'd be in favor of getting rid of those. -- Robert Haas EnterpriseDB:

Re: [HACKERS] WIP: SCRAM authentication

2015-08-11 Thread Josh Berkus
On 08/11/2015 09:35 AM, Robert Haas wrote: On Tue, Aug 11, 2015 at 12:29 PM, Josh Berkus j...@agliodbs.com wrote: On 08/11/2015 07:28 AM, Robert Haas wrote: There may be a good answer to this question, but I don't think I've seen it spelled out clearly. Please see my follow-up post about

Re: [HACKERS] GinPageIs* don't actually return a boolean

2015-08-11 Thread Alvaro Herrera
Andres Freund wrote: On 2015-08-11 12:43:03 -0400, Robert Haas wrote: On Tue, Aug 11, 2015 at 12:40 PM, Tom Lane t...@sss.pgh.pa.us wrote: We do not use !! elsewhere for this purpose, and I for one find it a pretty ugly locution. We do, actually, now, in

Re: [HACKERS] [patch] A \pivot command for psql

2015-08-11 Thread David Fetter
On Tue, Aug 11, 2015 at 05:13:03PM +0200, Daniel Verite wrote: David Fetter wrote: That depends on what you mean by dynamic columns. The approach taken in the tablefunc extension is to use functions which return SETOF RECORD, which in turn need to be cast at runtime. For me,

Re: [HACKERS] 64-bit XIDs again

2015-08-11 Thread Simon Riggs
On 30 July 2015 at 14:26, Alexander Korotkov a.korot...@postgrespro.ru wrote: As I mentioned in CSN thread, it would be nice to replace XID with CSN when setting hint bits for tuple. In this case when hint bits are set we don't need any additional lookups to check visibility.

Re: [HACKERS] GinPageIs* don't actually return a boolean

2015-08-11 Thread Robert Haas
On Tue, Aug 11, 2015 at 11:42 AM, Andres Freund and...@anarazel.de wrote: #define GinPageIsLeaf(page)( GinPageGetOpaque(page)-flags GIN_LEAF ) #define GinPageIsData(page)( GinPageGetOpaque(page)-flags GIN_DATA ) #define GinPageIsList(page)( GinPageGetOpaque(page)-flags GIN_LIST )

Re: [HACKERS] Moving SS_finalize_plan processing to the end of planning

2015-08-11 Thread Robert Haas
On Sun, Aug 9, 2015 at 3:50 PM, Tom Lane t...@sss.pgh.pa.us wrote: I've started to work on path-ification of the upper planner (finally), I don't have any specific technical comments on what you've proposed here, but I'm excited to hear that this is moving forward. -- Robert Haas EnterpriseDB:

[HACKERS] pgbench bug in head

2015-08-11 Thread Fabien COELHO
Probably since 1bc90f7a (shame on me) pgbench does not report skipped transactions (-L) counts properly: data are not aggregated over all threads as they should be, either under --progress or in the end of run report. The attached patch fixes these regressions. -- Fabien.diff --git

Re: [HACKERS] [patch] A \pivot command for psql

2015-08-11 Thread Daniel Verite
David Fetter wrote: Second, if we put this feature as-is in psql, we're stuck supporting it in psql until the end of time, even if (when, I believe) we have a fuller and likely not perfectly compatible feature on the back-end. To me, doing \pivot in psql vs PIVOT in the backend is a

Re: [HACKERS] GinPageIs* don't actually return a boolean

2015-08-11 Thread Andres Freund
On 2015-08-11 12:04:48 -0400, Robert Haas wrote: On Tue, Aug 11, 2015 at 11:42 AM, Andres Freund and...@anarazel.de wrote: #define GinPageIsLeaf(page)( GinPageGetOpaque(page)-flags GIN_LEAF ) #define GinPageIsData(page)( GinPageGetOpaque(page)-flags GIN_DATA ) #define

Re: [HACKERS] GinPageIs* don't actually return a boolean

2015-08-11 Thread Andres Freund
On 2015-08-11 12:43:03 -0400, Robert Haas wrote: On Tue, Aug 11, 2015 at 12:40 PM, Tom Lane t...@sss.pgh.pa.us wrote: We do not use !! elsewhere for this purpose, and I for one find it a pretty ugly locution. We do, actually, now, in contrib/pg_xlogdump/pg_xlogdump.c. I'd be in favor of

Re: [HACKERS] GinPageIs* don't actually return a boolean

2015-08-11 Thread Andres Freund
On 2015-08-11 17:42:37 +0200, Andres Freund wrote: Hi, #define GinPageIsLeaf(page)( GinPageGetOpaque(page)-flags GIN_LEAF ) #define GinPageIsData(page)( GinPageGetOpaque(page)-flags GIN_DATA ) #define GinPageIsList(page)( GinPageGetOpaque(page)-flags GIN_LIST ) ... These

Re: [HACKERS] WIP: SCRAM authentication

2015-08-11 Thread Robert Haas
On Tue, Aug 11, 2015 at 12:29 PM, Josh Berkus j...@agliodbs.com wrote: On 08/11/2015 07:28 AM, Robert Haas wrote: There may be a good answer to this question, but I don't think I've seen it spelled out clearly. Please see my follow-up post about making by-login-role migration easier for

Re: [HACKERS] GinPageIs* don't actually return a boolean

2015-08-11 Thread Tom Lane
Andres Freund and...@anarazel.de writes: #define GinPageIsLeaf(page)( GinPageGetOpaque(page)-flags GIN_LEAF ) #define GinPageIsData(page)( GinPageGetOpaque(page)-flags GIN_DATA ) #define GinPageIsList(page)( GinPageGetOpaque(page)-flags GIN_LIST ) These macros don't actually

[HACKERS] GinPageIs* don't actually return a boolean

2015-08-11 Thread Andres Freund
Hi, #define GinPageIsLeaf(page)( GinPageGetOpaque(page)-flags GIN_LEAF ) #define GinPageIsData(page)( GinPageGetOpaque(page)-flags GIN_DATA ) #define GinPageIsList(page)( GinPageGetOpaque(page)-flags GIN_LIST ) ... These macros don't actually return a boolean that's comparable

Re: [HACKERS] Mention column name in error messages

2015-08-11 Thread Robert Haas
On Sun, Aug 9, 2015 at 11:44 AM, Franck Verrot fra...@verrot.fr wrote: On Wed, Jul 1, 2015 at 12:30 AM, Tom Lane t...@sss.pgh.pa.us wrote: What seems more likely to lead to a usable patch is to arrange for the extra information you want to be emitted as error context, via an error context

Re: [HACKERS] WIP: SCRAM authentication

2015-08-11 Thread Robert Haas
On Tue, Aug 11, 2015 at 12:49 PM, Josh Berkus j...@agliodbs.com wrote: You're suggesting, then, that the switchover should be relatively easy, because drivers will support both MD5 and SCRAM, and once all drivers support both, the DBA can just swap verifiers? Yes, that's what I was imagining

Re: [HACKERS] pg_dump and search_path

2015-08-11 Thread Robert Haas
On Mon, Aug 10, 2015 at 1:10 PM, Steve Thames sthame...@gmail.com wrote: Please consider making the arbitrary determination of search_path by pg_dump an optional behavior. Or better yet, just have it generate a backup that accurately reflects the database it is backing up. Hmm, I don't think

Re: [HACKERS] pg_dump and search_path

2015-08-11 Thread Steve Thames
Thank you gentlemen for clarifying this. I found this problem when my database modeling tool saw a change in the database (the nextval() parameters) after a database restore. I guess the tool must be reading adsrc for this information. Cheers, Steve Thames -Original Message- From: Tom

Re: [HACKERS] pg_dump and search_path

2015-08-11 Thread Tom Lane
Alvaro Herrera alvhe...@2ndquadrant.com writes: Don't ever rely on adsrc. It's useless. Use pg_get_expr(adbin) instead. That's safe, for instance, if the sequence gets renamed. It's probably past time we got rid of that column altogether. It just wastes space and cycles. There was an

Re: [HACKERS] Intentional usage of old style function declarations?

2015-08-11 Thread Tom Lane
Andres Freund and...@anarazel.de writes: We have a bunch of callbacks that use old-style C function declarations. I.e. functions with empty parens allowing all types of data being passed: E.g. extern bool expression_tree_walker(Node *node, bool (*walker) (),

Re: [HACKERS] pg_dump and search_path

2015-08-11 Thread Tom Lane
Robert Haas robertmh...@gmail.com writes: On Mon, Aug 10, 2015 at 1:10 PM, Steve Thames sthame...@gmail.com wrote: Please consider making the arbitrary determination of search_path by pg_dump an optional behavior. Or better yet, just have it generate a backup that accurately reflects the

Re: [HACKERS] WIP: SCRAM authentication

2015-08-11 Thread Josh Berkus
On 08/11/2015 10:06 AM, Robert Haas wrote: On Tue, Aug 11, 2015 at 12:49 PM, Josh Berkus j...@agliodbs.com wrote: That makes sense if drivers go that way. I'm concerned that some drivers will have a different call for a SCRAM connection than for an MD5 one; we'd want to exert our project

[HACKERS] Intentional usage of old style function declarations?

2015-08-11 Thread Andres Freund
Hi, We have a bunch of callbacks that use old-style C function declarations. I.e. functions with empty parens allowing all types of data being passed: E.g. extern bool expression_tree_walker(Node *node, bool (*walker) (), void *context); extern Node

Re: [HACKERS] pg_dump and search_path

2015-08-11 Thread Alvaro Herrera
Steve Thames wrote: SELECT a.attnum, n.nspname, c.relname, d.adsrc AS default_value FROM pg_attribute AS a JOIN pg_class AS c ON a.attrelid = c.oid JOIN pg_namespace AS n ON c.relnamespace = n.oid LEFT JOIN pg_attrdef AS d ON d.adrelid = c.oid AND d.adnum

Re: [HACKERS] How to compare different datums within from a tuple?

2015-08-11 Thread Peter Eisentraut
On 8/10/15 12:36 PM, Peter Moser wrote: Can someone tell me, how I can compare two datum fields, when I do not know the data type in advance inside an executor function? For example, x less than y where x and y are of various types that form intervals. I have found the method

Re: [HACKERS] pg_dump and search_path

2015-08-11 Thread Alvaro Herrera
Steve Thames wrote: Thank you gentlemen for clarifying this. I found this problem when my database modeling tool saw a change in the database (the nextval() parameters) after a database restore. I guess the tool must be reading adsrc for this information. You can tell for sure by setting

Re: [HACKERS] WIP: SCRAM authentication

2015-08-11 Thread Peter Eisentraut
On 8/11/15 10:28 AM, Robert Haas wrote: Right. So what? First, you upgrade all of the clients one by one to a new version of the connector that supports SCRAM. In my experience, upgrading clients is, in many settings, significantly harder than upgrading servers. So I think any plan to starts

Re: [HACKERS] max_connections and standby server

2015-08-11 Thread Michael Paquier
On Tue, Aug 11, 2015 at 2:57 PM, Michael Paquier michael.paqu...@gmail.com wrote: On Tue, Aug 11, 2015 at 2:42 PM, Tom Lane t...@sss.pgh.pa.us wrote: Tatsuo Ishii is...@postgresql.org writes: I think this is because pg_control on the standby remembers that the previous primary server's

[HACKERS] GIN pending clean up is not interruptable

2015-08-11 Thread Jeff Janes
When a user backend (as opposed to vacuum or autoanalyze) gets burdened with cleaning up the GIN pending list, it does not call CHECK_FOR_INTERRUPTS(). Since cleaning does a lot of random IO, it can take a long time and it is not nice to be uninterruptable. The attached patch adds an else branch

Re: [HACKERS] Foreign join pushdown vs EvalPlanQual

2015-08-11 Thread Robert Haas
On Fri, Aug 7, 2015 at 3:37 AM, Kouhei Kaigai kai...@ak.jp.nec.com wrote: I could have a discussion with Fujita-san about this topic. Also, let me share with the discussion towards entire solution. The primitive reason of this problem is, Scan node with scanrelid==0 represents a relation

Re: [HACKERS] GIN pending clean up is not interruptable

2015-08-11 Thread Andres Freund
On 2015-08-11 15:07:15 -0700, Jeff Janes wrote: When a user backend (as opposed to vacuum or autoanalyze) gets burdened with cleaning up the GIN pending list, it does not call CHECK_FOR_INTERRUPTS(). Since cleaning does a lot of random IO, it can take a long time and it is not nice to be

Re: [HACKERS] GIN pending clean up is not interruptable

2015-08-11 Thread Tom Lane
Andres Freund and...@anarazel.de writes: On 2015-08-11 15:07:15 -0700, Jeff Janes wrote: The attached patch adds an else branch to call CHECK_FOR_INTERRUPTS(). But I think we could instead just call vacuum_delay_point unconditionally. It calls CHECK_FOR_INTERRUPTS(), and if not in a

Re: [HACKERS] Test code is worth the space

2015-08-11 Thread Noah Misch
On Mon, Aug 10, 2015 at 07:02:17AM +0100, Simon Riggs wrote: Almost every patch I review has either zero or insufficient tests. If we care about robustness, then we must discuss tests. Here are my two recent experiences: I agree we could do with x10 as many tests, but that doesn't mean all

Re: [HACKERS] Reducing ClogControlLock contention

2015-08-11 Thread Amit Kapila
On Tue, Aug 11, 2015 at 7:27 PM, Simon Riggs si...@2ndquadrant.com wrote: On 11 August 2015 at 14:53, Amit Kapila amit.kapil...@gmail.com wrote: One more point here why do we need CommitLock before calling SimpleLruReadPage_ReadOnly() in the patch and if it is not required, then can we use

Re: [HACKERS] Reducing ClogControlLock contention

2015-08-11 Thread Amit Kapila
On Tue, Aug 11, 2015 at 7:32 PM, Simon Riggs si...@2ndquadrant.com wrote: On 11 August 2015 at 11:39, Amit Kapila amit.kapil...@gmail.com wrote: Another thing is that in this flow, with patch there will be three locks (we take per-buffer locks before doing I/O) that will get involved rather

Re: [HACKERS] replication slot restart_lsn initialization

2015-08-11 Thread Andres Freund
On 2015-08-11 15:59:59 -0700, Gurjeet Singh wrote: In your version, I don't see a comment that refers to the fact that it works on the currently active (global variable) slot. Hm? /* * Reserve WAL for the currently active slot. * * Compute and set restart_lsn in a manner that's appropriate

Re: [HACKERS] Raising our compiler requirements for 9.6

2015-08-11 Thread Noah Misch
On Tue, Aug 11, 2015 at 01:04:48PM +0200, Andres Freund wrote: On 2015-08-05 15:46:36 +0200, Andres Freund wrote: On 2015-08-05 15:08:29 +0200, Andres Freund wrote: We might later want to change some of the harder to maintain macros to inline functions, but that seems better done

Re: [HACKERS] All-zero page in GIN index causes assertion failure

2015-08-11 Thread Alvaro Herrera
Alvaro Herrera wrote: BTW, shouldn't there be a step in BRIN vacuum that scans all the BRIN pages? If an empty page is missing from the FSM for any reason, there's nothing to add it there. Probably. I didn't change this part yet. There are two things to fix: 1. since we use

[HACKERS] TransactionIdGetCommitTsData and its dereferenced pointers

2015-08-11 Thread Michael Paquier
Hi all, TransactionIdGetCommitTsData@commit_ts.c does the following: if (ts) *ts = entry.time; [...] return *ts != 0; This is a bad idea, because if TransactionIdGetCommitTsData is called with ts == NULL this would simply crash. It seems to me that it makes little sense to

Re: [HACKERS] can't coax query planner into using all columns of a gist index

2015-08-11 Thread Tom Lane
Gideon Dresdner gide...@gmail.com writes: I had a discussion on IRC today with RhodiumToad regarding optimizing a specific query. We didn't manage to figure out how to get postgres to hit a GIST index. FWIW, I couldn't reproduce the described behavior. Can you provide a self-contained test