sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan ved man, hvilken partition der vil blive brugt i Postgres hash partitionering?

Ved omvendt udvikling af koden kan du få partitionsnummeret med følgende sætning:

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

Erstat 8 med antallet af partitioner og 'value' med den pågældende streng.

Du kan teste partitionsnummeret med satisfies_hash_partition . For at teste om 'value' ville ende i partition 6 af 8 i tabel tab , du kan køre

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



  1. Hvornår vælger du opdateringslås og oplåsning?

  2. Er det muligt at bruge en variabel og ikke angive en returtype i postgreSQL?

  3. Brug NEWID() til at oprette en unik værdi i SQL Server

  4. Hvordan forhindrer SQLParameter SQL-injektion?