La versión en pdf - HDCM, lazarus, postgresql, postgres, hurd

Anuncio
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 administración se utiliza el entorno integrado pgAdmin 3. Bien ahora procederemos a
instalarlo y configurarlo.
a) Desde el sitio de PostgreSQL descargamos la nueva versión 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 configuración 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 menú de aplicaciones, arrancar el pgAdmin 3 y hacer una nueva conexión a servidor, en dirección poner
localhost, en usuario "juan" (es solo el ejemplo, tenes que poner tu nombre de usuario) y aceptar.
Inicialización de Postresql 8.3 en Debian Lenny
Este trabajo se ha realizado sobre una distribución 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
sabía que debía inicializarla, pensé que era como mysql que la instalábamos y estaba lista a funcionar, error
mío, luego de varias lecturas plasmo acá lo que hice para poder trabajar con esta herramienta.
Instalación de Postgresql
Para este artículo se usará la versión de Postgresql empaquetada en los repositorios de Debian/lenny, en
nuestro caso, la versión 8.3.
Para comprobar la versión 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, versión 8.3 del
servidor
La búsqueda devuelve gran cantidad de resultados. Para nuestros propósitos son especialmente
útiles los paquetes:
apt-get install postgresql-8.3 postgresql-contrib-8.3
Inicialización de Postgresql
Ahora tenemos que inicializar y configurar nuestra instalación 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 única
manera de convertirse en este usuario es siendo root y utilizando el comando su - postgres.
A continuación nos conectamos como el usuario postgres e inicializamos nuestro
postgresql".
"cluster
[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 español (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 serán de propiedad del usuario
«postgres».
Este usuario también debe ser quien ejecute el proceso servidor.
El cluster será inicializado con configuración local es_BO.UTF-8.
La configuración de búsqueda 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 configuración ... 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 información ... hecho
haciendo vacuum a la base de datos template1 ... hecho
copiando template1 a template0 ... hecho
copiando template1 a postgres ... hecho
ATENCIÓN: activando autentificación «trust» para conexiones locales.
Puede cambiar esto editando pg_hba.conf o usando el parámetro -A
la próxima 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 máxima seguridad y velocidad cuando utilicemos PostgreSQL en sistemas de producción.
También, ver como podemos configurar PostgreSQL para sacar el máximo provecho a esta magnifica base de
datos, si alguien tiene algún material al respecto agradecería 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 términos de distribución
\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 podéis utilizar en psql para que podáis
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 | Dueño | Codificación
-----------+----------+-------------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:/#]#
Descargar