投稿

ラベル(Linux)が付いた投稿を表示しています

【Ubuntu編】PostgreSQL 16導入と複数クラスタ起動:OSによる「管理のしやすさ」を実感

 これまではMacやRHEL(Red Hat Enterprise Linux)系でデータベースを触ってきましたが、今回はUbuntu 22.04 LTS環境を使ってPostgreSQL 16を導入しました。 実際に触ってみて感じたのは、**「Ubuntuはコマンド体系やファイル管理が非常にシンプルで扱いやすい」**ということです。今回はその導入手順と、実務で役立つ「複数クラスタの同時起動」の実験記録をまとめます。 1. なぜUbuntuを選んだのか? 実務では堅牢なRHEL系が選ばれることも多いですが、学習用としてUbuntuを使ってみて、その「シンプルさ」に驚きました。 パッケージ管理が直感的 : apt コマンドの依存関係解決がスムーズ。 設定ファイルの配置が明快 : /etc/postgresql/16/main/ のように、バージョンごとに整理された構造が分かりやすい。 情報の豊富さ : 世界中のエンジニアが使っているため、困った時の解決策がすぐに見つかる。 こうした「管理のしやすさ」は、試行錯誤を繰り返す学習フェーズでは大きなメリットだと感じています。 2. PostgreSQL 16のインストール手順 Ubuntu標準のリポジトリではなく、最新のマイナーバージョンを確実に追えるよう公式リポジトリを利用します。 (1) リポジトリの作成と鍵の登録 Bash # 公式リポジトリの追加 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 - # リストの更新 sudo apt-get update (2) インストール Bash sudo apt -y install postgresql-16 インストール後、管理用のOSユーザー postgres にパスワードを設定しておきました。 sudo passw...

【バックエンド構築】CentOS 9からOracle 11gへ接続!Instant Clientの導入と実験

  システムを構築する際、データベースサーバー本体を立てるだけでなく、「別のアプリケーションサーバーからDBに接続する」という構成はバックエンド開発において日常茶飯事です。 現在取り組んでいるモダナイズ(近代化)の学習でも、新旧サーバー間での接続確認が欠かせません。今回は、CentOS 9環境にOracle Instant Clientを導入し、リモートのOracle 11gへ接続するための実験記録をまとめます。 1. 接続環境の準備:Instant Clientのダウンロード まずは接続元となるCentOS 9に、軽量なクライアントパッケージである「Instant Client」を導入します。 接続先のバージョンに合わせ、以下の2つのRPMファイルを公式サイトから入手しました。 Basicパッケージ : 接続に最低限必要なライブラリ群 SQL*Plusパッケージ : コマンドラインからSQLを実行するためのツール ダウンロード元: Oracle Instant Client for Linux x86-64   2. 依存ライブラリのインストール CentOS 9(Stream 9など)の標準状態では、Oracleクライアントが動作するために必要な古いライブラリが不足していることがあります。これがないと実行時にエラーが出るため、あらかじめ導入しておきます。 Bash sudo dnf install -y libaio libnsl 3. クライアントのインストール ダウンロードしたRPMファイルを、 sudo を使ってインストールします。 Bash sudo rpm -ivh ./oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm sudo rpm -ivh ./oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm インストール先を確認すると、以下のディレクトリに配置されていました。 /usr/lib/oracle/11.2/client64 4. 環境変数の設定(ここが重要!) インストールしただけでは sqlplus コマンドは使えません。OSにライブラリの位置を教えるための設定が必要です。 私は .bash_profil...