Re: Compressed TOAST Slicing

2019-03-11 Thread Darafei Praliaskouski
The following review has been posted through the commitfest application:
make installcheck-world:  not tested
Implements feature:   tested, passed
Spec compliant:   not tested
Documentation:not tested

I have read the patch and have no problems with it.

The feature is super valuable for complex PostGIS-enabled databases.

Re: COPY FREEZE and setting PD_ALL_VISIBLE/visibility map bits

2019-03-21 Thread Darafei Praliaskouski
The following review has been posted through the commitfest application:
make installcheck-world:  not tested
Implements feature:   not tested
Spec compliant:   not tested
Documentation:not tested

This patch is particularly helpful in processing OpenStreetMap Data in PostGIS.
OpenStreetMap is imported as a stream of 300-900 (depending on settings) 
gigabytes, that are needing a VACUUM after a COPY FREEZE.
With this patch, the first and usually the last transforming query is performed 
much faster after initial load.

I have read this patch and have no outstanding comments on it.
Pavan Deolasee demonstrates the expected speed improvement.

The new status of this patch is: Ready for Committer


Re: New vacuum option to do only freezing

2019-04-01 Thread Darafei Praliaskouski
The following review has been posted through the commitfest application:
make installcheck-world:  not tested
Implements feature:   not tested
Spec compliant:   not tested
Documentation:not tested

I have read this patch. I like the concept and would like it to get committed.

Question I have after reading the patch is around this construct:

/*
-* If there are no indexes then we can vacuum the page right now
-* instead of doing a second scan.
+* If there are no indexes we can vacuum the page right now 
instead of
+* doing a second scan. Also we don't do that but forget dead 
tuples
+* when index cleanup is disabled.
 */

This seems to change behavior on heap tuples, even though the option itself is 
documented to be about "Indexes" only. This needs either better explanation 
what "forget dead tuples" means and that it does not lead to some kind of 
internal inconsistency, or documentation on what is the effect on heap tuples.

This same block raises a question on "after I enable this option, do a vacuum, 
decide I don't like it, what do I need to do to disable it back?" - just set it 
back, or set and perform a vacuum, or set and perform a VACUUM FULL as 
something was "forgotten"?

It may happen this concept of "forgetting" is documented somewhere in the near 
comments but I'd prefer it to be stated explicitly.

The new status of this patch is: Waiting on Author


Re: reloption to prevent VACUUM from truncating empty pages at the end of relation

2019-04-06 Thread Darafei Praliaskouski
The following review has been posted through the commitfest application:
make installcheck-world:  not tested
Implements feature:   not tested
Spec compliant:   not tested
Documentation:not tested

I have read disable-vacuum-truncation_v6.patch.

I like it the way it is.

Word "truncation" for me means "remove everything from the table" (as in 
TRUNCATE) and I don't want VACUUM to do that :), shrink feels appropriate. 
TRIM has a connotation from SSD drives, where you can discard blocks in the 
middle of your data and let the underlying infrastructure handle space 
allocation on it.
Please keep it for the good times Postgres can punch a hole in the middle of 
relation and let filesystem handle that space.

The new status of this patch is: Ready for Committer


Re: Cast jsonb to numeric, int, float, bool

2018-02-28 Thread Darafei Praliaskouski
The following review has been posted through the commitfest application:
make installcheck-world:  tested, passed
Implements feature:   tested, passed
Spec compliant:   tested, passed
Documentation:not tested

We're using this patch and like it a lot.

We store a lot of log-like data in s3-hosted .json.gz files.
Sometimes we need to suddenly ingest them and calculate statistics and check 
the new what-ifs.
We ingest data to simple single-column table with jsonb field, and then perform 
our calculation on top of it.
Without this patch the only option to get data already parsed as numbers into 
jsonb into calculation is via binary-text-binary transformation.

We're relying on the patch for our custom spatial type extension and casting in 
it.
https://github.com/gojuno/lostgis/blob/master/sql/types/type_tpv.sql#L21 

For postgres installations without the patch we do WITH INOUT cast stubbing,
https://github.com/gojuno/lostgis/blob/master/sql/types/__jsonb_casts.sql
- but without performance benefits of raw C processing :)

A thing this patch does not implement is cast from jsonb to bigint.
That would be useful for transforming stored osm_id OpenStreetMap object 
identifiers.
Right now we're stubbing it with jsonb::numeric::bigint cast, but the middle 
one would be nice to get rid of.

The new status of this patch is: Ready for Committer


Re: [PATCH][PROPOSAL] Add enum releation option type

2019-02-15 Thread Darafei Praliaskouski
The following review has been posted through the commitfest application:
make installcheck-world:  not tested
Implements feature:   not tested
Spec compliant:   not tested
Documentation:not tested

I believe this patch simplifies infrastructure. As non native speaker, I'm okay 
with presented version of comma.

Re: compress method for spgist - 2

2017-12-05 Thread Darafei Praliaskouski
The following review has been posted through the commitfest application:
make installcheck-world:  not tested
Implements feature:   not tested
Spec compliant:   not tested
Documentation:tested, passed

I've read the updated patch and see my concerns addressed.

I'm looking forward to SP-GiST compress method support, as it will allow usage 
of SP-GiST index infrastructure for PostGIS.

The new status of this patch is: Ready for Committer