Jail: pg

one time
zfs create ship/pg
zfs set recordsize=16k ship/pg
#zfs set sync=standard ship/pg
#zfs set compression=lz4 ship/pg
#zfs set atime=off ship/pg

zfs create ship/pg/data
zfs create ship/pg/wal
zfs set logbias=throughput ship/pg/data
zfs set primarycache=metadata ship/pg/data

zfs get -r recordsize,logbias,primarycache ship/pg

create jail
export JAIL=pg
export JAILHOSTNAME=pg
export JAILDOMAIN=ahlawat.com
export JAILIP=19
export JAILUSER=X
export JAILUSERID=1000
export JAILUSERVNC=false

/root/FreeBSD/jails/create.sh $JAIL $JAILHOSTNAME $JAILDOMAIN $JAILIP $JAILUSER $JAILUSERID $JAILUSERVNC

iocage fstab -r $JAIL /mnt/ship/certs /mnt/certs nullfs ro 0 0

iocage exec $JAIL "mkdir -p /var/db/postgres/data14"
iocage exec $JAIL "mkdir  -p /var/db/postgres/data14_wal"
iocage fstab -a $JAIL /mnt/ship/pg/data /var/db/postgres/data14 nullfs rw 0 0
iocage fstab -a $JAIL /mnt/ship/pg/wal /var/db/postgres/data14_wal nullfs rw 0 0
iocage fstab -l $JAIL

iocage exec $JAIL "pkg install -y postgresql-server"

iocage exec $JAIL "sysrc postgresql_enable=YES"
iocage exec $JAIL "chown -R postgres:postgres /var/db/postgres*"

#first time only
#iocage exec $JAIL "/usr/local/etc/rc.d/postgresql initdb"
#iocage exec $JAIL "cp -a /var/db/postgres/data14/pg_wal/* /var/db/postgres/data14_wal"
#iocage exec $JAIL "rm -rf /var/db/postgres/data14/pg_wal"
#iocage exec $JAIL "ln -s /var/db/postgres/data14_wal /var/db/postgres/data14/pg_wal"

iocage exec $JAIL "cp /mnt/config/postgresql.conf /var/db/postgres/data14/"
iocage exec $JAIL "cp /mnt/config/pg_hba.conf /var/db/postgres/data14/"
iocage exec $JAIL "chown -R postgres:postgres /var/db/postgres*"

iocage exec $JAIL "service postgresql start"



Notes:
su postgres
psql -c "alter user postgres with password 'aStrongPassword'"

Major Version Upgrade:
pg_dump > backupfile.sql
upgrade postgres
psql -f backupfile.sql

Showcased here is a capital and operational cost effective approach, using minimal server and networking hardware with multiple virtualized applications for Home and Business. This solution template can be easily scaled out and adapted for larger Enterprise deployments.
drop by the diyIT Matrix public room at #diyit:matrix.ahlawat.com
if you have any IT questions/feedback or to request pro bono consulting for a nonprofit

message me privately at @sharad:matrix.ahlawat.com
or email me at - sharad@ahlawat.com - pgpkey: 68DD6B89
Networking and Security Technologist.
EngineerĀ andĀ an avid Programmer.

https://sharad.ahlawat.com
strive to learn and pass on the knowledge to the next generation
one day humanity will understand the meaning of life and hopefully it will be more than ASCII 42 = "*" regex for whatever you want it to be,
and destiny is more than just a roll of a pair of dice with 42 dots (Lets nail down Quantum Entanglement)

May you Live Long (Intelligently) and Prosper and work on technology that matters.
© 2024 Sharad Ahlawat

No personal identifying data is collected or any form of analytics/metrics reported to a third-party by this website.