db

You are currently browsing articles tagged db.

pgsqlSe avete provato ad installare PsycoPg in OsX Leopard via easy_install avrete notato che l’installazione fallisce.

Il problema sta nel percorso di Postgresql che varia a seconda del metodo di installazione utilizzato.

Si tratta quindi di configurare PsycoPg con il percorso corretto di Postgresql.

Read the rest of this entry »

Tags: , , , , ,

PGLA Grant managmentPostgres Lightning Admin o PGLA per gli amici, è un ottimo compagno di lavoro per chi, come me, utilizza PostgreSql.

Mantiene la testa alta di fronte a concorrenti molto ma molto più costosi, chi ha cercato strumenti per PostgreSql sa a quali prodotti mi riferisco, e si fa apprezzare per più di una caratteristica, tra cui a mio avviso, l’ottimo Grant Manager.

Vi rimando alla home page del prodotto per un elenco completo delle features.

Per festeggiare il secondo anniversario del rilascio, PGLA normalmente venduto a $49,99 è in offerta a $ 9.99 (€ 8.13) e nell’offerta è inclusa anche la neonata versione per MySql!!!.

Disponibile anche in prova per 30 giorni.

Davvero un affare.

Consigliato.!!!

Tags: , ,

Qualche tempo fa, ho avuto necessità di eseguire uno script esterno legato ad un trigger di PostgreSql.
All’epoca, l’unica soluzione che ho trovato è stata di creare una funzione in C che richiamasse lo script con i dovuti parametri.

Questo il codice:
[c]
#include
#include
#include “postgres.h”
#include
#include “fmgr.h”
#include “utils/builtins.h”

#define _textout(str) DatumGetPointer(DirectFunctionCall1(textout, PointerGetDatum(str)))

PG_FUNCTION_INFO_V1(esegui);
Datum esegui(PG_FUNCTION_ARGS);

Datum esegui(PG_FUNCTION_ARGS){
int pid;

char *path, *cmd, *host, *user, *pwd, *param; //Parametri della funzione

path = _textout(PG_GETARG_TEXT_P(0));
cmd = _textout(PG_GETARG_TEXT_P(1));
host = _textout(PG_GETARG_TEXT_P(2));
user = _textout(PG_GETARG_TEXT_P(3));
pwd = _textout(PG_GETARG_TEXT_P(4));
param = _textout(PG_GETARG_TEXT_P(5));

// Eseguo un fork per evitare di rallentare le operazioni sul database
switch(pid=fork()){
case -1: //Errore. Non posso eseguire il fork.
exit(-1);
case 0 : //Fork riuscita. Eseguo il codice “figlio”
execl(path, cmd, host, user, pwd, param,0); // Questo e’ il codice “figlio”
exit(1);
default:
return pid;
exit(1);
}
}
[/c]

Per utilizzare questa funzione con postgres, sono necessari pochi semplici passi:

Per prima cosa compiliamo la nostra funzione c (nel mio caso il file era: execcmdrouter.c).

gcc -I/usr/include/postgresql/server/ -shared execcmdrouter.c -o execcmdrouter.so

Copiamo l’oggetto ottenuto in “casa” di postgres e attribuiamogliene la proprietà 😉

cp execcmdrouter.so /var/lib/postgres/
chown postgres.postgres /var/lib/postgres/execcmdrouter.so

Quindi creiamo la funzione in postgres:


CREATE FUNCTION esegui(text,text,text,text,text,text) RETURNS INTEGER
AS '/var/lib/postgres/execcmdrouter.so' LANGUAGE C;

Fatto.

Spero possa a essere utile a qualcuno.

Tags: , , ,


CONVERT(CHAR(8),getdate(),112)

112! Soprattutto intuitivo!

Tags: ,

PostgreSqlPostgreSQL 8.1 contiene piu’ di 120 tra nuove caratteristiche e miglioramenti contribuiti da quasi 200 sviluppatori.

Tra queste ci sono:

Nuove caratteristiche avanzate di database
Roles, IN/OUT Parameters, Two-Phase Commit (2PC).

Performance migliorate
Improved Multiprocessor, Bitmap Scan, Table Partitioning, Shared Row Locking.

Caratteristiche aggiuntive
GiST, COPY Refactoring, 64-bit Shared Memory, Integrated Autovacuum, Faster Aggregates, Adminstration Functions, Compatibility Functions.

Informazioni esaustive sulle nuove caratteristiche possono essere trovate qua:
http://www.postgresql.org/docs/current/static/release.html#RELEASE-8-1

PostgreSQL 8.1.0 puo’ essere scaricato dalle seguenti posizioni:

FTP Mirrors
http://www.postgresql.org/ftp/latest/

Bittorrent
http://www.postgresql.org/download/bittorrent

Windows Installer
http://www.postgresql.org/ftp/binary/v8.1.0/win32

Other Binaries, including Linux, Mac OSx and Solaris
http://www.postgresql.org/ftp/binary/v8.1.0/

Sourceforge
http://sourceforge.net/projects/pgsql

Tags: , , , , ,

« Older entries