Question and suggestion about application binary compatibility policy - Mailing list pgsql-hackers

From Tsunakawa, Takayuki
Subject Question and suggestion about application binary compatibility policy
Date
Msg-id 0A3221C70F24FB45833433255569204D1F57BAA7@G01JPEXMBYT05
Whole thread Raw
Responses Re: Question and suggestion about application binary compatibility policy
Re: Question and suggestion about application binary compatibility policy
Re: Question and suggestion about application binary compatibility policy
List pgsql-hackers
Hello,

I'd like to ask you about the policy of application binary compatibility.  And have a suggestion as well.

QUESTION
==================================================

My customer asked me if the following usage is correct.

- Build an embedded SQL C application with PostgreSQL 9.2.
- Distribute the app without ecpg nor libpq libraries.  Require users to install PostgreSQL client which includes ecpg
andlibpq libraries.
 
- Use the app with newer PostgreSQL major versions without rebuilding the app.  That is, the users just replaces the
PostgreSQLclient.
 

I expect this is legal, because the so_major versions of ecpg and libpq are 6 and 5 respectively for all PostgreSQL 9.x
versionsso far.  However, I could not find any description of this binary compatibility policy in the manual, so I
haven'tbeen able to answer the customer.
 

What's the official policy of application binary compatibility?  I found the same discussion in the below thread, but
I'mafraid any clear answer wasn't given:
 

https://www.postgresql.org/message-id/522F0B6B.1040006@4js.com


SUGGESTION
==================================================

How about adding an article about application binary compatibility in the following section, as well as chapters for
libpq,ECPG, etc?
 

17.6. Upgrading a PostgreSQL Clust
https://www.postgresql.org/docs/devel/static/upgrading.html

There are three kinds of application assets that users are concerned about when upgrading.  Are there anything else to
mention?

* libpq app
* ECPG app
* C-language user defined function (and other stuff dependent on it, such as extensions, UDTs, etc.)

Regards
Takayuki Tsunakawa




pgsql-hackers by date:

Previous
From: Masahiko Sawada
Date:
Subject: Re: Reviewing freeze map code
Next
From: Michael Paquier
Date:
Subject: Re: [GENERAL] Permission Denied Error on pg_xlog/RECOVERYXLOG file