PostgreSQLはデータベース管理システムであり、多くの点でMySQLに似ていますが、いくつかの重要な違いがあります。 MySQLと同様に、一般的にLinuxでホストされています。このガイドでは、Ubuntu 22.04 Jammy JellyfishでPostgreSQLサーバーを実行する方法と、外部のPostgreSQLデータベースに接続する必要がある場合に備えてクライアントバージョンをインストールする方法を示します。
このチュートリアルでは、次のことを学びます。
- PostgreSQLクライアントのインストール方法
- PostgreSQLサーバーに接続する方法
- PostgreSQLサーバーをインストールして構成する方法
カテゴリ | 使用する要件、規則、またはソフトウェアバージョン |
---|---|
システム | Ubuntu22.04ジャミークラゲ |
ソフトウェア | PostgreSQLサーバーとクライアント |
その他 | rootまたはsudo を介したLinuxシステムへの特権アクセス コマンド。 |
コンベンション | # –指定されたLinuxコマンドは、rootユーザーとして直接、またはsudo を使用して、root権限で実行する必要があります。 コマンド$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります |
PostgreSQLクライアントのインストール
PostgreSQLクライアントを使用して、外部のPostgreSQLデータベースに接続できます。すでにデータベースサーバーを稼働させているが、1つ以上のクライアントシステムからデータベースにリモートアクセスできる必要がある場合は、このオプションを使用します。
- 開始するには、
postgresql-client
をインストールします コマンドラインターミナルを開き、次の2つのapt
を入力してパッケージ化します。 コマンド:$ sudo apt update $ sudo apt install postgresql-client
- PostgreSQLクライアントのインストールが完了したら、
psql
を使用できます。 リモートPostgreSQLサーバーに接続するコマンド。リモートサーバーのホスト名またはIPアドレスを指定する必要があります(postgre-server
として表示) 以下の例では)とユーザー名(postgre-user
以下で認証しています:$ psql -h postgre-server -U postgre-user psql (14.2 (Ubuntu 14.2-1)) SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off) Type "help" for help.
クライアントバージョンは以上です。次のセクションでは、着信クライアント接続を受け入れることができるPostgreSQLサーバーをセットアップする方法を示します。
PostgreSQLサーバーのインストール
- PostgreSQLデータベースのホスティングを開始するには、
postgresql
をインストールします 次のコマンドを使用したUbuntu22.04のパッケージ:$ sudo apt update $ sudo apt install postgresql
- PostgreSQLサーバーのインストールが完了すると、ポート
5432
で着信接続をリッスンしていることがわかります。 。これは、期待どおりに稼働していることを確認するための良い方法です。$ ss -nlt
- デフォルトでは、システムが起動するたびにPostgreSQLサーバーが自動的に起動します。この動作を変更したい場合は、次のコマンドでいつでも変更できます:
$ sudo systemctl disable postgresql
再度有効にするには、disable
を置き換えるだけですenable
を使用 。 - PostgreSQLサーバーはローカルループバックインターフェイス
127.0.0.1
でのみリッスンします デフォルトでは。 1つ以上のリモートクライアントをデータベースサーバーに接続することを計画している場合は、別のネットワークインターフェースでリッスンするようにPostgreSQLを構成する必要があります。この変更を行うには、nanoまたはお好みのテキストエディタを使用してPostgreSQLの構成ファイルを開きます。$ sudo nano /etc/postgresql/14/main/postgresql.conf
- このファイルの「接続と認証」セクションのどこかに次の行を追加します。これにより、PostgreSQLはすべてのネットワークインターフェースで着信接続をリッスンするように指示されます。
listen_addresses = '*'
- 変更を保存して、構成ファイルを終了します。次に、変更を有効にするためにPostgreSQLサーバーを再起動します。
$ sudo systemctl restart postgresql
- これで、PostgreSQLがソケット
0.0.0.0:5432
をリッスンしていることがわかります。 。これは、ss
を実行することで確認できます。 もう一度コマンド:$ ss -nlt
- 次に、次の行を
/etc/postgresql/14/main/pg_hba.conf
に追加する必要があります。 構成ファイル。これにより、すべてのデータベースとユーザーへの着信クライアント接続が可能になります。md5
オプションは、ユーザーがパスワードで認証する必要があることを指定します。
host all all 0.0.0.0/0 md5
この行を1つのコマンドでファイルに追加するには、次のコマンドを実行するだけです。
$ sudo bash -c "echo host all all 0.0.0.0/0 md5 >> /etc/postgresql/14/main/pg_hba.conf"
- 最後に、UFWファイアウォールを有効にしている場合は、PostgreSQLサーバーのリスニングポート
5432
を開くことができます。 次のコマンドを実行して、着信TCPトラフィックに送信します。$ sudo ufw allow from any to any port 5432 proto tcp Rule added Rule added (v6)
まとめ
このチュートリアルでは、Ubuntu 22.04 JammyJellyfishLinuxでPostgreSQLサーバーをホストする方法を学びました。また、データベースが任意のソースおよび任意のユーザーからの着信接続を受け入れることができるように、いくつかの初期構成を実行する方法も確認しました。これに加えて、PostgreSQLクライアントパッケージを使用してリモートPostgreSQLサーバーに接続する方法も確認しました。