Вы находитесь на странице: 1из 5

Instalar PostgreSQL y pgAdmin 3 en GNU/Linux

PostgreSQL es un potente DBMS (Administrador de base de datos) pero al instalarlo solo contamos con el
servicio de base de datos, el "core" y para administrarlo se utilizan comandos en consola. Para hacer un poco
mas amigable la administracion se utiliza el entorno integrado pgAdmin 3. Bien ahora procederemos a
instalarlo y configurarlo.
a) Desde el sitio de PostgreSQL descargamos la nueva version del software.
b) Instalamos desde las fuentes:
sudo tar -zxvf postgresql-8.2.4.tar.gz
cd postgresql-8.2.4
sudo ./configure
Si sale un error en la configuracion probar con las opciones de configure:
sudo ./configure --without-[opcion]
Luego:
sudo make
sudo make install
Crear un directorio donde se almacenaran los datos:
sudo mkdir /usr/local/pgsql/data
Luego debemos crear un usuario para el DBMS, como ya existe uno en el /home/, por ejemplo
/home/juan le vamos a dar permisos de grupo al directorio creado:
sudo chown juan /usr/local/pgsql/data
Dejamos de ser super-usuario y volvemos como humano mortal:
su - juan
y por ultimo hacemos:
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
Para arrancar el servidor hacemos como humano mortal:
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
Para detenerlo:
CTRL + C
Listo, el servidor ya esta a punto! Solo falta instalar pgAdmin 3
sudo apt-get install pgadmin3
Ir al menu de aplicaciones, arrancar el pgAdmin 3 y hacer una nueva conexion a servidor, en direccion poner
localhost, en usuario "juan" (es solo el ejemplo, tenes que poner tu nombre de usuario) y aceptar.
Inicializacin de Postresql 8.3 en Debian Lenny
Este trabajo se ha realizado sobre una distribucion Debian/lenny, para Postgresql 8.3., con Kernel
2.6.26-1-686.
Por mucho tiempo estuve teniendo problemas para poder usar esta poderosa BD, por el simple hecho que no
sabia que debia inicializarla, pens que era como mysql que la instalabamos y estaba lista a funcionar, error
mio, luego de varias lecturas plasmo aca lo que hice para poder trabajar con esta herramienta.
Instalacin de Postgresql
Para este articulo se usara la version de Postgresql empaquetada en los repositorios de Debian/lenny, en
nuestro caso, la version 8.3.
Para comprobar la version disponible en tus repositorios se puede recurrir a apt-cache search:
[bolpiilinux2:/#] apt-cache search postgresql-server
aolserver4-nspostgres - AOLserver 4 module: Postgres connector
bacula-director-pgsql - network backup, recovery and verification -
PostgreSQL storage for Director
...
yate-pgsql - Postgresql module for yate
zabbix-server-pgsql - software for monitoring of your networks --
server
postgresql-8.3 - Base de datos SQL objeto-relacional, versin 8.3 del
servidor
La bsqueda devuelve gran cantidad de resultados. Para nuestros propsitos son especialmente
tiles los paquetes:
apt-get install postgresql-8.3 postgresql-contrib-8.3
Inicializacin de Postgresql
Ahora tenemos que inicializar y configurar nuestra instalacin de PostgreSQL antes de poder
empezar a crear nuestra base de datos.
Tenemos creado nuestro usuario "postgres" por defecto sin clave de acceso. Esto significa que la unica
manera de convertirse en este usuario es siendo root y utilizando el comando su - postgres.
A continuacion nos conectamos como el usuario postgres e inicializamos nuestro "cluster
postgresql".
[bolpiilinux2:/#] mkdir -p /var/pgsql/data
[bolpiilinux2:/#] chown postgres /var/pgsql/data
[bolpiilinux2:/#] su - postgres
[bolpiilinux2:/#] /usr/lib/postgresql/8.3/bin/initdb -E utf8 -U
postgres -D /var/pgsql/data
The files belonging to this database system will be owned by user
"postgres".
This user must also own the server process.
The database cluster will be initialized with locale en_US.UTF-8.
fixing permissions on existing directory /var/pgsql/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers/max_fsm_pages ... 32MB/204800
creating configuration files ... ok
creating template1 database in /var/pgsql/data/base/1 ... ok
initializing pg_authid ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects' descriptions ... ok
creating conversions ... ok
setting privileges on built-in objects ... ok
creating information schema ... ok
vacuuming database template1 ... ok
copying template1 to template0 ... ok
copying template1 to postgres ... ok
WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the -A option the
next time you run initdb.
Success. You can now start the database server using:
/usr/local/bin/postgres -D /var/pgsql/data
or
/usr/local/bin/pg_ctl -D /var/pgsql/data -l logfile start
Si tenemos nuestro sistema en espaol (que es mi caso) la salida de lo anterior ser:
bolpiilinux2:/#] /usr/lib/postgresql/8.3/bin/initdb -E utf8 -U
postgres -D /var/pgsql/data
Los archivos de este cluster sern de propiedad del usuario
postgres.
Este usuario tambin debe ser quien ejecute el proceso servidor.
El cluster ser inicializado con configuracin local es_BO.UTF-8.
La configuracin de bsqueda en texto ha sido definida a spanish.
corrigiendo permisos en el directorio existente /var/pgsql/data ...
hecho
creando subdirectorios ... hecho
seleccionando el valor para max_connections ... 100
seleccionando el valor para shared_buffers/max_fsm_pages ...
24MB/153600
creando archivos de configuracin ... hecho
creando base de datos template1 en /var/pgsql/data/base/1 ... hecho
inicializando pg_authid ... hecho
inicializando dependencias ... hecho
creando las vistas de sistema ... hecho
cargando las descripciones de los objetos del sistema ... hecho
creando conversiones ... hecho
creando directorios ... hecho
estableciendo privilegios en objetos predefinidos ... hecho
creando el esquema de informacin ... hecho
haciendo vacuum a la base de datos template1 ... hecho
copiando template1 a template0 ... hecho
copiando template1 a postgres ... hecho
ATENCIN: activando autentificacin trust para conexiones locales.
Puede cambiar esto editando pg_hba.conf o usando el parmetro -A
la prxima vez que ejecute initdb.
Completado. Puede iniciar el servidor de bases de datos usando:
/usr/lib/postgresql/8.3/bin/postgres -D /var/pgsql/data
o
/usr/lib/postgresql/8.3/bin/pg_ctl -D /var/pgsql/data -l
archivo_de_registro start
Suponemos que vamos a tener todas nuestras bases de datos y ficheros relacionados con postgresql
en el directorio /var/pgsql/data.
Mi siguiente paso, ver como podemos configurar/organizar nuestros discos de una mejor manera para
conseguir la maxima seguridad y velocidad cuando utilicemos PostgreSQL en sistemas de produccion.
Tambin, ver como podemos configurar PostgreSQL para sacar el maximo provecho a esta magnifica base de
datos, si alguien tiene algun material al respecto agradeceria que pudiera compartirlo.
En estos momentos podemos arrancar nuestra base de datos postgresql y empezar a utilizarla sin problemas.
[bolpiilinux2:/#] /usr/lib/postgresql/8.3/bin/pg_ctl -D /var/pgsql/data
-l /var/pgsql/data/postgresql.log start
server starting
Si queremos parar PostgreSQL podemos utilizar el siguiente comando:
[bolpiilinux2:/#] /usr/lib/postgresql/8.3/bin/pg_ctl -D
/var/pgsql/data stop -m fast
waiting for server to shut down.... done
server stopped
Podemos empezar a utilizar la base de datos con el potentisimo cliente por linea de comandos que
se instala por defecto, su nombre /usr/local/bin/psql:
[bolpiilinux2:/#] /usr/local/bin/psql
Bienvenido a psql 8.3.4, la terminal interactiva de PostgreSQL.
Digite: \copyright para ver los trminos de distribucin
\h para ayuda de rdenes SQL
\? para ayuda de rdenes psql
\g o punto y coma (;) para ejecutar la consulta
\q para salir
postgres=#
Para conseguir una lista de los principales comandos que podis utilizar en psql para que podis
empezar a disfrutar de PostgreSQL, ejecutar el comando \?:
postgres=# \?
Aqui teneis algunos ejemplos de como utilizar este cliente :
postgres=# \l
Listado de base de datos
Nombre | Dueo | Codificacin
-----------+----------+--------------
postgres | postgres | UTF8
template0 | postgres | UTF8
template1 | postgres | UTF8
(3 filas)
postgres=# CREATE DATABASE test001;
CREATE DATABASE
postgres=# \l
Listado de base de datos
Name | Owner | Encoding
-----------+----------+----------
postgres | postgres | UTF8
template0 | postgres | UTF8
template1 | postgres | UTF8
test001 | postgres | UTF8
(4 rows)
postgres=# \c test001
Ahora est conectado a la base de datos test001..
test001=# CREATE TABLE testing(
id INTEGER NOT NULL,
name TEXT NOT NULL,
PRIMARY KEY (id));
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
"testing_pkey" for table "testing"
CREATE TABLE
test001=# \d
List de relaciones
Schema | Name | Type | Owner
--------+---------+-------+----------
public | testing | table | postgres
(1 row)
test001=# \q
[bolpiilinux2:/#]#

Вам также может понравиться