SQLのバージョンを確認する方法|主要なデータベース別コマンド一覧【MySQL・PostgreSQL・SQLite対応】

データベース・SQL

「今使っているデータベースのバージョンはいくつ?」
「新しい機能を使いたいけど、対応しているかわからない…」
「エラーが出るのはバージョンの問題?」
そんなときに必要なのが、SQLデータベースのバージョン確認です。

「バージョン確認って難しそう」
「コマンドがわからない」
そんな不安をお持ちの方も多いでしょう。

しかし実際は、簡単なコマンドを覚えるだけで確認できます。

この記事では、MySQL/PostgreSQL/SQLiteなどの代表的なSQL環境でのバージョン確認方法を、コマンド例と一緒にわかりやすく解説します。

スポンサーリンク

なぜバージョン確認が重要なのか?

データベース開発で必須の理由

主なメリット

  • 新機能の対応可否を確認:使いたい機能が利用できるかチェック
  • SQL構文や関数の違いを把握:バージョンによって書き方が変わることがある
  • 互換性トラブルの予防:古いバージョンで新しい構文を使うとエラーになる
  • セキュリティサポートの有無を確認:古すぎるバージョンは危険

よくあるトラブル例

バージョン確認不足で起こる問題

  1. エラーの原因が不明:「なぜこのSQLが動かないの?」
  2. 機能制限:「この便利な関数が使えない」
  3. セキュリティリスク:「古いバージョンで脆弱性がある」
  4. チーム開発での混乱:「他の人の環境では動くのに…」

これらの問題を避けるために、バージョン確認は開発前の必須ステップです。

MySQLのバージョン確認方法

SQL文で確認する方法

基本的なコマンド

SELECT VERSION();

実行例

mysql> SELECT VERSION();
+-----------+
| VERSION() |
+-----------+
| 8.0.36    |
+-----------+
1 row in set (0.00 sec)

結果の見方

  • 8.0.36の場合:メジャーバージョン8.0、マイナーバージョン36
  • 数字が大きいほど新しいバージョン

コマンドラインで確認する方法

Windowsの場合

mysql --version

macOS・Linuxの場合

mysql --version

実行結果例

mysql  Ver 8.0.36 for Win64 on x86_64 (MySQL Community Server - GPL)

より詳しい情報を取得する方法

SHOW VARIABLES LIKE '%version%';

このコマンドで、MySQLに関連するすべてのバージョン情報を確認できます。

PostgreSQLのバージョン確認方法

SQL文での確認

基本コマンド

SELECT version();

実行例

testdb=# SELECT version();
                                                 version
----------------------------------------------------------------------------------------------------------
 PostgreSQL 15.3 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0, 64-bit
(1 row)

結果に含まれる情報

  • PostgreSQLのバージョン(15.3)
  • 実行環境のOS情報
  • コンパイラ情報
  • アーキテクチャ情報(64-bit等)

コマンドラインでの確認

基本コマンド

psql --version

実行結果例

psql (PostgreSQL) 15.3

より簡潔なバージョン情報

数値のみで確認したい場合

SHOW server_version;

実行結果例

 server_version 
----------------
 15.3
(1 row)

SQLiteのバージョン確認方法

SQL文での確認

基本コマンド

SELECT sqlite_version();

実行例

sqlite> SELECT sqlite_version();
3.44.1

結果の特徴

  • SQLiteは軽量なので、シンプルなバージョン番号のみ表示
  • 3系が現在の主流バージョン

コマンドラインでの確認

基本コマンド

sqlite3 --version

実行結果例

3.44.1 2023-12-05 12:36:06 f4ead8xxxxxxxxxxxxxxxxxxxxxxxxx

結果に含まれる情報

  • バージョン番号(3.44.1)
  • リリース日(2023-12-05)
  • ビルドID

SQLiteの特殊な確認方法

プラットフォーム情報も含めた確認

SELECT sqlite_source_id();

これでより詳細なビルド情報を確認できます。

SQL Server(Microsoft)の場合

基本的なバージョン確認

SQL文

SELECT @@VERSION;

実行例

Microsoft SQL Server 2022 (RTM) - 16.0.1000.6 (X64) 
Oct  8 2022 05:58:25 
Copyright (C) 2022 Microsoft Corporation
Developer Edition (64-bit) on Windows 10 Pro...

結果に含まれる詳細情報

  • 製品名(SQL Server 2022)
  • バージョン番号(16.0.1000.6)
  • ビルド日時
  • エディション情報
  • OS情報

より具体的な情報の取得

製品バージョンのみ

SELECT SERVERPROPERTY('ProductVersion');

エディション情報

SELECT SERVERPROPERTY('Edition');

製品レベル(RTM、SP1等)

SELECT SERVERPROPERTY('ProductLevel');

Oracle Databaseのバージョン確認

基本的な確認方法

SQL文

SELECT * FROM v$version;

実行例

BANNER
--------------------------------------------------------------------------------
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.8.0.0.0

より簡潔な確認

バージョン番号のみ

SELECT version FROM v$instance;

バージョン番号の見方と互換性

現在の主要バージョン(2025年時点)

データベース現行メジャーバージョン特徴
MySQL8.0JSON機能、ウィンドウ関数などが充実
PostgreSQL15〜16系高機能、拡張性に優れる
SQLite3系(継続中)軽量、ファイルベース
SQL Server2019/2022Windows統合、企業向け機能が豊富

バージョン番号の読み方

一般的なバージョン表記

  • メジャー.マイナー.パッチ(例:8.0.36)
  • メジャー:大きな機能変更
  • マイナー:中程度の機能追加
  • パッチ:バグ修正、セキュリティ更新

サポート状況の確認ポイント

  • LTS(長期サポート)版かどうか
  • EOL(サポート終了)日はいつか
  • セキュリティ更新は提供されているか

バージョンによる機能差の例

MySQL 8.0での新機能例

  • ウィンドウ関数(ROW_NUMBER、RANKなど)
  • 共通テーブル式(WITH句)
  • JSON関数の拡充

PostgreSQL 15での新機能例

  • MERGE文のサポート
  • パフォーマンス改善
  • JSON関数の拡張

トラブルシューティング

バージョン確認でエラーが出る場合

よくあるエラーと対処法

エラー内容原因対処法
「mysql: command not found」MySQLがインストールされていないMySQLをインストール
「Access denied」接続権限がない正しいユーザー・パスワードで接続
「Connection refused」データベースが起動していないデータベースサービスを起動

確認したバージョンが古い場合

アップデート前の注意点

  1. データのバックアップを必ず取る
  2. 互換性を事前に調査
  3. テスト環境で動作確認
  4. ダウンタイムを計画に含める

開発環境での活用方法

チーム開発でのバージョン管理

ベストプラクティス

  • Dockerを使用して環境を統一
  • requirements.txt等でバージョンを明記
  • CI/CDでバージョンチェックを自動化

バージョン情報をコードで取得

アプリケーションからの取得例(Python)

import mysql.connector

connection = mysql.connector.connect(
    host='localhost',
    user='username',
    password='password'
)
cursor = connection.cursor()
cursor.execute("SELECT VERSION()")
version = cursor.fetchone()
print(f"MySQL Version: {version[0]}")

まとめ

SQLでのバージョン確認は、環境に合った正確な開発とトラブル回避の第一歩です。

一度覚えれば、どのプロジェクトでも活用できる基本スキルです。

今回のポイントをおさらい

データベースSQL文コマンドライン
MySQLSELECT VERSION();mysql --version
PostgreSQLSELECT version();psql --version
SQLiteSELECT sqlite_version();sqlite3 --version
SQL ServerSELECT @@VERSION;PowerShellで実行可能
OracleSELECT * FROM v$version;sqlplus -V

今日からできること

  1. 使用中のデータベースのバージョンをチェック
  2. 開発予定の機能が対応しているか確認
  3. 古いバージョンの場合はアップデート計画を立てる
  4. チーム内でバージョン情報を共有

継続的に意識すべきこと

  • 定期的なバージョンチェックの習慣化
  • セキュリティアップデートへの対応
  • 新機能の学習と活用
  • 互換性を考慮した開発

コメント

タイトルとURLをコピーしました