第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
コマンドを設定できます。必要なパッケージ (python3
、python38
、または 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
コマンドを対話的に設定するには、この手順を使用します。
手順
以下のコマンドを実行します。
# alternatives --config python
- 表示された一覧から必要なバージョンを選択します。
この設定をリセットし、バージョンを指定しない
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-entry
、loading-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
ツール、a2p
、c2ph
ツール、および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 が非推奨になりました。
-
RubyGems
、Rake
、RDoc
、Psych
、Minitest
、test-unit
などのバンドルされたライブライリーが更新されました。 -
Ruby
とともに配布されていたmathn
、DL
、ext/tk
、XMLRPC
などのライブラリーは非推奨になり、同梱されなくなりました。 -
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.6
、PHP 7
、Octave 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
その他の主な変更点は次の通りです。
以下のモジュールが削除されました。
-
mod_file_cache
mod_nss
代わりに
mod_ssl
を使用します。mod_nss
からの移行の詳細は、『さまざまな種類のサーバーのデプロイメント
』の「Apache Web サーバー設定で秘密鍵と証明書を使用できるように NSS データベースからの証明書のエクスポート」を参照してください。-
mod_perl
-
-
RHEL 8 の Apache HTTP Server が使用するデフォルトの DBM 認証データベースのデフォルトタイプが、
SDBM
からdb5
に変更になりました。 -
Apache HTTP Server の
mod_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
パッケージは、MySQL
と MariaDB
に共通のクライアントライブラリーを提供します。このライブラリーは、データベースサーバーの 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
パッケージは、MySQL
とMariaDB
に共通のクライアントライブラリーを提供します。このライブラリーは、データベースサーバーの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
への主な変更点。以下は例になります。
-
一連の動作の並列実行 -
scan
、join
、およびaggregate
- 同期レプリケーションの機能強化
- フレーズを検索できるように、フルテキスト検索が改善
-
postgres_fdw
データ連携ドライバーが、リモートのjoin
、sort
、UPDATE
、およびDELETE
の操作に対応 - (特に、マルチ CPU ソケットサーバーのスケーラビリティーに関する) 重要なパフォーマンスの向上
PostgreSQL 10
への主な機能拡張。以下は例になります。
-
publish
キーワードおよびsubscribe
キーワードを使用した論理レプリケーション -
SCRAM-SHA-256
メカニズムを基にした強力なパスワード認証 - 宣言型テーブルのパーティション
- 改善されたクエリーの並列処理
- 重要な一般的なパフォーマンスの向上
- 改善された監視および制御
「Red Hat Enterprise Linux 8 で PostgreSQL の使用」も併せて参照してください。
このページには機械翻訳が使用されている場合があります (詳細はこちら)。