Installing software needed to work from home in CSE 444

(These notes are mostly unchanged from Spring 2009. They should be very close to being correct, but they may need some minor changes.)


These notes will walk you through installing the programs you need to work from home in CSE 444:

We assume here that you're using Windows. If you're using Mac OS X or Linux, please help us out by contributing notes for your OS.

Please remember that we only support CSE Instructional Lab-supported computers. If you are having trouble getting your assignment running at home, please try running it on a Lab machine.

General notes

Installing Java

Download and install the Java SDK 6, update 13 from Sun. This version of the Java SDK is consistent with the version currently on the Lab machines. Update 14 is also available and should work, but you will need to modify paths in the shell launcher script to use it, and you might need other similar, minor changes.

Installing PostgreSQL and its JDBC driver

Follow these steps:

  1. Download PostgreSQL 8.3.7 for Windows.
  2. Install it with the default options. The installer should prompt you to create two different passwords, but you only need to fill in the one for the "database superuser"; the installer will auto-generate a value for the other password (the "service password") if you don't supply one. Remember the password you entered; you'll need it later.
  3. Now you need to install the JDBC driver. To do so, start by running the Stack Builder program, either by accepting the default options for tasks after install, or from Start->Programs->PostgreSQL 8.3->Application Stack Builder.
  4. Select "PostgreSQL Database Server 8.3 on port 5432", then choose Next.
  5. Open the "Database Drivers" category, check the box for "psqlJDBC 8.3.604", then choose Next.
  6. Choose any mirror, then choose Next.
  7. Choose Next at the confirmation window.
  8. Wait until you see "All the installation files have now been successfully downloaded", then choose Next.
  9. Choose Finish when done.
  10. Verify that the files C:\Program Files\PostgreSQL\8.3\bin\psql.exe and C:\Program Files\psqlJDBC\postgresql-8.3-604.jdbc4.jar exist.

Installing the JDBC driver for SQL Server

Follow these steps:

  1. Download the JDBC driver from Microsoft. You'll end up "downloading" the license agreement; scroll to the bottom, then choose Accept to download the actual file. (The two "Accept" links point to different archives storing the same data; the "Windows version" is a self-extracting EXE, while the "UNIX version" is a gzipped tarball (.tar.gz file).)
  2. Unpack the archive to C:\Program Files\Microsoft SQL Server 2005 JDBC Driver
  3. Verify that the file C:\Program Files\Microsoft SQL Server 2005 JDBC Driver\sqljdbc_2.0\enu\sqljdbc4.jar exists.

Adapting the PostgreSQL instructions

With two major exceptions, the PostgreSQL instructions for Lab machines still apply to working from home.

The first exception is that you can completely skip the sections titled "Creating a data folder" and "Starting and stopping PostgreSQL". The installer already created a data folder, so you don't need to create one yourself, and it set up PostgreSQL to start and shut down along with the computer, so you don't need to start it explicitly.

The second exception is the way you log in to the database system. On Lab machines (when following the suggested procedure for creating a data folder), you are not normally asked for a username or password when connecting to the database. This is because your PostgreSQL username is the same as your Windows username (the default username for PostgreSQL client tools and libraries), and PostgreSQL automatically trusts all connections from the local computer, so any local user can connect using any PostgreSQL username without providing a password.

By default, however, PostgreSQL installed using the Windows installer will prompt you for a username and password; you will need to use postgres for the username and the "database superuser password" you previously set for the password. There are two ways to work around this problem: