Criando Um Servidor de Banco de Dados PostgreSQL Bem Bacana Usando DEBIAN

18 01 2008

Bem bem bem ….
Tudo muito bom tudo muito bem …. maaaaaaaas …

Existe algum padrão ou regra para servidores Debian de Banco de Dados???
V
eja bem … !!!!!!

Não existe uma regra … mas algumas coisas são de bom tom ….

Desenhei um padrão que se que tornou bastante útil nos projetos … (sugestões são bem vindas)

  • Sistema Operacional

Debian 4 (ETCH) System Base (última versão estável ).

Por se tratar de um servidor de dados não é necessário a instalação do modo gráfico, precisamos do servidor mais enxuto possível, apenas com o system base.

elegance:~# cat /etc/debian_version
4.0

  • Partições

Instalar ao sistema operacional em uma particao suficiente e deixar o resto do espaço para que possamos arquitetar as partições para o Banco.

/pgbackup – Partição de backup
/postgres – Partição de dados (produção)
/pghomo – Partição de dados (Homologação/teste)
/pgdev – Partição de dados (Desenvolvimento)
/pg_log – Partição para log

Só lembrando que o ideal é que:

1 – Servidor de produção é um, desenvolvimento é outro e homologação é outro … Evite colocar todas as bases no mesmo servidor … isso afeta o desempenho.

2 – Para ter um servidor eficiente é indicado que cada partição esteja em um disco para não ter concorrência de IO

  • Kernel

Usar sempre a ultima versão estável do Kernel

elegance:~# uname -a
Linux HOST 2.6.18-5-686 #1 SMP Fri Jun 1 00:47:00 UTC 2007 i686 GNU/Linux

  • Source list

É imprescindível usar o source list estável padrão indicado na documentação.

elegance:~# cat /etc/apt/sources.list
# See sources.list(5) for more information, especialy
# Remember that you can only use http, ftp or file URIs
# CDROMs are managed through the apt-cdrom tool.
deb http://http.us.debian.org/debian stable main contrib non-free

deb http://security.debian.org stable/updates main contrib non-free

# Uncomment if you want the apt-get source function to work
#deb-src http://http.us.debian.org/debian stable main contrib non-free

#deb-src http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free

  • Pacotes Adicionais

Sempre instalar o pacote linux-image-2.6-<arquitetura>, onde <arquitetura> é a família de processadores, como 686, por exemplo: esse pacote é virtual e sempre depende da última versão de kernel estável com todos os patches de segurança aplicados. Instalar o linux-image é saber quando é necessário atualizar o kernel. Isso acontece ao usar o aptitude upgrade fazendo com que o o pacote mais novo do kernel (quando existir) apareça como um upgrade.

elegance:~# aptitude install linux-image-2.6-686
elegance:~# aptitude install vim
elegance:~# vim /etc/vim/vimrc

syntax on
syntax on

elegance:~# aptitude install ssh
elegance:~# aptitude install gcc
elegance:~# aptitude install apticron

O apticron avisa que tem atualizações disponíveis, baixa as atualizações e deixa em cache localmente no servidor onde elas forem baixadas. Então aplique com aptitude upgrade.

elegance:~# aptitude install libreadline-dev
elegance:~# aptitude install zlib1gdev

Esses pacotes server para usar o TAB como complemento qdo usado o psql no shell

  • Usuários

postgres – Usuário do postgresql

elegance:~# adduser postgres

Esse usuário deve ser dono e grupo das partições postres e pg*

  • Rede (dominio / nome)

Identificar o servidor faz bem né !!!!

elegance:~# cat/etc/hosts
127.0.0.1 localhost
IP HOST.DOMINIO HOST

  • Variáveis de Ambiente

Configurar as variáveis de ambiente ajuda na administração do servidor.
As configurações abaixo foram feitas no usuário postgres que é adminitrador do PostgreSQL

elegance:~$ vi .bashrc
alias vi=’vim’

elegance:~$ vi /home/postgres/.bashrc
PG=$HOME/postgresql-8.2.5/bin
PATH=$PATH:/$PG
PAGER=/usr/bin/less
export PATH PG PAGER
LESS=”-S-N”

E Era isso !!!!

O André Lopes fez um post muito bacana sobre servidores Debian … Segue abaixo o link do post

http://www.andrelop.org/blog/2007/11/16/gerenciamento-de-atualizacoes-uma-solucao-simples-e-eficaz/

Kenia Milene


Acções

Informação

3 respostas

24 01 2008
Fernando Ike

E tu instalou o PostgreSQL como? Pelo código-fonte?

Faltou dizer para descomentar o repositório security, o Sysadmin agradece que seu servidor esteja com todas as atualizações de segurança. ;)

31 01 2008
keniamilene

Então …
A instalação é feita pelo código fonte sim … existe um outro post falando sobre a instalação e configuração ….
Qdo ao security você tem toda razão …
Faço isso mas esqueci de comentar …
Obrigado

2 02 2009
Leandro Hamid

Bom dia Kênia, gostaria de uma opinião sua.

Eu estou montando um servidor PostgreSQL para testes, separei algumas partições do meu Sistema Operacional coo sugerido por você em seu post para acomodar os bancos de dados de produção, de testes e homologação, desenvolvimento, backup e log.A minha dúvida é a seguinte:

Na instalação do PostgreSQL quando crio o arquivo que acomodará os dados no banco de dados dentro do diretório pgsql a partir do comando “mkdir /usr/local/pgsql/data” eu devo montar estas partições dentro do arquivo data ou montar tudo separadamente?
– ex:

mkdir /usr/local/pgsql/data_homologa -> homologação e testes;
mkdir /usr/local/pgsql/data_postgres -> produção
mkdir /usr/local/pgsql/data_backup -> backup
mkdir /usr/local/pgsql/data_dev -> desenvolvimento
mkdir /usr/local/pgsql/data_log -> logs

Na continuação da instalação do PostgreSQL eu tenho que apontar as partições que irão acomodar os bancos de dados, faço isso com os comandos:

chown postgres /usr/local/pgsql/data
su – postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data >logfile 2>&1 &

Para cada banco de dados – exemplo:

chown postgres /usr/local/pgsql/data/pg_postgres
su – postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/pg_postgres
/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data/pg_postgres >logfile 2>&1 &

e assim por diante?

Outra dúvida, como faço para referenciar cada banco de dados (partições) na criação de uma bnase de dados qualquer a partir do comando:

/usr/local/pgsql/bin/psql teste

Desde já agradeço.

Publicar um comentário