On Wed, Jul 17, 2019 at 9:19 AM 王旭 <wangxu@xxxxxxxxx> wrote: > I tried something like this: e.g., for symbol_id 6365, > SELECT (hashint2(6365::SMALLINT)% 10) shouldn't this be modulus 3 instead of 10? The problem is that record 6365 is not where you expected to be? As far as I know, there is no easy user-level way to get the route to a table, but you can juggle with the expression that defined each table and make a good guess. However, your query should give a good idea: # SELECT 'my_table_' || (hashint2(6365::smallint)% 3); ?column? ------------ my_table_2