Moodle 5.3 日本語ドキュメント(第一次翻訳):ほぼすべてのページが日本語に翻訳されました。まだ第一次翻訳のため、不自然な表現や誤訳が残っている可能性があります。お気づきの点があれば、ページコメントでお知らせいただくか、直接編集してください。スクリーンショットの多くは、まだ英語版の画面のままです。以前のバージョンの日本語ドキュメントは、バージョンメニューからご覧いただけます。
Moodle 5.3 Japanese documentation (first-pass translation): almost all pages have now been translated into Japanese. As this is a first pass, some wording may read unnaturally or be mistranslated. If you notice anything, please leave a page comment or edit the page directly. Most screenshots still show the English interface. Japanese documentation for earlier versions is available from the version menu.

PostgreSQL

提供: MoodleDocs
移動先:案内、検索

PostgreSQLは、Moodleが完全にサポートしている5つのデータベースのうちの1つです。データベースは、どのMoodleインストールにも必須のコンポーネントです。

Moodleデータベースの作成

この手順は、データベースサーバとウェブサーバが同じマシン上にあることを前提としています。そうでない場合は、さらにいくつかの作業が必要です。詳細については、PostgreSQLのドキュメントをご覧ください。

  • PostgreSQLのコマンドラインクライアントにログインします。正確な形式はPostgreSQLの設定によって異なりますが、次のようになります。
   $ psql -U postgres
   Password for user postgres:

インストール時に設定した「postgres」ユーザのパスワードを入力します。前置きのメッセージがいくつか表示された後、プロンプトpostgres=#が表示されるはずです。

  • Moodleデータベース用のユーザを作成し、パスワードを割り当てます:
   postgres=# CREATE USER moodleuser WITH PASSWORD 'yourpassword';

十分に強力なパスワードを指定してください。実際の認証方法は、PostgreSQLサーバのpg_hba.confファイルによって異なることに注意してください。一部の認証方法(identなど)では、パスワードは必要ありません。詳細については、下記の「クライアント認証」セクションをご覧ください。

  • データベースを作成します:
   postgres=# CREATE DATABASE moodle WITH OWNER moodleuser;

文字セットと照合順序

PostgreSQLサーバのデフォルトの照合順序が要件に合わない場合は、MoodleデータベースにLC_CTYPE(文字分類)およびLC_COLLATE(文字列のソート順)の設定を明示的に指定できます。次の例では、チェコ語のMoodleサイト向けに最適化された「moodle」という新しいデータベースを作成します:

   postgres=# CREATE DATABASE moodle WITH OWNER moodleuser ENCODING 'UTF8' LC_COLLATE='cs_CZ.utf8' LC_CTYPE='cs_CZ.utf8' TEMPLATE=template0;

詳細については、PostgreSQLマニュアルの文字セットサポートの章を参照してください。

データベースが正しく作成されたことを確認するには、psqlコンソールで\lを使用するか、シェルコマンドpsql -lを実行します。次のような結果が表示されるはずです:

   postgres=# \l
                                      List of databases
      Name    |  Owner     | Encoding |  Collation  |    Ctype    |   Access privileges   
   -----------+------------+----------+-------------+-------------+-----------------------
    moodle    | moodleuser | UTF8     | cs_CZ.utf8  | cs_CZ.utf8  | 
    postgres  | postgres   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
    template0 | postgres   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres
                                                                  : postgres=CTc/postgres
    template1 | postgres   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres
                                                                  : postgres=CTc/postgres

クライアント認証

クライアント認証とは、どのユーザアカウントがどのホストからどのデータベースに接続できるかをPostgreSQLが決定する仕組みです。PostgreSQLはこれをMySQLとはまったく異なる方法で処理するため、MySQLに慣れていて新たにPostgreSQLサーバをセットアップすることになったシステム管理者にとっては、注意が必要な点となる可能性があります。

上記の手順に従ったにもかかわらず、Moodleがデータベースにまったく接続できず、「Ident authentication failed」エラーが表示される場合は、クライアント認証ファイルを確認してください。

MySQLでは、ユーザアカウントを作成するときやデータベースに対する権限を付与するときに、'moodleuser'@'servername'構文を使用してアクセスを制御します。PostgreSQLでは、PostgreSQLの「data」フォルダにある「pg_hba.conf」というクライアント認証ファイルを使用します。このファイルには、どのユーザがどのデータベースへの接続を許可されているか、接続元として許可されているIPアドレス、および接続に使用できる認証方法の一覧が記載されています。

クライアント認証ファイルには次の行(「#」記号で始まる行)があり、各データを追加する順序を示しています。同じマシン上のPostgreSQLサーバへの接続をMoodleに許可するには、次の行を追加し、DATABASE列とUSER列を実際のデータベース名と上記で設定したユーザ名に変更するだけです。METHODフィールドには「password」と記述してください。ここに実際のパスワードを記述しないでください。

   # TYPE      DATABASE    USER            CIDR-ADDRESS        METHOD
   host        moodle      moodleuser      127.0.0.1/32        password

データベースがMoodleのインストールとは別のサーバにある場合は、上記のIPアドレスをそれに合わせて変更できます。この場合、「password」はパスワードをプレインテキストで送信するため、2つのサーバ間の接続が安全でない限り、methodフィールドに「password」を使用しないことをお勧めします。このような状況では、代わりにMETHODを「md5」に変更することを検討してください。

クライアント認証ファイルを変更したら、PostgreSQLサービスを再起動する必要があります。

関連項目