22
7

More than 1 year has passed since last update.

OSS-DB 学習メモその3【標準付属ツールについて】

Posted at

はじめに

今回はPostgreSQLの標準付属ツールについて記事を書いていきます。
その中の、pg_ctl、createuser、dropuser、createdb、dropdb、psqlについてまとめました。

pg_ctlコマンドとは

「pg_ctl」は、PostgreSQLの管理コマンドの1つであり、PostgreSQLサーバーの起動、停止、再起動、再読み込み、状態の確認、および強制終了などを行うために使用されます。
具体的には、「pg_ctl initdb」「pg_ctl start」「pg_ctl stop」「pg_ctl restart」「pg_ctl reload」「pg_ctl status」「pg_ctl kill」の7つのサブコマンドがあります。

サブコマンドについて簡単に説明していきます。

pg_ctl initdb

新しいデータベースクラスタの作成と初期化を行います。

$ pg_ctl initdb -D /usr/local/pgsql/data

pg_ctl start

PostgreSQLサーバーを起動します。

$ pg_ctl start -D /usr/local/pgsql/data

pg_ctl stop

PostgreSQLサーバーを停止します。

$ pg_ctl stop -D /usr/local/pgsql/data

pg_ctl restart

PostgreSQLサーバーを再起動します。

$ pg_ctl restart -D /usr/local/pgsql/data

pg_ctl reload

PostgreSQLサーバーを再読み込みします。

$ pg_ctl reload -D /usr/local/pgsql/data

pg_ctl status

PostgreSQLサーバーの状態を確認します。

$ pg_ctl status -D /usr/local/pgsql/data

pg_ctl kill

PostgreSQLサーバーを強制終了します。

$ pg_ctl kill TERM `cat /usr/local/pgsql/data/postmaster.pid`

createuser/createdbコマンドとは

  • createuserコマンドとは
    「createuser」は、PostgreSQLで新しいユーザーを作成するためのコマンドです。
    データベース管理者(PostgreSQLのスーパーユーザー)のみが実行できます。ユーザー名、パスワード、権限などを指定してユーザーを作成することができます。

  • createdbとは
    「createdb」は、PostgreSQLで新しいデータベースを作成するためのコマンドです。
    データベース管理者のみが実行できます。データベース名、所有者、エンコーディング、ロケールなどを指定してデータベースを作成することができます。

コマンドについて簡単に説明していきます。

ユーザーを作成する

ユーザー名「myuser」を作成します。

$ createuser myuser

パスワードを指定する

パスワードを指定してユーザーを作成します。パスワードは、コマンド実行時に入力する必要があります。

$ createuser --pwprompt myuser

スーパーユーザーにする

スーパーユーザーになるユーザーを作成します。

スーパーユーザーになるユーザーを作成します。

データベースを作成する

データベース名を「mydb」を作成します。

$ createdb mydb

データベース所有者を指定する

データベース所有者をユーザー「myuser」に指定して、データベース名「mydb」を作成します。

$ createdb --owner myuser mydb

エンコーディングを指定する

エンコーディングをUTF8に指定して、データベース名「mydb」を作成します。

$ createdb --encoding UTF8 mydb

dropuser/dropdbとは

  • dropuserコマンドとは
    「dropuser」は、PostgreSQLで既存のユーザーを削除するためのコマンドです。
    データベース管理者(PostgreSQLのスーパーユーザー)のみが実行できます。

  • dropdbコマンドとは
    「dropdb」は、PostgreSQLで既存のデータベースを削除するためのコマンドです。
    データベース管理者のみが実行できます。

ユーザーを削除する

ユーザー名「myuser」を削除します。

$ dropuser myuser

強制的にユーザーを削除する

ユーザーを強制的に削除します。このオプションを使用すると、ユーザーに紐づくオブジェクトがすべて削除されます。

$ dropuser --force myuser

データベースを削除する

データベース名「mydb」を削除します

$ dropdb mydb

強制的にデータベースを削除する

データベースを強制的に削除します。このオプションを使用すると、データベースに紐づくオブジェクトがすべて削除されます。

$ dropdb --force mydb

データベースの削除を確認する

データベースの削除を確認するためのインタラクティブモードを起動します。このモードでは、削除するデータベースの情報を表示し、削除するかどうかをユーザーに確認します。

$ dropdb --interactive mydb

psqlコマンドとは

「psql」は、PostgreSQLに対するクライアントツールの1つで、PostgreSQLデータベースに対してSQLコマンドを送信するために使用されます。
psqlを使用することで、データベースに接続してデータの参照、更新、削除などを行うことができます。

データベースに接続する

PostgreSQLサーバーのホスト名が「localhost」、ポート番号が「5432」、ユーザー名が「myuser」、データベース名が「mydb」であるPostgreSQLデータベースに接続します。

$ psql -h localhost -p 5432 -U myuser mydb

SQLコマンドを実行する

PostgreSQLデータベースに接続し、「mytable」テーブルのすべてのレコードを取得します。

mydb=# SELECT * FROM mytable;

psqlコマンドラインからのコマンドの実行

psqlコマンドラインから、システムコマンドや外部コマンドを実行することができます。
具体的には、psqlコマンドラインで「\」で始まるコマンドを実行することができます。以下は、よく使用されるコマンドになります。

\qコマンド

psqlセッションを終了します

mydb=# \q

\dコマンド

テーブル「mytable」の詳細情報を表示します。

mydb=# \d mytable

ヘルプを表示する

psqlコマンドのヘルプ情報を表示します。

mydb=# \?

最後に

今回は、PostgreSQLの標準付属ツールについてまとめました。

これからも私自身が気になったことなどや勉強したことを投稿していこうと思うのでよかったら「いいね」と「フォロー」の程よろしくお願いいたします!

自分が過去に投稿したDB・SQL関連の記事を下記のURLからとべるので、もしよかったらこちらも参考にしてください!

22
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
7