![]() Registered Member ![]()
|
Hi forumers,
I'm trying to use kexi on a Debian buster using PostgreSQL V.12 from the official rep (https://apt.postgresql.org/pub/repos/apt/ buster-pgdg main), but each time I try to import a DB, it fails with the "I18N_ARGUMENT_MISSING" error - whether I try to import "Structure and data" or "Structure only". Is it a know problem with PG V.12 or is it another thing, such as language file(s) missing or because of my locale setup that is a bit unusual ? :
Listing of intalled pkgs :
|
![]() Moderator ![]()
|
Hello,
Is there any other message? The I18N_ARGUMENT_MISSING is a possible mistake on KEXI side but it's only about a message. If you get an import error it's good to nail down the cause e.g. by creating a new database first on the same server. Possible relation is here viewtopic.php?f=221&t=108331 on this forum. |
![]() Registered Member ![]()
|
Hi jstaniek, Yup there's other text when trying to import my DB :
In this DB : * all types and domains are defined into schema "public" * all tables and views are stored into different schemas (none into the "public" one) * several tables use the same name into different schemas. Jean-Yves |
![]() Registered Member ![]()
|
Hmm, there's also an output from the command line :
Jean-Yves |
![]() Moderator ![]()
|
One quick idea. Does "SELECT * from account" work for the suadmin@localhost? If not, KEXI needs to know there's some prefix/name space needed. Since there's no way to do that in KEXI importer, you would need to reconfigure the db to make "SELECT * from account" at least temporarily work.
KEXI importer uses the SELECT query to discover columns of the table (well it uses "SELECT * FROM ... LIMIT 0" to be strict). PS: In the future KEXI would be able to connect to existing databases without any importing, that's a wish https://bugs.kde.org/show_bug.cgi?id=380088 worth voting for. |
![]() Registered Member ![]()
|
* No it can't, as all tables and views are into different schemas - in fact the "public" schema only contains types, domains, functions and procedures definitions, * however : "SELECT * FROM accounting.account" works, * I can't modify my db to make : "SELECT * from account" work, as it would involve a very dangerous malpractice : put those tables into the "public" schema, moreover, I can't even do that as I have tables with the same name in different schemas (eg: accounting.account, employee.account, common.account, etc), * Note that after altering the : "search_path" variable for user "suadmin@localhost", the failure was upon another table (address), which seems logical. As I selected "import with structure", it seems logical to me that Kexi first retrieves types, domains, schemas structures, tables and view names, the whole shebang and finally, tables and views from schemas with a FQDN, meaning : SCHEMA_NAME.TABLE_NAME (?) |
![]() Moderator ![]()
|
OK, thanks.
I'd like to remind that importing the database will create a new db, be it kexi file or one the pgsql server, possibly the same as the source one. Then, the destination db won't take advantage of your securing approach through the schemas. That's unsupported by current KEXI, though it would be attractive feature. So based on that, would you be able to put those tables into the "public" schema e.g. for specific user temporarily? It does make it insecure given what I said above. Cheers. |
![]() Registered Member ![]()
|
Hmm, you read me too fast, I can't because many tables have the same name but a different schema.
|
![]() Moderator ![]()
|
> many tables have the same name but a different schema.
I got it, It's still possible to "put" them in the "public" schema, e.g. by dumping the SQL, doing some table names modification and importing back to a new db. This is extra work the KEXI migrator would do for us on the fly. But probably implementing https://bugs.kde.org/show_bug.cgi?id=380088 has more value. |
![]() Registered Member ![]()
|
No, I don't have time for that.
About bug #380088, I don't see the advantage to be able to open a DB engine without any processing behind. I'll fall back to a commercial software because I really need to import/export out of the box without any hassle. Anyway, thanks for your time. |
Registered users: Bing [Bot], Google [Bot], Sogou [Bot], Yahoo [Bot]