Re: [DOCS] intarray - benefits over regular int[]?

2017-08-22 Thread Conor McNally
Thanks,

The line about it being faster gives me the reassurance that I need.  From
just the introduction I was unsure of the actual benefit over int[] - the
operators look like they can all be replicated using the standard library,
albeit in much more convoluted ways!  Is it general advice therefore that
if I've got an array of intergers, no nulls, it is advantageous for me to
install and use intarray, and I'd really only want to use int[] if I had
nulls?  Or is there something more to it?

Kind regards,

Conor

On Mon, Aug 21, 2017 at 9:02 PM, David G. Johnston <
david.g.johns...@gmail.com> wrote:

> On Mon, Aug 21, 2017 at 12:33 PM,  wrote:
>
>> The following documentation comment has been logged on the website:
>>
>> Page: https://www.postgresql.org/docs/10/static/intarray.html
>> Description:
>>
> ​[...]​
>
>
>> At the moment I am a little unclear whether intarray is effectively a
>> deprecated module, or if it can still provide some distinct advantages -
>> e.g. performance, features or just a handy syntax -- for new projects too?
>>
>
> ​A quick skim of this and the generic array functions/operators
> documentation shows that numerous functions and operators exist for
> intarray that do not have equivalents in core.  For that alone I'd say this
> extension remains not-deprecated.
>
> Its implied that it also performs better, ostensibly because the code need
> only considered non-null integer arrays whereas the general functions have
> to consider arrays of all types.  I'm not aware of any recent benchmark
> runs that would indicate whether improvements to arrays in recent versions
> of PostgreSQL have narrowed or eliminated that gap.
>
> David J.
>


Re: [DOCS] Mention new `GENERATED … AS IDENTITY` feature in the `Serial Types` page ?

2017-08-22 Thread Peter Eisentraut
On 7/10/17 16:40, Basil Bourque wrote:
> I suggest adding a mention of `GENERATED … AS IDENTITY` as a replacement for 
> `SERIAL` in the “Serial Types” section 8.1.4 of the “Data Types” page.

Done, thanks for the tip!

-- 
Peter Eisentraut  http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


-- 
Sent via pgsql-docs mailing list (pgsql-docs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-docs


Re: [DOCS] intarray - benefits over regular int[]?

2017-08-22 Thread Tom Lane
Conor McNally  writes:
> The line about it being faster gives me the reassurance that I need.  From
> just the introduction I was unsure of the actual benefit over int[] - the
> operators look like they can all be replicated using the standard library,
> albeit in much more convoluted ways!  Is it general advice therefore that
> if I've got an array of intergers, no nulls, it is advantageous for me to
> install and use intarray, and I'd really only want to use int[] if I had
> nulls?  Or is there something more to it?

TBH, I think that intarray is legacy code that we haven't got around to
replacing completely, but the handwriting is on the wall.  No one has put
any meaningful development effort into it in years; rather, the action
has been in improving the core code's array functionality.  And there are
definitely gotchas involved in using it without care.  Because it offers
variant versions of some of the same operator names defined by the core,
you can get cases where a query will not use an index because the query
is using the extension's <@ operator where the index is for the core <@
operator, or vice versa.  (See list archives for many complaints of
this kind.)

If you can show that use of intarray offers life-changing improvements
for your application over what the core code can do for you, then by
all means use it.  If it doesn't offer strong, measurable improvements,
I counsel against getting involved with it.

regards, tom lane


-- 
Sent via pgsql-docs mailing list (pgsql-docs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-docs