473,396 Members | 1,826 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Multiple database services and multiple versions on Red Hat Linuxsystems

Multiple database services and multiple versions on Red Hat Linux systems

The way it works is that we require a specific service script for each
database service (that is listening on each port). Each of these
services has a init script in /etc/init.d and a corresponding
configuration file in /etc/sysconfig. We use the 'chkconfig' utility to
decide if each of those services will be activated on boot or not (it
manipulates links under the /etc/init.c for each SysV run level).

We currently support multiple versions running. I have myself half a
dozen database services on my system with versions that range from 7.1
to 7.4. As each configuration file for each service points to the
location of the proper binaries we have no problems dealing with this.

For example:

# cat /etc/sysconfig/rhdb-production
PGDATA=/usr/local/pgsql73/data
PGDATA2=/var/lib/pgsql2
PGDATA3=/var/lib/pgsql3
PGDATA4=/var/lib/pgsql4
PGENGINE=/home/fnasser/INST/pgsql73/bin
PGPORT=5433
PGLOG=/var/log/rhdb/rhdb-production
PGINITOPTIONS="--lc-messages=pt_BR"
As you can see the PGENGINE points to a binary that I built myself. It
is unfortunate that I can only have one RPM installed at a time.

Oliver Elphick has suggested different package names for each version
that has a different catalog number (i.e., we need a pg_dump +
pg_restore and we can't use these version's postmaster to access other
version's data areas).

If we configure each of these packages with a different base path which
includes the version and install, of course, to these versioned
directories, we will end up with a setup similar to what I have on my
system with the bakends I've built myself. It can be even a Java-like
solution

/usr/pgsql/postgresql71
/usr/pgsql/postgresql72
/usr/pgsql/postgresql73
/usr/pgsql/postgresql74

or have then scattered if the LSB so requires (I believe it does not
address this case though).
As the binaries have been configured with the versioned paths, all RPMs
are normal (not relocatable) and the binaries will refer to the
libraries and other files of the proper version. So by setting one's
path, the user can use the version she or he seems fit.

For Red Hat's users (and Debian's, I believe), the 'alternatives'
utility can be used to direct links from /usr/bin and such to the chosen
version files, so a default could be established and for such there
would be no need to change the PATH variable.
Also, the multiple versioning can be kept only on the server side. On
the client side the latest version will suffice if it guarantees a
(minimum) 2 version backwards compatibility (as we do with the JDBC driver).

Besides the client side backaward compatibility, what the core
postgresql team could also do to support this would be to add version
checks and issue warnings on mismatches (or errors if used against a
version too old). Also, make sure the path of the binary does imply in
the location of the other files (i.e., the path from configure is always
used, and not some hardcoded value).

As you see, these goals can be achieved without any changes in the
postgresql community sources.

Regards to all,
Fernando
--
Fernando Nasser
Red Hat Canada Ltd. E-Mail: fn*****@redhat.com
2323 Yonge Street, Suite #300
Toronto, Ontario M4P 2C9
---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to ma*******@postgresql.org

Nov 12 '05 #1
0 1535

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

11
by: Mike | last post by:
Looking to find any information on how to properly configure multiple instances of DB2. This is on Win2k db2 ver 7.2. I am basically looking for information on how the multiple instance settings...
1
by: Zen | last post by:
From http://support.microsoft.com/kb/828956/ "Note Microsoft does not support the use of multiple versions of Microsoft Office on a Terminal Server. Coexistence is not supported on versions...
10
by: John | last post by:
I currently have a Windows Service that runs Transactions that are very Processor/Memory Intensive. I have a requirement to deploy multiple instances of the Web service on the Same server. Each...
1
by: Togacaptain | last post by:
I have a large database driven app that allows multiple web services to be deployed each allowing access to different parts of the database. I want to build a C# service to consume all of the web...
37
by: Allen Browne | last post by:
If you develop for others, you probably have multiple versions of Access installed so you can edit and create MDEs for clients in different versions. This works fine under Windows XP, even with...
1
by: assgar | last post by:
Hi I was using a schroll bar to display multiple rows of dynamically created from database records. The scrolling was not displaying the data properly so I have decided to use pagination. The...
2
by: Vaughn Haybittle | last post by:
Hi, I have a few questions relating to web services. First some Background: I have developed two classes in ASP.Net (VB): 1) The first is a class that contains some fields that represent...
8
by: Rory Becker | last post by:
Hi All I have a need for an asp.net page to make a call to a server which it did not originate from when a button is clicked. A simple call to pass 2-3 params and return a result. I am happy...
0
by: mcosgriff | last post by:
Using Visual Studio 2005, language is C# What I did so far was add a web reference, with this I can listen to a web service and receive an XML file with updated data and store relevant data off to...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.