PostgreSQL使い出し
PostgreSQLははるか昔にちょこっと使ったことあるだけで、内容さっぱりさっぱりなのでぼちぼち調べてます。
んでメモ。
インストールはHomebrew使うか公式インストーラ使うか悩んだけど、今回はインストーラを選択。インストール時点でpgAdmin3がついてくるのでいいかなと。基本的にはGUIとコマンド両方必要なわがままな人間なのです。
Macだとpsqlコマンドが最初からあったのでバンドルされてるのだろうけど、いまいち使いかたと設定ファイル等がどこにあるか不明だったのでインストールしました。ここらへんはちゃんと理解できれば調べていけるんだろうなぁ。
インストール後、Stack Builderでいろいろオプションでインストールできるみたいですが、一応JDBCだけインストール。pgMyAdminとかもあったけど、すでにapache入ってるしかといって設定もめんどいし、というかpgAdminあるからいいやという。
コマンド類は以下。
# 現バージョンは9.2 $ cd /Library/PostgreSQL/9.2/bin
接続
$ ./psql -U postgres
データベース一覧表示。MySQLと違ってバックスラッシュから始まる命令形みたい。
postgres=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+---------+-------+----------------------- postgres | postgres | UTF8 | C | C | template0 | postgres | UTF8 | C | C | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | C | C | =c/postgres + | | | | | postgres=CTc/postgres
なんとなくpostgresというDBは設定系なんだろうとわかるけど、テンプレートってなんじゃらほいと。調べるとそのままの意味でPostgeSQLでは上記templateのDBを使って他DBを作るらしい。template0がまっさら用(編集不可)でtemplate1は自分で好きなようにテーブル等を組めるみたいだ。
MySQLでいうuseは\cでできる模様。
postgres=# \c template1 # template0は接続不可
あとは普通にSQL叩けるわけですな。