GNU/Linux >> Linux の 問題 >  >> Debian

Debian 11 /Debian10にPostgreSQLをインストールする方法

PostgreSQL(Postgresと略されることが多い)は、拡張性と標準への準拠を強調するオブジェクトリレーショナルデータベース管理システム(ORDBMS)です。

30年以上の活発な開発と実績のあるアーキテクチャを備えており、信頼性、データの整合性、パフォーマンスで高い評価を得ています。

PostgreSQLはPostgreSQLライセンスの下でリリースされており、Linux、Microsoft Windows、FreeBSD、OpenBSD、およびmacOSで利用できます。

この投稿では、PostgreSQLをDebian 11 /Debian10にインストールする方法を説明します。

PostgreSQLリポジトリを追加

PostgreSQLは専用のリポジトリを介してDebianオペレーティングシステムのパッケージを公開しており、リポジトリ内のパッケージはOSリポジトリで利用可能なパッケージよりも新しいものです。

まず、aptを使用してリポジトリインデックスを更新します コマンド

sudo apt update

次に、インターネットからパッケージを取得するためのaptのHTTPSサポートをインストールします。

sudo apt install -y curl apt-transport-https

次に、PostgreSQL署名キーをインポートします。

# Debian 11

curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/keyrings/postgresql-keyring.gpg

# Debian 10

curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

最後に、以下のコマンドを使用してPostgreSQLリポジトリ情報をシステムに追加します。

# Debian 11

echo "deb [signed-by=/usr/share/keyrings/postgresql-keyring.gpg] http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list

# Debian 10

echo "deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list

DebianにPostgreSQLをインストールする

PostgreSQLリポジトリを追加したら、次のコマンドを実行してリポジトリインデックスを更新します。

sudo apt update

次に、インストールするPostgreSQLのバージョンに基づいて、以下のコマンドを使用してPostgreSQLをインストールします。

# PostgreSQL 13

sudo apt install -y postgresql-13

# PostgreSQL 12

sudo apt install -y postgresql-12

これで、PostgreSQLサービスが稼働します。以下のコマンドでサービスの状態を確認できます。

sudo systemctl status postgresql

出力:

 postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) since Wed 2021-09-15 14:19:30 CDT; 42s ago
 Main PID: 3759 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 2343)
   Memory: 0B
   CGroup: /system.slice/postgresql.service

Sep 15 14:19:30 debian.itzgeek.local systemd[1]: Starting PostgreSQL RDBMS...
Sep 15 14:19:30 debian.itzgeek.local systemd[1]: Started PostgreSQL RDBMS.

PostgreSQLサーバーの構成

デフォルトでは、PostgreSQLはローカルホスト(127.0.0.1)でリッスンします。これは、外部アプリケーションがデータベースに接続する必要がある場合があるため、常に必要な場合はありません。そのため、システムのIPアドレスをリッスンするようにPostgreSQLを構成します。

# PostgreSQL 13

sudo nano /etc/postgresql/13/main/postgresql.conf

# PostgreSQL 12

sudo nano /etc/postgresql/12/main/postgresql.conf

listen_addressesを設定します *へ または<IPAddress>

listen_addresses = '192.168.0.10'

PostgreSQLサービスを再起動します。

sudo systemctl restart postgresql

これで、netstatを使用できます PostgreSQLがポート5432でリッスンしているかどうかを確認するコマンド。

sudo netstat -antup | grep 5432

出力:

tcp        0      0 192.168.0.10:5432       0.0.0.0:*               LISTEN      5265/postgres

読む :Debianでnetstatコマンドが見つかりません–クイックフィックス

PostgreSQLへのアクセス

PostgreSQLデータベースを管理するには、postgresとしてログインする必要があります (Linuxユーザー)次に、psqlを使用してデータベースシェルにアクセスする必要があります コマンド。

sudo -u postgres psql

出力:

postgres@server:~$ psql
psql (13.4 (Debian 13.4-1.pgdg100+1))
Type "help" for help.

postgres=#
の場合は「help」と入力します

psqlについて シェルで、以下のコマンドを実行してpostgresを変更します ユーザー(データベース管理者パスワード。

postgres=# \password

または

postgres=# \password postgres

PostgreSQLデータベースとユーザーの作成

まず、以下のコマンドでデータベースユーザーを作成します。

CREATE USER mydb_user WITH ENCRYPTED PASSWORD 'password';

次に、以下のコマンドでデータベースを作成します。

CREATE DATABASE mydb WITH OWNER mydb_user;

次に、mydb_userに権限を付与できます 新しく作成されたデータベース。

GRANT ALL PRIVILEGES ON DATABASE mydb TO mydb_user;

次に、ユーザーが作成されているかどうかを確認します。

postgres=# \du

出力:

postgres=# \du
                                   List of roles
 Role name |                         Attributes                         | Member of
-----------+------------------------------------------------------------+-----------
 mydb_user |                                                            | {}
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

postgres=#

また、データベースを一覧表示して、データベースがmydbかどうかを確認することもできます。 作成されました。

postgres=# \l

出力:

postgres=# \l
                                   List of databases
   Name    |   Owner   | Encoding |   Collate   |    Ctype    |    Access privileges
-----------+-----------+----------+-------------+-------------+-------------------------
 mydb      | mydb_user | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =Tc/mydb_user          +
           |           |          |             |             | mydb_user=CTc/mydb_user
 postgres  | postgres  | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 template0 | postgres  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres            +
           |           |          |             |             | postgres=CTc/postgres
 template1 | postgres  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres            +
           |           |          |             |             | postgres=CTc/postgres
(4 rows)

postgres=#

最後に、mydbにログインします データベースユーザーmydb_user

psql -h localhost -d mydb -U mydb_user

出力:

Password for user mydb_user:
psql (13.4 (Debian 13.4-1.pgdg110+1))
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
Type "help" for help.

mydb=>

結論

それで全部です。 Debian 11 /Debian10にPostgreSQLをインストールする方法を学んだことを願っています。


Debian
  1. Debian9にTomcat8.5をインストールする方法

  2. Debian9にMongoDBをインストールする方法

  3. Debian9およびDebian8にPostgreSQL11/10をインストールする方法

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

  2. Debian9にNginxをインストールする方法

  3. Debian9にApacheをインストールする方法

  1. Debian9にJenkinsをインストールする方法

  2. Debian9にWebminをインストールする方法

  3. Debian9にTomcat9をインストールする方法