Re: [HACKERS] Re: [GENERAL] 9.4.1 - 9.4.2 problem: could not access status of transaction 1

2015-06-03 Thread Alvaro Herrera
Andres Freund wrote: On 2015-06-03 15:01:46 -0300, Alvaro Herrera wrote: One idea I had was: what if the oldestMulti pointed to another multi earlier in the same 0046 file, so that it is read-as-zeroes (and the file is created), and then a subsequent multixact truncate tries to read a

Re: [HACKERS] Re: [GENERAL] 9.4.1 - 9.4.2 problem: could not access status of transaction 1

2015-06-03 Thread Robert Haas
On Wed, Jun 3, 2015 at 8:24 AM, Robert Haas robertmh...@gmail.com wrote: On Tue, Jun 2, 2015 at 5:22 PM, Andres Freund and...@anarazel.de wrote: Hm. If GetOldestMultiXactOnDisk() gets the starting point by scanning the disk it'll always get one at a segment boundary, right? I'm not sure

Re: [HACKERS] Re: [GENERAL] 9.4.1 - 9.4.2 problem: could not access status of transaction 1

2015-06-03 Thread Alvaro Herrera
Robert Haas wrote: So here's a patch taking a different approach. I tried to apply this to 9.3 but it's messy because of pgindent. Anyone would have a problem with me backpatching a pgindent run of multixact.c? Also, you have a new function SlruPageExists, but we already have

Re: [GENERAL] 9.4.1 - 9.4.2 problem: could not access status of transaction 1

2015-06-03 Thread Thomas Munro
On Mon, Jun 1, 2015 at 4:55 PM, Noah Misch n...@leadboat.com wrote: While testing this (with inconsistent-multixact-fix-master.patch applied, FWIW), I noticed a nearby bug with a similar symptom. TruncateMultiXact() omits the nextMXact==oldestMXact special case found in each other

Re: [GENERAL] Planner cost adjustments

2015-06-03 Thread Daniel Begin
Thank Bill, About disks performance, all drives are identical and connected using USB3 connections and yes, I can tweak values and restart Postgres without any hardship!-) About seq_page_cost and random_page_cost, I am about to test different lower values as you and Thomas propose. Raising the

Re: [GENERAL] Database designpattern - product feature

2015-06-03 Thread Adrian Stern
Hi William, thanks for joining the conversation. 1) We do hope for constraints since a connection to an ERP system is possible in the future. We want to plan ahead. 2) As for the subclass approach: I would need about 30 subclasses and it will get really hard to add new products since a change in

Re: [HACKERS] Re: [GENERAL] 9.4.1 - 9.4.2 problem: could not access status of transaction 1

2015-06-03 Thread Thomas Munro
On Wed, Jun 3, 2015 at 3:42 PM, Alvaro Herrera alvhe...@2ndquadrant.com wrote: Thomas Munro wrote: On Tue, Jun 2, 2015 at 9:30 AM, Alvaro Herrera alvhe...@2ndquadrant.com wrote: My guess is that the file existed, and perhaps had one or more pages, but the wanted page doesn't exist, so we

Re: [HACKERS] Re: [GENERAL] 9.4.1 - 9.4.2 problem: could not access status of transaction 1

2015-06-03 Thread Robert Haas
On Wed, Jun 3, 2015 at 4:48 AM, Thomas Munro thomas.mu...@enterprisedb.com wrote: On Wed, Jun 3, 2015 at 3:42 PM, Alvaro Herrera alvhe...@2ndquadrant.com wrote: Thomas Munro wrote: On Tue, Jun 2, 2015 at 9:30 AM, Alvaro Herrera alvhe...@2ndquadrant.com wrote: My guess is that the file

Re: [HACKERS] Re: [GENERAL] 9.4.1 - 9.4.2 problem: could not access status of transaction 1

2015-06-03 Thread Robert Haas
On Tue, Jun 2, 2015 at 5:22 PM, Andres Freund and...@anarazel.de wrote: Hm. If GetOldestMultiXactOnDisk() gets the starting point by scanning the disk it'll always get one at a segment boundary, right? I'm not sure that's actually ok; because the value at the beginning of the segment can

[GENERAL] Problem when temp_tablespace get full?

2015-06-03 Thread Daniel Begin
Context. A query almost filled a SSD drive (temp_tablespace) and my PC got unresponsive; I did SELECT pg_cancel_backend(6600); 6600 was the pid of the process and got a successful answer (t) However, just after that, the disk simply turned off and the system crashed. I was able to restart the

Re: [GENERAL] Problem when temp_tablespace get full?

2015-06-03 Thread David G. Johnston
On Wed, Jun 3, 2015 at 11:14 AM, Daniel Begin jfd...@hotmail.com wrote: A query ​OK...​ But ma question is: What append the temp_tablespace drive get full? ​The query, probably... There is also a temp_tablespaces parameter, which determines the placement of temporary tables and indexes,

Re: [GENERAL] Problem when temp_tablespace get full?

2015-06-03 Thread Jan Lentfer
Am 2015-06-03 19:00, schrieb Daniel Begin: Sorry, my question might not have been clear… I set myself the temp_tablespace to that location but did not expect the drive could get full; Multiple factors may have caused the drive to turn off (not necessarily postgresql); So, if that

Re: [GENERAL] Database designpattern - product feature

2015-06-03 Thread Gmail
Sent from my iPad On Jun 3, 2015, at 7:50 AM, Adrian Stern adrian.st...@unchained.ch wrote: Hi William, thanks for joining the conversation. 1) We do hope for constraints since a connection to an ERP system is possible in the future. We want to plan ahead. 2) As for the subclass

Re: [GENERAL] Problem when temp_tablespace get full?

2015-06-03 Thread Daniel Begin
Sorry, my question might not have been clear… I set myself the temp_tablespace to that location but did not expect the drive could get full; Multiple factors may have caused the drive to turn off (not necessarily postgresql); So, if that temp_tablespace gets full, how postgresql will

Re: [GENERAL] Database designpattern - product feature

2015-06-03 Thread Jan de Visser
On June 3, 2015 02:04:28 PM Roxanne Reid-Bennett wrote: I think you should evaluate your unease with having to update the database on release (potentially many times) carefully for what it is and why you have it. [I'm not saying it is invalid - just know why you have it] Because no matter

Re: [HACKERS] Re: [GENERAL] 9.4.1 - 9.4.2 problem: could not access status of transaction 1

2015-06-03 Thread Alvaro Herrera
Alvaro Herrera wrote: Really, the whole question of how this code goes past the open() failure in SlruPhysicalReadPage baffles me. I don't see any possible way for the file to be created ... Hmm, the checkpointer can call TruncateMultiXact when in recovery, on restartpoints. I wonder if in

Re: [HACKERS] Re: [GENERAL] 9.4.1 - 9.4.2 problem: could not access status of transaction 1

2015-06-03 Thread Andres Freund
On 2015-06-03 15:01:46 -0300, Alvaro Herrera wrote: Andres Freund wrote: That's not necessarily the case though, given how the code currently works. In a bunch of places the SLRUs are accessed *before* having been made consistent by WAL replay. Especially if several checkpoints/vacuums

Re: [HACKERS] Re: [GENERAL] 9.4.1 - 9.4.2 problem: could not access status of transaction 1

2015-06-03 Thread Alvaro Herrera
Thomas Munro wrote: I have finally reproduced that error! See attached repro shell script. The conditions are: 1. next multixact == oldest multixact (no active multixacts, pointing past the end) 2. next multixact would be the first item on a new page (multixact % 2048 == 0) 3. the

Re: [HACKERS] Re: [GENERAL] 9.4.1 - 9.4.2 problem: could not access status of transaction 1

2015-06-03 Thread Andres Freund
On 2015-06-03 00:42:55 -0300, Alvaro Herrera wrote: Thomas Munro wrote: On Tue, Jun 2, 2015 at 9:30 AM, Alvaro Herrera alvhe...@2ndquadrant.com wrote: My guess is that the file existed, and perhaps had one or more pages, but the wanted page doesn't exist, so we tried to read but got 0

Re: [HACKERS] Re: [GENERAL] 9.4.1 - 9.4.2 problem: could not access status of transaction 1

2015-06-03 Thread Alvaro Herrera
Andres Freund wrote: On 2015-06-03 00:42:55 -0300, Alvaro Herrera wrote: Thomas Munro wrote: On Tue, Jun 2, 2015 at 9:30 AM, Alvaro Herrera alvhe...@2ndquadrant.com wrote: My guess is that the file existed, and perhaps had one or more pages, but the wanted page doesn't exist, so

Re: [GENERAL] Database designpattern - product feature

2015-06-03 Thread Roxanne Reid-Bennett
On 6/3/2015 2:50 AM, Adrian Stern wrote: Hi William, thanks for joining the conversation. 1) We do hope for constraints since a connection to an ERP system is possible in the future. We want to plan ahead. 2) As for the subclass approach: I would need about 30 subclasses and it will get