Ecco una soluzione rapida che potrebbe piacerti:
CREATE EXTENSION IF NOT EXISTS tsm_system_rows;
select * from task
tablesample system_rows (88);
Per riferimento, TABLESAMPLE è nei documenti per SELECT:https://www. postgresql.org/docs/current/sql-select.html
Ecco un buon resoconto della funzione:
https://www.2ndquadrant.com/ it/blog/tablesample-in-postgresql-9-5-2/
...e un altro pezzo sul tema generale del campionamento casuale dello stesso autore:
https://www. 2ndquadrant.com/en/blog/tablesample-and-other-methods-for-getting-random-tuple/
tsm_system_rows è una delle due estensioni di campionamento standard, documentate qui:https:/ /www.postgresql.org/docs/current/tsm-system-rows.html
Ehi! Sono felice che tu abbia fatto questa domanda. Tendo a usare il metodo BERNOULLI, che è integrato in SELECT out of the box, ma si basa su una percentuale. L'ho appena provato e funziona bene:
select * from task
tablesample BERNOULLI (1)
limit 88