QSqlTableModel() empty on Ubuntu but works on Windows ?
-
Would you be able to provide a small step by step guide to reproduce your test database ? Meaning the command you are currently using on your Linux machine to create the role and the database.
-
@SGaist Hi, I just use psql to create the database/table/user.
CREATE DATABASE my_db WITH OWNER = postgres ENCODING = 'UTF8' TABLESPACE = pg_default CONNECTION LIMIT = -1;
CREATE ROLE my_user WITH LOGIN NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION ENCRYPTED PASSWORD 'md5hidden';
CREATE TABLE public.my_table ( example_column character varying COLLATE pg_catalog."default", ) TABLESPACE pg_default; ALTER TABLE public.my_table OWNER to postgres; GRANT INSERT, SELECT, DELETE ON TABLE public.my_table TO my_user;
So for example:
sudo -u postgres psql -c 'one of the above blocks of code'
So here
my_db
is the database name,my_user
is the role I'm using to access the table andmy_table
is the table name. -
Sorry I did not had time to test the database.
One thing that you could try (I don't think it would change anything but worth a try), reorder the database setup and add your custom role and it setup both at the end.
-
@SGaist said in QSqlTableModel() empty on Ubuntu but works on Windows ?:
Sorry I did not had time to test the database.
One thing that you could try (I don't think it would change anything but worth a try), reorder the database setup and add your custom role and it setup both at the end.
I guess I could try that but why would the error be
QSqlError("", "Unable to find table logs", "")
then ?
-
Gut feeling: PostgreSQL namespace.
-
@SGaist said in QSqlTableModel() empty on Ubuntu but works on Windows ?:
Gut feeling: PostgreSQL namespace.
I had a look, but I don't quite understand how it applies to this...
-
The database role must have access to the namespace in order to access the relation it contains.
There might be a glitch there.
-
@SGaist said in QSqlTableModel() empty on Ubuntu but works on Windows ?:
The database role must have access to the namespace in order to access the relation it contains.
There might be a glitch there.
Yet the same role (same exact application/code) works fine on Windows ?