USING columnarwhen creating the table.
SELECT ... FOR SHARE,
SELECT ... FOR UPDATE)
AFTER ... FOR EACH ROWtriggers
DELETE, tuple locks, etc.):
UPDATE p2 SET i = i + 1), it will succeed; if targeted at a specified columnar partition (e.g.
UPDATE p1 SET i = i + 1), it will fail.
WHEREclause that excludes all columnar partitions (e.g.
UPDATE parent SET i = i + 1 WHERE ts = '2020-03-15'), it will succeed.
UPDATE parent SET i = i + 1 WHERE n = 300).
hashindexes (and the constraints requiring them) but does not support
brinindexes. For this reason, if some partitions are columnar and if the index is not supported by columnar, then it's impossible to create indexes on the partitioned (parent) table directly. In that case, you need to create the index on the individual row partitions. Similarly for the constraints that require indexes, e.g.:
[none|pglz|zstd|lz4|lz4hc]- set the compression type for newly-inserted data. Existing data will not be recompressed/decompressed. The default value is
<integer>- Sets compression level. Valid settings are from 1 through 19. If the compression method does not support the level chosen, the closest level will be selected instead.
<integer>- the maximum number of rows per stripe for newly-inserted data. Existing stripes of data will not be changed and may have more rows than this maximum value. The default value is
<integer>- the maximum number of rows per chunk for newly-inserted data. Existing chunks of data will not be changed and may have more rows than this maximum value. The default value is
SETcommand of one of the following configuration variables: