質問: Postgreをインストールしているのですが、 find /dev -type f -exec ls -l {} \;と入力すると、 -rw-------. 1 ***** ***** 50128 Nov 28 13:38 /dev/shm/PostgreSQL.******** と出力されます。 色々と/dev/shm/に関して調べると、以下のように記載されており、どうも共有メモリとして、一時的にプログラム、もしくはプロセスが利用するように読み取れました。 /dev/shm は RAMディスクのマウントポイントとして使用されます。/etc/fstab にて /dev/shm はファイルシステムがtmpfs が指定されているため、メモリ上のファイルシステムとして動作します。/dev/shmにファイルを書き込んでも実際にディスクに書き込まれるのではないため、OSリブート後には消えてしまいます。 /dev/shm is nothing but implementation of traditional shared memory concept. It is an efficient means of passing data between programs. One program will create a memory portion, which other processes (if permitted) can access. This will result into speeding up things on Linux. shm / shmfs is also known as tmpfs, which is a common name for a temporary file storage facility on many Unix-like operating systems. It is intended to appear as a mounted file system, but one which uses virtual memory instead of a persistent storage device. その為、PostgreSQLをインストールすると、以下のディレクトリに作成されるものなのかな。。と考えておりますが、 調べても利用意図や、詳細がわかりませんでした。 /dev/shm/PostgreSQL*** どなたか上記ディレクトリにある/dev/shm/PostgreSQL*** に関して詳細わかりますでしょうか? よろしくお願いいたします。
回答: PostgreSQL 固有の理由については知りませんが、 一般的に、複数プロセスで情報を共有するために **/dev/shm/** を使っていると考えられます。 並列処理とか、協調して処理するものとか。 設定 `dynamic_shared_memory_type = posix` と関係するようです。 PostgreSQL インストール時ではなく、実行時に /dev/shm/ 以下にファイルが作成されます。