sql >> Database >  >> RDS >> PostgreSQL

Hoe weet ik welke partitie zal worden gebruikt in Postgres hash-partitionering?

Reverse engineering van de code, u kunt het partitienummer krijgen met de volgende instructie:

SELECT (hashtextextended('value', 8816678312871386365)::numeric + 5305509591434766563) % 8;

Vervang 8 door het aantal partities en 'value' met de string in kwestie.

U kunt het partitienummer testen met satisfies_hash_partition . Om te testen of 'value' zou eindigen in partitie 6 van 8 in tabel tab , je kunt rennen

SELECT satisfies_hash_partition('tab'::regclass, 8, 6, 'value'::text);



  1. AM/PM toevoegen aan een tijdwaarde in SQL Server (T-SQL)

  2. SQL Azure:Database XXXYYY op server is momenteel niet beschikbaar

  3. moet ik c3p0-statement pooling activeren?

  4. LINQ to SQL Take w/o Skip Veroorzaakt meerdere SQL-statements