GNU/Linux >> Linux の 問題 >  >> OpenSuse

OpenSUSELeap15.3にPostgres14をインストールして設定する方法

もともとはPOSTGRESと名付けられ、カリフォルニア大学バークレー校で開発されたIngresデータベースの後継としてその起源を示しています。 PostgreSQLは、多くのWeb、モバイル、地理空間、および分析アプリケーションのプライマリデータストアまたはデータウェアハウスとして使用されます。 PostgreSQLは、構造化データと非構造化データを1つの製品に保存できます。

このガイドでは、OpenSUSELeap15.3にPostgresql14をインストールします

関連コンテンツ

  • FreeBSD13にPostgres14をインストールして設定する方法
  • Postgresの権限–データベースユーザーの作成、更新、削除
  • Centos8にPostgres14をインストールして構成する方法
  • Centos8にPostgres13をインストールして構成する方法
  • DockerとDocker-Composeを使用したPostgresql14の実行
  • Postgres 13Ubuntu20.04をインストールして構成する方法
  • Debian11にPostgres14をインストールして設定する方法
  • Postgres 14Ubuntu20.04をインストールして構成する方法
  • Fedora34にPostgres14をインストールして設定する方法

前提条件

フォローするには、次のものがあることを確認してください。

  1. OpenSUSELeap15サーバーを更新
  2. サーバーまたはrootアクセス権を持つユーザーへのrootアクセス
  3. サーバーからのインターネットアクセス
  4. Linuxターミナルの基本的な知識

目次

  1. サーバーが最新であることを確認します
  2. PostgresServerのインストールと起動
  3. PostgreSQLの役割とデータベースの認証方法
  4. postgresデータベースへの接続
  5. リモートアクセス用のpostgres14インスタンスの構成
  6. Postgres14でのユーザー管理

1。サーバーが最新であることを確認します

先に進む前に、サーバーに最新のパッケージがあることを確認しましょう。まず、リポジトリパッケージデータベースを更新します

~> sudo zypper ref
Repository 'Update repository of openSUSE Backports' is up to date.
Repository 'Debug Repository' is up to date.
Repository 'Update Repository (Debug)' is up to date.
Repository 'Non-OSS Repository' is up to date.
Repository 'Main Repository' is up to date.
Repository 'Update repository with updates from SUSE Linux Enterprise 15' is up to date.
Repository 'Source Repository' is up to date.
Repository 'Main Update Repository' is up to date.
Repository 'Update Repository (Non-Oss)' is up to date.
All repositories have been refreshed.

次に、次のコマンドを使用してパッケージを更新します。

~> sudo zypper up
Retrieving repository 'Update repository with updates from SUSE Linux Enterprise 15' metadata ...................................[done]
Building repository 'Update repository with updates from SUSE Linux Enterprise 15' cache ........................................[done]
Loading repository data...
Reading installed packages...
Nothing to do.

2。 Postgresサーバーのインストールと起動

デフォルトでは、OpenSUSELeapにはPostgresqlリポジトリは含まれていません。 postgresチームから提供されたリポジトリを使用してpostgres14のリポジトリを設定します。これによりPostgresをインストールできるようになります。

次のコマンドを使用してPostgresリポジトリをインストールしましょう:

sudo zypper addrepo https://download.postgresql.org/pub/repos/zypp/repo/pgdg-sles-15-pg14.repo

次に、インストールする前に、次のコマンドを使用してリポジトリを更新します。

sudo zypper ref

最後に、PostgreSQL14サーバーをインストールします。また、PostgreSQLデータベースシステムにいくつかの追加機能を提供するContribパッケージもインストールしています。

sudo zypper in postgresql14-server postgresql14-contrib

インストールが完了したら、次のコマンドを使用してPostgreSQLデータベースを初期化します。

~> sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
Initializing database ... OK

次のコマンドを使用してpostgresを開始します:

sudo systemctl start postgresql-14

次に、サーバーが再起動したときにサービスが開始されるようにサービスを有効にします。

~> sudo systemctl enable postgresql-14
Created symlink /etc/systemd/system/multi-user.target.wants/postgresql-14.service → /usr/lib/systemd/system/postgresql-14.service.

Postgresが実行されていることを確認します:

~> sudo systemctl status postgresql-14
● postgresql-14.service - PostgreSQL 14 database server
     Loaded: loaded (/usr/lib/systemd/system/postgresql-14.service; enabled; vendor preset: disabled)
     Active: active (running) since Tue 2021-10-26 18:52:54 UTC; 38s ago
       Docs: https://www.postgresql.org/docs/14/static/
   Main PID: 26244 (postmaster)
      Tasks: 8 (limit: 4587)
     CGroup: /system.slice/postgresql-14.service
             ├─26244 /usr/pgsql-14/bin/postmaster -D /var/lib/pgsql/14/data/
             ├─26245 postgres: logger
             ├─26247 postgres: checkpointer
             ├─26248 postgres: background writer
             ├─26249 postgres: walwriter
             ├─26250 postgres: autovacuum launcher
             ├─26251 postgres: stats collector
             └─26252 postgres: logical replication launcher

Oct 26 18:52:54 ip-10-2-40-60 systemd[1]: Starting PostgreSQL 14 database server...
Oct 26 18:52:54 ip-10-2-40-60 postmaster[26244]: 2021-10-26 18:52:54.691 UTC [26244] LOG:  redirecting log output to logging collector>
Oct 26 18:52:54 ip-10-2-40-60 postmaster[26244]: 2021-10-26 18:52:54.691 UTC [26244] HINT:  Future log output will appear in directory>
Oct 26 18:52:54 ip-10-2-40-60 systemd[1]: Started PostgreSQL 14 database server.

Active: active (running) サービスが稼働中であることを示しています。

次に、PostgreSQLデータベースサーバーに接続してそのバージョンを印刷することにより、インストールが成功したことを確認しましょう。

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

出力:

~> sudo -u postgres psql -c "SELECT version();"
                                      version
------------------------------------------------------------------------------------
 PostgreSQL 14.0 on x86_64-pc-linux-gnu, compiled by gcc (SUSE Linux) 7.5.0, 64-bit
(1 row)

3。 PostgreSQLの役割とデータベースの認証方法

PostgreSQLはrolesと呼ばれる概念を使用しています クライアントの認証と承認を処理します。デフォルトでは、Postgresはident authenticationを使用するように設定されています 、これは、Postgresロールを一致するUnix/Linuxシステムアカウントに関連付けることを意味します。 Postgres内にロールが存在する場合、同じ名前のUnix/Linuxユーザー名がそのロールとしてサインインできます。

インストール手順により、postgres というユーザーアカウントが作成されました これはデフォルトのpostgresに関連付けられています 役割。 PostgreSQLを使用するには、そのアカウントにログインできます。

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

  • Trustpg_hba.confで定義されている条件である限り、ロールはパスワードなしで接続できます。 満たされています。
  • Password –役割は、パスワードを提供することで接続できます。パスワードはscram-sha-256として保存できます 、md5 、およびpasswordclear-text
  • Ident – TCP/IP接続でのみサポートされます。これは、オプションのユーザー名マッピングを使用して、クライアントのオペレーティングシステムのユーザー名を取得することで機能します。
  • Peer – Identと同じですが、ローカル接続でのみサポートされます。

4。 postgresデータベースに接続しています

  1. postresに切り替える ユーザー

ターミナルに次のように入力して、サーバーのpostgresアカウントに切り替えます;:

sudo -i -u postgres

次のように入力すると、Postgresプロンプトにすぐにアクセスできるようになりました:

~> psql
psql (14.0)
Type "help" for help.

postgres=#

これによりPostgreSQLプロンプトにログインし、ここからデータベース管理システムをすぐに操作できます。

2.コマンドをpostgresとして実行する ユーザー

これを使用して、コマンドをpostgres として直接実行します sudoを使用しているユーザー

sudo -u postgres psql

出力:

~> sudo -u postgres psql
psql (14.0)
Type "help" for help.

postgres=#

5。リモートアクセス用のpostgres14インスタンスの構成

これを実現するために、postgres構成ファイルを変更します。ファイルを開き、構成を調整する必要があります。 Postgresql 14のメイン構成ファイルは、このパス/var/lib/pgsql/14/data/pg_hba.confにあります。

ピアIDを信頼できるように変更しましょう:

sed -i '/^local/s/peer/trust/' /var/lib/pgsql/14/data/pg_hba.conf

IDIDをmd5に変更して、パスワードログインを許可します。

sed -i '/^host/s/ident/md5/' /var/lib/pgsql/14/data/pg_hba.conf

ブロックを追加して、どこからでもアクセスできるようにします:

このコンテンツをファイル/var/lib/pgsql/14/data/pg_hba.confに追加します

host    all             all             0.0.0.0/0                md5

PostgreSQLが*

をリッスンしていることを確認します

この行をここの構成に追加します/var/lib/pgsql/14/data/postgresql.conf

listen_addresses='*'

postgresqlサーバーを有効にして再起動し、構成を再読み込みします

sudo systemctl restart postgresql
sudo systemctl enable postgresql

6。ユーザー管理

スーパーユーザーの作成

すべての設定が完了したので、スーパーユーザーを作成しましょう。
postresロールとしてDBに接続します:

~> sudo -u postgres psql
psql (14.0)
Type "help" for help.

postgres=#

rootという名前のスーパーユーザーを作成します :

CREATE ROLE root WITH LOGIN SUPERUSER CREATEDB CREATEROLE PASSWORD 'passwordhere';

出力:

postgres=# CREATE ROLE root WITH LOGIN SUPERUSER CREATEDB CREATEROLE PASSWORD 'passwordhere';
CREATE ROLE
postgres=# \du
                                   List of roles
 Role name |                         Attributes                         | Member of
-----------+------------------------------------------------------------+-----------
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
 root      | Superuser, Create role, Create DB                          | {}

postgres=#

アプリケーションユーザーの管理

これを使用して、データベースを作成し、ユーザーを作成して、そのユーザーにそのデータベースへのすべてのアクセスを許可します。

create database app_db_name;
create user app_user with encrypted password 'dbpassword';
grant all privileges on database app_db_name to app_user;

postgresでのユーザーと権限の管理に関するこの包括的なガイドをここでチェックしてください。

リモートホストからインスタンスに接続する

次のコマンドを使用して、ローカルマシンからpostgresインスタンスに接続します。

psql 'postgres://<username>:<password>@<host>:<port>/<db>?sslmode=disable'

# like
psql 'postgres://root:[email protected]:5432/postgres?sslmode=disable'

結論

これまで、OpenSUSE Leap15.3サーバーにPostgresql14をインストールし、いくつかの基本的な構成を行ってから、基本的なユーザー管理を行うことができました。


OpenSuse
  1. OpenSUSELeap42.1にPostgreSQLとphpPgAdminをインストールする方法

  2. OpenSUSELeap15.3にMongodb5をインストールする方法

  3. OpenSUSELeap15.3にJava17をインストールする方法

  1. MysqlServer8をOpenSUSELeap15.3にインストールする方法

  2. OpenSUSELeap15.3にRedis6をインストールして設定する方法

  3. OpenSUSELeap15.3にErlangをインストールする方法

  1. OpenSUSELeap15にKVMをインストールして構成する方法

  2. OpenSUSELeap15.3にMariadb10をインストールして構成する方法

  3. OpenSUSELeap11にSquidProxyをインストールして設定する方法