Instalação do PostgreSQL 8.0.3 no Slackware 10.1

Neste pequeno How-to, aprenderemos, como montar um servidor POSTGRESQL do zero no Slackware 10.1. Espero que gostem. ;-)

1º Passo) Bootar o CD e conectar como root.
Durante o boot, irá pedir algumas questões. Em geral, pode dizer sim.

2º Passo) Particionar.
Basicamente, precisaremos criar as partições no qual será instalada o Slackware e os utilitários. Se precisar de ajuda, veja em
http://www.slacklife.com.br/article.php?sid=183

[root@localhost /root]# fdisk /dev/hda

Menu principal do Fdisk

n – Nova partição
m – Ajuda
p – mostra as partições
t – Troca do tipo ID da partição (83 para Linux e 82 para Linux Swap).

Menu de “Nova Partição”

p – Criar partição primária (Até 4 primárias)
Quando criamos uma partição informamos basicamente:
• Número da partição: seqüencial, crie a 1, depois a 2, etc.
• Cilindro inicial: Deixe o padrão
• Cilindro final OU tamanho: Sempre especifico em tamanho (+1024M, por exemplo para 1Gb)
e – Criar partição extendida (Geralmente a 4ª partição é primária)
• Quandro criar estendida, especifique o cilindro final como default, neste caso será criada uma partição do tipo estendida com TODO O HD, Dentro desta estendida será criada as demais partições lógicas no tamanho que definirmos.

PLANO DE PARTICIONAMENTO (Usando no 2º e 3º passo)

Partições

Device

Montagem

Tipo

2 Gb (p1)

/dev/hda1

/

Reiserfs

300 Mb (p2)

/dev/hda2

/tmp

Ext2

300 Mb (p3)

/dev/hda3

Swap

Swa p

1 Gb (e5)

/dev/hda5

/var

Ext2

1 Gb (e6)

/dev/hda6

/sqlmazine

Reiserfs

Tabela 1

Obs.: Temos aproximadamente 34Gb restante, que será usado para montarmos o LVM de nome CONCAT.

3º Passo)Setup

[root@localhost /root]# setup

No setup iremos seguir a seguinte ordem:

Etapas do Menu

Informações

ADDSWAP

inicializa a partição de SWAP

Formatar os sistemas de arquivos

especificando o ponto de montagem definida na tabela 1

Seleção do Source

Seleciona 1 (CD) e auto scan

Seleção de packages

Deixe apenas os pacotes:A, AP, D, F, L, N

Método de instalação

Escolha a opção MENU

Tabela 2

Opções dos Pacotes

Informações

A

selecionar Kernel e remover floppy, gpm, isapnptools, jfsutils, loadlin, minicom, pcmcia-cs

AP

selecionar bc, diffutils, groff, man, man-pages, rzip, sudo, vim

D

deixar o PADRAO

F

deixar o PADRAO

L

remover GTK*, jre

N

selecionar inetd, iproute2, iptables, iptraf, links, lynx, nail, netwatch, openssh, openssl, sendmail, stunnel, tcpdump, tcpip, traceroute, wget, whois

Tabela3

Os demais passos de instalação do Slackware são o padrão, ou seja, criar menu de boot do Lilo, seleção de Fuso horário, configuração de IP da máquina, etc. Para isso, recomendo a leitura do guia de instalação disponível em:

http://www.slackware-brasil.com.br/web_site/downloads/livros/guiadolinux-02-pdf.zip

Reboot

4º Passo) Atualizando o Kernel e instalando o LVM 2

Montar o CD 2 do Slackware

#mount /dev/cdrom

#cd /mnt/cdrom/testing/packages/linux-2.6.10

#installpkg kernel-generic-2.6.10-i486-1.tgz
#installpkg kernel-modules-2.6.10-i486-1.tgz
#installpkg alsa-driver-1.0.8_2.6.10-i486-1.tgz

Toda a criação será dentro do /boot, então vamos entrar nessa pasta.

#cd /boot

Habilitando o ReiserFS para funcionar no Boot

#mkinitrd -c -k 2.6.10 -m reiserfs

Habilitando o XFS para funcionar no Boot

#mkinitrd -c -k 2.6.10 -m reiserfs

Será criado o arquivo initrd.gz. Agora é só editar o lilo.conf linha no lilo.conf.

#vi /etc/lilo.conf

image = /boot/vmlinuz-generic-2.6.10
initrd = /boot/initrd.gz
root = /dev/hda1
label = Linux_2.6.10
read-only

# Deixando a opção para bootar a versão 2.4
image = /boot/vmlinuz-2.4.29
root = /dev/hda1
label = Linux_old
read-only

Para efetivar as alterações no lilo.conf

# lilo

Instalação do LVM

Instalando device-mapper (pré-requisito)

#installpkg /mnt/cdrom/testing/packages/lvm2/device-mapper-1.01.00-i486-1.tgz

Instalando o LVM2

#installpkg /mnt/cdrom/testing/packages/lvm2/lvm2-2.01.03-i486-1.tgz

Configurando a partição LVM

Criação das partições LVM:

# fdisk /dev/hda

Adicionar o resto do espaço não particionado. Lembrando que não usamos todo o HD até este ponto, por isso, deve ter um espaço não particionado de pelo menos 35Gb.

Após criar a partição, ainda no FDISK, iremos mudar o tipo ID da partição como do tipo LVM´ (opção t, código 8e). Nesse ponto é necessário reinicializar o computador para que SO reconheça a nova partição.

# reboot

5º Passo) Configurando o LVM

Neste passo, iremos criar o espaço para armazenar os dados do PostgreSQL ou qualquer outro tipo de aplicação como por exemplo o repositório de dados do CVS.

pvcreate /dev/hda7
- /dev/hda7é a partição flagada com o código 8e.
vgcreate concat /dev/hda7
lvcreate -L 24G -n dados concat
- Volume logico DADOS
lvcreate -L 2G -n backup concat
- Volume logico BACKUP
vgchange -ay concat - Confirma as criações do LV´s

Formatando as partições do LVM

# mkfs.xfs /dev/concat/dados - Formatando LV DADOS Type=XFS
# mkfs.ext2 /dev/concat/backup - Formatando LV BACKUP Type=ext2

Preparando diretórios para montagem das partições:

# mkdir /sqlmagazine/dados
# mkdir /sqlmagazine /backups

Montando os volumes:

# mount -t xfs /dev/concat/dados /sqlmagazine/dados
# mount -t ext2 /dev/concat/backup /sqlmagazine/backups

Automatizando as montagens desses volumes:

Acrescentar no arquivo /etc/fstab as seguintes linhas:
/dev/concat/dados /sqlmagazine/dados xfs defaults 1 2
/dev/concat/backup / sqlmagazine /backups ext2 defaults 1 2

6º Passo) Instalação do PostgreSQL

Criar dentro da pasta root a pasta “instaladores”.

# cd ~

# mkdir instaladores

Agora fazer downloads

# wget ftp://ftp.br.postgresql.org/pub/PostgreSQL/v8.0.3/postgresql-8.0.3.tar.bz2

Pré- instalação do PostgreSQL:

Criando o Home Folder do usuário PostgreSQL
#mkdir /sqlmagazine/pgsql - diretorio do postgres

Adicionando o Grupo e o Usuário PostgreSQL
#groupadd postgres - criando um grupo postgres

#useradd postgres -g postgres -d /sqmagazine/pgsql
- criando usuario postgres

Informações Basicas: Para descompactar pacotes *.bz2 , deve-se utilizar as seguintes opções do tar (jxvf), no caso de *.tgz (zxvf)

Decompatando e insttalando o PostgreSQL

#cd /root/instaladores/pacotes
#tar jxvf postgresql-8.0.3.tar.bz2
#cd postgresql-8.0.3

#./configure --prefix=/unesp/pgsql
#make all install

#cd /sqlmagazine/pgsql
#chown postgres:postgres –R

Adicionando os binários do PostgreSQL no PATH (/unesp/pgsql/bin)

#vi /etc/profile - acrescentar a PATH acima
#source /etc/profile - executa o arquivo

Acrescentar as bibliotecas do postgres no arquivo ld.so.conf

echo "/unesp/pgsql/lib" >> /etc/ld.so.conf
ldconfig
- refaz a leitura do ld.so.conf

6º Passo) Pós Instalação do PostgreSQL

(logar como usuário do postgres)

#su – postgres
$cd /sqlmagazine/dados
$initdb -D pgsql
$cd pgsql

Regras de acesso IP

$vi pg_hba.conf

Alterar a linha do postgresql.conf, colocando '*' na variável listen_addresses

$vi postgresql.conf

Testando o postgres

Start do PostgreSQL
$pg_ctl -D ~/data -l ~/pgsql.log start - inicializando o POSTGRES

Testando a conexão
$ psql –D template1 –U postgres

Aparecerá a seguinte tela:

Welcome to psql 8.0.3, 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

template1=#

7º Passo) Pós Instalação do PostgreSQL – Automatizando o Start e Stop

Copiando o script de start/stop que vem com o PostgreSQL na pasta /etc/rc.d

#cp /root/instaladores/postgresql-8.0.3/contrib/start-script/linux /etc/rc.d/rc.pgsql

Alterando as permissões:

#chmod 755 /etc/rc.d/rc.pgsql

Editando o arquivo para visualizar a instância que definimos com o initdb –D, aterando as variáveis do script:

vi /etc/rc.d/rc.pgsql

ALTERAR: prefix=/sqlmagazine/pgsql
ALTERAR: PGDATA=/sqlmagazine/pgsql/data
ALTERAR: PGLOG="$prefix/pgsql.log"

Para que o rc.pgsql faça o start automaticamente no boot:

#vi /etc/rc.d/rc.inet2

Após as linhas referentes ao start do servido SSHD incluir:

if [ -x /etc/rc.d/rc.pgsql ]; then
echo "Iniciando o PostgreSQL: /sqlmagazine/pgsql"
/etc/rc.d/rc.pgsql start
fi


Para que o rc.pgsql faça o stop automaticamente no reboot e no desligamento

vi /etc/rc.d/rc.6

Após as linhas referentes ao start do servido SSHD incluir:

if [ -x /etc/rc.d/rc.pgsql ]; then
echo "Finalizando o PostgreSQL: /sqlmagazine/pgsql"
/etc/rc.d/rc.pgsql stop
fi

7º Passo) Tuning Básico

Editar o /etc/rc.d/rc.local:

#esta é a conf. Mínima para HD UltraDMA acrescentar o parâmetro (-X udma?,
#onde ? é o número da Ultra DMA encontrado no BIOS parte de HD ou na #especificação técnica do HD).

hdparm -c 3 -m 16 /dev/hda
# Habilita o teclado Brasileiro
loadkeys br –abnt2

Crédito especiais para:
Ronaldo Massanori – ronaldo@reitoria.unesp.br

Referências

• Slackware:
#1
http://www.slacklife.com.br/
#2 http://br-linux.org/tutoriais/001804.html

• LVM2:
#3
ftp://sources.redhat.com/pub/lvm2/
#4
http://www.netadmintools.com/art369.html
#5
http://lantana.tenet.res.in/General_Info/Tech/HOWTO/LVM-HOWTO.html

• Personalizar a mensagem de login: /etc/motd
#6
http://www.rigaut.com/benoit/CERN/FigletJava/

• Postgresql
#7
http://www.postgresql.org.br/
#8 http://www.postgresql.org/
#9 http://www.javalinux.com.br/pg74/