Re: Question and suggestion about application binary compatibility policy

Поиск
Список
Период
Сортировка
От Marco Atzeri
Тема Re: Question and suggestion about application binary compatibility policy
Дата
Msg-id f5d59dad-1c2a-b072-f5f7-a624bac738f0@gmail.com
обсуждение исходный текст
Ответ на Re: Question and suggestion about application binary compatibility policy  ("Tsunakawa, Takayuki" <tsunakawa.takay@jp.fujitsu.com>)
Ответы Re: Question and suggestion about application binary compatibility policy  ("Tsunakawa, Takayuki" <tsunakawa.takay@jp.fujitsu.com>)
Список pgsql-hackers
On 31/05/2016 08:10, Tsunakawa, Takayuki wrote:
>> From: Michael Meskes [mailto:meskes@postgresql.org]
>>> Yes, but Windows users probably don't understand or know it.  So, I
>>> suggested explicitly describing the application binary compatibility
>>> policy in the PostgreSQL manual.  What do you think about it?
>>
>> Couldn't you point your customer to the system documentation?
>>
>> Personally I don't think standard system behavior should be documented for
>> each application relying on it but ymmv.
>
> I couldn't find appropriate system documentation.  Regarding Linux, I remember I saw some HOWTO on tldp.org website
whichexplains the concept of shared library soname, but it's not very friendly for users who just want to know the
applicationbinary compatibility policy of PostgreSQL.  And I don't think there's suitable documentation on Windows.
Evenif there is any, users will not be sure whether PostgreSQL follows those platform-specific conventions.  They may
havedoubts about it, because even the product version "PostgreSQL x.y.z" causes misconception that x is the major
versionand y is the minor one. 
>
> So, I suggested documenting the compatibility policy for clarification and user friendliness as in the Oracle
Databasedocumentation below. 
>
> http://docs.oracle.com/database/121/UPGRD/app.htm#UPGRD12547
>
>
> BTW, although this may be a separate topic, it may be better that we add the major version in the library names like
libpq5.dlland libecpg6.dll, so that the application can fail to run with the incompatible versions of libpq and
libecpg. FYI: 
>
> https://en.wikipedia.org/wiki/Side-by-side_assembly
>
> [Excerpt]
> Microsoft Visual C++ 2005 and 2008 employ SxS with all C runtime libraries. However, runtime libraries in Visual C++
2010no longer use this technology; instead, they include the version number of a DLL in its file name, which means that
differentversions of one DLL will technically be completely different DLLs now. 
>
>
> Any comments on these?  If there's no strong objection, I think I'll submit a documentation patch in the future.
>
> Regards
> Takayuki Tsunakawa
>

Hi,
on cygwin the postgresql binary package already include
the library versions:

   /usr/bin/cygecpg-6.dll
   /usr/bin/cygecpg_compat-3.dll
   /usr/bin/cygpgtypes-3.dll
   /usr/bin/cygpq-5.dll

attached the patch used for the build.

Regards
Marco



Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Shay Rojansky
Дата:
Сообщение: Binary I/O for isn extension
Следующее
От: Andreas Karlsson
Дата:
Сообщение: Re: IPv6 link-local addresses and init data type