PostgreSQLをあまり使わないと、基本的なコマンドさえも思い出せないことがよくあります。これに備えて、PostgreSQLの設定および管理に頻繁に使用される主要コマンドを整理しました。このガイドが再びPostgreSQLを使用する際に迅速に参考にできる有用な資料となることを願っています。


1. PostgreSQL接続

PostgreSQLのコマンドを使用するには、まずデータベースに接続する必要があります。基本管理アカウントである postgres ユーザーに接続する方法は次のとおりです。

sudo -u postgres psql

このコマンドを入力してPostgreSQLシェルに入ると、さまざまなSQLコマンドを実行できます。


2. データベース作成

新しいデータベースを作成したい場合は、次のコマンドを使用します:

CREATE DATABASE database_name;

ここで database_name は作成するデータベースの名前に変更して使用します。


3. ユーザー作成

PostgreSQLでは各ユーザーに個別の権限を付与できます。新しいユーザーを作成してパスワードを設定する方法は次のとおりです。

CREATE USER user_name WITH PASSWORD 'password';

ここで user_name'password' は希望するユーザー名とパスワードに変更して使用してください。


4. データベースにユーザー権限を付与

データベースへのアクセス権を特定のユーザーに付与するには、次のコマンドを使用します。

GRANT ALL PRIVILEGES ON DATABASE database_name TO user_name;

特定の権限のみを付与したい場合は、 ALL PRIVILEGES の代わりに SELECT, INSERT, UPDATE などの特定の権限を明示することができます。


5. データベースリスト確認

サーバーに存在する全てのデータベースを確認したい場合は、次のコマンドを使用してください:

\l

このコマンドはPostgreSQLシェルで使用し、現在のサーバーのデータベースリストを出力します。


6. ユーザーリスト確認

PostgreSQLに作成された全てのユーザーを確認するには、以下のコマンドを使用します:

\du

7. 特定のデータベースに接続

別のデータベースに切り替えたい場合は、次のコマンドで接続します:

\c database_name

database_name を接続したいデータベース名に変更して入力します。


8. テーブルリスト表示

現在接続しているデータベースにある全てのテーブルを確認するには、次のコマンドを使用してください:

\dt

このコマンドで現在のデータベースのテーブルリストを迅速に確認できます。


9. データベース削除

不要になったデータベースを削除したい場合は、次のコマンドを使用します:

DROP DATABASE database_name;

注意: このコマンドはデータベースとその中の全てのデータを永久に削除するため、慎重に使用する必要があります。


10. ユーザー削除

もはや必要ないユーザーを削除するには、以下のように入力します:

DROP USER user_name;

11. 特定のテーブルに対する権限付与

特定のテーブルに対する権限をユーザーに付与するには、次のコマンドを使用できます。

GRANT SELECT, INSERT, UPDATE, DELETE ON table_name TO user_name;

ここで table_name は権限を付与するテーブル名です。


12. スーパーユーザー権限の付与

特定のユーザーにスーパーユーザー権限を付与したい場合は、次のコマンドを使用してください:

ALTER USER user_name WITH SUPERUSER;

このコマンドを通じて、データベースの全ての権限を持つスーパーユーザーに設定できます。


13. ユーザーパスワードの変更

既存のユーザーのパスワードを変更するには、以下のコマンドを使用します:

ALTER USER user_name WITH PASSWORD 'new_password';

14. PostgreSQLサービス制御

PostgreSQLサービスはサーバーで開始、中止、再起動できます。次のコマンドはPostgreSQLサービスを管理する際に便利です。

# サービス開始
sudo systemctl start postgresql

# サービス中止
sudo systemctl stop postgresql

# サービス再起動
sudo systemctl restart postgresql

15. データベースバックアップおよび復元

データベースをバックアップまたは復元する時には pg_dumppg_restore コマンドを使用します。

  • バックアップ:
    pg_dump -U user_name -W -F t database_name > backup_file.tar
  • 復元:
    pg_restore -U user_name -W -d database_name backup_file.tar

バックアップファイルを使用することでデータベースを簡単に復元でき、万が一の際に備えることができます。

List of PostgreSQL Commands

これらのコマンドをしっかり覚えておけば、PostgreSQLの設定と管理がずっと楽になります。必要な時にこのリストを参照して迅速に作業を進めましょう。