GNU/Linux >> Linux の 問題 >  >> Cent OS

RHEL 8 /CentOS8にPostgreSQLサーバーをインストールする方法

PostgreSQLは、無料のオープンソースオブジェクトリレーショナルデータベース管理システムです。このチュートリアルの目的は、RHEL 8 / CentOS8LinuxサーバーにPostgreSQLサーバーのインストールと基本構成を実行することです。

このチュートリアルでは、次のことを学びます。

  • RHEL 8 /CentOS8にPostgreSQLデータベースサーバーをインストールする方法
  • PostgreSQLデータベースサーバーを起動して有効にする方法
  • ローカルホストおよびリモートロケーションからPostgreSQLデータベースにアクセスする方法
  • デフォルトのpostgresのパスワードを設定する方法 ユーザー
  • PostgreSQLがすべてのネットワークでリッスンできるようにする方法
  • MD5パスワード認証を使用してPostgreSQLリモート接続を保護する方法
  • PostgreSQLファイアウォールポートを開く方法
  • psqlを使用してPostgreSQLサーバーへのリモート接続を確立する方法 クライアント

Red Hat EnterpriseLinux8でのPostgreSQLデータベースの初期化とアクセス

使用されるソフトウェア要件と規則

システム ソフトウェア その他 規約
ソフトウェア要件とLinuxコマンドラインの規則
カテゴリ 使用する要件、規則、またはソフトウェアバージョン
RHEL 8 / CentOS 8
PostgreSQL Server 10.5-1.el8
rootまたはsudoを介したLinuxシステムへの特権アクセス コマンド。
–指定されたLinuxコマンドは、rootユーザーとして直接、またはsudoを使用して、root権限で実行する必要があります。 コマンド
$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります

ローカルPostgreSQLのインストールとデータベースアクセスのステップバイステップの説明

  1. PostreSQLサーバーをインストールします。以下のdnfを実行します PostreSQLサーバーパッケージのインストールを実行するコマンド:
    # dnf install postgresql-server
    
  2. PostgreSQLデータベースを初期化します:
    # postgresql-setup --initdb --unit postgresql
     * Initializing database in '/var/lib/pgsql/data'
     * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
    
  3. PostgreSQLを起動し、オプションで再起動後に起動できるようにします。
    # systemctl start postgresql
    # systemctl enable postgresql
    

    この時点で、PostreSQLサーバーが稼働し、ローカルホストポート5432でリッスンしている必要があります。 。 ssを使用する これが当てはまることを確認するコマンド:

    $ ss -nlt
    State  Recv-Q  Send-Q     Local Address:Port     Peer Address:Port  
    LISTEN 0       128              0.0.0.0:111           0.0.0.0:*     
    LISTEN 0       32         192.168.122.1:53            0.0.0.0:*     
    LISTEN 0       128              0.0.0.0:22            0.0.0.0:*     
    LISTEN 0       128            127.0.0.1:5432          0.0.0.0:*     
    LISTEN 0       128                 [::]:111              [::]:*     
    LISTEN 0       128                 [::]:22               [::]:*     
    LISTEN 0       128                [::1]:5432             [::]:*
    
  4. PostreSQLデータベースにアクセスします。RHEL8/CentOS8システムにPostgreSQLデータベースをインストールすると、インストーラーは新しいデフォルトユーザーpostgresも自動的に作成します。 。

    postgresのデフォルトのパスワード ユーザーが設定されていないため、空です。 PostgreSQLデータベースにアクセスするには、最初にsuを実行します rootユーザーとしてコマンドを実行してpostresユーザーに切り替えます。次に、psqlと入力します データベースにログインします。

    <中央>
    rootユーザーとしてPostgreSQLデータベースにアクセスしようとすると、psql: FATAL: role "root" does not existになります。 エラーメッセージ。

    例:

    # su - postgres
    $ psql
    psql (10.5)
    Type "help" for help.
    
    postgres=#
    
    の場合は「help」と入力します <中央>
    PostreSQLデータベースシェルを終了するには、\qと入力します またはCTRL+dを押します キーの組み合わせ。

PostgreSQLデータベースのリモートアクセスと安全な接続

  1. postgresのパスワードを設定します user.PostreSQLサーバーにリモートでアクセスするために、最初にpostresのパスワードを設定します user:
    # su - postgres
    $ psql
    psql (10.5)
    Type "help" for help.
    
    postgres=# \password postgres
    Enter new password: 
    Enter it again: 
    postgres=# exit
    postgres-# \q
    
  2. PostgreSQLサーバーが利用可能なすべてのネットワークでリッスンできるようにします。メイン構成ファイル/var/lib/pgsql/data/postgresql.confを編集します。 :
    # nano /var/lib/pgsql/data/postgresql.conf
    

    準備ができたら、接続と認証のどこかに次の行を追加します セクション:

    listen_addresses = '*'
    
    警告
    上記の構成により、PostreSQLは利用可能なすべてのネットワークでリッスンできるようになります。選択したネットワークからのみPostgreSQLへのアクセスを許可するために、より厳密なルールを設定することをお勧めします。

    ssを使用する PostgreSQLが0.0.0.0をリッスンしていることを確認するコマンド ネットワーク:

    $ ss -nlt
    State  Recv-Q  Send-Q     Local Address:Port     Peer Address:Port  
    LISTEN 0       128              0.0.0.0:111           0.0.0.0:*     
    LISTEN 0       32         192.168.122.1:53            0.0.0.0:*     
    LISTEN 0       128              0.0.0.0:22            0.0.0.0:*     
    LISTEN 0       128            0.0.0.0:5432          0.0.0.0:*     
    LISTEN 0       128                 [::]:111              [::]:*     
    LISTEN 0       128                 [::]:22               [::]:*     
    LISTEN 0       128                [::]:5432             [::]:*
    
  3. MD5で暗号化されたパスワード認証を有効にします:
    # echo "host all all 0.0.0.0/0  md5" >> /var/lib/pgsql/data/pg_hba.conf
    
  4. PostgreSQL構成の変更を適用します:
    # systemctl restart postgresql
    
  5. ファイアウォールポートを開く5432 リモートPostgreSQL着信トラフィックの場合:
    # firewall-cmd --zone=public --permanent --add-service=postgresql
    # firewall-cmd --reload
    
  6. リモートの場所からPostgreSQLデータベースサーバーに接続します。最初にpsqlをインストールします。 リモートホスト上のPostgreSQLクライアントツール:
    RHEL/CENTOS
    # dnf install postgresql
    UBUNTU/DEBIAN
    # apt install postgresql-client
    

    ホストへのリモート接続を作成します。 192.168.1.151 postgresとして 上記の ステップ1 で定義されたユーザーとユーザーパスワード :

    $ psql -h 192.168.1.151 -U postgres
    Password for user postgres: 
    psql (10.6 (Ubuntu 10.6-0ubuntu0.18.04.1), server 10.5)
    Type "help" for help.
    
    postgres=# 
    
    に「help」と入力します。

Cent OS
  1. CentOS 6 /RHEL6にPostgreSQL10をインストールする方法

  2. CentOS 7 /RHEL7にPuppet6.xをインストールする方法

  3. CentOS / RHEL 7 :GUI のインストール方法

  1. CentOS7にPostgreSQLをインストールする方法

  2. CentOS 8 /RHEL8にPuppetをインストールする方法

  3. CentOS 7 /RHEL7にPostgreSQLをインストールする方法

  1. RHEL 8 /CentOS8にvncサーバーをインストールする方法

  2. NextcloudをRHEL8/CentOS8サーバーにインストールする方法

  3. CentOS8にPostgreSQLサーバーをインストールする方法