Hello,

I need to run some SELECT queries that take a while (10+ minutes) to complete, 
and I'm wondering about the isolation about the results I get.  More precisely, 
while my SELECT is running, the DB is being updated by another application, and 
I am wondering which, if any, data changes my SELECT will see.

Example:
If I start my SELECT at 10:00, and it finishes at 10:10, will my results 
include data that was inserted between 10:00 and 10:10?
Similarly, will my result include data that was updated between 10:00 and 10:10?
The same question for data that was deleted during that period.

If it matters, my SELECT runs from psql client, while concurrent inserts, 
updates, and deletes are executed from a separate application (webapp).

For my purposes in this case I need the SELECT to get the results that 
represent data right at the beginning of the query - a snapshot.  I read this: 
http://www.postgresql.org/docs/8.1/static/transaction-iso.html  and it looks 
like this is the default PG behaviour (READ COMMITTED)

Question:
If I do not explicitly START TRANSACTION before the SELECT, will this READ 
COMMITTED XA behaviour still be in effect?

Thanks,
Otis




---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Reply via email to