目的

上長よりPostgreSQLちょっと見といてと言われたので
PostgreSQLをちょっとだけ攻略

環境

Mac

PostgreSQLの特徴

MySQL、MariaDB、SQLite、Oracleなど色々種類があるが、
そのなかで、PostgreSQLですが、MySQLと並んで人気のようです。

それで、PostgreSQLの特徴ですが、一言で表すと
性能のMySQL、機能のPostgreSQLと言われるような。。
まぁ、観点によっても評価違うでしょうが、多機能というのを特徴としてあげているトコが多いです。

使ってみる

ターミナルでのプロンプト状態で実行できるコマンドと、DBに接続したうえでのコマンドがあるようです。

端末上でのコマンド

以下は、ターミナルでのプロンプト状態で実行できるコマンド

データベース一覧を表示
$ psql -l
ユーザーを作る
$ createuser --createdb --superuser --password testuser
DBを作る
$ createdb -U testuser --template=template0 --encoding=UTF8 testdb
sqlファイルを流し込む
$ psql -q -U testuser -d testdb -f ./dump.sql 
DBに接続する
$ psql -d testdb
DBを削除する
//まず既存でDBに接続しているプロセスを消すために、プロセスを確認する。
ps aux | grep 「消したいDB名

//接続しているプロセスを消す。
sudo kill 「プロセス番号」

//DB削除
$ dropdb -U postgres 「消したいDB名  
DBのダンプをとる
//testdb, dumpfileは任意に設定
pg_dump testdb > dumpfile
dumpファイルをDBにリストアする
//testdb, dumpfileは任意に設定dumpfileは「ダンプをとる」で取得したファイル
psql testdb < dumpfile

DB接続でのコマンド

例としてtestdb上とする。

テーブル一覧
testdb=# \dt
ユーザ一覧
testdb=# \du
DBから抜ける
testdb=# \q
スーパーユーザー権限を与える
testdb=# ALTER ROLE testuser SUPERUSER;

スーパーユーザー権限を与える
testdb=# ALTER ROLE testuser SUPERUSER;
以上。