Upload
nelson-lambert
View
227
Download
4
Embed Size (px)
Citation preview
PostgreSQL InstallationBy: Keerthi Nelaturu
Previous version by Ahmed Jeddah & Miguel Garzon
Presentation Overview
• Prerequisite packages • Connecting to SITE’s LINUX Server• Some basic UNIX commands• PostgreSQL Installation • PgAdmin III Installation
Prerequisite packages
• SSH: http://www.ccs.uottawa.ca/download/ssh/ssh329.execlick on the exe file and follow the instructions
• PostgreSQL: http://www.postgresql.org/ftp/source/v8.1.4
choose the file postgresql-8.1.4.tar.gz (The version we will be using is ver 8.1.4)
• pgAdmin III: http://www.postgresql.org/ftp/pgadmin3/release/v1.8.4/win32/
choose the .zip file
This is only needed if you want to work in your own pc!
Connecting to SITE’s LINUX Server• On-Campus: (FTP Server)
1- go to Programs-> SSH Secure Shell -> Secure File Transfer Client --- then click on Quick Connect
Connecting to SITE’s LINUX Server
Continue: 2- In the host name field : linux.site.uottawa.ca , in the user
name field : your site email alias
The password: site account password (remember the Autopass)
Connecting to SITE’s LINUX Server
• Go to Programs-> SSH Secure Shell -> Secure Shell Client --- then click on Quick Connect
Host name : linux.site.uottawa.caUser name : site email alias
Password : site account password
Connecting to SITE’s LINUX Server• Connecting Off-Campus -- for connecting to the Secure File Transfer – follow the
same steps but Host name: ugate.site.uottawa.ca
--for connecting to the Secure Shell – follow the same steps but Host name: ugate.site.uottawa.ca – and then, type:
ssh linux.site.uottawa.ca (the server will then ask for a password – it is the same as
the site account password)
See for more details http://www.site.uottawa.ca/local/labinfo/unix.shtml#2
Some basic UNIX commands• pwd : show the full name of the current directory.
– Note that in Unix; we use “/” in the file name description – while in windows we use “\”
• mkdir: create a new directory – e.g. mkdir new_folder
Note 1: in Unix; Do NOT name directories with a space in them (i.e. A folder called My Documents will cause some problems).
Note 2: Unix is case sensitive for commands and files– i.e. Mkdir new_folder is wrong statment
Some basic UNIX commands
• ls (list files in the current directory)• cd ( current directory)
– Examples:– cd new_folder (will go to the folder called
new_folder)– cd ( return to your home directory)– cd .. (will go to the parent directory)
– Hint: You can use “Tab” when writing the names of directories – it is as Auto Complete !
Some basic UNIX commands
• cp : copy a file (or folder)– cp source destination Figure out how it work for folders!! Try typing cp --help to get some help !!
• mv : move a file – mv file1 file2 (will move the contents of file1 to
file2 – file1 no more exist)
Some basic UNIX commands• Removing files and directories:
– rmdir: (remove directory) • Note: rmdir cannot remove directory that is not empty
– rm: (remove file)– Examples:
• rm file1 • rm Directory1 ----- Error message: Directory1 is a directory• rm --help --- show the documentation of command rm• rm –r Directory1 -- No error message (works for files and folders – (Q. What
does –r do ?!)• rm –rf File == rm –r –f File --- (Q. What does –f do ?!)
• Other Commands– clear : clear the screen – history: display the history of commands
Some basic UNIX commands
• Compiling a c source code in Linux; – There exist many c compilers: GCC – LCC – PCC –
TenDRA. – We are going to use GCC– We don’t need to install it now, it is already
there !
Some basic UNIX commands
• Compiling C code #include <stdio.h>int main(void){
printf("First file \n");printf("Hello World \n");
return 0;}
Write the following code and save it in hello.c
Some basic UNIX commands
cd c //c is the directory where hello.c resides
gcc hello.c ls // you will find a file called a.out ./a.out // run executable file ./a.out
-bash-3.2$ ./a.out First file Hello World -bash-3.2$
Some basic UNIX commands
We are not restricted to the file a.out;
The statement: gcc hello.c –o b.out
will generate the executable file b.out instead,
“type gcc -- help for some more useful options;”
Some basic UNIX commands
Makefile and the make commandWe can write many commands in a script file and run it all at once;
For example:
all:gcc hello.c –o b.out mkdir –p x mv b.out x
1) Write the previous commands in a file called Makefile-1.txt; (in the same directory of hello.c);
2) Type the command: make -f Makefile-1.txt
Q1. What do this script do ? Q2. What does the –p in mkdir do ?
all: createFolderfirst:
gcc hello.c -o b.out ./b.out # *** File hello.c Compiled and executed ***
createFolder:rm -rf newfolder mkdir newfolder
second:gcc second.c ./a.out# *** File calculations.c Compiled and executed ***
clean:rm -rf *.out rm -rf newfolder
Try these examples and observe the output: make –f makefile-5.txt make –f makefile-5.txt first make –f makefile-5.txt clean make –f makefile-5.txt second make –f makefile-5.txt all
More options in MakeFile
More options in MakeFile
Rename Makefile-5.txt to Makefile and then run make;
i.e. make all ; make clean ; make first etc ...
The default file that make look for is Makefile
IMPORTANT NOTE: Makefile has NO extension; it is a UNIX file
More options in MakeFile
• Makefile may be more intelligent and powerful.
• We may have variables; • Or we may also use if-else statements (see
link: – http://mrbook.org/tutorials/make/ (introduction)– http://theory.uwinnipeg.ca/gnu/make/
make_toc.html (more advanced)
Installing PostgreSQL
1. Have the file postgresql-8.1.4.tar.gz in your base file (i.e. home/infofa/h/users/you_user_name)
2. Type gzip –d postgresql-8.1.4.tar.gz
3. Type tar -xvf postgresql-8.1.4.tar
(Extraction)3. cd postgresql-8.1.4
Installing PostgreSQL
4) ./configure --prefix=PREFIX --enable-debug –enable-depend
Replace PREFIX with the name of the folder you want to install PostgreSQL in;
(i.e. /home/infofa/h/users/mgarz042/ postgresql-8.1.4/pgs)
--enable-debug and –enable-depend are optional will be useful for the project
Installing PostgreSQL5) gmake // or you may use make
“Note”gmake has the same function as make; however; the default
file in this case is GNUmakefile
make, in this case, points to gmake (Read the file Makefile – intersting)
Wait for this message:All of PostgreSQL successfully made. Ready to install.
Installing PostgreSQL
6) gmake check
This step performs some testing before the installation
Expect something like that:=======================
All 114 tests passed. =======================
Installing PostgreSQL
8) Go to directory where you installed PostgreSQL (i.e. PREFIX)
cd pgs
9) cd bin10) ./initdb –D ../data
Success. You can now start the database server using:
./postgres -D ../dataor ./pg_ctl -D ../data -l logfile start
Installing PostgreSQL
11) Start the server side of the database with ./postgres –D ../data
if Error: LOG: could not bind IPv4 socket: Address already in useHINT: Is another postmaster already running on port 5432? If not,
wait a few seconds and retry.WARNING: could not create listen socket for "localhost"FATAL: could not create any TCP/IP sockets
then: ./postgres –D ../data –p xxxx // xxxx is any number
Installing PostgreSQL
DONE !!!You may expect a message like this:
LOG: database system was shut down at 2008-10-21 23:34:14 EDT
LOG: autovacuum launcher started
LOG: database system is ready to accept connections
Not Done Yet !
- Open a new terminal window in SSH Secure Shell
-Type in the client side: ./psql postgres –p xxxx
where xxxx is the same port number of the server side
DONE !!!Welcome to psql 8.3.4, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms \h for help with SQL commands \? for help with psql commands \g or terminate with semicolon to execute query \q to quit
postgres=#
Now, you can write your SQL quiries !
SQL Commands
Example of SQL commands; create table products (pnum int, pname varchar(20), price
real);insert into products (pnum, pname, price) values (12,
‘coke’, 1.25); insert into products (pnum, pname, price) values (13,
‘burger’, 5.99); Insert into products (pnum, pname, price) values (551,
‘coffee’, 1.18); Select * from products ;
Etc..
Installing PgAdmin III
• Unzip the file pgadmin3-1.8.4.zip • Follow instructions.
This is the same port number the database server
is listening to
More configurations on PostgreSQL
• To connect pgAdmin with PostgreSql: – Go to the directory where the files of the database are located (i.e. in
our case: /home/infofa/h/users/ajedd07/postgresql-8.3.4/data)
- Look for #listen_addresses = 'localhost‘ in file postgresql.conf ; change it with listen_addresses = ‘*‘
- At the end of the file pg_hba.conf; add the line host all all 137.122.93.0/32 trust
Unfortunatley, even with these changes, pgAdmin can not connect to the database serever from off-campus
ReferencesPostgreSQL Documentations
http://www.postgresql.org/docs/manuals/pgAdmin III Documentationshttp://www.pgadmin.org/docs/1.8/index.htmlUnix commands http://mally.stanford.edu/~sr/computing/basic-unix.htmlA good reference for c and c++ http://www.cprogramming.com/PostgreSQL for developpers (useful for the next lectures)http://www.postgresql.org/developer/coding