Installazione della gemma 'postgres'

Ciao a tutti,

Sono ai primi passi sia nell’uso di Ruby che di PostgreSQL, perciò
scusate la domanda, forse un po’ banale, ma a cui non ho finora trovato
risposta nelle mie ricerche sul web.

Ho installato Ruby ver. 1.8.5 and PostgrSQL 8.1, sul mio PC con S.O.
Windows XP Pro SP2.
Sto tentando di installare la gemma ‘postrgres’ tramite il RubyGems
Package Manager, senza alcun successo. Quello che segue è l’esito del
mio tentativo. Spero che qualcuno di voi abbia una soluzione al mio
problema.

Marco S.

===============================================================

c:\ruby>gem install postgres
Bulk updating Gem source index for: http://gems.rubyforge.org
Building native extensions. This could take a while…
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.

Provided configuration options:
–with-opt-dir
–without-opt-dir
–with-opt-include
–without-opt-include=${opt-dir}/include
–with-opt-lib
–without-opt-lib=${opt-dir}/lib
–with-make-prog
–srcdir=.
–curdir
–ruby=c:/ruby/bin/ruby
–with-pgsql-dir
–without-pgsql-dir
–with-pgsql-include
–without-pgsql-include=${pgsql-dir}/include
–with-pgsql-lib
–without-pgsql-lib=${pgsql-dir}/lib
–with-wsock32lib
–without-wsock32lib
–with-socketlib
–without-socketlib
–with-inetlib
–without-inetlib
–with-nsllib
–without-nsllib

ERROR: While executing gem … (RuntimeError)
ERROR: Failed to build gem native extension.
Gem files will remain installed in
c:/ruby/lib/ruby/gems/1.8/gems/postgres-0.7.1 for inspection.

Results logged to
c:/ruby/lib/ruby/gems/1.8/gems/postgres-0.7.1/gem_make.out

c:\ruby>

On 10/9/06, Marco S. [email protected] wrote:

c:\ruby>gem install postgres

Stai utilizzando la versione ‘nativa’ del driver Postgres
che richiede i sorgenti del programma e l’ambiente di
compilazione, che in Windows non è disponibile di default.

Ti consiglio di utilizzare la versione ‘solo ruby’ del driver:

gem install postgres-pr

Ciao.
– fabio

On 10/10/06, Marco S. [email protected] wrote:

Ragionando un po’ da profano mi veniva in mente un piccolo dubbio
sull’utilizzo delle Gemme in generale. Sviluppare soluzioni con di
questo tipo di librerie significa anche dare una grande fiducia ai
manutentori delle stesse. Se in questo caso PostgreSQL si evolve a
versioni successive, io che sviluppo un applicativo utilizzando
postgres-ps devo sperare che questa venga mantenuta compatibile con le
ultime versioni del database, o restare ancorato a quelle vecchie.

C’è questo tipo di pericolo?

Il pericolo c’è, ma è attenuato dal fatto che - sia nel caso di Postgres
che per il suo driver Ruby - si tratta di software open source.
Nell’ipotesi
che tu hai descritto è ragionevole pensare che qualcun altro continui
lo sviluppo in senso evolutivo. E’ il principale vantaggio dell’open
source.

Ciao.
– fabio

Grazie infinite, Fabio.

Ho installato la libreria e fatto anche un piccolo test.
Tutto sembra funzionare bene.

Ragionando un po’ da profano mi veniva in mente un piccolo dubbio
sull’utilizzo delle Gemme in generale. Sviluppare soluzioni con di
questo tipo di librerie significa anche dare una grande fiducia ai
manutentori delle stesse. Se in questo caso PostgreSQL si evolve a
versioni successive, io che sviluppo un applicativo utilizzando
postgres-ps devo sperare che questa venga mantenuta compatibile con le
ultime versioni del database, o restare ancorato a quelle vecchie.

C’è questo tipo di pericolo?

Saluti,

Marco

Ciao scusa per il disturbo come da tua richiesta di aiuto del 9 Ottobre
2006, nelle Tue stese condizioni ho anche io installato la gemma di
postgreSql come da risposta di Fabio Inguaggiato .
Sto programmando un gestionale con Ruby/Gtk per un’Azienda e nello
specifico devo implementare una rubrica telefonica.
Mi indicheresti, gentilmente, come accedere al DataBase e come inserire
e prelevare dei campi?
Grazie

                                Biagio

Ricciardi Biri wrote:

Ciao scusa per il disturbo come da tua richiesta di aiuto del 9 Ottobre
2006, nelle Tue stese condizioni ho anche io installato la gemma di
postgreSql come da risposta di Fabio Inguaggiato .
Sto programmando un gestionale con Ruby/Gtk per un’Azienda e nello
specifico devo implementare una rubrica telefonica.
Mi indicheresti, gentilmente, come accedere al DataBase e come inserire
e prelevare dei campi?
Grazie

                                Biagio

Ciao Biagio,

scusa se rispondo con molto ritardo alla tua domanda,
ma poichè è un vecchio thread, non lo stavo più seguendo
e ho notato la tua richiesta solo oggi.

Provo a fornirti un esempio di inserimento di un nuovo record
nell tabella ‘prodotti’ di un database chiamato ‘mydb’ a cui accedo
come utente ‘postgres’ con password ‘strmcr’.
Nella tabella ho definito solo 3 campi:

  1. ‘product_no’ di tipo integer
  2. ‘name’ di tipo text
  3. ‘price’ di tipo numeric

CODICE RUBY:

require ‘postgres’

begin
dbh = PGconn.new(“127.0.0.1”, 5432, “”, “”, “mydb”, “postgres”,
“strmcr”)
dbh.query(“BEGIN;”)
dbh.query(“INSERT INTO prodotti VALUES (‘5’,‘Dentifricio’, ‘3.25’);”)
dbh.query(“COMMIT;”)
puts “Articolo inserito”
dbh.close
rescue PGError => e
puts e.message
dbh.query(“ROLLBACK;”)
end

==========================================

Con questa query invece stampi tutti e tre i campi di tutti i record
della tabella.

require ‘postgres’

begin
dbh = PGconn.new(“127.0.0.1”, 5432, “”, “”, “mydb”, “postgres”,
“strmcr”)
resultset = dbh.query(“SELECT * FROM prodotti;”)
resultset.each { |row| puts “#{row[0]} - #{row[1]} - #{row[2]}” }
dbh.close
rescue PGError => e
puts e.message
dbh.close
end

==========================================

Sono alle prime armi sia con Ruby che con Postgres, ma spero
di averti dato qualche idea.
Dai un occhiata al bellissimo libro in italiano di Marco C.
dove trovi trattato anche questo argomento.

Saluti,

Marco