Lazy Diary @ Hatena Blog

PowerShell / Java / miscellaneous things about software development, Tips & Gochas. CC BY-SA 4.0/Apache License 2.0

PostgreSQLの教育にPGliteを使う

satob.hatenablog.com

SupabaseのPostgres-WASMだと、大量(1,000件)のINSERTができない等の問題があった。

最近PGliteがリリースされ、REPL環境もあるようなので試してみた。

pglite.dev

  • ファイルをアップロードして\i /mnt/foobar.sqlみたいなことはできないので、まとまったSQLはすべてコピペで実行する必要がある。
  • SQLの実行結果はHTML形式にフォーマットして出力される。ASCIIテキストにならないので、実行結果のコピペは面倒かも。
  • 1,000件のINSERT文をコピペで実行してもエラーにならない。問題なくINSERTできているように見える。
  • 統計情報はリアルタイム更新されるようだが誤差が大きい。1,000件INSERTした直後にEXPLAINするとrows=98と言われる(これはそんなもんなのか?)
  • 利用できるextensionはラジオボックスでの選択式。pg_stat_statementsなど性能関連のextensionは含まれていないので実行できない。
  • シェルにはアクセスできないのでpostgresql.confを編集して再起動とかもできない。

普通にSQLを実行している限りでエラーが出ていないとという意味では、純粋にSQLの確認するだけの環境としてはPostgres-WASMよりいいのかも。