Feature Requests
Search the entire project
This project's trackers
This project's forums
This project's tasks
This project's releases
This project's documents
This project's news
Project
People
Skill
Advanced search
Log In
|
New Account
Home
My Page
Projects
Code Snippets
Project Openings
pg_reorg
Summary
Activity
Forums
Tracker
Lists
Tasks
Docs
Surveys
News
SCM
Files
[#1010975] Remove DW type database and virtualxid waiting issue
View Trackers
|
Feature Requests
|
Download .csv
|
Monitor
Date:
2011-01-11 20:29
Priority:
3
State:
Open
Submitted by:
Denish Patel (
denish
)
Assigned to:
Takahiro Itagaki (itagaki)
Category:
Group:
Summary:
Remove DW type database and virtualxid waiting issue
Detailed description
We are trying to run pg_reorg on Data Warehouse database and there is always long running (1-5 hours) queries on the database. When I try to rebuild table online ,the following statement gets some virtualxid to be there before it takes lock on the specified table.
SELECT 1 FROM pg_locks WHERE locktype = 'virtualxid' AND pid <> pg_backend_pid() AND virtualtransaction = ANY($1) LIMIT 1
The running queries are not on rebuild table but they are running on other tables. Can we change code to specify pg_reorg to ignore virtualxid if they aren't on the same table?
Looking forward for your advice or patch.
Thanks,
Denish
Followup
Message
Date: 2011-01-12 04:38
Sender:
Takahiro Itagaki
> The running queries are not on rebuild table but they are running on other tables.
> Can we change code to specify pg_reorg to ignore virtualxid if they aren't on the same table?
It's impossible for now. We could ignore READ COMMITTED
transactions that don't lock the table being rebuilt,
but there are no way to check whether other transactions
run in READ COMMITTED or SERIALIZABLE. We cannot ignore
SERIALIZABLE transactions because they might see the target table after rebuilt.
Attached Files:
Changes:
Field
Old Value
Date
By
assigned_to
none
2011-01-11 20:30
denish