psqlのpagerをteeにしておけば直前のクエリの結果がファイルに記録されるので、それをClaude Codeに食わせられるな…ということでやってみた。

$ psql -h localhost -U postgres postgres=# \setenv PSQL_PAGER 'tee query.log'; postgres=# \pset pager always postgres=# explain analyze WITH partition AS ( SELECT i.inhrelid, c.relname FROM pg_catalog.pg_inherits i JOIN pg_catalog.pg_class c ON c.oid = i.inhparent ) SELECT c.relname, p.relname AS partition_of FROM pg_catalog.pg_class c JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace LEFT JOIN LATERAL ( SELECT relname FROM partition WHERE inhrelid = c.oid LIMIT 1 ) AS p ON true WHERE n.nspname = 'public' ; postgres=# \! claude "query.logのQUERY PLANを分析して"