Skip site navigation (1) Skip section navigation (2)

Re: Pet Peeves?

From: Roger Leigh <rleigh(at)codelibre(dot)net>
To: rhubbell <Rhubbell(at)iHubbell(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Pet Peeves?
Date: 2009-01-31 12:38:18
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-general
On Fri, Jan 30, 2009 at 03:44:48PM -0800, rhubbell wrote:
> On Fri, 30 Jan 2009 20:38:06 +0000
> Gregory Stark <stark(at)enterprisedb(dot)com> wrote:
> > 
> > rhubbell <Rhubbell(at)iHubbell(dot)com> writes:
> > 
> > > Nope, had to find it in another package called libpq-dev.
> > > That's on UbuntuHardy. Maybe it's a maintainer problem?
> > >
> > > What logic would lead someone to separate pg_config from everything else?
> > > Do people often just install the server and nothing else? Then what?
> > 
> > This is actually *required* by Debian/Ubuntu packaging rules. 
> > 
> > The development environment must be packaged separately from shared libraries
> > like libpq or else major snafus arise when a new soversion of libpq comes out.
> > You need to be able to have both versions installed simultaneously (in case
> > you have programs which require both) but that won't work if they both contain
> > things like header files or executables.
> Weren't .so born from a need to save disk space? Maybe startup speed too.
> Now they're a PITA.

Not really.  You just need to ensure that you have the correct development
environment for the version of PostgreSQL which you are targetting.  While
it might appear to be unnecessarily complex, you'll find that there's a
very good reason for it.

* Every library in Debian is split into separate runtime and development
  packages (and also documentation).
* Users will only need the runtime.
* Only developers and build dæmons will need to install the -dev
* Multiple -dev packages can and do exist for supporting multiple
  library versions, especially during transitions from one version to
  the next.  They can't generally be installed simultaneously
  (conflicting files common to both such as pg_config), so you just
  install the one you require.

This saves valuable diskspace on end-user systems as well as allowing
for the creation of known sane build environments (look up how Debian
uses Build-Depends for automated package building).

> > > BTW I ran into the need for pg_config upon installing DBD::Pg.
> > > Maybe DBD::Pg maintainer problem?
> > 
> > Installing a package for DBD::Pg or building it? The former would indeed be a
> > package bug.
> When I installed the package I did via CPAN so maybe this was my mistake.
> Not every CPAN package is packaged for debian so I often times don't bother
> checking if a perl module exists in debian I just do
> perl -MCPAN -e 'install (DBD::Pg)' or whatever pkg....

It's always worth checking first (first line):

% apt-cache search dbd | grep -i postgres
libdbd-pg-perl - Perl DBI driver for the PostgreSQL database server
libdbd-pg-ruby - Ruby/DBI PostgreSQL driver
libdbd-pg-ruby1.8 - Ruby/DBI PostgreSQL driver for Ruby 1.8
libdbd-pgsql - PostgreSQL database server driver for libdbi
postgresql-contrib-8.3 - additional facilities for PostgreSQL
libaprutil1-dbd-pgsql - The Apache Portable Runtime Utility Library - PostgreSQL Driver
libdbd-pg-ruby1.9 - Ruby/DBI PostgreSQL driver for Ruby 1.9

% apt-cache search 'dbd.*-perl' | grep -i postgres
libdbd-pg-perl - Perl DBI driver for the PostgreSQL database server
postgresql-contrib-8.3 - additional facilities for PostgreSQL


  .''`.  Roger Leigh
 : :' :  Debian GNU/Linux   
 `. `'   Printing on GNU/Linux?
   `-    GPG Public Key: 0x25BFB848   Please GPG sign your mail.

In response to


pgsql-general by date

Next:From: Gerhard HeiftDate: 2009-01-31 13:03:12
Subject: Returning old value on update
Previous:From: Jasen BettsDate: 2009-01-31 12:12:12
Subject: Re: database/table snapshot

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group