Postgres seems to keep getting shutdown after a while

I restart postgresql and then browse around in my app but then after a while it seems to shutdown and I get this message:

exception: "Illuminate\Database\QueryException" file: "/root/maketube/api/vendor/laravel/framework/src/Illuminate/Database/Connection.php" line: 664 message: "SQLSTATE[08006] [7] could not connect to server: Connection refused↵ Is the server running on host "localhost" (::1) and accepting↵ TCP/IP connections on port 5432?↵could not connect to server: Connection refused↵ Is the server running on host "localhost" (127.0.0.1) and accepting↵ TCP/IP connections on port 5432? (SQL: select * from "tags")"

I have it installed on my production server: psql (PostgreSQL) 11.2 (Ubuntu 11.2-1.pgdg18.04+1)

My setup is: Laravel as the backend and node as the frontend. With nginx used to route.
My linode instance is: Ubuntu 18.04 LTS, Nanode 1GB: 1 CPU, 25GB Storage, 1GB RAM

My postgres log does not say much more:

2019-04-12 22:20:55.678 UTC [4311] LOG:  database system is ready to accept connections
2019-04-13 10:11:27.727 UTC [10603] LOG:  listening on IPv6 address "::1", port 5433
2019-04-13 10:11:27.729 UTC [10603] LOG:  listening on IPv4 address "127.0.0.1", port 5433
2019-04-13 10:11:27.732 UTC [10603] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5433"
2019-04-13 10:11:27.788 UTC [10605] LOG:  database system was interrupted; last known up at 2019-04-12 22:20:55 UTC
2019-04-13 10:11:28.747 UTC [10605] LOG:  database system was not properly shut down; automatic recovery in progress
2019-04-13 10:11:28.784 UTC [10605] LOG:  redo starts at 0/165B6C0
2019-04-13 10:11:28.784 UTC [10605] LOG:  invalid record length at 0/165B6F8: wanted 24, got 0
2019-04-13 10:11:28.784 UTC [10605] LOG:  redo done at 0/165B6C0
2019-04-13 10:11:28.843 UTC [10603] LOG:  database system is ready to accept connections
2019-04-13 10:11:29.391 UTC [10624] [unknown]@[unknown] LOG:  incomplete startup packet

Anyone know whats happening?

9 Replies

The log you posted is for postgre starting up… and it complains that it wasn't previously shut down properly…

… but that doesn't tell us why it shut down (or was killed)?

Can you look for that in the logs?

Maybe something like this?

https://www.postgresql.org/message-id/[email protected]

LOG: server process (PID 13904) was terminated by signal 9
LOG: terminating any other active server processes

in postgresql-11-main.log? There is literally nothing more. I delete that file and the restarted postgres and it shows the same messages and I posted initially. Is there any other log I dont know about?
I have a read stuff about OOM Kill but not sure how to check this

Maybe try systemd logs?

journalctl -f -u postgresql to watch output as it happens

or

journalctl --no-pager -u postgresql for history

As far as OOM goes - you can use e.g. htop to watch memory usage (htop is not installed by default, apt-get install htop).

And if you do find a memory leak - it could be your web app leaking connections (a fairly common type of bug).

To check that you can use SELECT usesysid, usename FROM pg_stat_activity and keep an eye on it over time if you can.

( pg command taken from here: https://stackoverflow.com/a/464641/2342806 )

To check for OOM kills that already happened - and I suppose there should be some, if that theory is right - you can do this:

grep -i killed /var/log/messages

Hmm so upgrading my linode instance to 2GB ram seems to work. lets see after some usage if the same issue still happens

btw running the command produces:
grep: /var/log/messages: No such file or directory

Can you try

dmesg | grep -i killed

( my servers are Debian, close but not identical to Ubuntu )

That returned nothing, but I guess this is now after I upgraded my linode, so maybe it was a memory issue

dmesg starts anew after each reboot.

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct