GNU/Linux >> Linux の 問題 >  >> Rocky Linux

RockyLinuxにPostgreSQL13をインストールして使用する方法

PostgreSQLは、拡張性とSQLコンプライアンスに重点を置いた無料のオープンソースデータベース管理システムです。 PostgreSQLは、高度なエンタープライズクラスのRDBMS(リレーショナルデータベース管理システム)であり、SQL(リレーショナル)クエリとJSON(非リレーショナル)クエリの両方をサポートしています。

これは、オープンソースコミュニティによる20年以上の開発に裏打ちされた非常に安定したデータベース管理システムであり、その信頼性、柔軟性、機能の堅牢性、およびパフォーマンスで開発者やシステム管理者の間で高い評価を得ています。

PostgreSQLは、Webアプリケーション、モバイルアプリケーション、および分析アプリケーションのプライマリデータベースとして使用されます。世界中の注目すべきPostgreSQLユーザーには、Reddit、Skype、Instagram、Disqus、The Guardian、Yandex、Bloomberg、Nokia、BMWなどがあります。

このガイドでは、Rocky LinuxにPostgreSQLデータベースをインストールする方法、PostgreSQLデータベースのデプロイメントを保護する方法、およびユーザーとデータベースを管理するためのPostgreSQLクエリの基本的な使用法について学習します。

前提条件
  • RockyLinuxシステム。
  • rootまたはsudo権限を持つユーザー。このユーザーは、新しいパッケージのインストールとシステム全体での変更に使用されます。

PostgreSQLリポジトリの追加

このガイドでは、PostgreSQL v13.4の最新の安定バージョンをインストールします。このバージョンは公式のPostgreSQLリポジトリで入手できるため、PostgreSQLリポジトリをRockyLinuxシステムに追加する必要があります。

1.次のコマンドを実行して、RockyLinuxシステムの公式PostgreSQLリポジトリを追加します。

 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm 

2.次に、以下のコマンドを実行して、PostgreSQLリポジトリがシステムで使用可能であることを確認します。

 sudo dnf -qy repolist 

システムでPostgreSQLリポジトリが利用可能な場合は、以下のスクリーンショットのようにPostgreSQLリポジトリの複数のバージョンが表示されます。

RockyLinuxへのPostgreSQL13のインストール

(Rocky Linuxリポジトリからではなく)公式のPostgreSQLリポジトリからPostgreSQLをインストールできるようにするには、組み込みのPostgreSQLリポジトリモジュールを無効にする必要があります。

1.以下のコマンドを実行して、組み込みのPostgreSQLモジュールリポジトリを無効にします。

 sudo dnf module -qy disable postgresql 

このコマンドは、クワイエットモードでDNFコマンドを実行し、すべてのgpgキーを受け入れます(-qyオプション )PostgreSQLリポジトリの場合。

2.その後、以下のdnfコマンドを使用して、PostgreSQLリポジトリから最新バージョンのPostgreSQL13.4をインストールします。

 sudo dnf install postgresql13-server 

' yと入力します 'を押して'Enter 'PostgreSQL13.xをインストールします。

次に、PostgreSQLのインストールを待ちます。

PostgreSQLデータベースの初期化

次に、PostgreSQLのインストールが完了したら、PostgreSQLの構成を初期化してから、PostgreSQLサービスを開始して有効にする必要があります。

1.次のコマンドを実行して、PostgreSQLデータベース構成を初期化します。

 sudo / usr / pgsql-13 / bin / postgresql-13-setup initdb 

2.その後、以下のコマンドを使用してPostgreSQLサービスを開始して有効にします。

 sudo systemctl enable postgresql-13 
sudo systemctl start postgresql-13

これでPostgreSQLサービスがアクティブになり、実行され、起動するたびに自動的に実行されます。

3.次に、以下のコマンドを実行してPostgreSQLサービスを確認します。

 sudo systemctl status postgresql-13 

PostgreSQLサービスが実行されている場合は、 "active(running)"などの緑色の出力が表示されます。 以下のように。それ以外の場合は、「失敗」などの赤い出力が表示されます 「エラーメッセージログが続きます。

PostgreSQLデプロイメントの保護

インストール中に、PostgreSQLは「 postgres」として新しいシステムユーザーとデータベースユーザー名を作成します "。この段階では、" postgresの新しいパスワードを設定します "ユーザー、両方ともシステムユーザー およびデータベースユーザー

1。デフォルトのシステムユーザー「postgres」のパスワードを変更します "次のコマンドを使用します。

 passwd postgres 

次に、システムユーザー「 postgres」の新しいパスワードを入力します "。

2.次に、「 postgres」のパスワードを変更します "データベースユーザー、PostgreSQLシェルにログインする必要があります。

まず、システムユーザー「 postgres 」としてログインします "次のコマンドを使用します。

 su --postgres 

次に、以下のpsqlコマンドを使用してPostgreSQLシェルにログインします。

 psql 

次のクエリを実行して、デフォルトの「 postgres」の新しいパスワードを作成します 「データベースユーザー。

 ALTER USER postgres WITH PASSWORD'strongpostgrespassword'; 

次に、exitと入力して、「 Ctrl + d」を押します。 "終了して'postgresからログアウトします 'ユーザーシェル。

認証方法の変更

デフォルトでは、ローカルPostgreSQLユーザーは「peer」メソッドを使用してPostgreSQLシェルに接続します。ピア認証方式は、ローカル接続に対してのみ機能します。開発環境ではこのタイプの認証を使用できますが、本番環境では、パスワードベースの認証方法の使用を検討してください。

この段階では、「 scram-sha-256 」を使用して、デフォルトのピア認証方法をパスワード認証に変更する方法を学習します。 '。

1.まず、次のコマンドを使用してPostgreSQLシェルにログインします。

 sudo -u postgres psql 

次に、次のクエリを実行して、PostgreSQL構成の場所を確認します' pg_hba.conf '。

 SHOW hba_file; 
SHOW password_encryption;

以下のような出力が表示されます。

PostgreSQL構成「pg_hba.conf」が「/var / lib / pgsql / 13 / data」にあることに気付くでしょう。 'ディレクトリ、およびRHELベースのオペレーティングシステムでのPostgreSQLのデフォルトのパスワード暗号化は' scram-sha-256 '。

ここで「\q」と入力してPostgreSQLシェルを終了します。

2.次に、作業ディレクトリを' / var / lib / pgsql / 13 / dataに変更します。 'そして構成を編集します'pg_hba.conf 'nanoエディターを使用します。

 cd /var/lib/pgsql/13/data/ 
nano pg_hba.conf

行の下部で、ローカル認証方法を「 scram-sha-256」に変更します '以下のように。

#TYPEDATABASEUSERアドレス方法

#「ローカル」はUnixドメインソケット接続専用です
ローカル-sha-すべてbr/>ホストすべてすべて127.0.0.1/32 scram-sha-256
#IPv6ローカル接続:
ホスト256

次に、' Ctrl + xを押します。 '、「 y」と入力します '、「 Enter」を押します "保存して終了します。

この構成を使用すると、PostgreSQLシェルにログインするためのパスワードの入力を求められます。

3.次に、次のコマンドを使用してPostgreSQLサービスを再起動し、新しい構成を適用します。

 sudo systemctl restart postgresql-13 

これで、PostgreSQLシェルにアクセスするたびに、認証用のパスワードを入力する必要があります。

4.パスワード認証の構成を確認するには、次のコマンドを使用してPostgreSQLシェルにログインします。

 su --postgres 
psql

これで、デフォルトユーザーのパスワードの入力を求められます' postgres '。

' postgresのパスワードを入力します 'データベースユーザーと押して'Enter '。パスワードが正しければ、次のようにPostgreSQLシェルが表示されます。それ以外の場合は、「致命的」が表示されます 'パスワードが正しくないためエラーが発生しました。

さらに、以下のように1行のコマンドを使用してPostgreSQLシェルにログインできます。

#デフォルトの「postgres」ユーザーとしてログイン
sudo -u postgres psql

#別のユーザーとしてログイン
sudo -u postgres psql -U username
>

アプリケーションの新しいユーザーとデータベースの作成

この段階では、PostgreSQLで新しいユーザーとデータベースを作成する方法を学習します。

1.以下のコマンドを実行して、PostgreSQLシェルにログインします。

 sudo -u postgres psql 

次に、PostgreSQLユーザーのパスワードを入力します' postgres '。

2.以下のPostgreSQLクエリを実行して、パスワード「johndoestrongpassword」で新しいユーザー「johndoe」を作成し、新しいデータベースとロールを作成するための特権をユーザーに付与します。

 CREATE USER johndoe WITH 
CREATEDB
CREATEROLE
PASSWORD'johndoestrongpassword';

その後、次のクエリを使用して新しいユーザーを確認します。

 \ du 

これで、新しいユーザー「johndoe」と役割のリスト「役割の作成」が表示されます。 'および'データベースの作成 '以下のように。

3.次に、PostgreSQLで新しいユーザーデータベースを作成するには、次のクエリを実行します。

 CREATE DATABASE johndoe OWNER johndoe; 

次に、次のクエリを使用して新しいデータベースを確認します。

 \ l 

下のスクリーンショットのように、所有者が「johndoe」の新しいデータベース「johndoe」が表示されます。

テーブルの作成とデータの挿入

新しいデータベースとユーザーを作成した後、テーブルの作成方法、データの入力方法、およびデータベースからのデータの表示方法を学習します。

1.次に、次のコマンドを使用して、ユーザー「johndoe」としてPostgreSQLシェルにログインします。

 su --postgres 
psql -U johndoe

または、以下のように1行のコマンドを使用できます。

 sudo -u postgres psql -U johndoe 

次に、PostgreSQLユーザーのパスワードを入力します' johndoe 'を押して'Enter 'ログインします。

スクリーンショットでわかるように、データベース' johndoe =>でPostgreSQLシェルにログインしています。 '。

2.次に、次のクエリを実行して、「id、name、age、address、salary」という列を持つ新しいテーブル「users」を作成します。

 CREATE TABLEユーザー(
id INT PRIMARY KEY NOT NULL、
name TEXT NOT NULL、
age INT NOT NULL、
address
50給与REAL
);

現在のデータベースで使用可能なテーブルを表示するには、「 \ d」を使用します 'クエリとして'説明 '以下のように。

 \ d 

テーブルに列を表示するには、以下のようにテーブル名の後に同じクエリを使用できます。

\dユーザー

以下は、得られる同様の出力です。

3.次に、「挿入」を使用してテーブルに新しいデータを追加します '以下のようにクエリします。

 INSERT INTO users(id、name、age、address、salary)VALUES(1、'Paul'、32、'California'、20000.00); 
INSERT INTO users(id、name、age、address、 salary)VALUES(2、'Jesse'、35、'Mexico'、30000.00);
INSERT INTO users(id、name、age、address、salary)VALUES(3、'Linda'、27、'Canada' 、40000.00);

4.その後、「選択」を使用して、使用可能なすべてのデータを表示できます。 '以下のようにクエリします。

 SELECT*FROMユーザー;

オプション'*' テーブル内のすべての列をダンプします。

列を指定するには、「選択」を使用できます '以下のようにクエリします。

 SELECT name、age、salary FROM users; 

以下のような出力が表示されます。

結論

おめでとう!これで、RockyLinuxにPostgreSQLをインストールする方法を学びました。また、PostgreSQLを安全な方法(最小限)でデプロイする方法と、ユーザー、データベース、およびテーブルを管理するためのPostgreSQLクエリの基本的な使用法を学習しました。


Rocky Linux
  1. RockyLinuxにWikijsをインストールする方法

  2. RockyLinux8にMongoDBをインストールして使用する方法

  3. Rocky Linux / Alma Linux /Centos8にPodmanをインストールして使用する方法

  1. RockyLinux8にpgAdmin4をインストールして使用する方法

  2. RockyLinux8でPodmanをインストールして使用してコンテナを実行する方法

  3. RockyLinux8にDockerをインストールして使用する方法

  1. LinuxシステムにGitをインストールして使用する方法

  2. RockyLinuxおよびAlmaLinuxにPostgreSQL14をインストールする方法

  3. RockyLinuxでコックピットをインストールして使用する方法