Yukiです。
9日目になりました。
今日はインストールを勉強します。
Photo by David Heiling on Unsplash
インストール
LinuxのサーバにPostgreSQLをインストールする方法としては、主に2つあります。
- ソースコードからビルドする
- rpmパッケージからインストールする
4日目の記事でrpmからインストールしましたね。
データベースクラスタ
サーバ上で管理するデータベースの集まりをデータベースクラスタといいます。
その実体は、特定のディレクトリ以下のファイル一式です。
環境変数PG_DATAにそのディレクトリを設定できます。
また、OSコマンド実行時にコマンドライン引数に指定することも可能です。
initdbコマンド
initdbコマンドは、指定したディレクトリ以下にデータベースクラスタを作成するコマンドです。
init”db”なのに、データベースではなくて、データベースクラスタの方です。(ややこしい)
コマンドのオプションは、しっかりと覚えたほうがよさそうです。
こちらがinitdbのマニュアルです。
エンコーディング
いわゆる「文字コード」です。
文字コードとエンコーディングのちがいについては、以下のサイトがわかりやすいです。
「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
「文字コード」と「文字エンコード」の違い
PostgreSQLでは、SJISのデータベースは作成できないので、注意が必要です。
プログラムでSJISを使いたい場合は、client_encodingパラメータを設定しておき、DBからクライアントに渡すときに変換をかけます。OracleのNLS_LANGパラメータみたいですね。
テンプレートデータベース
新たなデータベースを作成するときに、コピー元になるデータベースです。
読取専用のtemplate0と変更可能なtemplate1というデータベースが、最初から作られています。template1の方は、管理者がカスタマイズすることが可能です。
Oracle 12c以降のCDB構成のデータベースにあるPDB$SEEDみたいですね。
【おまけ】PostgreSQLマニュアルを調べるときのGoogle検索Tips
ご存知の方もいると思いますが、GoogleでPostgreSQLのマニュアルを検索する方法を紹介します。
7日目にご紹介したPostgreSQLユーザ会で、PostgreSQLの日本語マニュアルが公開されているので、そのサイト内を検索すると簡単に探せます。
サイト内を検索するには、「site:postgresql.jp」のように「site:」の後にドメイン名を指定します。
PostgreSQLユーザ会のドメイン名は「postgresql.jp」なので、たとえば、「work_mem」をマニュアルで検索する場合は、以下のように「site:postgresql.jp」を追加で指定します。
これで、マニュアルから該当箇所を効率的に探せます。
(2022/2/15追記)
各種データベースマニュアルの検索方法を別記事にまとめました。
さらに便利な小技や、PostgreSQL以外のデータベースの検索方法に興味がある方は、どうぞご覧ください。
「簡単なデータベース・マニュアルのググり方 ~今日から使える現場技~」
まとめ
今日はインストールについて勉強しました。
また随所でOracleと比較してみました。
違うDBMSではありますが、似たようなところがありますね。
Oracleは触ったことないという方はその部分だけ読み飛ばしてもらえればと思います。
コメント