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,
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
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
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
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
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
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
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
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
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
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,
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
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
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,
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
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
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().
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.
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
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
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
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
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
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
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
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
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
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
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
--
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:
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
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
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,
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.
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 )
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:
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
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
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
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
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
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
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
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
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
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
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
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
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
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) (),
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
70 matches
Mail list logo