Skip to content

jdatcmd/pgcolumnar

Repository files navigation

pgColumnar

pgColumnar

Column-oriented storage for PostgreSQL, implemented as a table access method. A table created USING columnar stores its data by column, with per-column compression, chunk-group skipping, and a vectorized scan and aggregate path. It is for analytic workloads: large scans, aggregates, and column projections over append-mostly data.

pgColumnar builds from one source tree on PostgreSQL 13 through 19 and is licensed under the MIT License. It is pre-release; the current marker is 1.0-dev (on-disk format 2.2), recorded in VERSION.

Documentation

Features What pgColumnar provides
Installation Build, load, and create the extension
User guide Create tables, load data, and query
Administration Operate columnar tables in production
Configuration Settings and per-table options
SQL reference The columnar.* functions
Limitations Compatibility and known constraints
Benchmarks Size and latency numbers
Testing The test suite and version matrix
Changelog Notable changes
Architecture Source map for developers

Quick start

Build with PGXS against the target server, add the library to shared_preload_libraries, and restart:

make PG_CONFIG=/path/to/pg_config
make install PG_CONFIG=/path/to/pg_config
shared_preload_libraries = 'columnar'

Then, in a database:

CREATE EXTENSION columnar;

CREATE TABLE events (id bigint, ts timestamptz, kind int, payload text)
  USING columnar;

INSERT INTO events
  SELECT g, now(), g % 8, 'p' || g
  FROM generate_series(1, 1000000) g;

SELECT count(*), avg(kind) FROM events WHERE kind = 3;

See the installation guide for requirements and the user guide for loading and querying.

Independence

pgColumnar is an independent implementation. It is not derived from the source of any other columnar project. It is built from a functional specification of the on-disk format and SQL interface, recorded in design/FORMAT_AND_INTERFACE_SPEC.md, by the clean-room method described in PROVENANCE.md.

License

MIT. See LICENSE.

About

Independent MIT-licensed column-oriented storage extension for PostgreSQL

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors