You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello! I have installed your Clickhouse FDW and got problems.
Example:
Query in psql: select * from clickhouse.vast_tracking where date=current_date order by dt desc limit 10;
Query in CH processlist: SELECT intDiv(2333294099, uniqCombined(vast_tracking_id)) AS vast_tracking_id, intDiv(2333294099, uniqCombined(ip)) AS ip, intDiv(2333294099, uniqCombined(date)) AS date, intDiv(2333294099, uniqCombined(key)) AS key, intDiv(2333294099, uniqCombined(action)) AS action, intDiv(2333294099, uniqCombined(url)) AS url, intDiv(2333294099, uniqCombined(referrer)) AS referrer, intDiv(2333294099, uniqCombined(country)) AS country, intDiv(2333294099, uniqCombined(banner)) AS banner, intDiv(2333294099, uniqCombined(year)) AS year, intDiv(2333294099, uniqCombined(month)) AS month, intDiv(2333294099, uniqCombined(day)) AS day, intDiv(2333294099, uniqCombined(hour)) AS hour, intDiv(2333294099, uniqCombined(uuid)) AS uuid, intDiv(2333294099, uniqCombined(sky_uuid)) AS sky_uuid, intDiv(2333294099, uniqCombined(creative_id)) AS creative_id, intDiv(2333294099, uniqCombined(revenue)) AS revenue, intDiv(2333294099, uniqCombined(in_price)) AS in_price, intDiv(2333294099, uniqCombined(wm_percent)) AS wm_percent, intDiv(2333294099, uniqCombined(profit)) AS profit, intDiv(2333294099, uniqCombined(dt)) AS dt, intDiv(2333294099, uniqCombined(vt)) AS vt, intDiv(2333294099, uniqCombined(advert_id)) AS advert_id, intDiv(2333294099, uniqCombined(site_url)) AS site_url, intDiv(2333294099, uniqCombined(campaign_name)) AS campaign_name FROM default.vast
As you can see - where, order by, limit are not passed, so CH is trying to obtain all data from table and push it to Postgres, this table have billions of records and it will take a long time to pass data.
The text was updated successfully, but these errors were encountered:
I believe postgres is not pushing the condition to the FDW. The documentation states that: "WHERE clauses are not sent to the remote server unless they use only data types, operators, and functions that are built-in or belong to an extension that's listed in the foreign server's extensions option. Operators and functions in such clauses must be IMMUTABLE as well."
In this case, I'm guessing current_date is mutable and therefore the condition is not pushed down to the FDW. Try changing the current_date to a specific fixed date, and see if that makes a difference.
Hello! I have installed your Clickhouse FDW and got problems.
Example:
Query in psql:
select * from clickhouse.vast_tracking where date=current_date order by dt desc limit 10;
Query in CH processlist:
SELECT intDiv(2333294099, uniqCombined(vast_tracking_id)) AS vast_tracking_id, intDiv(2333294099, uniqCombined(ip)) AS ip, intDiv(2333294099, uniqCombined(date)) AS date, intDiv(2333294099, uniqCombined(key)) AS key, intDiv(2333294099, uniqCombined(action)) AS action, intDiv(2333294099, uniqCombined(url)) AS url, intDiv(2333294099, uniqCombined(referrer)) AS referrer, intDiv(2333294099, uniqCombined(country)) AS country, intDiv(2333294099, uniqCombined(banner)) AS banner, intDiv(2333294099, uniqCombined(year)) AS year, intDiv(2333294099, uniqCombined(month)) AS month, intDiv(2333294099, uniqCombined(day)) AS day, intDiv(2333294099, uniqCombined(hour)) AS hour, intDiv(2333294099, uniqCombined(uuid)) AS uuid, intDiv(2333294099, uniqCombined(sky_uuid)) AS sky_uuid, intDiv(2333294099, uniqCombined(creative_id)) AS creative_id, intDiv(2333294099, uniqCombined(revenue)) AS revenue, intDiv(2333294099, uniqCombined(in_price)) AS in_price, intDiv(2333294099, uniqCombined(wm_percent)) AS wm_percent, intDiv(2333294099, uniqCombined(profit)) AS profit, intDiv(2333294099, uniqCombined(dt)) AS dt, intDiv(2333294099, uniqCombined(vt)) AS vt, intDiv(2333294099, uniqCombined(advert_id)) AS advert_id, intDiv(2333294099, uniqCombined(site_url)) AS site_url, intDiv(2333294099, uniqCombined(campaign_name)) AS campaign_name FROM default.vast
As you can see - where, order by, limit are not passed, so CH is trying to obtain all data from table and push it to Postgres, this table have billions of records and it will take a long time to pass data.
The text was updated successfully, but these errors were encountered: