Ubuntu18.04にPostgreSQL10.5をインストール
2020-11-07追記
WSL2 Ubuntu20.04にPostgreSQL13をインストールしたので記事を投稿した
WSL2上のUbuntu20.04にPostgreSQL13をインストール - ローイングファンのプログラミング日記
(追記終わり)
目次
はじめに
前につくったUbuntu環境にPostgreSQLをインストールした。
参考にしたページは次のとおり。
今回の環境に応じてそれぞれをアレンジしてインストールおよび設定をした。
インストールする際に参考にしたページ
PostgreSQL Home > Download > Linux Ubuntu
LINUX DOWNLOADS (UBUNTU)
https://www.postgresql.org/download/linux/ubuntu/
PostgreSQL Wiki
Apt
https://wiki.postgresql.org/wiki/Apt
WEB ARCH LABO
PostgreSQL 10 を Ubuntu 16.04 LTS にインストールする手順
https://weblabo.oscasierra.net/postgresql10-ubuntu1604-install/
設定の際に参考にしたページ
CentOS7.3にPostgreSQL9.6.3をインストールしてみた
https://qiita.com/uhooi/items/44ed9370740c7521dce4
PostgreSQLリポジトリを追加
PostgreSQLのリポジトリを追加する。
$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
信頼キーの取得と追加。
$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
Aptの更新とシステムのアップグレードをする。
$ sudo apt update
$ sudo apt upgrade
PostgreSQL10のインストール
PostgreSQL10とpgadmin4をインストールする。
$ sudo apt -y install postgresql-10 pgadmin4
自動起動の設定をする。
$ sudo systemctl enable postgresql
インストールできたか確認する。
$ psql --version
psql (PostgreSQL) 10.5 (Ubuntu 10.5-1.pgdg18.04+1)
成功。
ロール設定
このままだとデフォルトで用意されているpostgresユーザーでしか操作できない。
vagrantユーザーのロールをつくってvagrantユーザーでも操作できるようにする。
*この辺はよく理解できていない。要勉強。
PostgreSQLサーバーを起動してpsqlコマンドを試す。
$ sudo systemctl start postgresql
$ psql -l
やはりvagrantユーザーでは操作できない。
ロールをつくっていく。
まずpostgresユーザーでログインする。
$ sudo -u postgres psql
psql (10.5 (Ubuntu 10.5-1.pgdg18.04+1))
Type "help" for help.
postgres=#
ロールをつくる。
postgres=# create role vagrant with login createdb;
CREATE ROLE
postgresユーザーのパスワードを変更する。
postgres=# alter user postgres password 'postgres';
ALTER ROLE
ログアウトしてvagrantユーザーからpsqlコマンドがつかえるか試す。
postgres=# \q
$ psql -l
List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+-------------+-------------+----------------------- postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (3 rows)
操作できた。
サーバーを停止する。
$ sudo systemctl stop postgresql
今回の環境
ホストOS
macOS 10.13.6
Windows10
ゲストOS
Ubuntu18.04