EnsekiTT Blog

EnsekiTTが書くブログです。

CSVに疲弊したのでPostgreSQLをインストールした話

つまりなにしたの?

家でCSVのデータを扱ってたけど、サンプリングに疲弊したのでPostgreSQLをローカル環境にインストールして
持ってるデータセットを移そうと思った話。
f:id:ensekitt:20171031002116j:plain

*1

PostgreSQLのインストール

$ sudo apt update
$ sudo apt install postgresql
$ which psql
/usr/bin/psql
 ||<
aptでさくっとインストールする

PostgreSQLの設定ファイル
/etc/postgresql/9.5/main/postgresql.conf
アクセス権の設定ファイル
/etc/postgresql/9.5/main/pg_hba.conf
がそれぞれ作られる。

* PostgreSQLのロール登録(ユーザ登録のようなもの)
>|bash|
$ sudo -u postgres -i
$ psql
psql (9.5.9)
Type "help" for help.
postgres=# ←これがPostgreSQLのプロンプト
postgres=# \du
Role name | List of role Attributies | Member of
ロールの名前 | そのロールがやれること | なんかのメンバーだったらそのグループ名
"q"でロールの表示画面を抜けられる
postgres=# \q ←これはpsqlを抜けるため↑とは別

# 新しいユーザを作成する
$ createuser -d -U postgres -P NewUser ←ユーザ名

新しいロールを使ってデータベースを作成する

$ createdb NewDataBase --encoding=UTF-8 --lc-collate=en_US.UTF-8 --owner=NewUser --template=template0

encoding: データベースの文字コードUTF-8
lc-collate: 文字列の並び順en_US.UTF-8
owner: データベースのオーナーとなるロール名
template: データベースのテンプレート(template0は空っぽの指定)

できたかどうか確認する

$ psql
postgres=# \l
                                   List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
-----------+----------+----------+-------------+-------------+-----------------------
 NewDataBase | NewUser   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 

こんな感じでデータベースができた。

なんかに失敗した時

ロールを削除する

$ psql
postgres=# drop role [ロール名];

データベースを削除する

$ psql
drop database [データベース名];