So my wonderful 6-year old Dell XPS 13 Developer edition’s soldering at the power port finally gave way, leaving me with a fully function laptop with only one little issue that it can’t get power. The sent me packing to my ‘backup’ Windows 10 laptop. I really wanted to keep working in a Linux environment and the new WSL with Ubuntu feature seemed like the perfect choice…. well, may be not so much.
Here are some random notes I painfully learned on setting up Rails 5.2 with Postgresql 11 on Windows Subsystem for Linux:
Is This Thing On?
The Postgresql service (and WSL as a whole) isn’t on when you don’t have a window open. When it start’s Postgres doesn’t start with it, so:
sudo service postgresql start
If it’s a local database, Rails will by default try to connect to Postgresql with UNIX sockets instead of through the TCP port. Per WSL issue #921
, this won’t work. The solution: set
to 127.0.0.1 and include the ‘port’ in your
You’ll then run into the following error while attempt to create the database with
WARNING: could not flush dirty data: Function not implemented
This is discussed in WSL issue # 2628
, which is a couple clicks away from this Postgresql thread on fsync
. After a few wrong turns, it led me to this thread
, which has you add the following line to /etc/postgresql.conf
Worked like a charm… after only 6+ hours of teeth-gnashing