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

15.1. 動的プログラミング言語

15.1.1. Python への主な変更点

15.1.1.1. Python 3 が RHEL 8 におけるデフォルトの Python 実装に

Red Hat Enterprise Linux 8 には、Python 3.6 が同梱されています。このパッケージは、デフォルトでインストールされていない可能性があります。Python 3.6 をインストールする場合は、yum install python3 コマンドを使用します。

Python 2.7 は、python2 パッケージで入手できます。ただし、Python 3 への移行をより円滑に進められるように、Python 2 のライフサイクルは短くなっています。

デフォルトの python パッケージまたはバージョンを指定しない /usr/bin/python 実行ファイルは、いずれも RHEL 8 では配布されません。python3 または python2 を直接使用することが推奨されます。もしくは、管理者が、alternatives コマンドを使用して、バージョン管理外の python コマンドを設定できます。

詳細は「Red Hat Enterprise Linux 8 での Python の使用」を参照してください。

15.1.1.2. Python 2 から Python 3 への移行

開発者は、Python 2 で記述したコードを Python 3 に移行できます。大規模なコードベースを Python 3 に移行する方法は「The Conservative Python 3 Porting Guide」を参照してください。

この移行が終了すると、元の Python 2 コードは Python 3 インタープリターにより解釈できるようになり、同様に Python 2 インタープリターは解釈できるままとなることに注意してください。

15.1.2. バージョンを指定しない Python の設定

システム管理者は、alternatives コマンドを使用して、/usr/bin/python に、バージョンを管理しない python コマンドを設定できます。必要なパッケージ (python3python38、または python2) は、バージョンを指定しないコマンドを各バージョンに設定する前にインストールする必要があります。

重要

/usr/bin/python 実行ファイルは 代替 システムによって制御されます。更新時に手動の変更が上書きされる可能性があります。

その他の Python 関連のコマンド (pip3 など) には、バージョンを指定しないで設定できるバリアントがあります。

15.1.2.1. バージョンを指定しない python コマンドを直接設定

バージョンを指定しない python コマンドを、選択した Python バージョンに直接設定するには、以下の手順に従います。

手順

  • バージョンを指定しない python コマンドを Python 3.6 に設定するには、以下のコマンドを実行します。

    # alternatives --set python /usr/bin/python3
  • バージョンを指定しない python コマンドを Python 3.8 に設定するには、以下のコマンドを使用します。

    # alternatives --set python /usr/bin/python3.8
  • バージョンを指定しない python コマンドを Python 2 に設定するには、以下のコマンドを実行します。

    # alternatives --set python /usr/bin/python2

15.1.2.2. バージョンを指定しない python コマンドを、必要な Python バージョンに対話的に設定する

バージョンを指定しない python コマンドを、必要な Python バージョンに対話的に設定することもできます。

バージョンを指定しない python コマンドを対話的に設定するには、この手順を使用します。

手順

  1. 以下のコマンドを実行します。

    # alternatives --config python
  2. 表示された一覧から必要なバージョンを選択します。
  3. この設定をリセットし、バージョンを指定しない python をコマンドを削除するには、以下のコマンドを実行します。

    # alternatives --auto python

15.1.2.3. RPM ビルド時に Python スクリプトで hashbang にメジャーバージョンを指定することが必要

RHEL 8 で実行可能な Python スクリプトでは、主な Python バージョンを明示的に指定する hashbang (shebang) を使用します。

BRP (buildroot policy) スクリプト /usr/lib/rpm/redhat/brp-mangle-shebangs は、RPM パッケージを構築する際に自動的に実行します。このスクリプトは、実行可能なすべてのファイルで hashbang を修正します。スクリプトで、Python のメジャーバージョンを指定しない曖昧な Python の hashbang に遭遇すると、エラーが作成され、RPM の構築に失敗します。このような曖昧な hashbang の例を以下に示します。

  • #! /usr/bin/python
  • #! /usr/bin/env python

Python スクリプトで、RPM ビルド時にエラーが発生する hashbang を修正するには、platform-python-devel パッケージの pathfix.py スクリプトを使用します。

pathfix.py -pn -i %{__python3} PATH ...

複数の PATH を指定できます。PATH がディレクトリーの場合、pathfix.py は Python スクリプトを再帰的にスキャンして、^[a-zA-Z0-9_]+\.py$ パターンに一致するものを探します。これは、曖昧な hashbang があるものだけではありません。%prep セクション、または %install セクションに、pathfix.py を実行するコマンドを追加します。

詳細は「Python スクリプトにおける hashbang の処理」を参照してください。

15.1.2.4. net-snmp パッケージの Python バインディングが利用できない

Net-SNMP のツールスイートは、RHEL 8 のデフォルトの Python の実装である Python 3 にバインディングを提供しません。これにより、python-net-snmp パッケージ、python2-net-snmp パッケージ、または python3-net-snmp パッケージが RHEL 8 では使用できません。

15.1.2.5. 関連情報

15.1.3. PHP への主な変更点

Red Hat Enterprise Linux 8 には PHP 7.2 が同梱されています。このバージョンには、RHEL 7 で利用できた PHP 5.4 に対する重要な変更が追加されています。

  • PHP はデフォルトで FastCGI Process Manager (FPM) を使用します (スレッド化された httpd で安全に使用できます)。
  • php_value 変数と php-flag 変数が httpd 設定ファイルで使用されなくなり、代わりにプール設定の /etc/php-fpm.d/*.conf で設定する必要があります。
  • PHP スクリプトのエラーと警告のログは、/var/log/httpd/error.log ではなく /var/log/php-fpm/www-error.log ファイルに記録されます。
  • PHP の max_execution_time 設定変数を変更する時は、変更した値に合わせて httpd ProxyTimeout 設定を増やす必要があります。
  • PHP スクリプトを実行するユーザーが、FPM プール設定 (apache ユーザーがデフォルトとなる /etc/php-fpm.d/www.conf ファイル) に設定されるようになりました。
  • 設定を変更した場合、または新しい拡張機能をインストールした場合は、php-fpm サービスを再起動する必要があります。
  • zip 拡張が、php-common から、別のパッケージ php-pecl-zip に移動しました。

以下の拡張機能が削除されました。

  • aspell
  • mysql (拡張機能の mysqli および pdo_mysql は、php-mysqlnd パッケージで引き続き利用できます)
  • memcache

15.1.4. Perl への主な変更点

RHEL 8 で提供される Perl 5.26 では、RHEL 7 で提供されていたバージョンに以下のような変更が追加されました。

  • Unicode 9.0 に対応するようになりました。
  • 新しい SystemTap のプローブ op-entryloading-file、および loaded-file が提供されるようになりました。
  • パフォーマンスを向上させるために、スカラーの割り当て時に、コピーオンライトメカニズムが使用されます。
  • IPv4 ソケットおよび IPv6 ソケットを透過的に処理するために IO::Socket::IP モジュールが追加されました。
  • 構造化された方法で perl -V データにアクセスするために、Config::Perl::V モジュールが追加されました。
  • Comprehensive Perl Archive Network (CPAN) リポジトリーからモジュールを取得、抽出、ビルド、およびインストールする cpanm ユーティリティーを同梱する perl-App-cpanminus パッケージが追加されました。
  • セキュリティー上の理由により、@INC モジュールの検索パスから、現在のディレクトリー (.) が削除されました。
  • 上記の動作上の変更によりファイルの読み込みに失敗した時に、do ステートメントが非推奨の警告を返すようになりました。
  • do subroutine(LIST) 呼び出しに対応しなくなり、構文エラーが発生するようになりました。
  • ハッシュがデフォルトでランダム化されるようになりました。ハッシュから鍵と値が返される順序は、perl の実行ごとに変わります。ランダム化を無効にするには、PERL_PERTURB_KEYS 環境変数を 0 に設定します。
  • 正規表現のパターンで、エスケープされていないリテラルの { 文字が使用できなくなりました。
  • $_ 変数に対する語彙的なスコープへの対応が削除されました。
  • 配列またはハッシュに defined 演算子を使用すると、致命的なエラーが発生します。
  • UNIVERSAL モジュールから関数をインポートすると、致命的なエラーが発生します。
  • find2perl ツール、s2p ツール、a2pc2ph ツール、および pstruct ツールが削除されました。
  • ${^ENCODING} 機能が削除されました。encoding プラグマのデフォルトモードに対応しなくなりました。UTF-8 以外のエンコーディングでソースコードを記述する場合は、エンコーディングの Filter オプションを使用します。
  • アップストリームに合わせて、perl パッケージが変更になりました。perl パッケージはコアモジュール群をインストールし、/usr/bin/perl インタープリターは perl-interpreter パッケージで提供されます。以前のリリースでは、perl パッケージに最小限のインタープリターだけが同梱され、perl-core パッケージにインタープリターとコアモジュールの両方が同梱されていました。
  • Perl モジュールの IO::Socket::SSL は、./certs/my-ca.pem ファイルまたは ./ca ディレクトリーから認証局の証明書、./certs/server-key.pem ファイルからサーバーの秘密鍵、./certs/server-cert.pem ファイルからサーバーの証明書、./certs/client-key.pem ファイルからクライアントの秘密鍵、./certs/client-cert.pem ファイルからクライアント証明書を読み込まなくなりました。代わりにファイルのパスを明示的に指定します。

15.1.5. Ruby への主な変更点

RHEL 8 では、RHEL 7 に同梱されていた Ruby 2.5 に新機能および機能強化を追加した Ruby 2.0.0 が提供されます。以下は、主な変更点です。

  • インクリメンタルガベージコレクターが追加されました。
  • Refinements 構文が追加されました。
  • シンボルは、ガベージコレクションが行われるようになりました。
  • 安全レベルの $SAFE=2 および $SAFE=3 が廃止されました。
  • Fixnum クラスと Bignum クラスが、Integer クラスに統合されました。
  • Hash クラスの最適化、インスタンス変数へのアクセスの向上、ならびに Mutex クラスの小型化および高速化により、パフォーマンスが向上しました。
  • 古い API が非推奨になりました。
  • RubyGemsRakeRDocPsychMinitesttest-unit などのバンドルされたライブライリーが更新されました。
  • Ruby とともに配布されていた mathnDLext/tkXMLRPC などのライブラリーは非推奨になり、同梱されなくなりました。
  • SemVer バージョン管理スキームが、Ruby バージョン管理に使用されるようになりました。

15.1.6. SWIG への主な変更点

RHEL 8 には、SWIG (Simplified Wrapper and Interface Generator) バージョン 3.0 が含まれています。RHEL 7 に同梱されていたバージョン 2.0 に新機能、機能拡張、およびバグ修正が数多く追加されました。特に注目すべきは、C++11 標準仕様への対応が実装されたことです。SWIG は、Go 1.6PHP 7Octave 4.2、および Python 3.5 に対応するようになりました。

15.1.7. Node.js が RHEL に新登場

JavaScript プログラミング言語で高速でスケーラブルなネットワークアプリケーションを構築するソフトウェア開発プラットフォームである Node.js が RHEL で初めて提供されます。以前は、Software Collection からしか入手できませんでした。RHEL 8 では Node.js 10 が提供されます。

15.1.8. Tcl

Tool command language (Tcl) は、動的なプログラミング言語です。この言語のインタープリターと C ライブラリーは、tcl パッケージにより提供されます。

Tk とともに Tcl を使用すると (Tcl/Tk)、プラットフォーム間共通の GUI アプリケーションを作成できます。Tk は、tk パッケージから入手できます。

Tk は、以下のいずれかを参照します。

  • 複数言語のプログラミングツールキット
  • Tk C ライブラリーバインディングは、複数の言語 (C、Ruby、Perl、Python など) で利用できます。
  • Tk コンソールのインスタンスを作成する wish インタープリター
  • 特定の Tcl インタープリターに新しいコマンドを多数追加する Tk の拡張

15.1.8.1. Tcl/Tk 8.6 に関する注目すべき変更点

RHEL 8 では、Tcl/Tk バージョン 8.6 が使用されます。Tcl/Tk バージョン 8.5 から、以下のような変更が追加されています。

  • オブジェクト指向のプログラミングサポート
  • スタックレス評価の実装
  • 強化された例外処理
  • Tcl で構築およびインストールしたサードパーティーパッケージのコレクション
  • 有効なマルチスレッド操作
  • SQL データベースを提供するスクリプトサポート
  • IPv6 ネットワーキングサポート
  • ビルドインの zlib 圧縮
  • リスト処理

    新しい 2 つのコマンド lmap および dict map が利用できます。これにより、Tcl コンテナーにおける変換の表現が可能になります。

  • スクリプトにより積み上げられたチャンネル

    新しい 2 つのコマンド chan push および chan pop が利用できるため、I/O チャンネルへ、または I/O チャンネルからの変換を追加または削除できます。

Tcl/Tk version 8.6 の変更点および新機能の詳細は、以下の参考資料を参照してください。

Tcl/Tk 8.6 への移行が必要な場合は、「Tcl/Tk 8.6 への移行」を参照してください。

15.2. Web サーバー

15.2.1. Apache HTTP Server への主な変更点

RHEL 8 では、Apache HTTP Server が、RHEL 7 のバージョン 2.4.6 から、バージョン 2.4.37 に更新しました。この更新バージョンには新機能がいくつか含まれていますが、外部モジュールの設定および Application Binary Interface (ABI) のレベルでは、RHEL 7 バージョンとの後方互換性を維持します。

新機能は次のとおりです。

  • httpd モジュール含まれる mod_http2 パッケージにより、HTTP/2 に対応するようになりました。
  • systemd ソケットのアクティベーションが対応します。詳細は、man ページの httpd.socket(8) を参照してください。
  • 新しいモジュールが複数追加されています。

    • mod_proxy_hcheck - プロキシーのヘルスチェックモジュール
    • mod_proxy_uwsgi - Web Server Gateway Interface (WSGI) プロキシー
    • mod_proxy_fdpass - クライアントのソケットを別のプロセスに渡す
    • mod_cache_socache - HTTP キャッシュ (例: memcache バックエンドを使用)
    • mod_md - ACME プロトコルの SSL/TLS 証明書サービス
  • 以下のモジュールはデフォルトで読み込まれるようになりました。

    • mod_request
    • mod_macro
    • mod_watchdog
  • 新しいサブパッケージ httpd-filesystem が追加されています。これには、Apache HTTP Server の基本的なディレクトリーレイアウト (ディレクトリーの適切な権限を含む) が含まれます。
  • インスタンス化されたサービスのサポート httpd@.service が導入されました。詳細は、man ページの httpd.service を参照してください。
  • 新しい httpd-init.service%post script に置き換わり、自己署名の鍵ペア mod_ssl を作成します。
  • (Let’s Encrypt などの証明書プロバイダーで使用するため) 自動証明書管理環境 (ACME) プロトコルを使用した、TLS 証明書の自動プロビジョニングおよび更新に、mod_md パッケージで対応するようになりました。
  • Apache HTTP Server が、PKCS#11 モジュールを利用して、ハードウェアのセキュリティートークンから、TLS 証明書および秘密鍵を直接読み込むようになりました。これにより、mod_ssl 設定で、PKCS#11 URL を使用して、SSLCertificateKeyFile ディレクティブおよび SSLCertificateFile ディレクティブに、TLS 秘密鍵と、必要に応じて TLS 証明書をそれぞれ指定できるようになりました。
  • /etc/httpd/conf/httpd.conf ファイルの新しい ListenFree ディレクティブに対応するようになりました。

    Listen ディレクティブと同様、ListenFree は、サーバーがリッスンする IP アドレス、ポート、または IP アドレスとポートの組み合わせに関する情報を提供します。ただし、ListenFree を使用すると、IP_FREEBIND ソケットオプションがデフォルトで有効になります。したがって、httpd は、ローカルではない IP アドレス、または今はまだ存在していない IP アドレスにバインドすることもできます。これにより、httpd がソケットをリッスンできるようになり、httpd がバインドしようとするときに、基になるネットワークインターフェースまたは指定した動的 IP アドレスを起動する必要がなくなります。

    ListenFree ディレクティブは、現在 RHEL 8 でのみ利用できます。

    ListenFree の詳細は、以下の表を参照してください。

    表15.1 ListenFree ディレクティブの構文、状態、およびモジュール

    構文状態モジュール

    ListenFree [IP-address:]portnumber [protocol]

    MPM

    event、worker、prefork、mpm_winnt、mpm_netware、mpmt_os2

その他の主な変更点は次の通りです。

  • 以下のモジュールが削除されました。

  • RHEL 8 の Apache HTTP Server が使用するデフォルトの DBM 認証データベースのデフォルトタイプが、SDBM から db5 に変更になりました。
  • Apache HTTP Servermod_wsgi モジュールが Python 3 に更新されました。WSGI アプリケーションは Python 3 でしか対応していないため、Python 2 から移行する必要があります。
  • Apache HTTP Server を使用してデフォルトで設定されたマルチプロセッシングモジュール (MPM) は、マルチプロセスのフォークモデル (prefork として知られています) から、高パフォーマンスのマルチスレッドモデル event に変更しました。

    スレッドセーフではないサードパーティーのモジュールは、交換または削除する必要があります。設定した MPM を変更するには、/etc/httpd/conf.modules.d/00-mpm.conf ファイルを編集します。詳細は、man ページの httpd.service(8) を参照してください。

  • suEXEC によりユーザーに許可される最小 UID および GID はそれぞれ 1000 および 500 です (以前は 100 および 100 でした)。
  • /etc/sysconfig/httpd ファイルは、httpd サービスへの環境変数の設定に対応するインターフェースではなくなりました。systemd サービスに、httpd.service(8) の man ページが追加されています。
  • httpd サービスを停止すると、デフォルトで「自動停止」が使用されます。
  • mod_auth_kerb モジュールが、mod_auth_gssapi モジュールに置き換わりました。

デプロイ方法は「Apache HTTP Web サーバーの設定」を参照してください。

15.2.2. nginx Web サーバーが RHEL に新登場

RHEL 8 で、HTTP などのプロトコルに対応する Web サーバーおよびプロキシサーバーである nginx 1.14 が導入されました。これは、実行性およびパフォーマンスの高さ、ならびにメモリー使用量の低さに重点を置いています。nginx は、以前は、Software Collection からしか入手できませんでした。

nginx の Web サーバーは、PKCS#11 モジュールを利用してハードウェアセキュリティートークンから直接 TLS 秘密鍵を読み込むようになりました。これにより、nginx 設定で、PKCS#11 の URL を使用して TLS 秘密鍵を ssl_certificate_key ディレクティブに指定できるようになりました。

15.2.3. Apache Tomcat が削除される

Apache Tomcat サーバーが、Red Hat Enterprise Linux から削除されています。Apache Tomcat は、Java Servlet 技術および JavaServer Pages (JSP) 技術における servlet コンテナーです。Red Hat では、servlet コンテナーが必要な場合は、JBoss Web Server を使用することが推奨されます。

15.3. プロキシーキャッシュサーバー

15.3.1. Varnish Cache が RHEL に新登場

高パフォーマンスの HTTP 逆ポリシーである Varnish Cache が、RHEL で初めて提供されました。以前は、Software Collection からしか入手できませんでした。Varnish Cache は、将来の同等の要求で応答時間およびネットワークの帯域幅を削減するのに使用されるメモリーに、ファイルまたはファイルの断片を保存します。RHEL 8.0 は、Varnish Cache 6.0 で配布されています。

15.3.2. Squid への主な変更点

RHEL 8.0 は、Web クライアント、対応する FTP、Gopher、および HTTP のデータオブジェクト用の高パフォーマンスのプロキシーキャッシュサーバーである Squid 4.4 で配布します。このリリースは、RHEL 7 で利用可能なバージョン 3.5 に新しい機能、機能強化、バグ修正を多数提供します。

以下は、主な変更点です。

  • ヘルパーのキューサイズが変更可能
  • ヘルパー同時実行チャンネルへの変更
  • ヘルパーバイナリーへの変更
  • Internet Content Adaptation Protocol (ICAP) の保護
  • 対称型マルチプロセッシング (SMP) への対応が改善
  • プロセス管理が改善
  • SSL への対応が削除
  • Edge Side Includes (ESI) カスタムパーサーが削除
  • 複数の設定変更

15.4. データベースサーバー

RHEL 8 は、次のデータベースサーバーを提供します。

  • MySQL 8.0。マルチユーザー、マルチスレッドの SQL データベースサーバーです。MySQL サーバーデーモンである mysqld と、多数のクライアントプログラムで構成されます。
  • MariaDB 10.3。マルチユーザー、マルチスレッドの SQL データベースサーバーです。あらゆる実用的な目的に対応するために、MariaDB には、MySQL とバイナリー互換性があります。
  • PostgreSQL 10 および PostgreSQL 9.6。高度なオブジェクトリレーショナルデータベース管理システム (DBMS) です。
  • Redis 5。高度な鍵と値のストアです。鍵には、文字列、ハッシュ、リスト、セット、およびソートセットを含めることができるため、データ構造サーバーと呼ばれています。RHEL で、Redis が初めて提供されます。

NoSQL の MongoDB データベースサーバーは、Server Side Public License (SSPL) を使用するため、RHEL 8.0 には同梱されていません。

データベースサーバーを並行してインストールできない

RPM パッケージが競合しているため、RHEL 8.0 では、mariadb モジュールと mysql モジュールを同時にインストールすることができません。

設計上、同じモジュールの複数のバージョン (ストリーム) を並行してインストールすることはできません。たとえば、postgresql モジュールから利用可能なストリーム ( 10 (デフォルト) または 9.6 ) の中から 1 つ選択する必要があります。RHEL 6 および RHEL 7 用の Red Hat Software Collections では、コンポーネントの並列インストールが可能です。RHEL 8 では、コンテナー内で異なるバージョンのデータベースサーバーを使用できます。

15.4.1. MariaDB 10.3 への主な変更点

MariaDB 10.3 では、RHEL 7 に同梱されていたバージョン 5.5 に新機能が数多く追加されました。以下は、主な変更点です。

  • 共通テーブル式 (CTE)
  • システムのバージョンが管理されたテーブル
  • FOR ループ
  • 非表示の列
  • シーケンス
  • InnoDB のインスタント ADD COLUMN
  • ストレージエンジンに依存しないカラム圧縮
  • 並列レプリケーション
  • マルチソースのレプリケーション

さらに、新しい mariadb-connector-c パッケージは、MySQLMariaDB に共通のクライアントライブラリーを提供します。このライブラリーは、データベースサーバーの MySQL および MariaDB の全バージョンで使用できます。その結果、RHEL 8 に同梱される MySQL サーバーおよび MariaDB サーバーのいずれかに構築されるアプリケーションの 1 つに接続できます。

その他の主な変更点は次の通りです。

  • 同期マルチクラスターでもある MariaDB Galera Cluster が、MariaDB の標準に含まれるようになりました。
  • InnoDB は、XtraDB の代わりに、デフォルトのストレージエンジンとして使用されます。
  • mariadb-bench サブパッケージが削除されました。
  • プラグインの成熟度に対するデフォルトの許可レベルは、サーバーの成熟度よりレベルが 1 つ低くなるように変更になりました。その結果、以前は動作していた、成熟度レベルが低いプラグインが、読み込まれなくなりました。

「Red Hat Enterprise Linux 8 での MariaDB の使用」も併せて参照してください。

15.4.2. MySQL 8.0 への主な変更点

RHEL 8 に同梱される MySQL 8.0 には、たとえば次のような機能強化が含まれます。

  • MySQL に、データベースオブジェクトに関する情報を格納するトランザクショナルデータディクショナリーが組み込まれました。
  • MySQL がロールに対応するようになりました。ロールは特権の集まりです。
  • デフォルトの文字セットが、latin1 から utf8mb4 に変更しました。
  • 非再帰的および再帰的な Common Table Expression に対応するようになりました。
  • MySQL が、クエリーで関連する行の集合に対して、行ごとに計算を実行する window 関数に対応するようになりました。
  • locking readステートメントにより、InnoDB で、NOWAIT オプションおよび SKIP LOCKED オプションに対応するようになりました。
  • GIS 関連の関数が改善しました。
  • JSON 関数が強化されました。
  • 新しい mariadb-connector-c パッケージは、MySQLMariaDB に共通のクライアントライブラリーを提供します。このライブラリーは、データベースサーバーの MySQL および MariaDB の全バージョンで使用できます。その結果、RHEL 8 に同梱される MySQL サーバーおよび MariaDB サーバーのいずれかに構築されるアプリケーションの 1 つに接続できます。

さらに、RHEL 8 に同梱されている MySQL 8.0 サーバーでは、デフォルトの認証プラグインに mysql_native_password を使用するように設定されています。RHEL 8 のクライアントツールおよびライブラリーは、アップストリームの MySQL 8.0 バージョンでデフォルトで使用されている caching_sha2_password メソッドと互換性がないためです。

デフォルトの認証プラグインを caching_sha2_password に変更するには、/etc/my.cnf.d/mysql-default-authentication-plugin.cnf ファイルを次のように変更します。

[mysqld]
default_authentication_plugin=caching_sha2_password

15.4.3. PostgreSQL への主な変更点

RHEL 8.0 は、postgresql モジュールの 2 つのストリームで、PostgreSQL データベースサーバーのバージョンを 2 つ (PostgreSQL 10 (デフォルトストリーム) および PostgreSQL 9.6) 提供します。RHEL 7 には PostgreSQL バージョン 9.2 が含まれます。

PostgreSQL 9.6 への主な変更点。以下は例になります。

  • 一連の動作の並列実行 - scanjoin、および aggregate
  • 同期レプリケーションの機能強化
  • フレーズを検索できるように、フルテキスト検索が改善
  • postgres_fdw データ連携ドライバーが、リモートの joinsortUPDATE、および DELETE の操作に対応
  • (特に、マルチ CPU ソケットサーバーのスケーラビリティーに関する) 重要なパフォーマンスの向上

PostgreSQL 10 への主な機能拡張。以下は例になります。

  • publish キーワードおよび subscribe キーワードを使用した論理レプリケーション
  • SCRAM-SHA-256 メカニズムを基にした強力なパスワード認証
  • 宣言型テーブルのパーティション
  • 改善されたクエリーの並列処理
  • 重要な一般的なパフォーマンスの向上
  • 改善された監視および制御

「Red Hat Enterprise Linux 8 で PostgreSQL の使用」も併せて参照してください。


このページには機械翻訳が使用されている場合があります (詳細はこちら)。