Thread: 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, Pennsylvania19026
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
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
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
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
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
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
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 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
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, Pennsylvania19026
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, Pennsylvania19026
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.