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