Citus Data为Postgresql开发了一个开源的柱状商店扩展。它在Apache许可证v2.0下可用。它支持Postgresql 9.3及更高版本。
首先,创建扩展和外部服务器:
CREATE EXTENSION cstore_fdw; CREATE SERVER cstore_server FOREIGN DATA WRAPPER cstore_fdw;
接下来,创建一些外部表:
CREATE FOREIGN TABLE customer_reviews ( customer_id TEXT,review_date DATE,review_rating INTEGER,review_votes INTEGER,review_helpful_votes INTEGER,product_id CHAR(10),product_title TEXT,product_sales_rank BIGINT,product_group TEXT,product_category TEXT,product_subcategory TEXT,similar_product_ids CHAR(10)[] ) SERVER cstore_server OPTIONS(filename '/opt/citusdb/3.0/cstore/customer_reviews.cstore',compression 'pglz');
最后将COPY数据放入表中:
COPY customer_reviews FROM '/home/user/customer_reviews_1998.csv' WITH CSV;
可以像任何其他表一样查询外部表。你甚至可以用正规表加入。
更多示例和信息可在related blog post和the project’s home page中找到。