I have been asked by the major PHP developer Rasmus Lerdorf to see if
the PostgreSQL/PHP interface needs any improvements.

Is the current PostgreSQL interface module in PHP adequate?  Does it
support all the current libpq features?

If not, would someone submit some patches to the PHP folks.  They want
us to work well with PHP.  They are basically encouraging us to improve
it in any way we can.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Wed, 27 Dec 2000 00:56:26 -0500 (EST)
Bruce Momjian <pgman@candle.pha.pa.us>
PHP and PostgreSQL 
Bruce Momjian wrote:
> 
> I have been asked by the major PHP developer Rasmus Lerdorf to see if
> the PostgreSQL/PHP interface needs any improvements.
> 
> Is the current PostgreSQL interface module in PHP adequate?  Does it
> support all the current libpq features?
> 
> If not, would someone submit some patches to the PHP folks.  They want
> us to work well with PHP.  They are basically encouraging us to improve
> it in any way we can.

In a current project, I am using Postgres, Oracle, and PHP. I think
PHP's API is very complete and usable, I can't think of anything we've
run into that was a result of PHP lacking a feature.

The only thing I'd like to see would be an Oracle construct moved to
Postgres. The idea that we can "prepare" a statement then execute it
multiple times without going through the planner more than once. This
would also require the ability to create and set arbitrary variables in
a Postgres session. 

Since these are programmatic queries, only a handful of different SQL
queries are ever executed. The ability to cache the planned query tree
(is this the right terminology?) in a shared block, and simply reuse it,
in the multiple back-ends, with a new variable value, would speed up
some of the more complex queries, I guess.

-- 
http://www.mohawksoft.com

Wed, 27 Dec 2000 08:46:15 -0500
mlw <markw@mohawksoft.com>
Re: PHP and PostgreSQL
Bruce Momjian wrote:
> 
> I have been asked by the major PHP developer Rasmus Lerdorf to see if
> the PostgreSQL/PHP interface needs any improvements.
> 
> Is the current PostgreSQL interface module in PHP adequate?  Does it
> support all the current libpq features?
> 
> If not, would someone submit some patches to the PHP folks.  They want
> us to work well with PHP.  They are basically encouraging us to improve
> it in any way we can.

If I can put my 0.02 Euros, I think there are two issues that deserve to
be fixed, both are relative to persistent connections.

The first is that the transaction state is (obviously) kept between
connections. This is not a problem in itself, but there are some
situations where the transaction block is not closed with COMMIT or
ABORT with the obvious consequencies when the connection is reused (and
with the locks not released). As a workaround I registered a shutdown
funcion that sends an ABORT command every time a script finishes his
processing but this results in a "Not in trasaction block" error most of
the time (harmless but pretty annoying).
IMHO there should be some sort of lightweight reset that puts the
connection in its pristine state without the need to fork a backend
againg and reopen the TCP connection.

The second is that if PostgreSQL is restarted, PHP doesn't detect that
and an error message is seen for every persistent connection. IMHO PHP
should detect a closed connection and clear the connections pool.

Bye!

-- 
 Daniele

-------------------------------------------------------------------------------
 Daniele Orlandi - Utility Line Italia - http://www.orlandi.com
 Via Mezzera 29/A - 20030 - Seveso (MI) - Italy
-------------------------------------------------------------------------------

Wed, 27 Dec 2000 14:39:14 +0000
Daniele Orlandi <daniele@orlandi.com>
Re: PHP and PostgreSQL
I'd say the most important thing would be to get it upto speed with 7.1.
Make sure PHP supports large objects and the TOAST properly.

Adam Lang
Systems Engineer
Rutgers Casualty Insurance Company
http://www.rutgersinsurance.com
----- Original Message -----
From: "Bruce Momjian" <pgman@candle.pha.pa.us>
To: "PostgreSQL-development" <pgsql-hackers@postgresql.org>;
"PostgreSQL-interfaces" <pgsql-interfaces@postgresql.org>
Sent: Wednesday, December 27, 2000 12:56 AM
Subject: [INTERFACES] PHP and PostgreSQL


> I have been asked by the major PHP developer Rasmus Lerdorf to see if
> the PostgreSQL/PHP interface needs any improvements.
>
> Is the current PostgreSQL interface module in PHP adequate?  Does it
> support all the current libpq features?
>
> If not, would someone submit some patches to the PHP folks.  They want
> us to work well with PHP.  They are basically encouraging us to improve
> it in any way we can.
>
> --
>   Bruce Momjian                        |  http://candle.pha.pa.us
>   pgman@candle.pha.pa.us               |  (610) 853-3000
>   +  If your life is a hard drive,     |  830 Blythe Avenue
>   +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026


Wed, 27 Dec 2000 11:24:26 -0500
"Adam Lang" <aalang@rutgersinsurance.com>
Re: PHP and PostgreSQL 
Adam Lang wrote:
> 
> I'd say the most important thing would be to get it upto speed with 7.1.
> Make sure PHP supports large objects and the TOAST properly.

What would be the problem there? As I understand TOAST, the application shouldn't take any
notice of it's inner workings whatsoever . . . also, I've used TOAST with PHP (i.e. I've
managed to insert more than 8 k into a row with the rowsize set to 8 k), without any
trouble. I don't know about large objects but as I heard, the interface didn't change?!

- Frank

Wed, 27 Dec 2000 18:03:39 +0100
Frank Joerdens <frank@joerdens.de>
Re: PHP and PostgreSQL
I have been searching without luck on a howto on how to create locales for 
postgres. Could somebody please point me in the general direction? Thanks.

:wq
Tim Uckun
Due Diligence Inc. http://www.diligence.com/   Americas Background 
Investigation Expert.
If your company isn't doing background checks, maybe you haven't considered 
the risks of a bad hire.


Wed, 27 Dec 2000 10:18:01 -0700
Tim Uckun <tim@diligence.com>
Creating locales.
I thought I saw mention on the interfaces list that the ODBC driver needed
to be modified to properly use the large objects.

Adam Lang
Systems Engineer
Rutgers Casualty Insurance Company
http://www.rutgersinsurance.com
----- Original Message -----
From: "Frank Joerdens" <frank@joerdens.de>
To: "Adam Lang" <aalang@rutgersinsurance.com>
Cc: "Bruce Momjian" <pgman@candle.pha.pa.us>; "PostgreSQL-development"
<pgsql-hackers@postgresql.org>; "PostgreSQL-interfaces"
<pgsql-interfaces@postgresql.org>
Sent: Wednesday, December 27, 2000 12:03 PM
Subject: Re: [INTERFACES] PHP and PostgreSQL


> Adam Lang wrote:
> >
> > I'd say the most important thing would be to get it upto speed with 7.1.
> > Make sure PHP supports large objects and the TOAST properly.
>
> What would be the problem there? As I understand TOAST, the application
shouldn't take any
> notice of it's inner workings whatsoever . . . also, I've used TOAST with
PHP (i.e. I've
> managed to insert more than 8 k into a row with the rowsize set to 8 k),
without any
> trouble. I don't know about large objects but as I heard, the interface
didn't change?!
>
> - Frank


Wed, 27 Dec 2000 13:46:44 -0500
"Adam Lang" <aalang@rutgersinsurance.com>
Re: PHP and PostgreSQL
I agree, but I figured that if the 7.1 upgrade breaks some of the large
object interface in the ODBC code, it may possibly break some of the
interface in the php-psql code.  That's why I said it should probably be
checked. ;)

Adam Lang
Systems Engineer
Rutgers Casualty Insurance Company
http://www.rutgersinsurance.com
----- Original Message -----
From: "Frank Joerdens" <frank@joerdens.de>
To: "Adam Lang" <aalang@rutgersinsurance.com>
Cc: "PostgreSQL-development" <pgsql-hackers@postgresql.org>;
"PostgreSQL-interfaces" <pgsql-interfaces@postgresql.org>
Sent: Wednesday, December 27, 2000 5:22 PM
Subject: Re: [INTERFACES] PHP and PostgreSQL


> Adam Lang wrote:
> >
> > I thought I saw mention on the interfaces list that the ODBC driver
needed
> > to be modified to properly use the large objects.
>
> You normally wouldn't use ODBC to access Postgres from PHP but rather
> the Postgres-specific interface. You _can_ use ODBC as well but normally
> that doesn't provide any advantage. If your concern is database
> abstraction, there are several libraries for PHP that provide it in
> varying degrees, ODBC would be just one, possibly not optimal, solution
> for the problem. Generally, from following the PHP lists and looking at
> columns on, for instance, phpbuilder.com, PHP folks don't seem to
> concerned with the abstraction issue, as far as I can make out anyway
> (just my impression). Rasmus' question, IMHO, was about the PHP/Postgres
> interface, not about ODBC.
>
> - Frank


Wed, 27 Dec 2000 16:30:46 -0500
"Adam Lang" <aalang@rutgersinsurance.com>
Re: PHP and PostgreSQL
Adam Lang wrote:
> 
> I thought I saw mention on the interfaces list that the ODBC driver needed
> to be modified to properly use the large objects.

You normally wouldn't use ODBC to access Postgres from PHP but rather
the Postgres-specific interface. You _can_ use ODBC as well but normally
that doesn't provide any advantage. If your concern is database
abstraction, there are several libraries for PHP that provide it in
varying degrees, ODBC would be just one, possibly not optimal, solution
for the problem. Generally, from following the PHP lists and looking at
columns on, for instance, phpbuilder.com, PHP folks don't seem to
concerned with the abstraction issue, as far as I can make out anyway
(just my impression). Rasmus' question, IMHO, was about the PHP/Postgres
interface, not about ODBC.

- Frank

Wed, 27 Dec 2000 23:22:24 +0100
Frank Joerdens <frank@joerdens.de>
Re: PHP and PostgreSQL
Adam Lang wrote:
> 
> I thought I saw mention on the interfaces list that the ODBC driver needed
> to be modified to properly use the large objects.

You normally wouldn't use ODBC to access Postgres from PHP but rather
the Postgres-specific interface. You _can_ use ODBC as well but normally
that doesn't provide any advantage. If your concern is database
abstraction, there are several libraries for PHP that provide it in
varying degrees, ODBC would be just one, possibly not optimal, solution
for the problem. Generally, from following the PHP lists and looking at
columns on, for instance, phpbuilder.com, PHP folks don't seem to
concerned with the abstraction issue, as far as I can make out anyway
(just my impression).

- Frank

Wed, 27 Dec 2000 23:22:45 +0100
Frank Joerdens <frank@joerdens.de>
Re: PHP and PostgreSQL
On Wed, Dec 27, 2000 at 12:56:26AM -0500, Bruce Momjian wrote:
> I have been asked by the major PHP developer Rasmus Lerdorf to see if
> the PostgreSQL/PHP interface needs any improvements.
> 
> Is the current PostgreSQL interface module in PHP adequate?  Does it
> support all the current libpq features?
> 
> If not, would someone submit some patches to the PHP folks.  They want
> us to work well with PHP.  They are basically encouraging us to improve
> it in any way we can.

	I use PHP and Postgres together quite a bit, and find the APIs
complete enough for most things.  However, just last week I implemented

pg_lolseek($loid, $offset $whence)
and
pg_lotell($loid)

For some stuff that we are working on.  They are pretty straightforward,
and I can package them up and submit them if someone wants.

-- 
Adam Haberlach            |A cat spends her life conflicted between a
adam@newsnipple.com       |deep, passionate, and profound desire for
http://www.newsnipple.com |fish and an equally deep, passionate, and
'88 EX500                 |profound desire to avoid getting wet.

Wed, 27 Dec 2000 17:58:35 -0800
Adam Haberlach <adam@newsnipple.com>
Re: [HACKERS] PHP and PostgreSQL
You do not need create locale specially for postgres. Postgres uses
system locale. You could look at /usr/share/locale 

	regards,
		Oleg
On Wed, 27 Dec 2000, Tim Uckun wrote:

> Date: Wed, 27 Dec 2000 10:18:01 -0700
> From: Tim Uckun <tim@diligence.com>
> To: pgsql-hackers@postgresql.org
> Subject: [HACKERS] Creating locales.
> 
> I have been searching without luck on a howto on how to create locales for 
> postgres. Could somebody please point me in the general direction? Thanks.
> 
> :wq
> Tim Uckun
> Due Diligence Inc. http://www.diligence.com/   Americas Background 
> Investigation Expert.
> If your company isn't doing background checks, maybe you haven't considered 
> the risks of a bad hire.
> 

_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83


Sat, 30 Dec 2000 12:34:19 +0300 (GMT)
Oleg Bartunov <oleg@sai.msu.su>
Re: Creating locales.
Tim Uckun wrote:
> 
> I have been searching without luck on a howto on how to create locales for
> postgres. Could somebody please point me in the general direction? Thanks.
> 

PostgreSQL uses system locales (even to the extent that I was unable to
get 
it use any other locale by setting LC_* variables in
/etc/init.d/rc.d/postgres)

I did have to modify my locale (et_EE) to _not_ group \xff (&yumlaut;)
with 
other y-s but to sort it after all other "standard" chars to work
properly 
with LIKE optimisations. Perhaps the right approach would be to leave
\xff 
alone and to choose some character in the 128-159 range for 
bigger-than-any-other-char but as \xff is not used in estonian i was
able 
to do away with just moving it.

OTOH, it may be a good idea to start a repository for locales that are 
specifilally modified to work well with postgres. 

We may want to move the locale stuff inside the backend someday as
mandated 
by SQL standards and then some work would be already done.

--------
Hannu

Sat, 30 Dec 2000 13:43:30 +0200
Hannu Krosing <hannu@tm.ee>
Re: Creating locales.
Yes, please send them over to the PHP folks.  Thanks.

> On Wed, Dec 27, 2000 at 12:56:26AM -0500, Bruce Momjian wrote:
> > I have been asked by the major PHP developer Rasmus Lerdorf to see if
> > the PostgreSQL/PHP interface needs any improvements.
> > 
> > Is the current PostgreSQL interface module in PHP adequate?  Does it
> > support all the current libpq features?
> > 
> > If not, would someone submit some patches to the PHP folks.  They want
> > us to work well with PHP.  They are basically encouraging us to improve
> > it in any way we can.
> 
> 	I use PHP and Postgres together quite a bit, and find the APIs
> complete enough for most things.  However, just last week I implemented
> 
> pg_lolseek($loid, $offset $whence)
> and
> pg_lotell($loid)
> 
> For some stuff that we are working on.  They are pretty straightforward,
> and I can package them up and submit them if someone wants.
> 
> -- 
> Adam Haberlach            |A cat spends her life conflicted between a
> adam@newsnipple.com       |deep, passionate, and profound desire for
> http://www.newsnipple.com |fish and an equally deep, passionate, and
> '88 EX500                 |profound desire to avoid getting wet.
> 


-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Mon, 1 Jan 2001 22:56:52 -0500 (EST)
Bruce Momjian <pgman@candle.pha.pa.us>
Re: PHP and PostgreSQL

Would to send this over to the PHP folks for inclusion?  Thanks.

> On Wed, Dec 27, 2000 at 12:56:26AM -0500, Bruce Momjian wrote:
> > I have been asked by the major PHP developer Rasmus Lerdorf to see if
> > the PostgreSQL/PHP interface needs any improvements.
> > 
> > Is the current PostgreSQL interface module in PHP adequate?  Does it
> > support all the current libpq features?
> > 
> > If not, would someone submit some patches to the PHP folks.  They want
> > us to work well with PHP.  They are basically encouraging us to improve
> > it in any way we can.
> 
> 	I use PHP and Postgres together quite a bit, and find the APIs
> complete enough for most things.  However, just last week I implemented
> 
> pg_lolseek($loid, $offset $whence)
> and
> pg_lotell($loid)
> 
> For some stuff that we are working on.  They are pretty straightforward,
> and I can package them up and submit them if someone wants.
> 
> -- 
> Adam Haberlach            |A cat spends her life conflicted between a
> adam@newsnipple.com       |deep, passionate, and profound desire for
> http://www.newsnipple.com |fish and an equally deep, passionate, and
> '88 EX500                 |profound desire to avoid getting wet.
> 


-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Mon, 22 Jan 2001 23:55:56 -0500 (EST)
Bruce Momjian <pgman@candle.pha.pa.us>
Re: [INTERFACES] Re: PHP and PostgreSQL
On Mon, Jan 22, 2001 at 11:55:56PM -0500, Bruce Momjian wrote:
> > On Wed, Dec 27, 2000 at 12:56:26AM -0500, Bruce Momjian wrote:
> > > I have been asked by the major PHP developer Rasmus Lerdorf to see if
> > > the PostgreSQL/PHP interface needs any improvements.
> > > 
> > > Is the current PostgreSQL interface module in PHP adequate?  Does it
> > > support all the current libpq features?
> > > 
> > > If not, would someone submit some patches to the PHP folks.  They want
> > > us to work well with PHP.  They are basically encouraging us to improve
> > > it in any way we can.
> > 
> > 	I use PHP and Postgres together quite a bit, and find the APIs
> > complete enough for most things.  However, just last week I implemented
> > 
> > pg_lolseek($loid, $offset $whence)
> > and
> > pg_lotell($loid)
> > 
> > For some stuff that we are working on.  They are pretty straightforward,
> > and I can package them up and submit them if someone wants.
> > 

> Would to send this over to the PHP folks for inclusion?  Thanks.

	I sent them patches against the at-the-time up-to-date CVS tree back
when this first came up, they said that they failed, so I sent them another
set, and have not heard back from them.  It doesn't seem to show up in the
cvs logs.

	I'll bug someone again and see if I can find out what happened.  I mean,
they only have 240 people with write access to the cvs tree...

-- 
Adam Haberlach            |A cat spends her life conflicted between a
adam@newsnipple.com       |deep, passionate, and profound desire for
http://www.newsnipple.com |fish and an equally deep, passionate, and
'88 EX500                 |profound desire to avoid getting wet.

Tue, 23 Jan 2001 10:09:08 -0800
Adam Haberlach <adam@newsnipple.com>
Re: [INTERFACES] Re: PHP and PostgreSQL