Ubuntu20.04にPostgreSQLをインストールする方法[クイックスタート]
序章
PostgreSQL 、またはPostgresは、SQLクエリ言語の実装を提供するリレーショナルデータベース管理システムです。 これは標準に準拠しており、信頼性の高いトランザクションや読み取りロックのない同時実行性など、多くの高度な機能を備えています。
このガイドでは、PostgreSQLのインストールから新しいユーザーとデータベースのセットアップまで、Ubuntu20.04サーバーでPostgresをすばやく起動して実行する方法を示します。 PostgreSQLデータベースのインストールと管理に関するより詳細なチュートリアルが必要な場合は、 Ubuntu20.04にPostgreSQLをインストールして使用する方法を参照してください。
前提条件
このチュートリアルに従うには、 Ubuntu20.04の初期サーバーセットアップガイドに従って構成された1つのUbuntu20.04サーバーが必要です。 この前提条件のチュートリアルを完了すると、サーバーには、sudo権限と基本的なファイアウォールを持つ非rootユーザーが必要になります。
ステップ1—PostgreSQLのインストール
PostgreSQLをインストールするには、最初にサーバーのローカルパッケージインデックスを更新します。
- sudo apt update
次に、Postgresパッケージを -contrib
いくつかの追加のユーティリティと機能を追加するパッケージ:
- sudo apt install postgresql postgresql-contrib
サービスが開始されていることを確認します。
- sudo systemctl start postgresql.service
ステップ2—PostgreSQLの役割とデータベースを使用する
デフォルトでは、Postgresは「ロール」と呼ばれる概念を使用して認証と承認を処理します。 これらは、いくつかの点で、通常のUnixスタイルのユーザーおよびグループに似ています。
インストール時に、Postgresは ident 認証を使用するように設定されます。つまり、Postgresの役割を一致するUnix/Linuxシステムアカウントに関連付けます。 Postgres内に役割が存在する場合、同じ名前のUnix/Linuxユーザー名がその役割としてサインインできます。
インストール手順により、デフォルトのPostgresロールに関連付けられたpostgresというユーザーアカウントが作成されました。 このアカウントを利用してPostgresにアクセスする方法はいくつかあります。 1つの方法は、次のコマンドを実行して、サーバー上のpostgresアカウントに切り替えることです。
- sudo -i -u postgres
次に、以下を実行してPostgresプロンプトにアクセスできます。
- psql
これによりPostgreSQLプロンプトにログインし、ここからデータベース管理システムをすぐに自由に操作できます。
PostgreSQLプロンプトを終了するには、次のコマンドを実行します。
- \q
これにより、 postgresLinuxコマンドプロンプトに戻ります。 通常のシステムユーザーに戻るには、 exit
指図:
- exit
Postgresプロンプトに接続する別の方法は、 psql
postgresアカウントとして直接コマンド sudo
:
- sudo -u postgres psql
これにより、仲介なしでPostgresに直接ログインできます bash
間にシェル。
ここでも、以下を実行してインタラクティブなPostgresセッションを終了できます。
- \q
ステップ3—新しい役割を作成する
postgres アカウントとしてログインしている場合は、次のコマンドを実行して新しい役割を作成できます。
- createuser --interactive
代わりに、 sudo
通常のアカウントから切り替えずにコマンドごとに、次のコマンドを実行します。
- sudo -u postgres createuser --interactive
いずれにせよ、スクリプトはいくつかの選択肢を表示し、応答に基づいて正しいPostgresコマンドを実行して、指定したユーザーを作成します。
OutputEnter name of role to add: sammy
Shall the new role be a superuser? (y/n) y
ステップ4—新しいデータベースの作成
Postgres認証システムがデフォルトで行うもう1つの前提は、ログインに使用されるすべてのロールについて、そのロールにはアクセス可能な同じ名前のデータベースがあるということです。
これは、前のセクションで作成したユーザーが sammy と呼ばれる場合、その役割はデフォルトで「sammy」とも呼ばれるデータベースへの接続を試みることを意味します。 あなたは適切なデータベースを作成することができます createdb
指図。
postgres アカウントとしてログインしている場合は、次のように入力します。
- createdb sammy
代わりに、 sudo
通常のアカウントから切り替えずにコマンドごとに、次のコマンドを実行します。
- sudo -u postgres createdb sammy
ステップ5—新しい役割でPostgresプロンプトを開く
でログインするには ident
ベース認証では、Postgresの役割とデータベースと同じ名前のLinuxユーザーが必要です。
一致するLinuxユーザーが利用できない場合は、 adduser
指図。 これは、root以外のアカウントから行う必要があります。 sudo
特権(つまり、 postgres ユーザーとしてログインしていない):
- sudo adduser sammy
この新しいアカウントが利用可能になったら、次のコマンドを実行して、データベースに切り替えて接続できます。
- sudo -i -u sammy
- psql
または、これをインラインで実行できます。
- sudo -u sammy psql
このコマンドは、すべてのコンポーネントが適切に構成されていることを前提として、自動的にログインします。
ユーザーが別のデータベースに接続するようにする場合は、次のようにデータベースを指定することで接続できます。
- psql -d postgres
ログインすると、次のコマンドを実行して現在の接続情報を確認できます。
- \conninfo
OutputYou are connected to database "sammy" as user "sammy" via socket in "/var/run/postgresql" at port "5432".
結論
これで、Ubuntu20.04サーバーでPostgreSQLがセットアップされました。 Postgresとその使用方法について詳しく知りたい場合は、次のガイドを確認することをお勧めします。