Thread: Postgresql using lxd faild to find address
Hi I am using postgresql 9.5 in lxd container on Ubuntu. Using the stock 64bit 16.04 ubuntu image. Postgres is working just fine within the container, but when I try to assign the ip address associated to the container it fails to recognize it at boot. When I restart postgresql it recognizes it just fine. So it seems like it is not getting the ip address, maybe it is a little bit slower. Anyway to delay the boot time?
Steps to reproduce:
1. Setup lxd container
2. Install postgresql-9.5
3. Configure ip address in the config
4. restart container
Symptoms:
1. postgresql running fine
2. No ip address assigned to postgresql
Logs:
2016-10-10 14:40:33 UTC [143-1] LOG: could not bind IPv4 socket: Cannot assign requested address
2016-10-10 14:40:33 UTC [143-2] HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
2016-10-10 14:40:33 UTC [143-3] WARNING: could not create listen socket for "10.0.3.51"
2016-10-10 14:40:33 UTC [144-1] LOG: database system was shut down at 2016-10-07 23:05:34 UTC
2016-10-10 14:40:33 UTC [144-2] LOG: MultiXact member wraparound protections are now enabled
2016-10-10 14:40:33 UTC [143-4] LOG: database system is ready to accept connections
2016-10-10 14:40:33 UTC [148-1] LOG: autovacuum launcher started
#systemctl restart postgresql
2016-10-10 15:17:33 UTC [2353-1] LOG: database system was shut down at 2016-10-10 15:17:32 UTC
2016-10-10 15:17:33 UTC [2353-2] LOG: MultiXact member wraparound protections are now enabled
2016-10-10 15:17:33 UTC [2352-1] LOG: database system is ready to accept connections
2016-10-10 15:17:33 UTC [2357-1] LOG: autovacuum launcher started
Thanks
On Mon, Oct 10, 2016 at 11:25 AM, Scottix <scottix@gmail.com> wrote:
Hi I am using postgresql 9.5 in lxd container on Ubuntu. Using the stock 64bit 16.04 ubuntu image. Postgres is working just fine within the container, but when I try to assign the ip address associated to the container it fails to recognize it at boot. When I restart postgresql it recognizes it just fine. So it seems like it is not getting the ip address, maybe it is a little bit slower. Anyway to delay the boot time?Steps to reproduce:1. Setup lxd container2. Install postgresql-9.53. Configure ip address in the config4. restart containerSymptoms:1. postgresql running fine2. No ip address assigned to postgresqlLogs:2016-10-10 14:40:33 UTC [143-1] LOG: could not bind IPv4 socket: Cannot assign requested address2016-10-10 14:40:33 UTC [143-2] HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.2016-10-10 14:40:33 UTC [143-3] WARNING: could not create listen socket for "10.0.3.51"
Set your listen_addresses='*'
This means, any and all available IP addresses. If you hardcode the IP in the config, you'll get this type of error. This way, no matter what interfaces you have, you'll get a bind. The downside is that it will listen on ALL network interfaces you have in the box. Sometimes you explicitly don't want a certain interface to be listening. You can fix this with a firewall or pg_hba.conf however.
--Scott
2016-10-10 14:40:33 UTC [144-1] LOG: database system was shut down at 2016-10-07 23:05:34 UTC2016-10-10 14:40:33 UTC [144-2] LOG: MultiXact member wraparound protections are now enabled2016-10-10 14:40:33 UTC [143-4] LOG: database system is ready to accept connections2016-10-10 14:40:33 UTC [148-1] LOG: autovacuum launcher started#systemctl restart postgresql2016-10-10 15:17:33 UTC [2353-1] LOG: database system was shut down at 2016-10-10 15:17:32 UTC2016-10-10 15:17:33 UTC [2353-2] LOG: MultiXact member wraparound protections are now enabled2016-10-10 15:17:33 UTC [2352-1] LOG: database system is ready to accept connections2016-10-10 15:17:33 UTC [2357-1] LOG: autovacuum launcher startedThanks