Hit the books!!

プログラミング学習記録

Linux(Debian10)にPostgreSQLをインストールする手順

先月の8月、データベースの学習のためLinuxPostgreSQLをインストールしたので手順をメモっておく。

LinuxはさくらのVPSDebianを利用しています。設定したのがだいぶ前なのであまり記憶に...ない...

環境:macOS Catalina / Debian10

Debianのバージョン確認

$ cat /etc/debian_version
10.3

10.3らしい。

リポジトリを追加

まず、/etc/apt/sources.list.d/pgdg.listというファイルを作成する。

$ sudo touch /etc/apt/sources.list.d/pgdg.list

このファイルにリポジトリのパスを記載する。

$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

これは"deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main"という文字列をリダイレクトでファイルに書き込んでいる。

この中のbusterというのがDebianのバージョン名になります。10はbusterなので、バージョンが変わったら合わせて変更する必要がある。

クライアント証明書をインストール

$ sudo apt-get install wget ca-certificates

結果↓

Reading package lists... Done
Building dependency tree
Reading state information... Done
ca-certificates is already the newest version (20190110).
ca-certificates set to manually installed.
wget is already the newest version (1.20.1-1.1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

認証キーを追加

PostgreSQLで公開されている認証キーを自分の端末に追加する。

$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

実行すると"OK"と出る。

PostgreSQLをインストール

やっとインストール!!その前に更新を忘れずに...

$ sudo apt-get update
$ sudo apt-get upgrade

いざインストール!

$ sudo apt-get install postgresql-10

何やら赤い文字が... f:id:ud_ike:20200914153345p:plain

まいっか。バージョンを確認しよう。

$ psql --version
psql (PostgreSQL) 10.14 (Debian 10.14-1.pgdg100+1)

できたみたい。

ユーザー作成

インストールすると、自動的にデータベースの管理ユーザーであるpostgresユーザーが作成される。postgresに切り替えてみると、

$ sudo su - postgres

左側(プロンプト) がpostgres@~に変わる。

postgresはOSのユーザーであるので、データベース用のユーザーを追加する。padminという名前にした。

$ createuser --pwprompt --interactive padmin

そうすると以下のような表示が出てくるので、パスワードを2回とyを入力する。

Enter password for new role:
Enter it again:
Shall the new role be a superuser? (y/n) y

作成したpadminでログインする。

postgres@tk2-222-20709:~$ psql -U padmin -d postgres -h localhost

オプションは以下の通り。

  • -U:接続するデータベースのユーザ名

  • -d:接続するデータベース名

  • -h:接続するPostgreSQLのホスト名

設定したパスワードを入力すると、こんな表示が出る。

Password for user padmin:
psql (10.14 (Debian 10.14-1.pgdg100+1))
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
Type "help" for help.
postgres=#

接続できた〜!

参考サイト

先人の知恵がないとできないことばかり。感謝。

手順について

postgresユーザーの設定

psqlのオプション