no-image

Ubuntu18.10にPostgreSQLをインストールする

Ubuntu18.10でPostgreSQLの環境構築をしたのでメモっておきます。
案外簡単にできました。

今回は以下の4つのポイントについて実践したことを書き残しておきます。

① UbuntuにPostgreSQLをインストールする
② 管理コンソールにログインする
③ ユーザーを追加する
④ DBを追加する

もくじ

  1. UbuntuにPostgreSQLをインストールする
  2. 管理コンソールにログインする
  3. ユーザーを追加する
  4. DBを追加する
  5. まとめ
  6. 参考

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の勉強に使っている書籍です。
どちらもわかりやすくておすすめです。

新しいLinuxの教科書

スッキリわかるSQL入門 第2版 ドリル222問付き! (スッキリシリーズ)