Ubuntu20.04にPostgreSQLをインストールする方法

この記事は最初に公開されました:[https://www.itcoder.tech/posts/how-to-install-postgresql-on-ubuntu-20-04/](https://www.itcoder.tech/posts/how-to-install-postgresql-on-ubuntu-20-04/)

[ PostgreSQL](https://cloud.tencent.com/product/postgresql?from=10680)またはPostgresは、オープンソースの多目的[リレーショナルデータベース](https://cloud.tencent.com/product/cdb-overview?from=10680)管理システムです。障害に強い環境や複雑なアプリケーションを構築できる多くの高度な機能を備えています。

このガイドでは、Ubuntu 20.04にPostgreSQLデータベースサーバーをインストールする方法を説明し、PostgreSQLデータベース管理の基本的な操作について説明します。

1.前提条件##

パッケージをインストールするには、rootまたはsudo権限を持つ別のユーザーとしてログインします。

2.UbuntuにPostgreSQLをインストールします##

この記事を書いている時点で、公式のUbuntuソフトウェアソースで利用可能な最新のPostgreSQLのバージョンは10.4です。

次のコマンドを実行して、UbuntuにPostgreSQLをインストールします。

sudo apt update
sudo apt install postgresql postgresql-contrib

また、PostgreSQLデータベースシステムのいくつかの追加機能を提供できるPostgreSQLcontribパッケージもインストールします。

インストールが完了すると、PostgreSQLサービスが自動的に開始されます。 psqlツールを使用して、PostgreSQLデータベースに接続し、そのバージョンを印刷して、インストールを確認します。

sudo -u postgres psql -c "SELECT version();"

出力:

PostgreSQL 12.2(Ubuntu 12.2-4) on x86_64-pc-linux-gnu, compiled by gcc(Ubuntu 9.3.0-8ubuntu1)9.3.0,64-bit

それでおしまい。 PostgreSQLがインストールされ、使用を開始できます。

3つ、PostgreSQLの役割と認証方法##

PostgreSQLデータベースのアクセス許可は、ロールを通じて処理されます。ロールは、データベースユーザーまたはデータベースユーザーグループを表します。

PostgreSQLは複数の認証方法をサポートしています。最も一般的に使用される方法は次のとおりです。

PostgreSQLクライアント認証は通常、 pg_hba.confファイルで定義されます。デフォルトでは、ローカル接続の場合、PostgreSQLはピアに対して認証するように設定されています。

postgresユーザーとしてPostgreSQLサーバーにログインするには、最初にユーザーを切り替えてから、 psqlツールを使用してPostgreSQLにアクセスします。

sudo su - postgres
psql

ここから、PostgreSQLインスタンスを操作できます。 PostgreSQLシェルを終了し、次のように入力します。

\ q

sudoコマンドを使用して、ユーザーを切り替えることなくPostgreSQLにアクセスすることもできます。

sudo -u postgres psql

通常、 postgresユーザーはローカルでのみ使用されます。

第4に、PostgreSQLの役割とデータベースを作成します##

新しいロールを作成できるのは、スーパーユーザーと CREATEROLE権限を持つロールのみです。

次の例では、 johnという名前のロール、 johndbという名前のデータベースを作成し、データベースへのアクセス許可を付与します。

  1. 新しいPostgreSQLロールを作成します。
sudo su - postgres -c "createuser john"
  1. 新しいPostgreSQLデータベースを作成します。
sudo su - postgres -c "createdb johndb"

ユーザーにデータベースの操作を許可するには、PostgreSQLシェルに接続します。

sudo -u postgres psql

そして、次のクエリを実行します。

grant all privileges on database johndb to john;

5、PostgreSQLサーバーへのリモートアクセスを有効にします##

デフォルトでは、PostgreSQLサーバーはローカルネットワークインターフェイス 127.0.0.1でのみリッスンします。

PostgreSQLサーバーへのリモートアクセスを許可するには、構成ファイル postgresql.confを開き、セクション CONNECTIONS ANDAUTHENTICATIONlisten_addresses = '*'を追加します。

sudo nano /etc/postgresql/12/main/postgresql.conf
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------

# - Connection Settings -

listen_addresses ='*'     # what IP address(es) to listen on;

ファイルを保存して、PostgreSQLサービスを再起動します。

sudo service postgresql restart

ssツールを使用して変更を確認します。

ss -nlt | grep 5432

出力は、PostgreSQLサーバーがすべてのネットワークインターフェイス( 0.0.0.0)でリッスンしていることを示しています。

LISTEN  02440.0.0.0:54320.0.0.0:*              
LISTEN  0244[::]:5432[::]:*

次のステップは、リモート接続を受け入れるようにサーバーを構成し、 pg_hba.confファイルを編集することです。

さまざまなユーザーシナリオを示すいくつかの例を次に示します。

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# The user jane can access all databases from all locations using md5 password
host    all             jane            0.0.0.0/0                md5

# The user jane can access only the janedb from all locations using md5 password
host    janedb          jane            0.0.0.0/0                md5

# The user jane can access all databases from a trusted location(192.168.1.134) without a password
host    all             jane            192.168.1.134            trust

最後のステップは、ファイアウォールのポート 5432を開くことです。

UFWを使用してファイアウォールを管理していて、 192.168.1.0 / 24サブネットからのアクセスを許可する場合は、次のコマンドを実行する必要があります。

sudo ufw allow proto tcp from192.168.1.0/24 to any port 5432

ファイアウォールが構成されており、信頼できるIP範囲からの接続のみを受け入れることを確認してください。

6、要約##

Ubuntu20.04サーバーにPostgreSQLをインストールして構成する方法を説明しました。このトピックの詳細については、[PostgreSQL 12ドキュメント](https://www.postgresql.org/docs/12/static/index.html)を参照してください。

ご不明な点がございましたら、以下の方法でお問い合わせください。

WeChat:sn0wdr1am86

WeChatグループ:上記のWeChatを追加し、WeChatグループにコメントします

QQ: 3217680847

QQグループ:82695646

Recommended Posts

Ubuntu16.04にPostgreSQLをインストールする方法
Ubuntu20.04にPostgreSQLをインストールする方法
Ubuntu16.04にPostgreSQLをインストールして使用する方法
Ubuntu20.04にRubyをインストールする方法
Ubuntu20.04にMemcachedをインストールする方法
Ubuntu20.04にMySQLをインストールする方法
Ubuntu20.04にVirtualBoxをインストールする方法
UbuntuにProtobuf3をインストールするための詳細なチュートリアル
Ubuntu20.04にNginxをインストールする方法
Ubuntu20.04にApacheをインストールする方法
Ubuntu20.04にGitをインストールする方法
Ubuntu16.04にNode.jsをインストールする方法
Ubuntu20.04にMySQLをインストールする方法
Ubuntu20.04にVagrantをインストールする方法
Ubuntu14.04にBacula-Webをインストールする方法
Ubuntu20.04にGitをインストールする方法
Ubuntu18.04にAnaconda3をインストールする方法
Ubuntu18.04にMemcachedをインストールする方法
Ubuntu14.04にMemSQLをインストールする方法
Ubuntu20.04にGoをインストールする方法
Ubuntu16.04にMongoDBをインストールする方法
Ubuntu14.04にMailpileをインストールする方法
Ubuntu16.04にPrestaShopをインストールする方法
Ubuntu20.04にSkypeをインストールする方法
Ubuntu20.04にJenkinsをインストールする方法
Ubuntu18.04にPython3.8をインストールする方法
Ubuntu18.04にKVMをインストールする方法
Ubuntu20.04にKVMをインストールする方法
ubuntu14.04にopencv3.0.0をインストールする方法
Ubuntu20.04にAnacondaをインストールする方法
Ubuntu16.04にPrometheusをインストールする方法
Ubuntu18.04にJenkinsをインストールする方法
Ubuntu20.04にApacheをインストールする方法
Ubuntu20.04にRをインストールする方法
Ubuntu16.04にMoodleをインストールする方法
Ubuntu14.04にSolr5.2.1をインストールする方法
Ubuntu16.04にTeamviewerをインストールする方法
CentOS8にPostgresqlをインストールする方法
Ubuntu20.04にMariaDBをインストールする方法
Ubuntu20.04にNginxをインストールする方法
Ubuntu20.04にMonoをインストールする方法
Ubuntu20.04にGoをインストールする方法
Ubuntu20.04にZoomをインストールする方法
Ubuntu16.04にNginxをインストールする方法
Ubuntu20.04にOpenCVをインストールする方法
Ubuntu20.04にSpotifyをインストールする方法
Ubuntu18.04にPostmanをインストールする方法
Ubuntu16.04にGo1.6をインストールする方法
Ubuntu18.04にGoをインストールする方法
Ubuntu14.04にMySQLをインストールする方法
Ubuntu18.04にVLCをインストールする方法
Ubuntu20.04にTeamViewerをインストールする方法
Ubuntu20.04にWebminをインストールする方法
Ubuntu18.04にDockerComposeをインストールする方法
RaspberryPiにUbuntuをインストールする方法
Ubuntu14.04にBaculaServerをインストールする方法
Ubuntu 18.04(linux)にMySQLをインストールする方法
Raspberry Pi4にUbuntu19.10をインストールする方法
Ubuntu18.04にApacheKafkaをインストールする方法
Ubuntu16.04でPostgreSQLの起動を設定する方法
Ubuntu16.04にApacheTomcat8をインストールする方法