PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como saber qual partição será usada no particionamento de hash do Postgres?


Engenharia reversa do código, você pode obter o número da partição com a seguinte declaração:
SELECT (hashtextextended('value', 8816678312871386365)::numeric + 5305509591434766563) % 8;

Substitua 8 pelo número de partições e 'value' com a string em questão.

Você pode testar o número da partição com satisfies_hash_partition . Para testar se 'value' terminaria na partição 6 de 8 na tabela tab , você pode correr
SELECT satisfies_hash_partition('tab'::regclass, 8, 6, 'value'::text);