Fix id sequence running away

This commit is contained in:
ekzyis 2025-02-04 02:21:10 +01:00
parent f12f3e5019
commit 9745bf9b79

31
status
View File

@ -5,49 +5,34 @@ set -e
export $(cat .env | xargs) export $(cat .env | xargs)
psql -w <<EOF psql -w <<EOF
WITH host_upsert AS (
INSERT INTO host (name) VALUES ('$(hostname)') INSERT INTO host (name) VALUES ('$(hostname)')
ON CONFLICT (name) DO UPDATE SET name = EXCLUDED.name ON CONFLICT (name) DO NOTHING;
RETURNING id EOF
)
psql -w <<EOF
INSERT INTO host_uptime (host_id, uptime) INSERT INTO host_uptime (host_id, uptime)
SELECT id, '$(cat /proc/uptime | awk -F. '{print $1}')' SELECT id, '$(cat /proc/uptime | awk -F. '{print $1}')'
FROM host_upsert FROM host WHERE name = '$(hostname)'
RETURNING *; RETURNING *;
EOF EOF
psql -w <<EOF psql -w <<EOF
WITH host_upsert AS (
INSERT INTO host (name) VALUES ('$(hostname)')
ON CONFLICT (name) DO UPDATE SET name = EXCLUDED.name
RETURNING id
)
INSERT INTO host_mem (host_id, mem_avail) INSERT INTO host_mem (host_id, mem_avail)
SELECT id, '$(cat /proc/meminfo | grep 'MemAvailable' | awk '{print $2}')' SELECT id, '$(cat /proc/meminfo | grep 'MemAvailable' | awk '{print $2}')'
FROM host_upsert FROM host WHERE name = '$(hostname)'
RETURNING *; RETURNING *;
EOF EOF
psql -w <<EOF psql -w <<EOF
WITH host_upsert AS (
INSERT INTO host (name) VALUES ('$(hostname)')
ON CONFLICT (name) DO UPDATE SET name = EXCLUDED.name
RETURNING id
)
INSERT INTO host_disk (host_id, disk_free) INSERT INTO host_disk (host_id, disk_free)
SELECT id, '$(df / | awk 'NR==2{print $4}')' SELECT id, '$(df / | awk 'NR==2{print $4}')'
FROM host_upsert FROM host WHERE name = '$(hostname)'
RETURNING *; RETURNING *;
EOF EOF
psql -w <<EOF psql -w <<EOF
WITH host_upsert AS (
INSERT INTO host (name) VALUES ('$(hostname)')
ON CONFLICT (name) DO UPDATE SET name = EXCLUDED.name
RETURNING id
)
INSERT INTO host_cpu (host_id, cpu_load_1m) INSERT INTO host_cpu (host_id, cpu_load_1m)
SELECT id, '$(top -bn1 | head -1 | awk -F'load average: ' '{print $2}' | awk -F, '{print $1}')' SELECT id, '$(top -bn1 | head -1 | awk -F'load average: ' '{print $2}' | awk -F, '{print $1}')'
FROM host_upsert FROM host WHERE name = '$(hostname)'
RETURNING *; RETURNING *;
EOF EOF