database - json_array_elements - Si es posible, ¿cómo se puede insertar PostgreSQL?
postgresql json example (7)
Si es posible, me interesa poder incorporar una base de datos PostgreSQL, similar a sqllite . He leído que no es posible . Aunque no soy un experto en bases de datos, quiero saber de usted.
Básicamente quiero PostgreSQL sin toda la configuración e instalación. Si es posible, dime cómo.
Cualquiera lo intentó en Mac OS X:
http://pagesperso-orange.fr/bruno.gaufier/xhtml/prod_postgresql.xhtml
http://www.macosxguru.net/article.php?story=20041119135924825
(Por supuesto, sqlite sería mi base de datos integrada también)
A menos que realice una reescritura importante de código, no es posible ejecutar Postgres "incrustado". Ya sea ejecutarlo como un proceso separado o usar algo más. SQLite es una excelente opción. Pero hay otros. MySQL tiene una versión incrustada. Véalo en http://mysql.com/oem/ . También varias opciones de Java, y Mac tiene datos básicos que puede escribir también. Demonios, incluso puedes usar FoxPro. ¿En qué sistema operativo estás y qué servicios necesitas de la base de datos?
No puedes incrustarlo, ni debes intentarlo.
Para incrustar, debe usar sqlite como mencionó o firebird rdbms .
PostgreSQL está destinado a ejecutarse como un servidor independiente; probablemente sea posible incrustarlo si lo pirateas duro y lo suficiente, pero sería mucho más fácil ejecutarlo como se pretendía en un proceso separado.
No puede incrustarlo como algo en proceso, como sqlite, etc., pero puede incrustarlo fácilmente en la configuración de la aplicación utilizando la configuración de Inno en http://www.innosetup.org . Busque en el archivo de su lista de correo y encontrará que alguien hizo la mayor parte del trabajo por usted y todo lo que tiene que hacer es tomar la distribución comprimida y puede instalar Postgresql fácilmente cuando el usuario instale su aplicación. Luego puede usar el archivo pg_hba.conf para restringir el servidor al host local solamente. No es una verdadera base de datos integrada, pero funcionaría.
HSQLDB (http://hsqldb.org/) es otro DB que se incrusta fácilmente. Requiere Java, pero es una elección excelente y de uso frecuente para aplicaciones Java.
Ejecute postgresql en un proceso en segundo plano.
Inicie un hilo separado en su aplicación que inicie un servidor postgresql en modo local, ya sea vinculándolo a localhost con algún puerto libre aleatorio o usando sockets (¿admite Windows sockets?). Eso debería ser bastante fácil, algo así como:
sistema ("C: / Program Files / MyApplication / pgsql / postgres.exe -DC: / Documents and Settings / User / Local Settings / MyApplication / database -h 127.0.0.1 -p 12345");
y luego solo conéctate a 127.0.0.1:12345.
Cuando su aplicación se cierra, siempre puede enviar un SIGTERM a su hilo y luego esperar unos segundos para que postgresql salga (es decir, unirse al hilo).
PD: También puedes usar pg_ctl para controlar tu base de datos "incrustada", incluso sin hilos, solo haz un "inicio pg_ctl" (con las opciones adecuadas) al iniciar la aplicación y "pg_ctl stop" al salir de ella.