コマンド道場

$ ssh you@browser

ブラウザの中の Linux でデータベースを触る

この画面を開いた端末の中で、本物の Alpine Linux が起動し、本物のデータベース が動きます。インストールも、登録も、サーバーへの接続も要りません。

押すと、ブラウザの中で Linux が起動します

最初に 約 8.7 MB を読み込みます(起動済みの状態の記録)。そのあと、触ったファイルだけを必要に応じて取りに行きます。通信量にご注意ください。

ここで動くソフトウェアの一部は GPL / LGPL です。対応するソースはこちらから取得できます。

ここで動いているもの

項目中身
OS本物の Alpine Linux 3.21(x86 のエミュレータの上で起動)
データベース本物の PostgreSQL 16(Alpine が配布しているバイナリそのもの)
速さ⚠️ 本物ではありません。エミュレータなので実機より遅く、コマンドによっては数秒かかります。タブを裏に回すとほとんど進みません(ブラウザがタイマーを絞るため)。
通信この Linux にはネットワークがありません。外部へ出る手段を与えていないので、apk add などは動きません。
練習問題との違い練習問題と自由に SQL を打つ画面で動くのは、ブラウザ用に組んだ PostgreSQL 18 です。SQL の書き方はほぼ同じですが、18 で入った機能(uuidv7() など)はここでは通りません。反対に、起動・停止・設定ファイル・バックアップのような運用の操作は、ここでしか試せません。
実行場所あなたの端末の中だけです。打った内容はサーバーへ送られず、当サイトのサーバーでは何も実行されません。閉じれば消えます。

何を試すと面白いか

  • psql --version — 入っているデータベースの版を出します。
  • su postgres -c "pg_ctl -D /var/lib/postgresql/data start" — データベースを起動します。停止した状態のクラスタを配ってありますので、まずここから。
  • su postgres -c "psql -P pager=off -l" — データベースの一覧。psql のメタコマンド(\l \dt \d)は、SQL だけを打つ画面では扱えません。ここでは本物の psql なので使えます。一覧と出力例はpsql コマンドの使い方にまとめています。
  • cat /etc/alpine-release — Linux 側も本物であることの確認に。

⚠️ 固まったように見えたら、入力待ちかもしれません。psql は出力が長いとページャを開いて入力を待ちます。上の例で -P pager=off を付けているのはそのためです。止まってしまったら q だけを送ると抜けられます。

ライセンス

この画面が配布する Linux には、GPL / LGPL のソフトウェア(Linux カーネル・busybox ほか)が含まれます。対応するソース一式を、配布しているバイナリと同じ版で用意しています。