PostgreSQLはオープンソースのデータベース管理システム(DBMS)。
過去にPostgresからPostgreSQLに改名されているが、Postgresも別名として維持されている。
同じオープンソースであるMySQL(MariaDB)と機能は似ているが、異なる部分もある。
どちらの方が優れているとは一概に言えないが、シンプルで使いやすいことを重視する場面ではMySQL(MariaDB)、多機能さを重視する場面ではPostgreSQLを選択する傾向にある。
以降のコマンドは、以下の環境をもとに記載している。
Ubuntu 22.04
PostgreSQL 14.8
インストール・サービス起動
# インストール sudo apt install -y postgresql # サービス起動 sudo systemctl start postgresql # サービス自動起動 sudo systemctl enable postgresql # サービス再起動 sudo systemctl restart postgresql # サービス状態確認 sudo systemctl status postgresql
PostgreSQLに接続
PostgreSQLをインストールした際、Linux上にPostgreSQL管理者ユーザー「postgres」が自動的に作成されているため、ユーザーを切り替えて操作する。
# PostgreSQL管理者ユーザーに切り替え sudo su - postgres # PostgreSQLに接続 psql
PostgreSQL内の操作
# PostgreSQLのバージョン表示 select version(); # データベースを作成 create database testdb; # データベースを一覧表示 \l # 作成したデータベースに切り替え \c testdb # テーブルを作成 create table test_table ( no int primary key, name text, addr varchar(10) ); # テーブル一覧を表示 \dt # テーブル構造を表示 \d test_table # テーブルにレコードを追加して検索 insert into test_table values (01,'ああああ','123456'); select * from test_table; # テーブルを削除 drop table test_table; # デフォルトのデータベースに切り替え \c postgres # データベースを削除 drop database testdb; # PostgreSQLから切断 \q
外部接続を可能にする
デフォルト設定では、ローカル接続のみとなっているため、外部から接続出来るように設定する。
# postgresql.confを編集 sudo vi /etc/postgresql/14/main/postgresql.conf # 以下のコメント部分を探して、下に追記する #listen_addresses = 'localhost' listen_addresses = '*' # pg_hba.confを編集 sudo vi /etc/postgresql/14/main/pg_hba.conf # 最終行に以下を追記する # 192.168.1.xxx のネットワーク内にある端末からの接続を許可(パスワード認証) host all all 192.168.1.0/24 scram-sha-256 # サービス再起動 sudo systemctl restart postgresql
