Ubuntu18.10でPostgreSQLの環境構築をしたのでメモっておきます。
案外簡単にできました。
今回は以下の4つのポイントについて実践したことを書き残しておきます。
① UbuntuにPostgreSQLをインストールする
② 管理コンソールにログインする
③ ユーザーを追加する
④ DBを追加する
もくじ
UbuntuにPostgreSQLをインストールする
普通にaptでインストールすることもできるようですが、ちょっとバージョンが古いみたいなので、今回は最新版を入れていきたいと思います。
公式のドキュメントにインストール方法が書いてあったので、そちらを参考にしてます。
Linux downloads (Ubuntu)|PostgreSQL公式ドキュメント
まずは、/etc/apt/sources.list.d/pgdg.listというファイルを作成して、そこにリポジトリ用に以下の行を追加します。
deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main
完了したら、以下のコマンドを入力で準備は完了です。
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt-get update
これでリポジトリを追加できたので、”sudo apt-get install postgresql-10″のコマンドでPostgreSQLのインストールを行うことができます。
管理コンソールにログインする
PostgreSQLには、ターミナル型のフロントであるpsqlが存在します。
ユーザーはpsqlを使って、SQL文やファイルの入出力、操作の自動化などを行うことができます。
$sudo -u postgres -i
まずはこちらのコマンドで、psqlにログインしましょう。
初期状態ではpostgresというユーザーが設定されています。
duというコマンドでユーザーを確認できます。
postgres=# du List of roles Role name | Attributes | Member of ----------+------------------------------------------------------------+----------- postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
ユーザーを追加する
ここからは簡単です。
さくさくっと行きましょう。
まずはユーザーを追加します。
PostgreSQLでは、ユーザーのことをロールと呼ぶそうです。
コマンドはこちら。
postgres=#CREATE ROLE yuki WITH LOGIN PASSWORD 'hogehoge';
これで、yukiという名前の、hogehogeというパスワードを持つユーザーを作ったことになります。
ちなみにパスワード部分のシングルクオテーションを忘れるとエラーが返ってくるので注意です。
DBを追加する
ここからは普通にSQLをコマンド入力するだけですね。
postgres=#createdb test;
これで、testという名前のDBができました。
SQLは僕も勉強中ですが、こちらの書籍がとてもわかりやすく、おすすめです。
スッキリわかるSQL入門 第2版 ドリル222問付き! (スッキリシリーズ)
おまけ
せっかくDBを作ったので、Pythonのpsycopg2ライブラリを使って、DBに接続してみます。
import psycopg2 try: connection = psycopg2.connect("host='localhost' dbname='test' user='yuki' password='hogehoge'") print("connected") except: print("connect error")
上のコードを実行して、
$(twitterDir) yuki@ThinkPad-X280:~/Documents/pythonApps/twitterDir/twitter$ python3 connectersql.py connected
ターミナルにこのような表示が出ればOK!
とりあえず無事にローカルでPostgreSQLをいじれる環境ができたようです。
参考
Linux downloads (Ubuntu)|PostgreSQL公式ドキュメント
UbuntuにPostgreSQLをインストール
[PostgreSQL] よく使うコマンドまとめ
こちらは、LinuxとSQLの勉強に使っている書籍です。
どちらもわかりやすくておすすめです。