database examples compatible with sqlite
authorMischa POSLAWSKY <perl@shiar.org>
Fri, 18 Nov 2022 20:34:12 +0000 (21:34 +0100)
committerMischa POSLAWSKY <perl@shiar.org>
Mon, 21 Nov 2022 18:49:29 +0000 (19:49 +0100)
Real life use cases.

Commandline SQL changed to apply to SQLite as well.  Unfortunately maths
requires v3.35, so keep psql there even though it requires user setup.

barcat

diff --git a/barcat b/barcat
index 2a931c6a55fb92f6be6e09ea13c5a5d45234115e..7fc7f66ca177ea17fb56c7715d90d66241fe602f 100755 (executable)
--- a/barcat
+++ b/barcat
@@ -650,14 +650,21 @@ Number of HTTP requests per day:
 
     cat httpd/access.log | cut -d\  -f4 | cut -d: -f1 | uniq -c | barcat
 
-Any kind of database query with counts, preserving returned alignment:
+Any kind of database query results, preserving returned alignment:
 
-    echo 'SELECT count(*),schemaname FROM pg_tables GROUP BY 2' |
+    echo 'SELECT sin(value * .1) FROM generate_series(0, 30) value' |
     psql -t | barcat -u
 
-In PostgreSQL from within the client:
+In PostgreSQL from within the client; a fancy C<\dt+> perhaps:
 
-    > SELECT sin(generate_series(0, 3, .1)) \g |barcat
+    > SELECT schemaname, relname, pg_total_relation_size(relid)
+      FROM pg_statio_user_tables ORDER BY idx_blks_hit
+      \g |barcat -uHf+
+
+Same thing in SQLite (requires the sqlite3 client):
+
+    > .once |barcat -Hf+
+    > SELECT name, sum(pgsize) FROM dbstat GROUP BY 1;
 
 Earthquakes worldwide magnitude 1+ in the last 24 hours: