Debian 10に PostgreSQL 12 を apt でインストールする補助輪
現在通っているプログラミングスクールの自習課題の一つ、「ディストリビューションの公式リポジトリ以外からパッケージをインストールできるようになること」を本日修了しました☺️
そこで今回、自分が課題修了のために行った「Debian 10 に PostgreSQL 12 を apt でインストールしたときの手順」をご紹介させていただきます(実施日 : 2020/09/22)。
この記事を書いたきっかけ
課題を行うにあたり「サードパーティのリポジトリ」を探していたのですが、今後で学習する予定の「PostgreSQL」が今回の課題に向いていると思い、「PostgreSQLのリポジトリ」からインストールすることにしました。
その際、
- Debian公式リポジトリの最新安定版が「11」で、PostgreSQLリポジトリの最新安定版が「12」と、バージョンに差があることを知る
- PostgreSQLリポジトリのWikiが
apt-get
で解説されていることを知る- (Debian公式で推奨しているAPTフロントエンドが現在
apt
のため、apt
で入れたい)
- (Debian公式で推奨しているAPTフロントエンドが現在
という流れで、せっかくならDebian 10 に PostgreSQL 12 を apt でインストールして、日本のどこかにいるかもしれない「自分と全く同じ構成でインストールしたい方」の元にこの記事が届くことを妄想しつつ、記事を執筆しながらインストールを行うことにしました。
※「インストールに成功したら記事を公開」「インストールに失敗したら記事を削除」の運命だったので、公開することができて嬉しいです☺️
最初にお詫び🙇🏻♂️
この記事はLinux初心者による「PostgreSQL 12のインストールまで(PostgreSQL 12のバージョン確認まで)」の記事となっています。
(PostgreSQLの使い方についてはスミマセン、まだ分かりません…😭 )
※ 手順や内容について、もしも誤っている箇所・不適切な箇所があった際は忌憚なくご指摘いただけますと幸甚です🙇🏻♂️
構成
- サーバ
- さくらVPS 最安プラン(石狩第1ゾーン)
- OS : Debian GNU/Linux 10 (buster) CUI環境
- バージョン : 10.5
- APTのフロントエンド :
apt
- OS : Debian GNU/Linux 10 (buster) CUI環境
- さくらVPS 最安プラン(石狩第1ゾーン)
- 使用した端末
【この記事の主輪】 PostgreSQL公式 - Apt向けのWiki
※公式のWikiはapt-get
で解説されているのですが、前述の理由でapt
に置き換えてご紹介しています。また、自分はCUI環境のDebianを利用しているため、GUI向けのpgadmin4
のインストールは省略しています。
なお、自分は英語も勉強中の身で…、「原文のページ」と「Google翻訳後のページ」を同時に見ながら進めました。
「sources.list
ってなに?」という方は、以下のDebian公式ページ(日本語)を是非ご覧ください。
🔗 APT HOWTO (Obsolete Documentation) 第 2 章 - 基本的な設定 - debian.org
18年前の記事ですが、基本的な設定方法は大きく変わっていないと思います。自分もこのページで概要を学びました。お急ぎの方は「2.1」の項だけでも是非☺️
リポジトリキーのインポートと登録
PostgreSQLリポジトリの公開鍵ファイル(ASCファイル)を以下の手順でインポートします。
最初に「パッケージリストの更新」と「インストール済みパッケージの更新」を行っておきます。
$ sudo apt update $ sudo apt upgrade
PostgreSQLの公開鍵ファイルの取り扱いで必要となるca-certificates
とgnupg
をインストールします。
$ sudo apt install ca-certificates gnupg
ca-certificates
とgnupg
のインストール完了後、curlコマンドでPostgreSQLのリポジトリキーをダウンロードし、apt-key
コマンドでリポジトリキーをroot権限で登録します。
$ curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
【apt-key
の補足】
apt-key
はAPTのキー管理(鍵管理)ユーティリティで、キーの登録、登録されたキーの表示、キーの削除などを行います。今回は「キーの登録」なのでapt-key add
を使用します。
ちなみに上記コマンドラインの末尾にある「-
」は、「ファイル名の代わりに標準入力を指定(今回の場合はパイプライン機能を使って送り込んだcurlの実行結果)」という意味になります。
上記コマンドを実行後、リポジトリキーが登録できているかを確認します。
登録済みのキーを確認する場合はサブコマンドの「list」を使います。
$ apt-key list | less
リストの一番上(uid
の項目)に「PostgreSQL Debian Repository」の記載があれば登録成功です。
PostgreSQL用のsources.list(pgdg.list)を作成
※Wikiではワンライナーで記述されているのですが、ここでは自分で作成したファイルでも問題なくインストールできるか確認したかったため、「空ファイルを作成」→「エディタでコードを記述」に分けさせていただきました。
/etc/apt/sources.list.d/
ディレクトリの中に「pgdg.list
」という空ファイルをroot権限で作成します。
$ sudo touch /etc/apt/sources.list.d/pgdg.list
ファイルを作成後、お使いのエディタでファイルを開き、
# Vimの例
$ sudo vim /etc/apt/sources.list.d/pgdg.list
以下の1行を記述して保存・終了します。
deb http://apt.postgresql.org/pub/repos/apt buster-pgdg main
パッケージリストの更新、PostgreSQL 12のインストール
ここで改めてパッケージリストの更新を行います。
$ sudo apt update
すると、http://apt.postgresql.org
を含んだ行が出力されたと思います。これでPostgreSQLのリポジトリからインストールできる準備が整いました☺️
まず、apt search
で「postgresql-12
」を検索します。
# 完全一致でパッケージを探すため「^」と「$」を使用します
$ apt search ^postgresql-12$
postgresql-12
が見つかりました!インストールします。
$ sudo apt install postgresql-12
インストール完了後、PostgreSQLのバージョンを確認します。
(psql --version
で確認できます)
$ psql --version
#=> psql (PostgreSQL) 12.4 (Debian 12.4-1.pgdg100+1)
無事PostgreSQL 12がインストールされていることを確認できました☺️
postgresql
の補足
PostgreSQLリポジトリを追加したタイミングで、postgresql
でもバージョン12がインストールできる状態になっています。
$ apt search ^postgresql$
自分はスクールの学習過程で「バージョン11など、他のバージョンを使う可能性」があったため、postgresql-12
でインストールしました。
(postgresql
でもバージョンの共存が可能なのか、現時点では知識が足りておりません…)
最後に
改めてのお詫びとなりますが、本当に「インストールが終わっただけ」の状態となり、ここからどうやって起動し、どのように操作をするのかは分かっていない状況です😣
そのため、もしも今後のPostgreSQL運用で「上記のインストール方法で不都合が生じた場合」はすぐに訂正させていただきます。
最後までお読みいただきありがとうございました!