I've created a provider for PostgreSQL using the Npgsql .NET provider. The only issue I can see is the return value from commands - I'm not sure if what I have there now is correct. If you need this, I wouldn't trust it. I didn't need this functionality, so if you do, feel free to modify the code.
Here's a zip of the files.