Melt butter in a large, heavy saucepan over medium high heat. Place bacon in the saucepan, and cook until evenly brown. Stir in onion and celery, and cook until tender. Mix in tomato, tomato paste, and ketchup. Season with salt and pepper. Reduce heat to low, and continue cooking about 15 minutes.
Stir pigeon peas and their liquid, water, rice, and thyme into the saucepan. Bring to a boil, cover, and reduce heat. Cook 40 minutes on low, or until all liquid is absorbed. Fluff rice with a fork.