0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【無料】「Neon」のサーバーレスPostgreSQLが最高だった件

0
Posted at

はじめに

CloudflareでSQLite以外のDBを使いたいと思い、DBaaSを探していました。個人開発程度なのでセキュリティ要件は低くていいので、とにかく無料で「Postgres」か「MySQL」を探していたところ、Neonがいいと聞いたので、触ってみました!!無料の割にすごく体験良かったので、記事にして共有します。

今回は、「無料でDB作成 → ターミナル(CLI)からSQL実行 → ダッシュボード確認」という一番コアな部分を試してみています。


Neonとは?

Neon は、従来のリレーショナルデータベースの常識を覆す「サーバーレス・クラウドネイティブなPostgreSQL」

最近の Next.js や Cloudflare Workers などのエッジ環境界隈で、データベースの「定番(鉄板)」としてよく選ばれているサービスで、以下のような特徴がある。

  • Scale to Zero (自動スリープ):
    リクエストがない時は自動でスリープし、アクセスが来たら数ミリ秒で自動復帰する。無駄なコンピュートリソースを消費しないため、個人開発やMVP開発に最適。
  • Git感覚のブランチ機能 (Branching):
    ソースコードのようにデータベースのブランチを一瞬で複製できる。本番データをコピーしたテスト環境用DBなどを1秒以下で作成可能。
  • 100% Postgres互換 + エッジ最適化:
    中身は純粋な PostgreSQL なので既存ツールやコマンドが全部そのまま動く。さらに HTTP/WebSocket 経由のサーバーレスドライバを公式提供しているため、Cloudflare Workers との相性が抜群に良い。

個人的には、Git感覚のブランチ機能は不要だったが、あればあるで便利なのでどこかで使おうと思っています。

クレジットカード不要の寛大な無料枠

個人開発者にとって最大の魅力は、カード登録すら不要で今すぐフル機能試せる点。

  • ストレージ: 500MBまで無料
  • コンピュート時間: 月間100時間(自動スリープが効くため個人開発ならまず使い切れない)

NeonでPostgresを作成する

使い始めは本当に拍子抜けするほど簡単だった。

  1. Neon 公式サイト にアクセスし、GitHubアカウントなどでサインアップ(1秒)。
  2. ダッシュボードから「Create a project」をクリック。
  3. プロジェクト名、Postgresのバージョン、リージョン(日本から近い AWS Asia Pacific (Singapore)Tokyo)を選択して作成。

image.png

これだけで、数秒後にはフル機能の PostgreSQL が立ち上がる。
画面に接続文字列(Connection String)が表示されるのでコピーしておく。

image.png


NeonのPostgresにアクセスする

まずはアプリのコードからではなく、PostgreSQL標準のCLIツール psql コマンドを使って、手元のターミナルから直接接続して対話的にSQLを叩いてみる。

(※まだコマンドが入っていない場合は brew install libpq などで入れておく)

1. ターミナルから接続する

先ほどコピーした接続文字列を使って接続する。

neonへの接続コマンド
psql "postgresql://neondb_owner:${Password}@ep-floral-math-azy1cpgg.c-3.ap-southeast-1.aws.neon.tech/neondb?sslmode=require"

2. テーブル作成とデータの登録・抽出を試す

プロンプトが neondb=> に変わったら、お試し用のテーブルを作成してデータを流し込んでみる。

CREATE TABLE test_items (
  id SERIAL PRIMARY KEY,
  title TEXT NOT NULL,
  price INTEGER NOT NULL,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

実際にデータの INSERTSELECT を実行した様子がこちら。

実際の実行結果
neondb=> INSERT INTO test_items (title, price) VALUES 
  ('エンジニアリングマネジメント本', 3200),
  ('メカニカルキーボード', 18000),
  ('ウルトラワイドモニター', 65000);
INSERT 0 3
neondb=> SELECT * FROM test_items WHERE price > 5000 ORDER BY price DESC;
 id |         title          | price |         created_at         
----+------------------------+-------+----------------------------
  3 | ウルトラワイドモニター | 65000 | 2026-07-23 08:29:05.109709
  2 | メカニカルキーボード   | 18000 | 2026-07-23 08:29:05.109709
(2 rows)

クラウド上のサーバーレスDBにもかかわらず、ローカルのDBを叩いているのと全く変わらないレスポンスでサクサク動いてくれる。


ダッシュボードで確認する

もちろん、CLIから操作した結果はNeonのWEB管理画面(ダッシュボード)にも即座に・綺麗に反映される。
左メニューの「Tables」を開いて確認してみると…

image.png

さきほどターミナルから追加したテーブル構造とレコードデータが、直感的なUI上でそのまま確認できた。SQLを直接書かなくても、この画面上でデータの編集やソートを行うこともできる。


おわりに

CloudflareのD1でSQLiteの型制約(JSONBや配列型、日時計算の弱さなど)にモヤモヤしていたが、Neonを使えば「完全なPostgres + クレジットカード不要のサーバーレス環境」がたった数分で手に入るのはいいなぁと思いました!!💪

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?