Date: Wed, Jul 17, 2019 05:13 PM
To: "王旭"<wangxu@gu360.com>;
Cc: "pgsql-general"<pgsql-general@lists.postgresql.org>;
Subject: Re: Issue related with patitioned table:How can I quickly determine which child table my record is in,given a specific primary key value?
On Wed, Jul 17, 2019 at 9:19 AM 王旭 <wangxu@gu360.com> 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