Difference between revisions of "postgres/es"

From Lazarus wiki
Jump to navigationJump to search
Line 16: Line 16:
  
 
Win64: por favor mira [[Windows Programming Tips#FPC 2.6.x/Lazarus warning|aquí]]si existen actualmente advertencias sobre no usar ciertas versiones FPC/Lazarus Win64.
 
Win64: por favor mira [[Windows Programming Tips#FPC 2.6.x/Lazarus warning|aquí]]si existen actualmente advertencias sobre no usar ciertas versiones FPC/Lazarus Win64.
 +
 +
ZEOS
 +
 +
Zeos soporta PostgreSQL y lo podemos utilizar con FreePascal y con Lazarus. Con Lazarus lo podemos añadir como paquete de forma que lo tengamos disponible en una nueva solapa del IDE.
 +
 +
Se encuentra disponible para su descarga desde http://sourceforge.net/projects/zeoslib/ , teniendo adicionalmente su foro en http://zeoslib.sourceforge.net/
 +
 +
Más información en [[ZeosDBO]]
 +
 +
Ver m
  
 
== Requerimientos ==  
 
== Requerimientos ==  

Revision as of 15:31, 13 May 2015

Template:Postgres

Descripción

Se puede utilizar FreePascal/Lazarus para acceder a un servidor de bases de datos (BB.DD). Si estás buscando más información sobre el paquete postgres en FPC,por favor visita el siguiente sitio postgres#PostgreSQL_package:_the_low_level_units.

Ventajas de PostgreSQL:

  • Se uso está muy difundido y se puede obtener fácilmente.
  • Muy estable y contiene un conjunto de características muy completo.
  • Licencia liberal (sin coste) en comparación con otras bases de datos.

Desventajas de PostgreSQL:

  • Algunos hosters puede que no ofrezcan PostgreSQL.
  • No existen versiones embebidas.

Win64: por favor mira aquísi existen actualmente advertencias sobre no usar ciertas versiones FPC/Lazarus Win64.

ZEOS

Zeos soporta PostgreSQL y lo podemos utilizar con FreePascal y con Lazarus. Con Lazarus lo podemos añadir como paquete de forma que lo tengamos disponible en una nueva solapa del IDE.

Se encuentra disponible para su descarga desde http://sourceforge.net/projects/zeoslib/ , teniendo adicionalmente su foro en http://zeoslib.sourceforge.net/

Más información en ZeosDBO

Ver m

Requerimientos

Se necesita al menos la versión 0.99.5 de FreePascal. Las cabeceras (headers) han sido portadas de la versión 6.3.1 de PostGreSQL. El uso de una versión anterior probablemente no funcione.

Instalación:

La unit postgres viene con los paquetes de FreePascal, y se distribuye junto con el compilador. Este contiene un directorio postgres con las units, un programa de test y un fichero make (makefile). En dicho directorio se puede editar el fichero make para establecer las variables que contiene para que estén acordes al sistema. Solo debes aportan una cosa:

  • El directorio donde reside la librería libpq que habitualmente se encuentra en /usr/local/pgsql/lib

Lo que se debe teclear

En primer lugar el mandato make que compilará las units y el programa:

make


Si la compilación se realiza con éxito, entonces podemos instalar el programa con el mandato:

make install

(Recordar establecer el valor correcto del directorio donde las units deben ser instaladas)

A continuación es interesante realizar un test del programa con el mandato:

make test

Esto realizará lo siguiente:

  • Ejecutar el programa de test testpg, el cual se ha portado del programa de ejemplo de la guía de programadores de PostGreSQL.
  • Ejecutar un script para crear una tabla dentro de la base de datos y rellenarla con datos. (el programa psql debería encontrarse en el PATH para que todo funcione bien). La base de datos que se utiliza por defecto es testdb.
  • Ejecutar el programa de testeo testemail.
  • Ejecutar un script en el shell para eliminar la tabla creada una vez que tenemos verificado el funcionamiento.


Con todo esto obtenemos un montón de mensajes en pantalla que nos aportarán mucha información y resultados. En caso de que algo vaya mal, el mandato make nos informará convenientemente.

Planes futuros:

El interface de PostGreSQL es una pura traducción de los ficheros de cabecera en C que tiene PostGreSQL. Esto significa que las funciones utilizadas están poco pascalizadas. Sería interesante tener un interface OOP al estilo de Delphi por lo que ya se está trabajando en ello.


Volver a Packages List