Search Postgresql Archives

Re: Linked directory or explicit reference

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4/30/2024 17:31, Ron Johnson wrote:
On Tue, Apr 30, 2024 at 7:00 PM Senor Cervesa <frio_cervesa@xxxxxxxxxxx> wrote:

    Hi All;

    When doing an initial install of PostgreSQL on RHEL 7 or 8 derived
    OS via rpm, what are pros, cons and recommendations of these 2
    procedures for utilizing a second disk?

    Secondary SSD or RAID mounted at /disk2.

    Option #1

     1. install the rpm which creates basic user and home
     2. Create symlink /var/lib/pgsql/15/data --> /disk2/data
     3. initdb with no special options

    Or Option #2

     1. install the rpm which creates basic user and home
     2. initdb with --pgdata=/disk2/data
        Probably using included 'postgresql-12-setup' script

    I also link /var/lib/pgsql/data  --> ../15/data so automation can
    reference postgresql.conf without knowing version (legacy stuff).


In my experience,The PgBackRest restore feature does not like symlinks.
I hadn't considered that and it's the kind of experience feedback I'm looking for. It won't be an issue for me though.

    The install is automated with a bash script which handles several
    options including whether there is a second disk for DB. Scripting
    the install with or without the second disk is straight forward
    but I'm concerned with either scenario causing unforeseen differences.

    I don't think there's a benefit to using tablespace here but I
    have no experience with it. The systemd service is configured with
    a dependency on the disk mount so I don't think there are
    different risks for starting postgres with missing data directory.

    I've run postgres in both scenarios and not had any issues. I'm
    interested in comments from others on their experience using these
    or other options.

Is the mount point just "/disk2" when using "--pgdata=/disk2/data"?  I've gotten "directory not empty" errors when the mount point is "/Database/x.y/data".

When linked, it looks like:

[root@test110 pgsql]# ll /var/lib/pgsql/15/data
lrwxrwxrwx. 1 root root 12 May  1 05:21 /var/lib/pgsql/15/data -> /disk2/data/

I'm not sure what would trigger "directory not empty". When running initdb there is nothing under data. I could see a problem with a symlink throwing that message as a catchall though. I haven't run across any problems yet.

Thank you Ron Johnson for the feedback.







[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux