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をインストールする方法を学んだことを願っています。