Thread: E.1.2. Migration to Version 14

E.1.2. Migration to Version 14

From
Дмитрий Иванов
Date:
Hello!
E.1.2 Migration to Version 14
 array_append()array_prepend()array_cat()array_position()array_positions()array_remove()array_replace(), and width_bucket()

Is this a complete list of functions? Or you need to remove all functions:

Do the functions need to be deleted and restored, or can they be recreated?
I have a lot of them and they are called from other functions:

Uchet=# SELECT COUNT(pg_proc.proname) AS "COUNT"
Uchet-#    FROM pg_proc
Uchet-#   WHERE pg_proc.prosrc ~~ '%array%'::text AND pg_proc.pronamespace = 16443::oid;
 COUNT
-------
    89
(1 row)
Trying to estimate labor costs and migration opportunities.
Thanks!

Re: E.1.2. Migration to Version 14

From
Bruce Momjian
Date:
On Wed, Nov 10, 2021 at 12:30:37PM +0500, Дмитрий Иванов wrote:
> Hello!
> E.1.2 Migration to Version 14
>  array_append(), array_prepend(), array_cat(), array_position(), 
> array_positions(), array_remove(), array_replace(), and width_bucket()
> 
> Is this a complete list of functions? Or you need to remove all functions:
> Table 9.52. Array Functions
> 
> Do the functions need to be deleted and restored, or can they be recreated?
> I have a lot of them and they are called from other functions:
> 
> Uchet=# SELECT COUNT(pg_proc.proname) AS "COUNT"
> Uchet-#    FROM pg_proc
> Uchet-#   WHERE pg_proc.prosrc ~~ '%array%'::text AND pg_proc.pronamespace =
> 16443::oid;
>  COUNT
> -------
>     89
> (1 row)
> Trying to estimate labor costs and migration opportunities.
> Thanks!

Uh, I think they can just be recreated on the new server.  I think we
suggested delete then create so that the functions would not be called
accidentally on the new server before being recreated.

-- 
  Bruce Momjian  <bruce@momjian.us>        https://momjian.us
  EDB                                      https://enterprisedb.com

  If only the physical world exists, free will is an illusion.




Re: E.1.2. Migration to Version 14

From
Дмитрий Иванов
Date:
Хорошо спасибо! 
This does not give an understanding of the need to work with all the functions (Table 9.52) of arrays or specified in the release.
I am working on version 12 of the main kernel. I didn’t see what I’ll get, other than being up-to-date when upgrading to version 14. I faced performance degradation when using the array aggregation functions.
I have improved performance by using functions that take arrays as arguments.
CTEs give the same result, but are difficult to maintain.
If the declarative query structure were built with filtering before aggregation, this trick would not be needed, but this is not the case in version 12.
But this is not the case.
Based on the setting of the topic:
I have created functions that take an array for later aggregation of subordinate tuples.
This gave an exponential dependence of performance on selectivity.
I want to understand what I will get from version 14 and at the moment the benefits are illusory.




ср, 10 нояб. 2021 г. в 21:11, Bruce Momjian <bruce@momjian.us>:
On Wed, Nov 10, 2021 at 12:30:37PM +0500, Дмитрий Иванов wrote:
> Hello!
> E.1.2 Migration to Version 14
>  array_append(), array_prepend(), array_cat(), array_position(), 
> array_positions(), array_remove(), array_replace(), and width_bucket()
>
> Is this a complete list of functions? Or you need to remove all functions:
> Table 9.52. Array Functions
>
> Do the functions need to be deleted and restored, or can they be recreated?
> I have a lot of them and they are called from other functions:
>
> Uchet=# SELECT COUNT(pg_proc.proname) AS "COUNT"
> Uchet-#    FROM pg_proc
> Uchet-#   WHERE pg_proc.prosrc ~~ '%array%'::text AND pg_proc.pronamespace =
> 16443::oid;
>  COUNT
> -------
>     89
> (1 row)
> Trying to estimate labor costs and migration opportunities.
> Thanks!

Uh, I think they can just be recreated on the new server.  I think we
suggested delete then create so that the functions would not be called
accidentally on the new server before being recreated.

--
  Bruce Momjian  <bruce@momjian.us>        https://momjian.us
  EDB                                      https://enterprisedb.com

  If only the physical world exists, free will is an illusion.