Instalacao A grande jogada nesta instalacao, e instalar uma versao de postgresql, da qual, os repositorios do ubuntu nao possue. Para a versao de linux que vamos trabalhar, a 10.04 LTS, o postgresql liberado e o 8.2.7 e vamos atualizar para ultimo da categoria 8.2.231) Baixar ou enviar os fontes do postgres para maquina a ser instalado;Repositorio fpt oficial para downloadftp://ftp.postgresql.org/pub/sourceComando - Para descompactar$ sudo -s$ cd /usr/src$ tar jxvf /home/trabin/postgresql-8.2.23.tar.bz2Obs: Mova a pasta criada na descompactacao para o seguinte caminho /usr/src/2) Para que possamos criar um clusters em LATIN1 e preciso ajustar a language do sistema operacional.Comando$sudo apt-get install language-support-pt$sudo echo "pt_BR.ISO-8859-1 ISO-8859-1" >> /var/lib/locales/supported.d/pt$sudo localedef -i pt_BR -c -f ISO-8859-1 pt_BRPor fim, edite o arquivo /etc/default/locale e altereDe:LANG="pt_BR.UTF-8"LANGUAGE="pt_BR:pt:en"Para:LANG="pt_BR.ISO-8859-1"LANGUAGE="pt_BR:pt:en"3) Instalacao do PostgreSQL 8.2 dos repositorios da versao "hardy"Comando:$ sudo -s$ echo "deb http://archive.ubuntu.com/ubuntu hardy main universe" > /etc/apt/sources.list.d/ubuntu-8.04.list$ apt-get update -o APT::Cache-Limit="50331648"$ apt-get install postgresql-8.2$ rm /etc/apt/sources.list.d/ubuntu-8.04.list$ apt-get updateb) Instalacao Compilador + Libs necessarias para compilar o PG:Comando:$ sudo apt-get install build-essential libreadline-dev zlib1g-dev flex bison libssl-dev vimc) Compilacao / Instalacao do PostgreSQL 8.2 Obs: Verifique se voce esta no seguinte caminho /usr/src/postgresql-8.2.23Comando:./configuremakesumake installadduser postgresmkdir /usr/local/pgsql/datachown postgres /usr/local/pgsql/datasu - postgres/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data >logfile 2>&1 & d) Incluindo a senha ao postgresComandosudo su postgres -c psql postgres ALTER USER postgres WITH PASSWORD sua senha; \q;e) Remover o cluster atual do 8.2 (So na primeira)$ sudo pg_dropcluster --stop 8.2 mainf) Verificar tamanho do bloco da particao onde sera instalado o cluster$ sudo blockdev --getbsz /dev/sda14096g) Verificando que o tamanho do bloco da particao "/dev/sda1" e "4096" vamos customizar a compilacao do PostgreSQL para que tambem utilize esse tamanho de bloco$ sudo -s$ cd /usr/src/postgresql-8.2.23$ vim src/include/pg_config_manual.h (neste ponto iremos editar o arquivo)Alterar o#define BLCKSZ 8192para#define BLCKSZ 4096(salvar e sair)h) Compilar / Instalar o PostgreSQL dentro da infra-estrutura do Ubuntu/Debian$ sudo -s$ cd /usr/src/postgresql-8.2.23$ ./configure '--prefix=/usr' '--includedir=/usr/include' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=/usr/lib/postgresql-8.2' '--srcdir=.' '--mandir=/usr/share/postgresql/8.2/man' '--with-docdir=/usr/share/doc/postgresql-doc-8.2' '--datadir=/usr/share/postgresql/8.2' '--bindir=/usr/lib/postgresql/8.2/bin' '--libdir=/usr/lib/postgresql/8.2/lib' '--includedir=/usr/include/postgresql/' '--enable-integer-datetimes' '--with-openssl'$ make$ make install$ exiti) Depois de compilado e instalado agora vamos criar o novo Cluster$ sudo pg_createcluster -e LATIN1 8.2 main$ sudo /etc/init.d/postgresql-8.2 startj) Neste ponto ja temos o novo cluster operacional, vamos verificar:$ pg_lsclustersVersion Cluster Port Status Owner Data directory Log file8.2 main 5432 online postgres /var/lib/postgresql/8.2/main /var/log/postgresql/postgresql-8.2-main.log(Observe que o "Status" esta "online")l) Agora algumas configuracoes basicas no seu PostgreSQL:$ sudo nano /etc/postgresql/8.2/main/postgresql.conflisten_addresses = '*'ssl = falselog_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d 'autovacuum = off$ sudo nano /etc/postgresql/8.2/main/pg_hba.conf# Database administrative login by UNIX sockets#local all postgres ident sameuser# TYPE DATABASE USER CIDR-ADDRESS METHOD# "local" is for Unix domain socket connections onlylocal all all trust# IPv4 local connections:host all all 127.0.0.1/32 trust# IPv6 local connections:host all all ::1/128 trust$ sudo /etc/init.d/postgresql-8.2 restartm) Feito todas etapas agora temos o novo cluster com a versao 8.2.23 compilada pronta para uso$ psql -U postgres -l List of databases Name | Owner | Encoding-----------+----------+----------postgres | postgres | LATIN1template0 | postgres | LATIN1template1 | postgres | LATIN1(3 rows)$ psql -U postgresWelcome to psql 8.2.23, the PostgreSQL interactive terminal.Type: \copyright for distribution terms \h for help with SQL commands \? for help with psql commands \g or