Motomichi Works Blog

モトミチワークスブログです。その日学習したことについて書いている日記みたいなものです。

Homebrewでmacにpostgresqlをインストールして使う

参考にさせて頂いたページ

はじめに

すぐにわからなくなってしまうのでメモします。

都度追記していきます。

インストール

$ brew install postgres

起動と停止

起動

$ pg_ctl -D /usr/local/pgsql/data -l /var/log/postgres start

こっちかも

$ brew services start postgresql

停止

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

こっちかも

$ brew services stop postgresql

状態確認

$ brew services list

roleの作成、roleの削除、roleの一覧を表示

role(ユーザー)の作成

例えば example_user を作成する場合

$ createuser -P example_user

スーパーユーザーの作成

-s はスーパーユーザーを作成する為のオプション
DBにログインしてからスーパーユーザーを作成するコマンドはこの記事のもう少し下の方に書いてます。

$ createuser -s -P example_user

roleの削除

$ dropuser example_user

role(ユーザー)の一覧を表示

以下のコマンドを実行するとrole一覧が表示されます。

DBをcreateする権限があるか、などの情報がユーザーごとに表示されます。

$ psql -q -c'select * from pg_user' postgres

DBにログインしてから任意のコマンドを実行する

ログイン

以下のように、ホスト名、ユーザー名、データベース名を入力します。

$ psql -h ホスト名 -U ユーザー名 -d データベース名

例えばあらかじめexample_userを作成してある想定で、localhostのpostgresに接続したい場合は以下のような感じです。

$ psql -h localhost -U example_user -d postgres

ログアウト

以下のように入力してログアウトします。

# \q

コマンドの例

最後のセミコロンを忘れないようにしましょう。

table一覧を取得したい場合

例えばtable一覧を取得したい場合は以下のコマンドです。

SELECT relname AS table_name FROM pg_stat_user_tables;

ROLEをスーパーユーザーで追加したい場合

例えばtable一覧を取得したい場合は以下のコマンドです。

CREATE ROLE hoge WITH SUPERUSER LOGIN PASSWORD 'hogepass';

DBの作成、DBの削除、DBの一覧を表示

DBの作成

例えば example_db を作成する場合

-O オプションでdbのオーナーとなるユーザーを指定します。

$ createdb example_db -O example_user

DBの削除

$ dropdb example_db

DBの一覧を表示

$ psql -l

Tableの一覧を表示

\dt

または

SELECT relname AS table_name FROM pg_stat_user_tables;