PostgreSQL #1 Debian9.6にPostgreSQL10をインストール
PostgreSQLをLinuxサーバーにインストールしてみます。
2019/5/8 追記
文中の「rootユーザーで実行」についてはsudoコマンドを使うのを推奨します。
当時Linuxビギナーだったのでsudoコマンドについて深く理解しておらずrootに切り替えてやっていましたが、rootに切り替えたことを忘れてうっかり削除コマンドでも実行しようものなら大事なデータを消してしまうかもしれませんのでsudoコマンドを使いましょう。
環境
- OS:Debian9
- PostgreSQL 10.6
インストール
1. PostgreSQLリポジトリの追加
/etc/apt/sources.list.d/pgdg.list
というファイルを作成し、リポジトリのパスを記載する。rootユーザーで実行。
# echo deb http://apt.postgresql.org/pub/repos/apt/stretch-pgdg main > /etc/apt/sources.list.d/pgdg.list
コード内に記載の"stretch"というのはDebian9.xのコードネーム。Debian8.xだったら"jessie"なので使っているDebianのバージョンに合わせて変更する。
2. クライアント証明書をインストール
rootユーザーで実行。
# apt install wget ca-certificates
3. 公開鍵をキーリストに追加
PostgreSQLで公開されている公開鍵を自分の端末に登録する。rootユーザーで実行。
# wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
追加された。
念のため apt-key list
で追加されたか確認しておくとさらにGood
4. インストール
ここでやっとPostgreSQLインストール。rootユーザーで実行。
インストールの前にパッケージリストの更新と、インストールされてるパッケージの更新を忘れないこと。
# apt-get update # apt-get upgrade # apt-get install postgresql-10
10 main 5432 down postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
何か赤いのが出てログを見るように言われているけどどりあえずインストールされた風なので先に進む。赤いのはあとで調べる(かもしれない)。
インストールできていることを確認。rootユーザーで実行。
# psql --version psql (PostgreSQL) 10.6 (Debian 10.6-1.pgdg90+1)
ちなみにインストール後の主なディレクトリ構成はこんな感じ。
ディレクトリ | 説明 |
---|---|
/usr/lib/postgresql/10/ | PostgreSQL 10 のコマンドなどが保存されたディレクトリ |
/var/lib/postgresql/10/ | PostgreSQL 10 の内部ファイルなどが保存されるディレクトリ |
/etc/postgresql-common/ | PostgreSQL の設定ファイルが格納されるディレクトリ |
/etc/postgresql/10/main/ | PostgreSQL 10 の設定ファイルが格納されるディレクトリ |
/var/log/postgresql/ | PostgreSQL のログが出力されるディレクトリ |
\q
で終了。
postgres=# \q $
5. データベースユーザーの追加
※rootユーザーから一般ユーザへ戻っておくこと。
データベースに接続するためにはデータベース用のユーザーを作成する必要がある。 今回は「pgadmin」というスーパーユーザーを作成する。まず最初に「postgres」ユーザーに切り替える。
$ su - postgres
続いてユーザー作成。
$ createuser --pwprompt --interactive pgadmin 新しいロールのためのパスワード: もう一度入力してください: 新しいロールをスーパーユーザにしますか? (y/n)y $
パスワードは2箇所に同じものを入力する。
5. データベースユーザーへ接続
接続してみる。パスワードは「5.」で設定したパスワードを入力する。
$ psql -U pgadmin -d postgres -h localhost ユーザー pgadmin のパスワード: psql (10.6 (Debian 10.6-1.pgdg90+1)) SSL 接続 (プロトコル: TLSv1.2、暗号化方式: ECDHE-RSA-AES256-GCM-SHA384、ビット長: 256、圧縮: オフ) "help" でヘルプを表示します。 postgres=#
接続できた!
参考サイト
Debian 9(Stretch)にPostgreSQL 9.6をapt-getでインストールし、外部アクセスを許可する - Symfoware