When you find out that PostgreSQL is not doing what it should, then it's time to investigate.
It is a good idea to make a full copy of your PostgreSQL installation before you start investigating. This will help you restart several times and be sure that you are actually investigating the results of the bug, and not chasing your own tail by looking at changes that were introduced by your last investigation and debugging attempt.
Do not forget to include your tablespaces in the full copy.
Try to make a minimal repeatable test scenario that exhibits this bug. Sometimes, the bug disappears while doing this, but mostly it is needed to make the process easy. It is almost impossible to fix a bug that you can't observe and repeat at will.
If it is about query processing, then you can usually provide a minimal dump file (the result of running pg_dump
) of your database, together with a SQL script that exhibits the error.
If you have corrupt data...