# Multi-Version support for Extensions

DevFeed: [Multi-Version support for Extensions](<https://devfeed.tech/articles/multi-version-support-for-extensions-34420.md>)

Original publisher: [Read original article](<https://tapoueh.org/blog/2011/06/multi-version-support-for-extensions/>)

Author: Dimitri Fontaine PostgreSQL Major Contributor; Author

Published: 2011-06-29T07:50:00Z

Content type: tutorial

Language: en

Sources: [Dimitri Fontaine](<https://devfeed.tech/sources/dimitri-fontaine.md>)

Topics: [Extension](<https://devfeed.tech/topics/extension.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [releases](<https://devfeed.tech/topics/releases.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [extensions](<https://devfeed.tech/tags/extensions.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [releases](<https://devfeed.tech/tags/releases.md>), [version](<https://devfeed.tech/tags/version.md>)

## AI overview

A tutorial on packaging PostgreSQL extensions for compatibility across PostgreSQL 8.3, 8.4, 9.0, 9.1, and later releases. It explains adjusting supported-version handling, building packages, adding a control file, and adapting installation scripts.

## Source excerpt

We still have this problem to solve with extensions and their packaging. How to best organize things so that your extension is compatible with before 9.1 and 9.1 and following releases of PostgreSQL? Well, I had to do it for the ip4r contribution, and I wanted the following to happen: dpkg-deb: building package `postgresql-8.3-ip4r' ... dpkg-deb: building package `postgresql-8.4-ip4r' ... dpkg-deb: building package `postgresql-9.0-ip4r' ... dpkg-deb: building package `postgresql-9.1-ip4r' ... And here's a simple enough way to achieve that. First, you have to get your packaging ready the usual way, and to install the build dependencies. Then realizing that /usr/share/postgresql-common/supported-versions from the latest postgresql-common package will only return 8.3 in lenny (yes, I'm doing some backporting here), we have to tweak it.