Posgtres внезапно остановился на сервере, и в журналах отображается следующая ошибка:
2015-08-18 02:29:22 IST ERROR: could not extend file "base/197893/198337": No space left on device
2015-08-18 02:29:22 IST HINT: Check free disk space.
2015-08-18 02:29:22 IST STATEMENT: UPDATE "data_shipmentpptlmapping" SET "pptl_id" = '2558', "time" = '2015-08-17 20:40:47.163837+00:00', "bag_seal_status" = 'close', "
shipment_id_id" = 728518 WHERE "data_shipmentpptlmapping"."id" = 557513
2015-08-18 02:29:25 IST LOG: could not write temporary statistics file "pg_stat_tmp/pgstat.tmp": No space left on device
2015-08-18 02:29:25 IST LOG: could not write temporary statistics file "pg_stat_tmp/pgstat.tmp": No space left on device
2015-08-18 02:29:25 IST LOG: could not write temporary statistics file "pg_stat_tmp/pgstat.tmp": No space left on device
2015-08-18 02:29:25 IST LOG: could not write temporary statistics file "pg_stat_tmp/pgstat.tmp": No space left on device
2015-08-18 02:29:25 IST LOG: could not write temporary statistics file "pg_stat_tmp/pgstat.tmp": No space left on device
2015-08-18 02:29:25 IST LOG: could not write temporary statistics file "pg_stat_tmp/pgstat.tmp": No space left on device
2015-08-18 02:29:25 IST LOG: could not write temporary statistics file "pg_stat_tmp/pgstat.tmp": No space left on device
2015-08-18 02:29:25 IST LOG: could not write temporary statistics file "pg_stat_tmp/pgstat.tmp": No space left on device
2015-08-18 02:29:25 IST LOG: could not write temporary statistics file "pg_stat_tmp/pgstat.tmp": No space left on device
2015-08-18 02:29:25 IST LOG: could not write temporary statistics file "pg_stat_tmp/pgstat.tmp": No space left on device
2015-08-18 02:29:25 IST LOG: could not write temporary statistics file "pg_stat_tmp/pgstat.tmp": No space left on device
2015-08-18 02:29:25 IST LOG: could not write temporary statistics file "pg_stat_tmp/pgstat.tmp": No space left on device
2015-08-18 02:29:25 IST LOG: could not write temporary statistics file "pg_stat_tmp/pgstat.tmp": No space left on device
2015-08-18 02:29:25 IST LOG: could not write temporary statistics file "pg_stat_tmp/pgstat.tmp": No space left on device
2015-08-18 02:29:25 IST LOG: could not write temporary statistics file "pg_stat_tmp/pgstat.tmp": No space left on device
2015-08-18 02:29:25 IST LOG: could not write temporary statistics file "pg_stat_tmp/pgstat.tmp": No space left on device
2015-08-18 02:29:25 IST LOG: could not write temporary statistics file "pg_stat_tmp/pgstat.tmp": No space left on device
2015-08-18 02:29:25 IST LOG: could not write temporary 2015-08-18 04:29:04 IST LOG: database system shutdown was interrupted; last known up at 2015-08-18 03:35:25 IST
А вот подробности postgres:
postgres=# SHOW data_directory;
data_directory
------------------------------
/var/lib/postgresql/9.1/main
(1 row)
postgres=# SHOW temp_tablespaces;
temp_tablespaces
------------------
(1 row)
postgres=# SELECT version()
postgres-# ;
version
--------------------------------------------------------------------------------------------------------
PostgreSQL 9.1.14 on x86_64-unknown-linux-gnu, compiled by gcc-4.7.real (Debian 4.7.2-5) 4.7.2, 64-bit
(1 row)
Обновление информации .. Результат использования диска сервером ..
➜ ~ df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 909G 465G 398G 54% /
udev 10M 10M 0 100% /dev
tmpfs 1.6G 616K 1.6G 1% /run
/dev/disk/by-uuid/9ca82aa1-92c7-458c-a76d-9ce5c074f5dd 909G 465G 398G 54% /
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 4.8G 24M 4.8G 1% /run/shm
tmpfs 4.8G 0 4.8G 0% /tmp
Добавление информации ls -l /var/lib/postgresql/9.1/main
.
total 56
drwx------ 8 postgres postgres 4096 Sep 28 2014 base
drwx------ 2 postgres postgres 4096 Aug 18 04:29 global
drwx------ 2 postgres postgres 4096 Aug 13 23:58 pg_clog
drwx------ 4 postgres postgres 4096 Aug 12 2014 pg_multixact
drwx------ 2 postgres postgres 4096 Aug 18 04:29 pg_notify
drwx------ 2 postgres postgres 4096 Aug 12 2014 pg_serial
drwx------ 2 postgres postgres 4096 Aug 19 18:24 pg_stat_tmp
drwx------ 2 postgres postgres 4096 Aug 19 05:34 pg_subtrans
drwx------ 2 postgres postgres 4096 Aug 12 2014 pg_tblspc
drwx------ 2 postgres postgres 4096 Aug 12 2014 pg_twophase
-rw------- 1 postgres postgres 4 Aug 12 2014 PG_VERSION
drwx------ 3 postgres postgres 4096 Aug 19 17:34 pg_xlog
-rw------- 1 postgres postgres 133 Aug 18 04:29 postmaster.opts
-rw------- 1 postgres postgres 93 Aug 18 04:29 postmaster.pid
lrwxrwxrwx 1 root root 36 Aug 12 2014 server.crt -> /etc/ssl/certs/ssl-cert-snakeoil.pem
lrwxrwxrwx 1 root root 38 Aug 12 2014 server.key -> /etc/ssl/private/ssl-cert-snakeoil.key
У вас закончилось хранилище, где pg_stat_tmp/pgstat.tmp
проживает. Это именно то, о чем вам сообщает сообщение об ошибке.
Как сказал @Tobias, это, вероятно, проблема с ОЗУ, поэтому отредактируйте свой postgresql.conf, чтобы уменьшить shared_buffers или effective_cache_size ... вы можете запустить свободно во время первого журнала «Нет места», чтобы узнать, что думает ядро, но на самом деле это ошибка PG. Перезапуск службы (временно) решил проблему для меня.