psqlコマンドはコマンドラインからPostgreSQLのデータベースにアクセスしたり、テーブル操作ができるツールです。
今回はこのpsqlを使ってデータベースを新規作成する方法を紹介します。
前提
psqlコマンドを利用するためには、PostgreSQLのパスを環境変数に通しておく必要があります。
PostgreSQLのbinフォルダを環境変数に設定しておいてください。
psqlの起動
Windowsからpsqlを利用するには、コマンドプロンプトを起動します。最初の接続は以下のコマンドを実行します。
psql -h ホスト名 -p ポート番号 -U ロール名 -d データベース名
ホスト名にはPostgreSQLが起動しているホスト名またはIPアドレスを指定します。localhostの場合は省略可能です。ポート番号もデフォルト値がPostgreSQLの5432となっているので、別ポートを使用している場合以外は省略可能です。
ロール名にはログインするロール名を指定します。PostgreSQLをインストールした直後はスーパユーザであるpostgresロールしか存在しないので、-U postgresと指定する必要があります。指定しない場合はOSのユーザが指定されます。
データベース名には接続するデータベース名を指定します。ロールをpostgresとした場合は、デフォルトで作成されているpostgresデータベースに接続します。
最初のデータベースを作成する場合、ロール名以外は省略できるので以下のコマンドを実行します。
psql -U postgres
実行すると、パスワードを求められます。ユーザに対応するパスワードを入力してください。
ちなみに、postgresユーザのパスワードはPostgreSQLインストール時に指定したパスワードです。
データベース一覧の確認
psqlでデータベースの一覧を取得するには、\lコマンドを実行します。
データベースの作成
では新しいデータベースを作成してみます。create databaseコマンドを使って作成できます。”test”というデータベースを作成します。
create database test;
一覧を確認すると、
testというデータベースが作成されました。このとき、エンコーディング等パラメータはtemplate1のものが利用されます。create databaseのなかで、これらパラメータを個別に指定することも可能です。
create database DB名
[ [ owner [=] user_name ]
[ template [=] template ]
[ encoding [=] encoding ]
[ lc_collate [=] lc_collate ]
[ lc_ctype [=] lc_ctype ]
[ tablespace [=] tablespace_name ]
[ allow_connections [=] allowconn ]
[ connection limit [=] connlimit ]
[ is_template [=] istemplate ] ]
これらは任意指定ですが、一度データベースを作成してしまうと変更できなくなるので注意してください。
DBについてより学ぶ
データベース、SQLについて、書籍を通してより深く知ることができます。ネットでも情報は手に入りますが、書籍も是非検討してみてください^^
まとめ
psqlでデータベースを作成する方法を紹介しました。コマンドを使用することで、簡単にデータベースを作成することができます。データベースのパラメータは一度作成すると変更できないので、注意してくださいね。
ではでは👋