My database server of choice is also PostgreSQL.
Gilbert Hale wrote:
>Greetings! > >I have been looking at using a back end RDMS solution other than VFP, for >file size/capacity/ThinNet reasons, for some time. I have looked at MySQL, >Firebird, SQL Server and PostgreSQL. For a myriad of reasons I have pretty >much settled on starting to work with PostgreSQL, not the least reason of >which is that my primary target market (and current clients) is extremely >price sensitive. For that reason alone VFP based apps have been very well >received, that the VFP apps have also performed splendidly is icing on the >cake. I do not feel I can "get away" with the annual (or even a one time) >commercial license fee required by MySQL, much less the M$ fees for SQL >Server (the light version will not scale large enough for my purposes, and I >do not want to start playing with multiple databases to try to shoehorn it >as several tables alone within VFP are already pushing 2Gb unto themselves). >As interesting as Firebird is, there is far more material on PostgreSQL >(books, time in market) as compared to Firebird. And, as I recall, we have >a few ProFox members who have been using PostgreSQL and have been singing >its praises every chance they get to do so. > >
PostgreSQL is a great choice for a database server and it has a wonderful license.
>So, what I would like to know is if anyone in our group has any information >(words of warning <g>) that could help Jump Start my efforts to migrate from >a VFP back end to a PostgreSQL back end, and any recommendations for >connectivity (SPT?), configuration advice, books or web sites you have found >particularly useful, apps, or tools to help with the creation and management >of PostgreSQL databases (graphic interface of course <g>). > > I am running PostgreSQL on Fedora Core 4, and I use phpPgAdmin 4.0 as my main PostgreSQL Administration tool. phpPgAdmin is a web based app that can be access remotely and requires a web server. I run phpPgAdmin via apache web server under FC4; although, it should work equally well in Windows using IIS. You can download phpPgAdmin here:
http://phppgadmin.sourceforge.net/
PgAdmin III is also pretty good:
http://www.postgresql.org/ftp/pgadmin3/release/v1.4.1/
For interacting with the database server from a web based, or desktop based, application, I prefer to use SQL that is passed to the database, as opposed to calling stored procedures embedded in the database. This puts all the code in the application, as opposed to having some code in the application and some code in the database server in the form of stored procedures. This avoid the proprietary lock in that can occur when a substantial part of the application becomes embedded in the database itself. For example, stored procedure in PostgreSQL can be written in PL/pgSQL, PL/perl, PL/python, PL/php, PL/ruby, and some others. If you develop the application using PostgreSQL stored procedure, they might not port to a customer that insist that the application must work with their database server like MSSQL, MySQL, Oracle, Sybase, Firebird, etc. If portability is not an issue then you might consider using stored procedures which could give better performance, but I still think having the SQL within the application is better, especially for finding and maintain the SQL.
I have a FoxPro example application that connects to a PostgreSQL database server, but I no longer maintain the PostgreSQL database to which the application connects. It has been a while back since I messed with it; mayby it was written to VFP7. However, you could download the application to take a look see at the code and how a VFP application could be used with PostgreSQL. You would need to visiting my web site to grab the download. You would need to access my Shopping Cart application, create and account, and then procedure to the downloads. The name of the application is smsql.ZIP. It is free.
You might also be interested in taking a look at a perl application upon which the shopping cart is written. It can also be downloaded, and is named smcart-0.94-i386.tar.gz . Perl is great for creating web based applications. The shopping cart application is free for evaluation, but I ask $35.00 of those who find it useful. My web site is at:
http://www.smvfp.com
>Following are the hardware, O/S and application environments I plan to work >within. Unless anyone sees anything grossly wrong with the following >environment items I do not plan to bolster anything any further for a few >months. > >I plan to run the PostgreSQL Database Server on a Dell SC420 P4 512Mg server >class machine with a single 80Gb SATA Boot HDD, and a pair of 73Gb SCSI >drives for any data files. I have MS Windows 2003 Server installed already, >and it has been running reliably for other purposes (dbf databases >primarily) since I purchased it earlier this year. Within a few months I >will be adding at least one more server class machine to my LAN. > >
I think you would be much happier with PostgreSQL DBMS running in a Linux or Unix environment. PostgreSQL is rather new to windows, and would be better optimized for SuSE, RedHat, Ubuntu, SCO, BSD, SUN etc. SUN has recently announced that it will use PostgreSQL as the native database for its solaris OS, which has prompted Oracle to also cozied up to SUN. You might want to start thinking about PostgreSQL under Linux or Unix at some point in the future. Also, Apache is a great web server, especially under Linux or Unix in which it has its roots. For speed, reliabiltiy, and security, Linux/Unix is hard to beat for running a web, database, or mail server.
Here are some more useful links:
http://www.postgresql.org/docs/
>I have all VFP versions from VFP v-3 through v-9, just upgraded to >InstallShield v-11, and some time ago cut all of my development PCs to >either Win 2000 Pro (SP4) or XP Pro (SP1) with between 768Mg and 1Gb RAM >running on 1.8 - 3.0 Ghz PCs. The only Win98SE PCs I have any longer are >run inside M$ Virtual PC. I plan to use VFP v-9 for the transition to the >PostgreSQL back end, although I may well run under "SET ENGINEBEHAVIOR 70" >as some of my older SQL-SELECT statements works so well just as they are. >If I end up having to rewrite the SQL-SELECT statements for PostgreSQL >anyway I will then move to the "SET ENGINEBEHAVIOR 90" environment. Other >than that I do not see any issues, other than connectivity with updateable >Remote View constructs, that I need to concern myself with for VFP. In the >past I used a configuration table to set up the various values needed to >connect to Oracle v-8, and MS SQL Server v-6, set of databases. I plan to >do something quite similar for the PostgreSQL project, and would appreciate >any guidance re: connectivity issues. > >Okay, I am ready for the onslaught of information to begin coming in. I >thank all of my colleagues who have any tidbits of advice that can be >shared. > >Hey, as long as you are reading this eMail, have a safe and great New Year >celebration! > > > > Here is wishing all the very best for the new year.
Regards,
LelandJ
>Regards, > >Gil > > > >Gilbert M. Hale >New Freedom Data Resources >Pittsford, NY >585-359-8085 - Office (Rolls To Cellular) >585-202-4341 - Cellular/VoiceMail >gil at gilhale D.OT com > > > > [excessive quoting removed by server]
©2005 Leland Jackson |
|