Guia Rápido para Instalação e Configuração do PostgreSQL
Um Pouco de Blábláblá
Ontem eu tive minha primeira experiência (pra valer) de utilização do PuppyLinux [1][2]. Quis experimentar o S.O. por que as máquinas do Centro de Informática tolhem completamente o usuário comum (leia-se aluno) quanto à instalação de ferramentas e, desenvolvendo um projeto RoR atualmente, preciso instalar várias delas.
A ideia inicial é, portanto, rodar um ambiente de desenvolvimento Ruby on Rails direto de um pendrive com o S.O. PuppyLinux. Nesta postagem não abordarei o processo completo de setup do ambiente (que me custou a tarde e a noite de ontem) mas apenas uma das partes – supostamente – mais laboriosas: a instalação (na mão, é claro) do PostgreSQL.
1º Passo: Download
A página de download do Postgres fornece binários pré-compilados para vários S.O.s. No meu caso, pra instalar no Puppy, baixei o fonte desta página. A versão que escolhi foi a 9.1.7 [3].
2º Passo: Compilar e instalar
Descompactação:
$ tar xvjf postgresql-9.1.7.tar.bz2
Mudar para o diretório novo:
$ cd postgresql-9.1.7/
Preparar instalação:
$ ./configure
e
$ gmake
Mudar para usuário super:
$ su
Instalar: asd
# gmake install
3º Passo: Configurar e rodar
Criar o usuário (no Linux) ‘postgres’:
# adduser postgres
Criar o diretório onde ficarão os arquivos do BD:
# mkdir /usr/local/pgsql/data
Dar permissão ao usuário postgres:
# chown postgres /usr/local/pgsql/data
Mudar para usuário postgres:
# su - postgres
Iniciar o banco:
# /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
Iniciar o processo do Postgres:
# /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &
4º Passo: Testar a criação de um banco
# /usr/local/pgsql/bin/createdb test
e, para acessar o banco:
# /usr/local/pgsql/bin/psql test
5º Post-Install: Linkar comandos e criar um outro usuário
Não sei se você percebeu mas, para rodar os comandos do postgres nas linhas de comando anteriores, precisamos utilizar o caminho completo para o diretório onde o comando se encontra. Isso é um saco. Pra resolver, criei links simbólicos para todos os comandos presentes em “/usr/local/psql/bin/psql”. Assim:
# for f in $(ls -d /usr/local/pgsql/bin/*); do ln -s $f /usr/local/bin; done
Agora só falta uma coisa: criar um usuário do Postgres com o nome do seu usuário Linux. Saia do usuário super (com um simples ‘exit’) e comande:
$ sudo -u postgres createuser --superuser $USER
E finalmente, para configurar uma senha para seu novo usuário, acesse a ferramenta de linha de comando do Postgres:
$ sudo -u postgres psql
e (substitua $USER pelo nome de seu usuário Linux)
postgres=# \password $USER
Beleza. Agora você já pode acessar o Posgres com o seu usuário e, no caso de estar desenvolvendo um projeto Rails, configurar o database.yml com seus dados de usuário e senha.
Referências
- [1] http://puppylinux.com
- [2] http://puppylinux.org
- [3] http://ftp.postgresql.org/pub/source/v9.1.7/postgresql-9.1.7.tar.bz2
- [4] http://www.postgresql.org/docs/9.0/static/install-short.html
- [5] http://www.commandlinefu.com/commands/view/1225/symlink-all-files-from-a-base-directory-to-a-target-directory