【PostgreSQLをMacで使う方法】インストールから基本的な使い方まで紹介します

PostgreSQL
スポンサーリンク

PostgreSQLをMacで使う

PostgreSQLのインストールから基本的な使い方まで、手順にそって紹介します。

1. Homebrewをインストール

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

まだインストールしていない場合はHomebewをインストールします。

下記のサイトへアクセスして、インストールコマンドをターミナルで実行してください。
https://brew.sh/index_ja

2. インストールできるpostgresqlを確認

brew search postgresql
% brew search postgresql
==> Formulae
postgresql       postgresql@10    postgresql@11    postgresql@12    postgresql@9.4   postgresql@9.5   postgresql@9.6   qt-postgresql    postgrest
==> Casks
navicat-for-postgresql

3. postgresqlをインストール

brew install postgresql

最新版をインストールする場合はpostgresqlを指定します。
バージョンを指定する場合はpostgresql@バージョンです。

4. インストールされたバージョンをチェック

psql --version
% psql --version
psql (PostgreSQL) 13.4

5. PostgreSQLを起動する

brew services start postgresql
 % brew services start postgresql
==> Successfully started `postgresql` (label: homebrew.mxcl.postgresql)

brewコマンドで起動するのが簡単だと思います。

6. PostgreSQLの状態確認

brew services list

サービスのリストを出力することで、postgresqlが起動しているかチェックできます。

% brew services list
Name       Status  User  Plist
mysql      stopped       
postgresql started user /Users/user/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

7. データベース一覧を表示

 psql -l
% psql -l
                          List of databases
    Name     | Owner | Encoding | Collate | Ctype | Access privileges 
-------------+-------+----------+---------+-------+-------------------
 postgres    | user | UTF8     | C       | C     | 
 template0   | user | UTF8     | C       | C     | =c/user         +
             |       |          |         |       | user=CTc/user
 template1   | user | UTF8     | C       | C     | =c/user         +
             |       |          |         |       | user=CTc/user

8.データベース作成

まずは、データベースのpostgresにログインします。

psql postgres

ちなみに、ログインコマンドのオプションは以下の通りです。

psql -h ホスト名(ipアドレス) -p ポート番号 -U ユーザー名 -d データベース名

省略してもログインできます。

次に、データベース作成コマンドを実行します。

create database mydb;

\lで作成したデータベースをチェックできます。

postgres=# \l
                          List of databases
    Name     | Owner | Encoding | Collate | Ctype | Access privileges 
-------------+-------+----------+---------+-------+-------------------
 mydb        | user | UTF8     | C       | C     | 
 postgres    | user | UTF8     | C       | C     | 
 template0   | user | UTF8     | C       | C     | =c/user         +
             |       |          |         |       | user=CTc/user
 template1   | user | UTF8     | C       | C     | =c/user         +
             |       |          |         |       | user=CTc/user

\qでデータベースから切断できます。exitでも切断可能です。

9. テーブル作成

先ほど作成したdbに接続します。

psql mydb

適当にテーブルを作成してみます。

create table books(id integer, name text);

テーブル作成コマンドは以下のようになっています。

 CREATE TABLE テーブル名(カラム名 データタイプ, … );

デーブルの情報は\d テーブル名で確認できます。

mydb=# \d books
               Table "public.books"
 Column |  Type   | Collation | Nullable | Default 
--------+---------+-----------+----------+---------
 id     | integer |           |          | 
 name   | text    |           |          | 

10. テーブルにデータを追加

全てのカラムにデータを入れる場合は、順番にカラムの値を指定します。

insert into books values (1, 'はらぺこあおむし');

指定したカラムにデータを入れる場合、こんな感じで指定します。

insert into books (id, name) values (2, 'ぐりとぐら');

11. テーブルのデータを取得

select * from books;
mydb=# select * from books;
 id |       name       
----+------------------
  1 | はらぺこあおむし
  2 | ぐりとぐら
(2 rows)

SELECT文でデータが取得できます。
特定のカラムの情報だけ取得する場合は以下のようにします。

mydb=# select name from books;
       name       
------------------
 はらぺこあおむし
 ぐりとぐら
(2 rows)

複数カラムがある場合は、カラム1, カラム2, …と区切ればOK。

12. テーブルのデータを更新する

update books set name='おおきなかぶ' where id=2;

id=2のデータのnameを変更しました。

UPDATE テーブル名 SET カラム名=値 WHERE 条件式

といった感じです。
複数カラムの値を変更する場合、カラム1=値1, カラム2=値2, … と指定します。

更新されたか確認しましょう。

mydb=# update books set name='おおきなかぶ' where id=2;
UPDATE 1
mydb=# select * from books;
 id |       name       
----+------------------
  1 | はらぺこあおむし
  2 | おおきなかぶ
(2 rows)

13. テーブルのデータを削除する

delete from books where id=2;

id=2のデータを削除します。

全て削除する場合は次のように指定します。

delete from books;

14. テーブルを削除する

drop table books;

DROP TABLE テーブル名; でテーブルが削除されます。

15. データベースを削除する

作成したデータベースを削除してみます。
ログイン中のデータベースは削除できないので、\q でログアウトしてからpostgresにログインします。

psql postgres

データベースを削除するコマンドはDROP DATABASE データベース名; です。

drop database mydb;

\l で、データベースが削除されているか確認します。

postgres=# \l
                          List of databases
    Name     | Owner | Encoding | Collate | Ctype | Access privileges 
-------------+-------+----------+---------+-------+-------------------
 postgres    | user | UTF8     | C       | C     | 
 template0   | user | UTF8     | C       | C     | =c/user         +
             |       |          |         |       | user=CTc/user
 template1   | user | UTF8     | C       | C     | =c/user         +
             |       |          |         |       | user=CTc/user

16. PostgreSQLを停止

ログイン状態であれば、\qでログアウトしてください。

brew services stop postgresql
% brew services stop postgresql 
Stopping `postgresql`... (might take a while)
==> Successfully stopped `postgresql` (label: homebrew.mxcl.postgresql)

成功すれば、postgresqlが停止されます。

コメント

タイトルとURLをコピーしました