データベース

【PostgreSQL基礎】ロール・データベース・テーブルの作成

※アフィリエイト広告を利用しています。

今回の記事ではPostgreSQLでロール・データベース・テーブルを作成する方法について解説します。

バージョンは次の通りです。

  • macOS Ventura 13.4
  • PostgreSQL 15.3(Homebrew)

PostgreSQLはコマンドでの操作とpgAdmin4を使ってGUIで操作をすることができます。

今回はどちらの方法も紹介していくので、自分が使いたい方を使って実践してみてください。

ちなみに、PostgreSQLをMadにインストールする方法はこちらの記事で解説しています。

コマンドを使って作成する

まずはPostgreSQLのサーバーを起動させます。

ターミナル等で以下のコマンドを入力します。

brew services start postgresql@15

サーバーが起動したか確認するためにデータベースの一覧を表示してみます。こんな感じでデータベースの一覧が出てきたら完璧です。

psql -l
PostgreSQLでデータベース一覧を表示

PostgreSQLが起動したら次のコマンドで接続します。

[username]の箇所は、psql -lで確認した所有者欄の名前を入力してください。

psql -U [username] -d postgres

ターミナルの先頭が「postgres=#」となっていたら接続が成功しています!

コマンドでロールの作成

まずはロールを作成します。

PostgreSQLにおけるロールはほぼユーザーのようなものです。

ロールを作成し、適切な権限を与えることで作成したロールを使ってPostgreSQLを利用することが可能になります。

次のコマンドを使って「uhablog」という名前のロールを作成します。

CREATE ROLE uhablog LOGIN PASSWORD 'P@sswr0d' CREATEDB;

ロールuhablogには次の権限を与えています。

  • LOGIN・・・Postgreにログインする権限
  • PASSWORD・・・ログインする際に必要なパスワード
  • CREATEDB・・・Postgreにデータベースを作成する権限

ロールの作成に成功したら、一度exitコマンドで抜け出します。

コマンドでデータベースの作成

次に先ほど作成したuhablogを使って、データベースを作成していきます。

次のコマンドを実行することで、データベースを作成することができます。

createdb test_db -O uhablog

先ほどの「psql -l」コマンドでデータベース一覧を表示し、先ほど作成したデータベースが追加されていればデータベースの作成は完了です。

PostgreSQLにデータベースが作成された

コマンドでテーブルの作成

次にテーブルの作成をします。まずはデータベースに接続しましょう。

psql -U uhablog test_db

ターミナルの先頭が「 test_db=>」となっていたら、接続に成功しています。

「\d」コマンドで、テーブルの一覧を確認することができます。

先ほど作成したばかりのデータベースなので、何も表示されません。

test_db=> \d
リレーションが見つかりませんでした。

テーブルの作成を行います。

今回はusersという名前のテーブルを作成します。

idとpasswordというカラムを持ち、idは主キーにします。「CREATE TABLE」と表示されたらテーブルの作成は成功です。

test_db=> create table users (id varchar(50) primary key, password varchar(50));
CREATE TABLE

せっかくなので作成したテーブルにデータを追加してみます。

uha-blog, keisuke, ikezakiという3人のユーザーを追加しました。

attendanceDb=> insert into users values ('uha-blog', 'uha-pass'), ('keisuke', 'professional'), ('ikezaki', 'justice');

追加したユーザーをSELECT文で取得してみます。

SELECT * FROM users;

3人のユーザーが表示されていたら、データが追加されています。

ここまでの実行結果は次のようになります。

テーブル作成結果

次のようなテーブルがPostgreSQLに作成されました。

idpassword
uha-bloguha-pass
keisukeprofessional
ikezakijustice
作成されたテーブル

pgAdmin 4を使って作成

ここからはpgAdmin 4を使ってロール・データベース・テーブルを作成する方法を解説していきます。

pgAdmin 4はGUIでPostgreSQLを管理することができるツールです。

インストール方法はこちらの記事で解説していますので、まだインストールされていない方は参考にしてください。

pgAdmin4でロールの作成

pgAdmin4を使ってロールを作成します。

ローカルのPostgreSQLに接続した状態で、「Login/Group Roles」を右クリックし「Create」→「Login/Group Role...」と進みます。

pgAdmin4でロールの作成

Generalタブでロール名を入力します。

pgAdmin4でロール名の入力

Definitionタブでパスワードの設定をします。

ロールのパスワードを設定

先ほどと同じようにログイン権限とデータベースの作成権限を付与します。

ログイン権限とデータベース作成権限を付与

右側にロールが新しく追加されていたら作成が完了しています。

ロールが作成される

pgAdmin4でデータベースの作成

pgAdmin4でデータベースの作成を行います。

Databasesを右クリックして「Create」→「Database...」と進みます。

pgAdmin4でデータベースの作成

「General」タブでデータベース名を入力します。

pgAdmin4でデータベース名を入力

「Save」を押して、データベースが追加されていたら、完了です!

データベースが作成されている

pgAdmin4 でテーブルの追加

最後にpgAdmin4でテーブルの追加を行います。

テーブルは「test_db2」→「Schemas」→「public」→「Tables」と進んでいって、「Create」→「Table...」をクリックします。

テーブルの追加

「General」タブでテーブル名を入力します。

テーブル名の入力

「Coloum」タブでカラムを追加します。

今回はidとパスワードという2つのカラムを追加します。

右上の「➕」ボタンを押すとカラムの追加が可能です。

カラムを追加

それぞれ次のように入力して、「Save」を押します。

idとパスワード

右側にテーブルが作成されていたら完了です!

テーブルが作成される

-データベース
-