できません。
PostgreSQLのクエリプランナーには「最適化をオフにする」フラグがありません。
追加するのは興味深いことですが、回帰テストがはるかに複雑になり、有用性が非常に限られます。
やりたいことをするために、クエリプランナーコードを変更し、再コンパイルして、テストごとにPostgreSQLを再インストールしたいと思います。または、それをハックして、一連のカスタムGUC(enable_seqscan
などのシステム変数)を追加します。 )特定の最適化をオンまたはオフにできるようにします。
そのようなパッチがPostgreSQLに受け入れられるかどうかは疑わしいですが、使い捨てとして行う価値はあります。
唯一の課題は、PostgreSQLが「最適化」と「クエリを実行するために行うこと」を強く区別していないことです。プランナーコードの一部が期待する場合があります および必須 正しく機能するために特定の最適化が適用されていること。