6.13. 動的プログラミング言語、Web サーバー、およびデータベースサーバー


RHEL 10 の Python 3.12

Python 3.12 は RHEL 10 におけるデフォルトの Python 実装です。Python 3.12 は、BaseOS リポジトリーにあるモジュール以外の python3 RPM パッケージで配布され、通常はデフォルトでインストールされています。Python 3.12 は、RHEL 10 のライフサイクル全体でサポートされます。

追加バージョンの Python 3 は、AppStream リポジトリーを介してより短いライフサイクルで RPM パッケージとして配布され、並行してインストールできます。python コマンド (/usr/bin/python) や、pip などの他の Python 関連コマンドは、バージョンを指定せずに使用でき、デフォルトの Python 3.12 バージョンを指します。

以前にリリースされた Python 3.11 と比較しての主な機能拡張は次のとおりです。

  • Python では、ジェネリッククラスと関数に対して新しい type ステートメントと新しい型パラメーター構文が導入されています。
  • フォーマットされた文字列リテラル (f-strings) が文法で形式化され、パーサーに直接統合できるようになりました。
  • Python が、インタープリターごとに固有のグローバルインタープリターロック (GIL) を提供するようになりました。
  • Python コードからバッファープロトコルを使用できるようになりました。
  • CPython のディクショナリー、リスト、セットの内包表記がインライン化されました。これにより、内包表記の実行速度が大幅に向上します。
  • CPython が Linux perf プロファイラーをサポートするようになりました。
  • CPython が、サポート対象のプラットフォームでスタックオーバーフローの保護を提供するようになりました。
  • Python 3.12 は、アップストリームでデフォルトで使用されている GCC の -O3 最適化フラグを使用してコンパイルされています。その結果、Python アプリケーションとインタープリターのパフォーマンスが向上したことがわかります。

Python 3.12 スタックからパッケージをインストールするには、たとえば次のコマンドを使用できます。

# dnf install python3
# dnf install python3-pip
Copy to Clipboard Toggle word wrap

インタープリターを実行するには、たとえば次のコマンドを使用できます。

$ python
$ python3
$ python3 -m pip --help
Copy to Clipboard Toggle word wrap

Jira:RHELDOCS-18402[1]Jira:RHEL-45315

RHEL 10 で Perl 5.40 が導入される

RHEL 10 には Perl 5.40 が含まれており、以前のバージョン 5.32 に比べてさまざまな機能拡張が提供されています。

  • コアの機能拡張:

    • Perl は Unicode 15.0 をサポートするようになりました。
    • umask オプション -0777 のエイリアスである新しい -g コマンドラインオプションを使用できるようになりました。
    • -M コマンドラインオプションでスペースが受け入れられるようになりました。
    • 新しい builtin モジュールでは、常に存在する新しい関数のドキュメントが提供されるようになりました。
    • 新しい try/catch 機能が追加されました。
    • 非推奨の警告には、よりきめ細かい制御を可能にする特定のサブカテゴリーが追加されました。単一のステートメントで引き続きすべての非推奨警告を無効化できることに注意してください。
    • @INC フックが強化され、$INC 変数と新しい INCDIR メソッドが追加されました。
    • defer および finally モジュールからの禁止された制御フローがコンパイル時に検出されるようになりました。
    • パターン内で (?{ …​ })(??{ …​ }) を使用すると、そのパターン内のさまざまな最適化がグローバルに無効になります。
    • REG_INF 正規表現エンジン数量詞の制限が 65,536 から 2,147,483,647 に増加されました。
    • 新しい正規表現変数 ${^LAST_SUCCESSFUL_PATTERN} を使用すると、現在のスコープ内で一致した最後の成功したパターンにアクセスできます。
    • 新しい __CLASS__ キーワードが導入されました。
    • Perl は新しい ^^ 論理 XOR 演算子をサポートするようになりました。
  • 互換性のない変更:

    • 物理的に空の sort 関数は、コンパイル時エラーをトリガーするようになりました。
    • readline() 関数は、ストリームエラーと EOF フラグをクリアしなくなりました。
    • INIT ブロックは、BEGIN ブロック内の exit() 関数の後に実行されなくなりました。
    • 不明なパッケージで import メソッドを呼び出すと、警告が生成されるようになりました。
    • return 関数では、間接オブジェクトが許可されなくなりました。
    • エラーや警告の変更により、テストが失敗する可能性があります。
  • 非推奨:

    • パッケージ名の区切り文字として ' 文字を使用することは非推奨となりました。
    • switch 機能とスマートマッチ Operator ~~ は非推奨となりました。
    • goto 関数を使用して、外部スコープから内部スコープにジャンプすることは非推奨となりました。
  • 内部の変更:

    • 複数の非推奨の C 関数が削除されました。
    • 対応するプラットフォームでは、内部の C API 関数が __attribute__((hidden)) 属性によって非公開となりました。つまり、これらのプラットフォーム上の XS モジュールからは呼び出せなくなります。
  • モジュール:

    • Term::Table および Test2::Suite モジュールが Perl Core に追加されました。
    • ほとんどのモジュールが更新されました。

詳細は、perl5340deltaperl5360deltaperl5380delta、および perldelta man ページを参照してください。

Jira:RHELDOCS-18869[1]

RHEL 10 で Ruby 3.3 が導入される

RHEL 10 には Ruby 3.3.7 が含まれています。このバージョンでは、パフォーマンスの改善、バグとセキュリティーの修正、および新機能がいくつか提供されています。

主な機能拡張は、次のとおりです。

  • Ripper の代わりに新しい Prism パーサーを使用できます。Prism は、移植可能で、エラー耐性があり、メンテナンス性に優れた Ruby 言語の再帰下降パーサーです。
  • Ruby の just-in-time (JIT) コンパイラー実装である YJIT は、もはや実験的機能ではなく、大幅なパフォーマンスの向上をもたらします。
  • Regexp 一致アルゴリズムが改善され、潜在的な正規表現サービス拒否 (ReDoS) の脆弱性の影響が軽減されました。
  • 新しい実験的な RJIT (純粋な Ruby の JIT) コンパイラーが MJIT を置き換えます。実稼働環境では YJIT を使用してください。
  • 新しい M:N スレッドスケジューラーが利用可能になりました。

その他の主な変更点:

  • 今後は、Bison の代わりに Lrama LALR パーサージェネレーターを使用する必要があります。
  • いくつかの非推奨のメソッドと定数が削除されました。
  • Racc gem はデフォルトの gem からバンドルされた gem に昇格しました。

Ruby 3.3 をインストールするには、次のように入力します。

# dnf install ruby
Copy to Clipboard Toggle word wrap

Ruby 3.3 のサポート期間は、Red Hat Enterprise Linux Application Streams ライフサイクル を参照してください。

Jira:RHELDOCS-19658[1]

RHEL 10.0 では Node.js 22 が提供される

RHEL 10 には Node.js 22 が含まれています。このバージョンでは、以前提供されていた Node.js 20 に比べて、多数の新機能、バグ修正、セキュリティー修正、パフォーマンスの改善が提供されています。

主な変更点は、以下のとおりです。

  • V8 JavaScript エンジンがバージョン 12.4 にアップグレードされました。
  • V8 Maglev コンパイラーは、これを利用可能なアーキテクチャー (AMD および Intel 64 ビットアーキテクチャーと 64 ビット ARM アーキテクチャー) でデフォルトで有効になりました。
  • Maglev は、短命の CLI プログラムのパフォーマンスを向上させます。
  • npm パッケージマネージャーが、バージョン 10.8.1 にアップグレードされました。
  • node --watch モードは現在安定していると見なされます。watch モードでは、監視対象ファイルの変更により Node.js プロセスが再起動されます。
  • WebSocket のブラウザー互換実装は現在、安定していると見なされ、デフォルトで有効になっています。その結果、外部依存関係なしで Node.js への WebSocket クライアントが利用できるようになります。
  • Node.js には、package.json からのスクリプトを実行するための実験的な機能が含まれるようになりました。この機能を使用するには、node --run <script-in-package.json> コマンドを実行します。

Node.js 22 をインストールするには、次のように入力します。

# dnf install nodejs
Copy to Clipboard Toggle word wrap

Jira:RHEL-35992

RHEL 10 で PostgreSQL 16 が導入される

RHEL 10 には PostgreSQL バージョン 16 が含まれています。

主な機能拡張は、次のとおりです。

  • 強化されたバルクロードによりパフォーマンスが向上します。
  • libpq ライブラリーの新しい load_balance_hosts オプションは、より効率的な負荷分散をサポートします。
  • /var/lib/pgsql/data/ ディレクトリー内の設定ファイルは、カスタムの pg_hba.conf および pg_ident.conf ファイルのインクルードをサポートします。
  • /var/lib/pgsql/data/pg_hba.conf ファイルは、データベースおよびロールエントリーに対する正規表現の一致をサポートしています。

その他の変更点は次のとおりです。

  • postmaster バイナリーが存在しません。代わりに postgres バイナリーを使用します。この変更は、postmaster を使用してサービスを開始するユーザーにのみ影響します。
  • パッケージ内に PDF ドキュメントが存在しません。代わりに アップストリームのドキュメント を使用します。

詳細は、Using PostgreSQL を参照してください。

PostgreSQL 16 をインストールするには、次のように入力します。

# dnf install postgresql16
Copy to Clipboard Toggle word wrap

Jira:RHEL-62694

RHEL 10 で MySQL 8.4 が導入される

RHEL 10.0 には MySQL 8.4 が含まれています。以前に利用可能であったバージョン 8.0 からの主な変更点は、以下のとおりです。

  • 非推奨の mysql_native_password 認証プラグインは、デフォルトでは有効化されなくなりました。
  • MySQL 8.4 にアップグレードすると、BINLOG_ADMIN 権限を持つユーザーアカウントまたはロールに TRANSACTION_GTID_TAG 権限が自動的に付与されます。
  • MySQL 8.4 をインストールすると、サーバーのデータディレクトリーに mysql_upgrade_history ファイルが作成または更新されます。ファイルは JSON 形式で、インストールされているバージョン、インストールの日時、リリースが長期サポート (LTS シリーズ) の一部であるかイノベーションシリーズの一部であるかに関する情報が含まれています。
  • データベース権限付与におけるワイルドカードとしての % および _ 文字の使用は非推奨となり、ワイルドカード機能は今後の MySQL リリースで削除される予定です。これらの文字はリテラルとして扱われます。partial_revokes サーバーシステム変数が ON に設定されている場合、これらはすでにリテラルとして扱われます。
  • 権限をチェックするときに、サーバーが % 文字を localhost の同義語として扱うことは非推奨となりました。
  • 非推奨の --ssl--admin-ssl サーバーオプション、および have_sslhave_openssl サーバーシステム変数は削除されました。代わりに、--tls-version および --admin-tls-version サーバーシステム変数を使用してください。
  • 非推奨の default_authentication_plugin システム変数は削除されました。代わりに authentication_policy サーバーシステム変数を使用してください。
  • 非推奨の SET_USER_ID 権限は削除されました。代わりに、定義者オブジェクトの作成には SET_ANY_DEFINER 権限を使用し、孤立したオブジェクトの保護には ALLOW_NONEXISTENT_DEFINER 権限を使用できます。
  • 非推奨の mysql_upgrade ユーティリティーは削除されました。

詳細は、アップストリームの MySQL ドキュメント を参照してください。

Jira:RHEL-36050

RHEL 10 では pgvector エクステンションを備えた PostgreSQL 16 が提供される

RHEL 10 には PostgreSQL 16 が含まれています。pgauditpg_repack、および decoderbufs エクステンションに加えて、Postgresql スタックでは pgvector エクステンションも提供されるようになりました。pgvector エクステンションを使用すると、高次元ベクトル埋め込みを PostgreSQL データベース内に直接保存およびクエリーし、ベクトル類似性検索を実行できます。ベクトル埋め込みは、テキスト、イメージ、またはその他のデータタイプの意味を捉えるために機械学習や AI アプリケーションでよく使用されるデータの数値表現です。

Jira:RHEL-35993[1]

RHEL 10 で MariaDB 10.11 が導入される

RHEL 10 には MariaDB 10.11 が含まれています。主な変更点は、以下のとおりです。

  • 新しい sys_schema 機能。
  • アトミックデータ定義言語 (DDL) ステートメント。
  • 新しい GRANT …​ TO PUBLIC 権限。
  • SUPER 特権と READ ONLY ADMIN 特権の分離。
  • 新しい UUID データベースデータ型。
  • Secure Socket Layer (SSL) プロトコルのバージョン 3 のサポート。MariaDB サーバーの起動には、正しく設定された SSL が必要になりました。
  • natural_sort_key() 関数による自然なソート順序のサポート。
  • 任意のテキストフォーマットのための新しい SFORMAT 関数。
  • UTF-8 文字セットと UCA-14 照合の変更。
  • /usr/share/ ディレクトリーで利用可能な systemd ソケットのアクティベーションファイル。アップストリームとは異なり、これらのファイルは RHEL のデフォルト設定の一部ではないことに注意してください。
  • MySQL の代わりに MariaDB 文字列を含むエラーメッセージ。
  • 中国語で利用可能なエラーメッセージ。
  • デフォルトの logrotate ファイルへの変更。
  • MariaDB および MySQL クライアントの場合、コマンドラインで指定した接続プロパティー (例: --port=3306) によって、クライアントとサーバー間の通信のプロトコルタイプ (tcp、socket、pipe、memory など) が強制されるようになりました。

Jira:RHELDOCS-19550[1]

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat