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

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

4 thoughts on “Criando Um Servidor de Banco de Dados PostgreSQL Bem Bacana Usando DEBIAN

  1. 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. 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.

  3. Boa tarde Kenia.

    Poderia deixar a dica de como descobrir o nome da instancia do banco? Estou tentando conectar remotamente um banco postgresql pelo pgAdmin III mas não consigo porque está pedindo o nome do serviço mas não tenho.

    obrigado

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s