provo con la stabile
un'altra cosa, tu per installare postgres installi questo?
sudo apt-get install postgresql postgresql-contrib
o anche questo?
postgresql-server-dev-all
Quello è il dilemma ;D
Io, a suo tempo, ho installato anche quello ma ora non lo vedo più e potrebbe essere che non serva :-\
Comunque nessun problema, puoi provare a non installarlo e se quando compili Gambas dopo i comandi:
./reconf-all && ./configure -C
il terminale ti dice che non può installare il componente gb.postgresql allora installi la libreria e ridai:
./reconf-all && ./configure -C
o almeno io farei così per capire bene.
Purtroppo da ora in poi ti dovrai arrangiare da solo, sto per uscire vado a cena da amici...
Siamo vecchi e quasi sicuramente non faremo tardi :P
Buon Anno a tutti
P.S. Il terminale dovrebbe dirti che:
|| THESE COMPONENTS ARE DISABLED:
|| - gb.desktop.gnome.keyring
|| - gb.qt4
|| - gb.qt4.ext
|| - gb.qt4.opengl
|| - gb.qt4.webkit
|| - gb.qt4.webview
è tutto regolare :ciao:
Fatto..
Manca il componente GBpostgres :evil: ...che stress
adesso chiudo anch'io . ricominceremo
Grazie ancora
Buon anno a tutti!
Questa è la risposta di Minisini:
The development version does not need the postgresql-server-dev-XX package anymore, because that package breaks things in recent Fedora version.
That package was needed to get the value of postgresql server constants. The value of these constants are now retrieved dynamically at runtime by the gb.db.postgresql component.
See commit https://gitlab.com/gambas/gambas/-/commit/4b8b7a8dbdf0264b3902c657293ec7dcda7008c3 for the details.
Regards,
--
Benoît Minisini
Onestamente non mi è chiaro cosa questo significhi, e cosa c'entri Fedora con Debian e Ubuntu puoi per cortesia riportarmi la risposta del terminale ai comandi:
./reconf-all && ./configure -C
e magari controllare se PostgreSQL funzioni correttamente anche senza le librerie pre-intallate?
Grazie
:ciao:
si
Ok, se hai seguito la mia guida per installare Gambas stable, il terminale dopo il comando
./reconf-all && ./configure -C
dovrebbe riportare una sritta del tipo:
|| THESE COMPONENTS ARE DISABLED:
seguita dai componenti che Gambas non è riuscito a installare, a te dovrebbe aver scritto qualcosa riguardo a postgres, cosa?
[System]
Gambas=3.16.3 c344770 (stable)
OperatingSystem=Linux
Kernel=5.10.0-10-amd64
Architecture=x86_64
Distribution=debian 11.2
Desktop=CINNAMON
Font=Sans,9
Scale=7
Theme=adwaita
Language=it_IT.UTF-8
Memory=11990M
[Libraries]
Cairo=libcairo.so.2.11600.0
Curl=libcurl.so.4.7.0
DBus=libdbus-1.so.3.19.13
GDK2=libgdk-x11-2.0.so.0.2400.33
GDK3=libgdk-3.so.0.2404.20
GStreamer=libgstreamer-1.0.so.0.1804.0
GTK+2=libgtk-x11-2.0.so.0.2400.33
GTK+3=libgtk-3.so.0.2404.20
OpenGL=libGL.so.1.7.0
Poppler=libpoppler.so.102.0.0
QT5=libQt5Core.so.5.15.2
SDL=libSDL-1.2.so.0.11.4
SQLite=libsqlite3.so.0.8.6
[Environment]
CINNAMON_VERSION=4.8.6
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
DESKTOP_SESSION=lightdm-xsession
DISPLAY=:0
GB_GUI=gb.gtk3
GDMSESSION=lightdm-xsession
GIO_LAUNCHED_DESKTOP_FILE=/usr/share/applications/gambas3.desktop
GIO_LAUNCHED_DESKTOP_FILE_PID=3605
GJS_DEBUG_OUTPUT=stderr
GJS_DEBUG_TOPICS=JS ERROR;JS LOG
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
GTK3_MODULES=xapp-gtk3-module
GTK_MODULES=gail:atk-bridge
GTK_OVERLAY_SCROLLING=0
HOME=<home>
LANG=it_IT.UTF-8
LC_ALL=it_IT.UTF-8
LOGNAME=<user>
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
PWD=<home>
QT_ACCESSIBILITY=1
QT_LOGGING_RULES=*.debug=false
SESSION_MANAGER=local/<hostname>:@/tmp/.ICE-unix/981,unix/<hostname>:/tmp/.ICE-unix/981
SHELL=/bin/bash
SSH_AGENT_PID=1020
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
TZ=:/etc/localtime
USER=<user>
XAUTHORITY=<home>/.Xauthority
XDG_CURRENT_DESKTOP=X-Cinnamon
XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/
XDG_GREETER_DATA_DIR=/var/lib/lightdm/data/<user>
XDG_RUNTIME_DIR=/run/user/1000
XDG_SEAT=seat0
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
XDG_SESSION_CLASS=user
XDG_SESSION_DESKTOP=lightdm-xsession
XDG_SESSION_ID=2
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
XDG_SESSION_TYPE=x11
XDG_VTNR=7
le librerie che ho installato sono queste:
sudo apt-get update && apt-get install -y build-essential g++ automake autoconf libbz2-dev libzstd-dev default-libmysqlclient-dev unixodbc-dev libpq-dev libsqlite3-dev libglib2.0-dev libgtk2.0-dev libcurl4-gnutls-dev libgtkglext1-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libxml2-dev libxslt1-dev librsvg2-dev libpoppler-dev libpoppler-glib-dev libpoppler-private-dev libpoppler-cpp-dev libasound2-dev libdirectfb-dev libxtst-dev libffi-dev libglew-dev libimlib2-dev libv4l-dev libsdl-ttf2.0-dev libgdk-pixbuf2.0-dev linux-libc-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libcairo2-dev libgsl-dev libncurses5-dev libgmime-3.0-dev libalure-dev libgmp-dev libgtk-3-dev libsdl2-dev libsdl2-mixer-dev libsdl2-ttf-dev libsdl2-image-dev sane-utils libdumb1-dev libqt5opengl5-dev libqt5svg5-dev libqt5webkit5-dev libqt5x11extras5-dev qtbase5-dev qtwebengine5-dev libwebkit2gtk-4.0-dev git libssl-dev
come da link che mi hai postato.
Adesso vedo che questa non è presente
ma come ho capito Bennoit dice che non serve
Gianluigi non so se può bastare questo
L'esempio è quello iniziale messo apposto (ho dovuto andare in ufficio a prendermi un'altro pc, con questo non va.. :hatecomputer:)
per il database si potrebbe fare una cosa semplice da terminale?
sudo -i -u postgres psql
CREATE DATABASE prova;
/q
sudo -i -u postgres
psql prova
CREATE TABLE rubrica (user_id serial PRIMARY KEY, name VARCHAR ( 50 ) DEFAULT NULL, surname VARCHAR ( 50 ) DEFAULT NULL);
INSERT INTO rubrica (name, surname)VALUES ('Gino','Rossi');
INSERT INTO rubrica (name, surname)VALUES ('Pino','Bianchi');
\q
exit
Ciao, installato!
Allora instanto diciamo che il problema sembra risolto. Lìinstallazione di gambas è andata a buon fine e se provo postgres con il database di prova che ho postato ieri funziona tutto bene.
Ho installto il pacchetto postgresql-server-dev-13 che mancava.
Queste sono le librerie che ho installato, se serve a qualche utente:
sudo apt-get update && apt-get install -y build-essential g++ automake autoconf libbz2-dev libzstd-dev default-libmysqlclient-dev unixodbc-dev libpq-dev libsqlite3-dev libglib2.0-dev libgtk2.0-dev libcurl4-gnutls-dev libgtkglext1-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libxml2-dev libxslt1-dev librsvg2-dev libpoppler-dev libpoppler-glib-dev libpoppler-private-dev libpoppler-cpp-dev libasound2-dev libdirectfb-dev libxtst-dev libffi-dev libglew-dev libimlib2-dev libv4l-dev libsdl-ttf2.0-dev libgdk-pixbuf2.0-dev linux-libc-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libcairo2-dev libgsl-dev libncurses5-dev libgmime-3.0-dev libalure-dev libgmp-dev libgtk-3-dev libsdl2-dev libsdl2-mixer-dev libsdl2-ttf-dev libsdl2-image-dev sane-utils libdumb1-dev libqt5opengl5-dev libqt5svg5-dev libqt5webkit5-dev libqt5x11extras5-dev qtbase5-dev qtwebengine5-dev libwebkit2gtk-4.0-dev git libssl-dev postgresql-server-dev-13
dico che il mio problema sembra risolto perchè il mio database non funziona, è stranissimo se lo apro con dbeaver posso editarlo modificarlo etcc, se lo apro con gambas è in sola lettura. Però ripeto il database prova funziona correttamente. Non so se è successo qualcosa al file che ho salvato.
Grazie Gianluigi del tuo tempo,
si, ti dico cosa stò facendo...
ho un file di backup per il database slavato così:
pg_dump -h 127.0.0.1 -U postgres -w -c Gestione > /home/franco/Gestione.dbpg
quindi il mio file di backup è Gestione.dbpg
pc vecchia installazione:
Gambas 3.14
Postgres12
LinuxMint
Ripristino così il mio database:
sudo -u postgres createdb Gestione
psql -h 127.0.0.1 -U postgres -w Gestione1 -e < /home/franco/Gestione.dbpg
tutto ok, anche il mio programma in gambas funziona
pc nuova installazione
Gambas3.16.3
Postgres13
Debian11 (ho provato anche LinuxMint, stessa cosa)
Ripristino il database:
sudo -u postgres createdb Gestione
ok apposto
psql -h 127.0.0.1 -U postgres -w Gestione1 -e < /home/franco/Gestione.dbpg
[/code]
niente mi da errore
psql: error: fe_sendauth: no password supplied
allora metto anche la password
export PGPASSWORD=MIAPASSWORD; psql -h 127.0.0.1 -U postgres -w Gestione1 -e < /home/franco/Gestione1.dbpg
ok, database installato
se vado in dbeaver vedo il mio database e posso anche editarlo e modificarlo
se collego il database con gambas, anche la semplice prova che ho fatto ieri mi da errore
vedi immagine allegata
mentre se creo un semplice database di prova funziona tutto...
...bel dilemma vero?
@Golia scusa il ritardo ma non sono riuscito a importare il tuo test
Allora ho creato un test semplice da provare, apri il terminale e dai questo comando adattandolo ai tuoi dati (io ho un utente test in grado di creare i database ho seguito la guida di sotema):
$ psql -U test -d template1
Password for user test:
psql (12.9 (Ubuntu 12.9-0ubuntu0.20.04.1))
Type "help" for help.
template1=> CREATE DATABASE nuovolistino WITH OWNER=test TEMPLATE= template1 ENCODING='utf-8';
CREATE DATABASE
template1=> \q
Dopo aver creato il database vuoto e essere uscito con il comando "\q"
Lanci il progetto allegato che popola il database e prova alcuni comandi SQL
NOTA: Devi adattarlo al tuo utente e alla sua password
questo progetto a me funziona bene.
La guida di sotema è qui:
https://www.gambas-it.org/wiki/index.php?title=Installazione_Server_PostgreSQL
:ciao:
Ciao Gianluigi
funziona, ma come ti avevo scritto se creo un database nuovo con dati nuovi funziona anche a me, è il mio database che non funziona qui, mentre lo stesso funziona nel pc vecchio, è quello che non capisco.
allora con la guida che mi hai dato non sono riuscito a creare il database,
psql: error: FATALE: autenticazione Peer fallita per l'utente "test"
io lo creo così:
sudo -i -u postgres psql
CREATE database Listini1;
\q
ho creato il database e ho lanciato col programma gambas e ho aggiornato Nota di Pippuzzo :)
torniamo al mio db
una volta creato il db (se vuoi provare il mio database che a me non funziona) ripristino i dati così:
export PGPASSWORD=MIAPASSWORD; psql -h 127.0.0.1 -U postgres -w Listini1 -e < /home/franco/Listini1.dbpg
con il file che ti hi allegato
Fatto questo, con pc nuovo apro e vedi il db ma "solo in lettura"
Fatto questo, con pc vecchio apro e tutto ok
mi viene da pensare che non creo e travaso i dati nel modo corretto (anche se faccio così da più di 10 anni) che salto qualche permesso che adesso serve
Io ti ho mostrato i miei comandi per farti capire come era la procedura.
Credevo bastasse la nota che ti avvisava di usare il tuo di utente e la password del tuo utente.
Quindi il primo comando andava scritto
psql -U <nome del tuo utente> -d template1
poi dovevi digitare la password del tuo utente e creare il nuovo database con il comando:
CREATE DATABASE nuovolistino WITH OWNER=<nome del tuo utente> TEMPLATE=template1 ENCODING='utf-8';
Uscire dal database appena creato con il comando: \q
Fatto
Poi bastava lanciare il programma allegato, cliccare sul pulsante e Aprire i contenuti della console per leggere più agevolmente.
Ora ho capito che il tuo file .dbpg era il file .sql :donkey:
Non so se postgresql o gambas hanno tramutato tutti i nomi in minuscolo, perché io da quando me lo ha detto sotema ho sempre usato nomi corti (*) e minuscoli.
Cambiando le interrogazioni così:
sql = "SELECT * FROM listini;"
MyRS1 = $myconn.Edit("listini", "idlistino=" & Label4.Text)
il tuo progetto funziona bene
Prova a creare la connessione (vedi immagine) prima di lanciare il programma e vedi se ci riesci
(*) i nomi corti me li ha insegnati tornu che come sotema non si sente più :'(
P.S. miiiiii ho guardato l'ora, mi avrai sulla coscienza, far fare queste ore a un vecchietto ! Corro a dormire :P
OK come credi, nel frattempo ti stavo scrivendo questo:
Hai provato su un progetto vuoto a creare la connessione come da mia precedente immagine?
-------------------------------------------------------------------
Per importare il tuo progetto ho fatto questi passaggi (più o meno come dai tuoi suggerimenti)
psql -U <tuo utente> -d template1
CREATE DATABASE Listini1 WITH OWNER=<tuo utente> TEMPLATE= template1 ENCODING='utf-8';
\q
export PGPASSWORD=<password tuo utente>; psql -h 127.0.0.1 -U <tuo utente> -w listini1 -e < /path/complteta a/Listini1.dbpg
in bocca al lupo ;D
...
e questo per installare postgres 12
https://www.postgresql.org/download/linux/debian/ (https://www.postgresql.org/download/linux/debian/)
installerei 11 :hard: :hard:
anche io a suo tempo per forzare l'installazione di una versione differente da quella dei repository avevo dato questi comandi:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \
sudo apt-key add -
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install postgresql-9.4 postgresql-contrib
sudo service postgresql reload
No a suo tempo non ero riuscito a installarlo.
Se vuoi inviarmi il tuo database in privato fallo con questo comando, se non è particolarmente grande dovrebbe andare bene, naturalmente se hai installato seguendo la guida del maestro sotema:
pg_dump -f <nome file di backuo>.sql -h localhost -C -U <nome utente> <nome del database>
:ciao:
Se faccio un'altro progetto gambas e mi connetto da codice apro e ancora ok
Vado a fare un'Update errore
ecco l'errore
qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 984, resource id: 12623806, major code: 40 (TranslateCoords), minor code: 0
allego immagine del codice
Ciao Gianluigi
ho messo da parte un attimo il discorso sqlite
adesso posso dirti che ho risolto :D
Ho fatto una nuova installazione nel pc a casa con Debian11
ho installato postgres 12 da questa guida:
https://www.itzgeek.com/how-tos/linux/debian/how-to-install-postgresql-on-debian-11-debian-10.html (https://www.itzgeek.com/how-tos/linux/debian/how-to-install-postgresql-on-debian-11-debian-10.html)
ho installato gambasdevel con questi pacchetti
sudo apt-get update && apt-get install -y build-essential g++ automake autoconf libbz2-dev libzstd-dev default-libmysqlclient-dev unixodbc-dev libpq-dev libsqlite3-dev libglib2.0-dev libgtk2.0-dev libcurl4-gnutls-dev libgtkglext1-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libxml2-dev libxslt1-dev librsvg2-dev libpoppler-dev libpoppler-glib-dev libpoppler-private-dev libpoppler-cpp-dev libasound2-dev libdirectfb-dev libxtst-dev libffi-dev libglew-dev libimlib2-dev libv4l-dev libsdl-ttf2.0-dev libgdk-pixbuf2.0-dev linux-libc-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libcairo2-dev libgsl-dev libncurses5-dev libgmime-3.0-dev libalure-dev libgmp-dev libgtk-3-dev libsdl2-dev libsdl2-mixer-dev libsdl2-ttf-dev libsdl2-image-dev sane-utils libdumb1-dev libqt5opengl5-dev libqt5svg5-dev libqt5webkit5-dev libqt5x11extras5-dev qtbase5-dev qtwebengine5-dev libwebkit2gtk-4.0-dev git libssl-dev postgresql-server-dev-12
e funziona tutto alla grande!
sqlite me lo guardo un'altro giorno, adesso mi bevo una bottiglia di vino e mi butto sul divano 8)
Grazie mille per tutto :-*
Come da guida, ho aggiunto l'utente
CREATE USER mydb_user WITH ENCRYPTED PASSWORD 'password
';
Comunque il problema è gambas con pg13
eccche cavolo... non funziona neanche sqlite
stessa cosa non riesco a salvare
ti allego l'esempio sqlite, ha già il db dentro
e anche l'immagine di errore
edit: ho spuntato anche qt5 ed è la stessa cosa
Per quanto riguarda la prova che hai fatto con SQLite3 e il progetto bibliosqlite si tratta di un errore marchiano nel codice che salva il nuovo record.
Alla fine dopo aver salvato il record chiudi la connessione e subito dato esegui un'interrogazione.
Infatti alla riapertura ritrovi il record salvato regolarmente aggiunto
Public Sub btsalva_Click()
If tbidrubrica.Text Then
MyRS = MODMain.$conn.Edit("rubrica", "idrubrica=" & tbidrubrica.Text) ' seleziono il record idrubrica con il valore di tbidrubrica
If MyRS.Available = True Then ' controllo che tutto sia ok, se ok proseguo
MyRS!cognome = tbcognome.Text ' salvo nel record selezionato i vari campi
MyRS!nome = tbnome.Text
MyRS!indirizzo = tbindirizzo.Text
MyRS!citta = tbcitta.Text
MyRS!provincia = tbprovincia.Text
MyRS!telefono = tbtelefono.Text
MyRS.Update ' aggiorno
MODMain.$conn.Commit
'' MODMain.$conn.Close ' <---------------------------ERRORE! SE CHIUDI POI DEVI RIAPRIRE :-P
Endif
riempigrid ' ricomponiamo la griglia
Endif
End
;D :ciao: