HAWQ Vectorized Execution Design:
Vectorized Execution(VE) is an advanced technique in database query execution stage. HAWQ is supported via vexecutor plugin.via vexecutor plugin/extension, please refer to the design doc:
HAWQ Vectorized Execution design
Installation and Activation
Make sure HAWQ compilation and installation success.
Check if vexecutor.so is installed into HAWQ execution directory. If not, you can execute "make ;make install" in contrib/vexecutor directory to install it.
Add library name "vexectorvexecutor" to "shared_preload_libraries" in postgresql.conf which has to copies allocated in master and segment data directories respectively. Make sure both of them is assigned. (E.g. postgresql.conf: shared_preload_libraries = 'vexectorvexecutor')
Restart HAWQ cluster
Execute "create_udv.sql" with psql. then some vectorized data types and vectorized aggregate functions will be add to HAWQ.
How to remove Vectorized Execution:
- Delete metadata by executing "clean_udv.sql" in psql.
- Remove 'vexectorvexecutor' from shared_preload_libraries in postgresql.conf
- Restart HAWQ cluster
...