Quick how-to for registering and unregistering partitions on LVM logical volume (yes, event that is possible ;).
VPN in container requires tun/tap device – if you don’t have one you have to create it with mknod command. But, there is the problem – in the LXC (Proxmox) unprivileged container is mknod (as syscall) not allowed, because this would introduce possible security problems (see this article).
Checklist for major postgresql database upgrade:
- shutdown standby servers
- on each standby perform pg_upgrade
- shutdown master
- perform pg_upgrade
- if pg_upgrade fails on postgres database with encoding mismatch, re-init database with initdb
- start master
- verify master
- check if recovery.conf present in slave datadir
- start slaves one-by-one
- check if slaves are live and recovering
- if not recovering, check if entry in pg_replication_slots is present
- if not there create it with pg_create_physical_replication_slot
- once everything is live, check pg_replication_slots
This procedure will bring DB system down for a while, because we shutdown slaves and the master at once. It should be possible to start slave, while master is not yet upgraded and hope that upgraded slave will deal correctly with non-upgraded data feed from master. Or one can perform a master switch to and already upgraded slave. Both this options, are considered potentially unsafe and should be tested first on non-production database.
For re-creation of standby:
- perform pg_basebackup on master
master: pg_basebackup -U rep1 -Ft -D - | bzip2 | nc SLAVE-HOST 9999 slave: nc -l -p 9999 -v > backup.tar.bz2
- add recovery.conf to datadir
- check replication slots as by upgrade
This post describes all the things you will have to do, after (or before) installing and configuring your mail server, because that is where it all starts. Without it, you might have problems sending mail, because remote domains might think your server sends spam or is not delegated to send emails for your domain…
As always with Oracle its pretty ‘easy‘ and ‘straightforward‘ – you have to convert the high_value to XML and then extract it using XPATH (omg!). Let me guess, it would cost a fortune to provide native function/view that could do that…