将Oracle迁移到Azure DB(PostgreSQL)~④管理PostgreSQL文件

这次我们将介绍关于PostgreSQL文件管理的内容。由于Azure DB是一种PaaS服务,您可能不需要过多关注,但从知识角度来看,了解这些内容可能会在某些情况下非常有用。

在数据库集群中的文件和目录。

在 PostgreSQL 中使用的文件被存储在一个被称为数据库群集的目录中。
在安装 PostgreSQL 时,在 Windows 上,将根据数据库群集来描述每个目录和文件的作用。

image.png

1. ①基础目录
└数据库目录
├表文件
├索引文件
├TOAST文件
├FSM文件
└Visibirity Map文件
2. ②全局目录
3. ③pg_wal目录
└WAL文件
4. ④pg_xact目录
5. ⑤pg_tblspc目录
└表空间的符号链接
6. ⑥PG_VERSION文件
7. ⑦postmaster.pid文件
8. ⑧postgresql.conf文件
9. ⑨postgresql.auto.conf文件
10.⑩pg_hba.conf文件

主要目录

以下是PostgreSQL中的五个主要目录。

    • baseディレクトリ

 

    • 本ディレクトリ配下にデータベース毎に識別子を示す数字のディレクトリ(データベースディレクトリ)が作成されます。データベースディレクトリは、baseディレクトリ配下に格納され、テーブルファイル、インデックスファイルTOASTファイル、Free Space Mapファイル、Visibility Mapファイル等のファイルが格納されます。

 

    • globalディレクトリ

 

    • データベースクラスターで共有するテーブルを保管するディレクトリです。主に複数のデータベースにまたがる「システムカタログ」などが格納されています。

 

    • pg_walディレクトリ

 

    • WALファイルを格納するディレクトリです。データベースの作成時のオプションによっては、シンボリックリンクとなる場合もあります。

 

    • pg_xactディレクトリ

 

    • トランザクションのコミット状態を管理するファイルが格納されるディレクトリです。

 

    • pg_tblspcディレクトリ

 

    PostgreSQLでは、テーブルやインデックスなどのデータベースオブジェクトをbaseディレクトリ以外の任意のディレクトリ(テーブル空間)に格納することも可能です。テーブル空間として作成されたディレクトリへのシンボリックリンクがこのディレクトへ格納されます。

核心文件

刚才是文件夹,现在是主要文件。

image.png

postgresql.conf
数据库配置文件

这是用于控制PostgreSQL整体操作的配置文件,可以设置各种不同的配置值。配置项可以大致分类如下:

カテゴリ名説明接続と認証接続、セキュリティ、認証関連の設定資源の消費共有メモリ、ディスク、ライタプロセス関連の設定ログ先行書き込みWAL、チェックポイント、アーカイブ関連の設定レプリケーションレプリケーション関連の設定問い合わせ計画実行計画関連の設定エラー報告とログの取得サーバログ出力に関する関連設定実行時統計情報統計情報の収集に関する設定自動バキューム作業自動バキュームに関する設定クライアント接続デフォルト接続した挙動やロケールに関する設定ロック管理ロックやデッドロック検知に関する設定バージョンとプラットフォーム旧バージョンやプラットフォーム間の互換性に関する設定エラー処理エラーや障害発生時の設定

另外,关于这个postgresql.conf的确认设置项的方法有几种。一种是直接查看文件,另一种是使用SHOW语句或pg_setting系统视图进行确认。对于每个设置项的更改,设置可能在不同的时间进行更改。您可以从pg_setting视图的context列中确认如何进行更改,所以我认为记住这个知识是很好的。

反映のタイミングpg_settingsシステムビューのcontext列の値説明SET文実行時userまたはsuperuser発行したセッション内で即時に反映される。他のセッションには影響を及ぼさない。SET LOCAL文の場合、その効果は発行したトランザクション内に限定。context列がsuperuserの場合、スーパーユーザ権限を持つユーザのみ変更可能となる。SIGHUPシグナル受信時sighup’pg_ctl reload’や’pg_reload_conf関数’などの実行によりPostgreSQLがSIGHUPシグナルを受け取ったタイミングで、設定をリロードし反映する。PostgreSQL起動時postmasterPostgreSQLの起動時に反映される。
image.png

最终

以下是主要的PostgreSQL文件管理。
关于PostgreSQL的进程、内存、目录和文件的结构,建议记住这些内容,这在运维管理PostgreSQL时肯定会有帮助。

下一次

我会简要描述一下PostgreSQL的工作原理。

bannerAds