On Wed, 2023-02-08 at 08:49 +0900, Katsuya Okizaki wrote: > In a normal SQL, we can use the EXPLAIN command to view the execution plan. > However, in this case, I am not sure how a user-defined function work. > > If anyone has faced a similar situation and found a way to view the execution plan, > I would greatly appreciate your insights and suggestions. I am not sure which of the following you want: 1. Get the execution plan of SQL statements run inside a function: For that, you would use "auto_explain" with "auto_explain.log_nested_statements = on". 2. Get a trace of the execution of the function code itself: For PL/pgSQL, there is "pldebugger" (https://github.com/EnterpriseDB/pldebugger), which can be used together with pgAdmin. I usually sprinkle the code with RAISE NOTICE statements. Yours, Laurenz Albe -- Cybertec | https://www.cybertec-postgresql.com