I have lived in the United States for over 35 years but am still a Canadian citizen with an expired green card. Can I fly within the United States using only my Canadian passport as ID?
Passport is enough proof for a foreign citizen to take domestic flight within United States. So, you would be fine using Canadian passport as proof.
TSA Identification list - https://www.tsa.gov/travel/security-screening/identification
Foreign government-issued passport is a valid ID.
The existing answer is entirely correct. You should be aware, however, that at some airports near the Mexican border, officers of the US Border Patrol occasionally check the immigration status of travelers as they pass the ID check in the security screening. As a permanent resident, you are in the country legally, but you have a small chance of being cited for violating 8 USC 1304(e) for failing to have your green card with you.
You should take your expired green card with you because it arguably satisfies the letter of the law, even though it is not sufficient for passing the ID check at security. Having the green card could reduce the chance that an officer would cite you for a violation, and it could be useful in court if you decide to fight the ticket. This is especially true if the card expired recently, all the more so if you have a good reason for not renewing it on time.
The chance of being investigated for your immigration status is vanishingly low at most airports. If you are flying from Brownsville or McAllen in Texas, the probability is rather greater. Similarly, if you are going to be traveling on a highway near the Mexican or Canadian border, you should be aware of US Border Patrol interior checkpoints, where you might also run the risk of being cited.