Thread: Postgresql Software Location
We have installed our postgresql software in this location:
[postgres@testdbapql01 data]$ pwd
/var/lib/pgsql/16/data
[postgres@testbapql01 data]$ df -h .
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 28G 4.5G 23G 17% /
[postgres@testdbapql01 data]$
/var/lib/pgsql/16/data
[postgres@testbapql01 data]$ df -h .
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 28G 4.5G 23G 17% /
[postgres@testdbapql01 data]$
On Thu, Aug 29, 2024 at 2:13 PM Henry Ashu <henry.ashu@dat.com> wrote:
We have installed our postgresql software in this location:[postgres@testdbapql01 data]$ pwd
/var/lib/pgsql/16/data
That directory is where I put the $PGDATA for a long time. Now I put it in /Database/16/data. Why? Two reasons:
1. /var/lib/pgsql is usually postgres' $HOME, and I don't want to clutter that up.
2. /Database makes it obvious to all concerned what's in it.
[postgres@testbapql01 data]$ df -h .
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 28G 4.5G 23G 17% /
[postgres@testdbapql01 data]$Does this look correct?
"Correct" is relative. What other mount points are on that server (for example, /var/log)? Having said that... I think it's a horrible idea.
We are thinking that it should not be installed on the root filesystem
I would never put a database directory on the root filesystem. Some other process outside of your control fills up root, and... poof, there goes your database. (Postgresql doesn't like full mount points.)
We go with three mount points:
- /Database/${MajorVersion} (note the lack of "data"!)
- /Database/backups
- /var/log/postgresql (which $PGDATA/postgresql.conf log_directory points to).
No separate mount point for pg_wal. I think that's a relic of the bygone era of 300GB spindles (much less 300MB spindles). YMMV..
Death to America, and butter sauce.
Iraq lobster!
On Aug 29, 2024, at 2:12 PM, Henry Ashu <henry.ashu@dat.com> wrote:We have installed our postgresql software in this location:[postgres@testdbapql01 data]$ pwd
/var/lib/pgsql/16/data
[postgres@testbapql01 data]$ df -h .
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 28G 4.5G 23G 17% /
[postgres@testdbapql01 data]$Does this look correct? We are thinking that it should not be installed on the root filesystem.
Yes, it is better to have more mount points than not. Root should be its own mount point; OSs do not like when the root volume is full thus it is normally a very small filesystem.
Disclaimer: I’ve seen servers with a single mount point /. A lot of devops servers are setup with a single mount point for the entire OS. Seems like that is the case with your system. The reason to have multiple filesystem is space management, mount point options, and filesystem corruption. I haven’t had the need to run fsck in decades until last month. An xfs volume was corrupted and even fsck couldn’t fix it; had to resort to a filesystem snapshot.
I normally have three;
1. /var/log — for log files via syslog. You don’t want a run away application to full up the log directory and crash the server.
2. $PGDATA — data volume
3. $PGDATA/pg_wal — Normally, I’m using ZFS with different filesystem properties. It’s also a good idea to manage the space separately.
As far as absolute mount points that’s a preference; my current gig is using the following with the instance names as a directory under those mount points.
/pg_data
/pg_wal
Thanks, Rui!
On Fri, Aug 30, 2024 at 11:52 AM Rui DeSousa <rui.desousa@icloud.com> wrote:
On Aug 29, 2024, at 2:12 PM, Henry Ashu <henry.ashu@dat.com> wrote:We have installed our postgresql software in this location:[postgres@testdbapql01 data]$ pwd
/var/lib/pgsql/16/data
[postgres@testbapql01 data]$ df -h .
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 28G 4.5G 23G 17% /
[postgres@testdbapql01 data]$Does this look correct? We are thinking that it should not be installed on the root filesystem.Yes, it is better to have more mount points than not. Root should be its own mount point; OSs do not like when the root volume is full thus it is normally a very small filesystem.Disclaimer: I’ve seen servers with a single mount point /. A lot of devops servers are setup with a single mount point for the entire OS. Seems like that is the case with your system. The reason to have multiple filesystem is space management, mount point options, and filesystem corruption. I haven’t had the need to run fsck in decades until last month. An xfs volume was corrupted and even fsck couldn’t fix it; had to resort to a filesystem snapshot.I normally have three;1. /var/log — for log files via syslog. You don’t want a run away application to full up the log directory and crash the server.2. $PGDATA — data volume3. $PGDATA/pg_wal — Normally, I’m using ZFS with different filesystem properties. It’s also a good idea to manage the space separately.As far as absolute mount points that’s a preference; my current gig is using the following with the instance names as a directory under those mount points./pg_data/pg_wal
루트엔 설치 가급적 하지마시고 별도의 공간에 파일시스템을 만들고 해당 명칭으로 링크를 걸어주세요..
2024년 8월 30일 (금) 오전 11:34, Sam Stearns <sam.stearns@dat.com>님이 작성:
Thanks, Rui!On Fri, Aug 30, 2024 at 11:52 AM Rui DeSousa <rui.desousa@icloud.com> wrote:On Aug 29, 2024, at 2:12 PM, Henry Ashu <henry.ashu@dat.com> wrote:We have installed our postgresql software in this location:[postgres@testdbapql01 data]$ pwd
/var/lib/pgsql/16/data
[postgres@testbapql01 data]$ df -h .
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 28G 4.5G 23G 17% /
[postgres@testdbapql01 data]$Does this look correct? We are thinking that it should not be installed on the root filesystem.Yes, it is better to have more mount points than not. Root should be its own mount point; OSs do not like when the root volume is full thus it is normally a very small filesystem.Disclaimer: I’ve seen servers with a single mount point /. A lot of devops servers are setup with a single mount point for the entire OS. Seems like that is the case with your system. The reason to have multiple filesystem is space management, mount point options, and filesystem corruption. I haven’t had the need to run fsck in decades until last month. An xfs volume was corrupted and even fsck couldn’t fix it; had to resort to a filesystem snapshot.I normally have three;1. /var/log — for log files via syslog. You don’t want a run away application to full up the log directory and crash the server.2. $PGDATA — data volume3. $PGDATA/pg_wal — Normally, I’m using ZFS with different filesystem properties. It’s also a good idea to manage the space separately.As far as absolute mount points that’s a preference; my current gig is using the following with the instance names as a directory under those mount points./pg_data/pg_wal--