Kexi cannot access PostgreSQL databases anymore

Bug #61850 reported by Nicola Larosa
18
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu
Confirmed
Undecided
Unassigned
koffice (Ubuntu)
Invalid
Undecided
Unassigned
kubuntu-meta (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

When trying to connect to a database server, only the MySQL database type is shown, the PostgreSQL one is not there anymore.

Breezy included a kexi-postgresql-driver package: it is not present in Dapper, nor in Edgy, anymore.

The Debian changelog mentions removing a build-dep on postgresql-dev. The files

/usr/lib/kde3/kexidb_pqxxsqldriver.la
/usr/lib/kde3/kexidb_pqxxsqldriver.so
/usr/lib/kde3/keximigrate_pqxx.la
/usr/lib/kde3/keximigrate_pqxx.so

previously contained in the kexi-postgresql-driver package, are not present in the kexi one, nor anywhere else.

This makes kexi unusable with PostgreSQL.

Revision history for this message
PetyrRahl (petyr) wrote :

I can confirm that this is the case on my laptop as well.

Revision history for this message
Romeriz (stephen-cass-ltd) wrote :

This is also an issue for me on several machines.

Revision history for this message
Alexandros (akarypid) wrote :
Revision history for this message
Donatas Glodenis (dgvirtual) wrote :

The above mentioned Kexi page gives a false reason for the problem. The Kexi packages in the official repository, version 1:1.5.2-0ubuntu2.1 REPLACES the kexi-postgresql-driver package, so it is not an issue of them being in different repositories.

I can confirm the problem on my computer running Edgy as well.

Revision history for this message
Martin Ellis (martin-ellis) wrote : Re: [Bug 61850] Re: Kexi cannot access PostgreSQL databases anymore

On Friday 19 January 2007 16:19, Donatas Glodenis wrote:
> The above mentioned Kexi page gives a false reason for the problem.

The reason I have given on the page is as described to me by the packager,
who I have no reason to disbelieve.

> The
> Kexi packages in the official repository, version 1:1.5.2-0ubuntu2.1
> REPLACES the kexi-postgresql-driver package, so it is not an issue of
> them being in different repositories.

This doesn't follow.

Kexi requires the PostgreSQL development files at build time.
Packages in main cannot "Build-Depend" on packages in universe.
Therefore, Kexi is built without PostgreSQL support in Ubuntu.

Later versions of Kexi replace the kexi-postgresql-driver package, because
that package is no longer useful with current versions of Kexi, and
the "Replaces:" field should indicate to your package manager that it can be
removed.

Revision history for this message
Nicola Larosa (teknico) wrote :

> Kexi requires the PostgreSQL development files at build time.
> Packages in main cannot "Build-Depend" on packages in universe.

So, when Kexi moved from Breezy universe to the Dapper main repo (presumably by being included in KOffice), why was the kexi-postgresql-driver package left behind?

> Later versions of Kexi replace the kexi-postgresql-driver package,
> because that package is no longer useful with current versions of Kexi

What do you mean, "not useful"? The Dapper, Edgy and Feisty packages all currently still miss the PostgreSQL drivers: the problem still stands.

Revision history for this message
Martin Ellis (martin-ellis) wrote :

On Saturday 20 January 2007 19:51, Nicola Larosa wrote:
> > Kexi requires the PostgreSQL development files at build time.
> > Packages in main cannot "Build-Depend" on packages in universe.
>
> So, when Kexi moved from Breezy universe to the Dapper main repo
> (presumably by being included in KOffice), why was the kexi-postgresql-
> driver package left behind?

Two reasons:
1) By moving from universe to main, the required build dependencies for
PostgreSQL support became unavailable, and hence Kexi builds without support
for PostgreSQL.

2) The kexi-postgresql-driver package was removed in the upstream Debian
package. The new Debian maintainer decided it would be better to include all
the drivers in the main Kexi package, because the KOffice source package was
already producing approximately 30 binary packages.

He included the PostgreSQL driver in the kexi package, and added
the "Replaces: kexi-postgresql-driver" field to the package, because in
Debian, the kexi package *did* replace the kexi-postgresql-driver package.

Debian doesn't have the main/universe distinction, so doesn't have this
problem.

The Replaces: field still makes some sense in Ubuntu. If you install Kexi 1.5
or Kexi 1.6 packages from Ubuntu, then the last released
kexi-postgresql-driver package is no use to you - it only works with Kexi 0.9
in Breezy.

> > Later versions of Kexi replace the kexi-postgresql-driver package,
> > because that package is no longer useful with current versions of Kexi
>
> What do you mean, "not useful"? The Dapper, Edgy and Feisty packages all
> currently still miss the PostgreSQL drivers:

"Not useful": I mean that, according to:
http://packages.ubuntu.com/kexi-postgresql-driver
the last version of the kexi-postgresql-driver is for Kexi 0.9.

That package will not work with the version of Kexi included with Dapper, Edgy
or Feisty. Those versions of Kexi should refuse to try to load drivers from
Kexi 0.9, because if they did, it'd only cause crashes due to binary
incompatibility.

> the problem still stands.

I was defending the comments I wrote on the Kexi wiki about the Ubuntu
packages, because Donatas claimed that they were inaccurate.
I've spoken to both the Debian packager and the Kubuntu packager for Kexi, and
I'm pretty sure they are accurate.

Yes, I'm aware the problem still stands.
That's why the comments on the wiki are there.

Make sense?

Revision history for this message
Nicola Larosa (teknico) wrote :

> Make sense?

Yes, thanks.

> By moving from universe to main, the required build
> dependencies for PostgreSQL support became
> unavailable, and hence Kexi builds without support
> for PostgreSQL.

Which dependencies, exactly? Why are they in universe? What can be done?

> Yes, I'm aware the problem still stands.

What can be done to solve it?

Revision history for this message
Martin Ellis (martin-ellis) wrote :

On Saturday 20 January 2007 21:09, Nicola Larosa wrote:
> > By moving from universe to main, the required build
> > dependencies for PostgreSQL support became
> > unavailable, and hence Kexi builds without support
> > for PostgreSQL.
>
> Which dependencies, exactly? Why are they in universe? What can be done?

The C++ wrapper library for the PostgreSQL client library called libpqxx.

I don't know why it's in universe. Perhaps because Canonical (or whoever
decides) doesn't want to provide things like security support for those
packages? No idea.

> > Yes, I'm aware the problem still stands.
>
> What can be done to solve it?

It can be dealt with upstream, by using something like dlopen to avoid a build
time dependency on the libraries. This isn't a great solution, because then
you lose the type checking you get by having a copy of the right version of
the PostgreSQL development headers around when compiling. It also means that
determining which drivers are available is no longer a case of simply
checking the system configuration cache (built by kbuildsycoca).

Or Kexi could be modified to use the Qt SQL API (although this may have some
drawbacks, and isn't likely to happen any time soon).

Or Kexi could be modified to use the PostgreSQL C library directly (not a bad
idea - libpqxx has caused bother for the Kexi team before).

It could also be fixed in Ubuntu, by moving PostgreSQL into main (also a good
idea).

Or it could they could fix it by creating a separate tarball containing just
the PostgreSQL driver source code, and putting that in universe.

That's all I can think of, off the top of my head.

Revision history for this message
Nicola Larosa (teknico) wrote :

> It could also be fixed in Ubuntu, by moving PostgreSQL
> into main (also a good idea).

Wha.. WHAT? The whole PostgreSQL is in universe?!? Lemme check... you're right, I didn't ever notice.

How could it possibly be? The hands-down best free/open RDBMS is not officially supported by Canonical?

That's plain unbelievable. Are there any historical reasons for this?

I'm shocked.

Revision history for this message
Martin Ellis (martin-ellis) wrote :

On Saturday 20 January 2007 23:25, Nicola Larosa wrote:
> > It could also be fixed in Ubuntu, by moving PostgreSQL
> > into main (also a good idea).
>
> Wha.. WHAT? The whole PostgreSQL is in universe?!? Lemme check... you're
> right, I didn't ever notice.

Oops, I think I was wrong there. There's a postgresql meta-package in
universe, but postgresql-8.1 is in main.

I should have said "by moving libpqxx to main".

Revision history for this message
Nicola Larosa (teknico) wrote :

> Oops, I think I was wrong there. There's a postgresql
> meta-package in universe, but postgresql-8.1 is in main.

Yeah, looking again, v.8.0 is in universe, but 8.1 is in main. All the same, a few versionless packages are still in universe (postgresql, -doc, -dev, -contrib), go figure.

> I should have said "by moving libpqxx to main".

Guess what? It's already there! libpqxx-dev and libpqxx-2.6.8 in feisty are in main. :-)

So it looks like reinstating in Kexi a build-dep on libpqxx should be enough to reinclude PostgreSQL support in Kexi. :-)

Revision history for this message
Martin Ellis (martin-ellis) wrote :

On Sunday 21 January 2007 07:16, Nicola Larosa wrote:
> Guess what? It's already there! libpqxx-dev and libpqxx-2.6.8 in feisty
> are in main. :-)

Great! To be honest, I stopped using Kubuntu after edgy came out, so not
really keeping track.

> So it looks like reinstating in Kexi a build-dep on libpqxx should be
> enough to reinclude PostgreSQL support in Kexi. :-)

Yup, sounds like it :o)

Peter Adamka (malmo)
Changed in koffice:
status: Unconfirmed → Confirmed
Changed in kexi:
status: Unconfirmed → Rejected
Changed in koffice:
status: Confirmed → Rejected
William Grant (wgrant)
Changed in koffice:
status: Rejected → Confirmed
Revision history for this message
Timmie (timmie) wrote :

Hello,
can you just synch this package again from Debian?

They seem to have it fixed:

http://mail.kde.org/pipermail/kexi/2006-September/000228.html
Thanks, Isaac. It looks like the Debian package is ok, it's the Ubuntu one
that's missing the PostgreSQL files. Sorry for having bothered the Debian
maintainers about this Ubuntu-only issue.

Revision history for this message
Timmie (timmie) wrote :

Kexi web page states:
http://www.kexi-project.org/wiki/wikiview/index.php?KnownErrorsInKexiPackages#Kubuntu_Ubuntu
 * Update - 21 January 2007: It appears that the required packages have been moved to main for the forthcoming 'Feisty Fawn' release, so hopefully this bug will be resolved with that release.

=> this didn't happen.

Please include the postgres-driver.

Thanks for looking at this. best regards.

Revision history for this message
David Masover (ninja-slaphack) wrote : 63 megs of source archives...

I'm trying my best to be polite, because this bug has been open for over a year now...

Can someone provide a bit of status here? Is this intended to be fixed in Gusty? Is there a reason it can't be fixed in Feisty?

Would it be at all helpful for me to post a patch of my changes, when I'm done?

Revision history for this message
Peter Adamka (malmo) wrote :

Looks like this bug is fixed. Kexi package 1.6.3-0ubuntu5 (gutsy) contains support for postgresql.

Revision history for this message
Emanuele Torrenti (e-torrenti) wrote :

I can't use PostgreSQL driver in my Kubuntu Feisty. My kexi is:

emanuele@fuel:~$ kexi --version
Qt: 3.3.7
KDE: 3.5.7
Kexi: 1.1.3 (KOffice 1.6.3)

I have PostgreSQL server correctly installed and working for other task(such as JDBC connection).

What's the ultimate answer to "How to enable postgres support for kexi in *ubuntu Feisty?" ?

Thanks a lot, Emanuele

Revision history for this message
Daniel T Chen (crimsun) wrote :

Is this symptom still reproducible in 8.10 beta or later?

Changed in koffice:
status: Confirmed → Incomplete
Revision history for this message
Jonathan Thomas (echidnaman) wrote :

Kexi hasn't been in its own source package since a long time. It's in koffice for all supported Ubuntu releases.

Changed in kexi:
status: New → Invalid
Revision history for this message
Jonathan Thomas (echidnaman) wrote :

Also marking the koffice task invalid due to inactivity.

Changed in koffice:
status: Incomplete → Invalid
Changed in ubuntu:
status: Invalid → Confirmed
Revision history for this message
Philip Muškovac (yofel) wrote :

Please don't reopen bugs without explaining why you're doing so, thanks.

Changed in ubuntu:
status: Confirmed → Invalid
Revision history for this message
Nicola Larosa (teknico) wrote :

Currently the kexi-postgresql-driver package only builds for LTS releases: it is currently present in 12.04 and 14.04. See also bug #1470781.

Changed in ubuntu:
status: Invalid → Confirmed
Revision history for this message
Jaroslaw Staniek (staniek) wrote :

Could someone please explain me what's the problem? Why the bug is valid again?

Revision history for this message
Nicola Larosa (teknico) wrote :

The bug is still there: Kexi cannot access PostgreSQL databases, because the kexi-postgresql-driver package has been missing from 14.10, 15.04 and 15.10, see http://packages.ubuntu.com/search?keywords=kexi-postgresql-driver .

Revision history for this message
Jaroslaw Staniek (staniek) wrote :

I see but why? Is libpqxx the reason?

Wouldn't the missing component block the release of the calligra / kexi package?

Revision history for this message
Nicola Larosa (teknico) wrote :

I don't know. I'm just reporting the problem, not sure about the root cause at this point.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.