目的

上長
「新しい案件に携わっていただきたいんですが、DBがPostgreSQLなんですよね。ちょっと観といて、ローカルで環境構築しといてください(*^^*)」

自分
「はい(^o^)そういやPostgreSQL触ったことないな。。。(T_T)」

ということで、
PostgreSQLをちょっとだけ攻略


PostgreSQLの特徴

自分はサーバサイドはそこまで作業しないので、がっつかないですが、、
DBってけっこう種類ありますよね。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


dumpなどの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