Least Active Transaction ID function

Started by Rohit Goyalover 11 years ago5 messages
#1Rohit Goyal
rhtgyl.87@gmail.com

Hi All,

I am doing programming with postgresql source code. I want to find out the
function which can give me Least active transaction id currenty in the
system.

Is there any function which can give me that?

Regards,
Rohit Goyal

#2Rohit Goyal
rhtgyl.87@gmail.com
In reply to: Rohit Goyal (#1)
Re: Least Active Transaction ID function

Hi All,

On Wed, Jul 23, 2014 at 5:01 PM, Rohit Goyal <rhtgyl.87@gmail.com> wrote:

Hi All,

I am doing programming with postgresql source code. I want to find out the
function which can give me Least active transaction id currenty in the
system.

Is there any function which can give me that?

Regards,
Rohit Goyal

1> I know that somewhere there is an active transaction list in postgresql.
At any point of time, I want to get the smallest transaction present in
this active tx list or I want to get the transaction id before which all
transaction smaller than that are committed/aborted.

Is there any function which can give me this value?

2> I found a function giving *GetStableLatestTransactionId()*, please tel
me what this function gives. I was not able to understand the description
given above it.

Thanks for support in advance :)!!

Regards,
Rohit Goyal

#3Robert Haas
robertmhaas@gmail.com
In reply to: Rohit Goyal (#2)
Re: Least Active Transaction ID function

On Wed, Jul 23, 2014 at 3:53 PM, Rohit Goyal <rhtgyl.87@gmail.com> wrote:

Hi All,

On Wed, Jul 23, 2014 at 5:01 PM, Rohit Goyal <rhtgyl.87@gmail.com> wrote:

Hi All,

I am doing programming with postgresql source code. I want to find out the
function which can give me Least active transaction id currenty in the
system.

Is there any function which can give me that?

Regards,
Rohit Goyal

1> I know that somewhere there is an active transaction list in postgresql.
At any point of time, I want to get the smallest transaction present in this
active tx list or I want to get the transaction id before which all
transaction smaller than that are committed/aborted.

Is there any function which can give me this value?

See the RecentXmin calculation in GetSnapshotData.

2> I found a function giving GetStableLatestTransactionId(), please tel me
what this function gives. I was not able to understand the description given
above it.

I don't know how to help with this; the description seems clear to me.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#4Rohit Goyal
rhtgyl.87@gmail.com
In reply to: Robert Haas (#3)
Re: Least Active Transaction ID function

Hi Robert,

On Thu, Jul 24, 2014 at 9:32 PM, Robert Haas <robertmhaas@gmail.com> wrote:

On Wed, Jul 23, 2014 at 3:53 PM, Rohit Goyal <rhtgyl.87@gmail.com> wrote:

Hi All,

On Wed, Jul 23, 2014 at 5:01 PM, Rohit Goyal <rhtgyl.87@gmail.com>

wrote:

Hi All,

I am doing programming with postgresql source code. I want to find out

the

function which can give me Least active transaction id currenty in the
system.

Is there any function which can give me that?

Regards,
Rohit Goyal

1> I know that somewhere there is an active transaction list in

postgresql.

At any point of time, I want to get the smallest transaction present in

this

active tx list or I want to get the transaction id before which all
transaction smaller than that are committed/aborted.

Is there any function which can give me this value?

See the RecentXmin calculation in GetSnapshotData.

This was really -2 helpful.

1. Can I use this xmin variable directly anytime anywhere in my code as it
is a global variable.
2. What is the difference b/w recentXmin and RecentGlobalXmin. I read the
description but any small detail can clear my mind. :)

Thanks in advance!!

2> I found a function giving GetStableLatestTransactionId(), please tel

me

what this function gives. I was not able to understand the description

given

above it.

I don't know how to help with this; the description seems clear to me.

This is not important now, as you have already told me the variable and

file for recentXmin.:)

Regards,
Rohit

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

--
Regards,
Rohit Goyal

#5Robert Haas
robertmhaas@gmail.com
In reply to: Rohit Goyal (#4)
Re: Least Active Transaction ID function

On Thu, Jul 24, 2014 at 3:42 PM, Rohit Goyal <rhtgyl.87@gmail.com> wrote:

This was really -2 helpful.

I'm not sure what it means to be -2 helpful. Hopefully it's a good thing.

1. Can I use this xmin variable directly anytime anywhere in my code as it
is a global variable.

I don't really know what you're asking. If you want a tutorial on how
global variables work in C, this is the wrong mailing list to ask
about that.

2. What is the difference b/w recentXmin and RecentGlobalXmin. I read the
description but any small detail can clear my mind. :)

RecentXmin is the oldest transaction ID that was still running as of
the last time it was updated. RecentGlobalXmin is the oldest
transaction ID that was part of somebody's snapshot as of the last
time it was updated. Transaction IDs older than RecentXmin can be
assumed not to be running, but there could be still-running
transactions that can't see the effected of some committed transaction
whose ID precedes RecentXmin. Transaction IDs older than
RecentGlobalXmin are no longer running, and furthermore any the
effects of any such transactions which went on to commit are
guaranteed to be visible to the snapshots of all currently-running
transactions, and all future transactions.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers