Adatbázis: SQL, XML DB

[MEGOLDVA] sqlite like és index

 ( zolti | 2018. november 27., kedd - 20:48 )

A problémám a következő:
A sqlite like nem használja az indexet, ha számmal kezdődik a string.

teszt:
[code]
DROP TABLE IF EXISTS partners;
CREATE TABLE partners (id INTEGER PRIMARY KEY NOT NULL , name TEXT NOT NULL );
INSERT INTO partners VALUES(1,'1 Próba');
INSERT INTO partners VALUES(2,'2 Próba');
INSERT INTO partners VALUES(3,'3 Próba');
CREATE INDEX hex_name_index ON partners ( hex(name) COLLATE NOCASE );

EXPLAIN QUERY PLAN SELECT name FROM partners WHERE hex(name) LIKE 'Foo%' ;

Táblázatos kérdés

 ( Smokey2k | 2018. november 26., hétfő - 23:52 )

Hello!
Eléggé idegen fogalom számomra a táblázat kezelés, szóval belefutottam egy olyan problémába ami kifog rajtam egyelőre, gondoltam írok ide hátha valaki tud rá megoldást.

Egy nagyon nem hatékony SQL query (PostgreSQL)

 ( csfeco | 2018. október 30., kedd - 16:35 )

Sziasztok.
Úgy tűnik nem vagyunk barátok az SQL-lel. Csináltam egy lekérdezést, a végeredmény ugyan jó, de elképesztően nem hatékony :

WITH pl AS (SELECT * FROM phs_links WHERE phs_link_type2 = 'Front' AND port_id2 = ?)
SELECT pll.*, plr.*, ppr.*
FROM pl AS pll
JOIN interfaces AS il ON pll.port_id1 = il.port_id
JOIN mactab AS m ON il.hwaddress = m.hwaddress
JOIN phs_links AS plr ON m.port_id = plr.port_id1
JOIN pports AS ppr ON plr.port_id2 = ppr.port_id
WHERE min_shared(plr.port_shared, ?::portshare) <> 'NC'::portshare

Postgresql → pg_rman segítséget szeretnék kérni

 ( nagyorgy | 2018. október 12., péntek - 21:58 )

Valamiért az inkrementális mentés lementi a teljes adatbázist (méretre).
A pg_rman debug módban „DEBUG: /var/lib/pgsql/9.6/data//base/29919/76455_fsm fall back to simple copy” jellegű üzenetekkel lát el.
A kód azt írja: „all pages in the file don't have BackupPageHeader”. Ez nem tudom mit jelent, illetve hogy tudnám orvosolni?

Előre is köszönöm a segítséget.

MySQL: ne dump-olja az in-memory táblákat

 ( log69 | 2018. szeptember 10., hétfő - 17:38 )

Sziasztok,

MySQL-ben lehet létrehozni in-memory táblákat, melyek tartalma elvész mysql server újraindítása után. Pont ez kellene.

Viszont mysqldump kinyomja az in-memory táblák tartalmát is.

Hogyan tudnék olyan mysqldump parancsot írni, amely nem dump-olja ki a memory engine-es táblák tartalmát vajon?

Köszi.

Adatbázis kódolás megváltoztatása

 ( tr1719 | 2018. augusztus 29., szerda - 11:09 )

Üdv!

Egy nagyon régi problémámhoz hasonló jött most elő, és sajnos ehhez egyáltalán nem értek.

Adott egy python + django applikáció, ami mögött egy mysql szerver található. Az adatbázisban semmilyen kódolás nem lett beállítva, default szinte teljesen.

Az őűŐŰ karakterek helyett mindenhol kérdőjelek jelennek meg, és ezt szeretném orvosolni.

Nagyjából 4- 5 tábláról van szó, de ha az adatbázis egészére meg lehet oldani, az még jobb.

Amit eddig próbáltam:

MySQL NOT DETERMINISTIC function error

 ( Luckye | 2018. augusztus 22., szerda - 14:39 )

Sziasztok!

Küzdök egy problémával, felteszem itt is, hátha tudtok segíteni.
A feladat, hogy egy megrendeléshez az ügyfél könnyen megjegyezhető, de egyedi megrendelésazonosítót kapjon. Ehhez MySQL-t használnék, mert hogy az van. Viszont nem értek hozzá.

Amit elkövettem (és lokálisan, USB WEB Server-el működik is) az a következő SQL script:

CREATE TABLE IF NOT EXISTS `orders` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci AUTO_INCREMENT=1 ;

DELIMITER $$

mysql kezdő - select alap kérdés

 ( zumy | 2018. július 31., kedd - 10:13 )

Üdv;

-nagyon béna vagyok ehhez :(
-adott 3 tábla: dolgozo, dolgozo_szla, szamfejtes; dolgozoban: Id, Nev; dolgozo_szlaban: ID, DolgozoID; a szamfejtesben: dolgozo_szlaID, fizetés;
-a dolgozo_szla kapcsolja össze a kettőt és kellene egy olyan lekérdezés, ami Név, fizetés párokat dob;
-pl. dolgozo (47, zumy) dolgozo_szla (27,47) szamfejtes (27,50000) ; ebből kellene: zumy 50000

-tudom, h ez nagyon alap, de sehogy se jön össze; ill. csak sima sql parancsok játszanak

Előre is köszönöm!

zümy

mysql root password láma

 ( plt | 2018. július 24., kedd - 11:37 )

Debian 9 alatt a mariadb root hozzáférésének a jelszavát szeretném beállítani, de sehogyan sem megy. Próbáltam a

mysqladmin -u root password ujJelszoAmitSzeretnek

paranccsal, de közvetlenül a mysql.user táblába írva is:

USE mysql;
UPDATE user SET password=PASSWORD('ujJelszoAmitSzeretnek') WHERE User='root' AND Host = 'localhost';
FLUSH PRIVILEGES;

Mindkét parancs ugyanúgy változtatja a mysql.user táblát, tehát olyan, mintha megtörténne a beállítás, ám mégsem.

mariadb 10.2 vs. 10.3 explain wtf?

 ( sj | 2018. július 16., hétfő - 20:19 )

Van egy ilyesmi tablam:

MariaDB [clapf]> show create table token;
+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

Sok zip file (150G) tárolása ha lehet verziózva

 ( GergA84 | 2018. július 10., kedd - 7:01 )

Sziasztok,

A helyzetet a következő:
Van kb 150Gb teszt input data amit a nightly CI futás használ.
Zip fájlok, bennük képek és számítási kalkulációk.
A zip fájlok átlagos mérete 80-100Mb között mozog.
Évente kb 50 Gb-tal fog növekedni a szükséges hely a beérkező új .zip-ek miatt.
Jelenleg Windows File Share-n vannak.
Naponta kb 2x van "kiolvasás" tehát cca 300Gb network transfert indukálunk/nap

Keresek:
Egy olyan megoldást amiben ha lehet verzóizva tudom tárolni a zip fájlokat (ha szüksége lenne rá)

[XML] Hibás séma definíció fixálása

 ( pityulaman1983 | 2018. június 28., csütörtök - 13:08 )

Sziasztok!

A címben említett problémával küzdök és valahol már volt topic itt a hupon.
A Microsoft publikált egy XSD-t MSDN-en (url az xsd-hez a poszt alján), ami már eredetileg is hemzsegett a szintaktikai hibáktól. Ezek nagy részét már javították a visszajelzéseim alapján (mondjuk tegnap még találtam benne véletlenül egy "Serizlizable" kifejezést), viszont néhány XML-t még mindig nem tudok deserializálni az xsd-ből generált C# class segítségével.

SELECT alapértelmezett sorrendje állandó?

 ( plt | 2018. június 26., kedd - 7:42 )

Ha egy SQL SELECT-ben megadom az ORDER BY zéradékot, akkor az eredmény sorrendje egyértelmű. Ha nem, akkor véletlenszerű. De:
Ha nem adtam meg az ORDER BY záradékot, akkor ez a véletlenszerű sorrend fix, azaz többször lefuttatva ugyanazt a sorrendet tartja?
Egyrészt azt várnám, hogy nem, mivel véletlenszerű lehet.
Másrészt azt várnám, hogy igen, mivel a végén lehet LIMIT, és ettől elvárom, hogy több darabban kérhessem le. Mellesleg úgy tűnik a PhpMyAdmin is ez utóbbi értelmezéssel használja.

[megoldva] Postgresql, quote_literal, pg_escape_literal, like

 ( szz | 2018. június 19., kedd - 8:42 )

Lehet valahogy ötvözni PostgreSQL-ben a felhasználói input levédését és a like '%...%' kulcsszót?
Ezt ugyan szintaktikailag elfogadja a psql, csak nem azt adja, amire számítok: select * from t1 where c1 like '%'||quote_literal('the')||'%';

Szerk; egy nulladik megoldás ez: '%'||substr(quote_literal('the'),2,char_length('the'))||'%';
Egy fokkal szebb PHP-ből az előkészítés:
$inp = pg_escape_literal('%' . mb_convert_case($mb, MB_CASE_LOWER) . '%');
$where='lower(c1) like ' . $inp;

MySql default sorrend

 ( plt | 2018. április 6., péntek - 13:19 )

Egy mysql tábla `id` és `parent_id` mezők alapján van indexelve. Az `id` az elsődleges kulcs.
Milyen sorrendben adja vissza az elemeket a WHERE `parent_id`=5 feltétel?
Az explain szerint a `parnet_id` indexet használja a találatok kigyűjtéséhez.
Azonos `parent_id` értékeken belül garantáltan az elsődleges kulcs sorrendjében kapom vissza a találatokat, vagy véletlenszerűen?
MySql-ről olvastam, hogy ha nem adok meg semmilyen indexet, akkor az elsődlegeset használja. Igaz, ezt az explain nem erősítette meg, bár cáfolni sem tudta.

mysql_upgrade utan szabad hely eltunt

 ( Vamp | 2018. március 21., szerda - 19:08 )

Sziasztok!

5.5-rol 5.7 re frissitettem egy Mysql adatbazist. A tablakat a mysql_upgrade parancsal "hozzaigazitottam" az uj verzioju szerverhez. A gond az, hogy most mintha a adatbazis "ketszer" szerepelne a rendszerben, nem 30 gigat foglal, hanem 60-at... lehetseges, hogy valahova hozott letre temp fajlokat, amiket nem takaritott ki maga utan?

Ha igen, hogy tudok toluk megszabadulni?

Mysql replikáció megállt

 ( neutrino | 2018. március 16., péntek - 15:16 )

Sziasztok,

Van egy master-slave mysql replikációm, ami kb másfél hónapig ment hiba nélkül, aztán egyszer csak leállt az SQL thread és hibát dobott:

Could not execute Write_rows event on table table.product_pictures; Duplicate entry '107947' for key 'PRIMARY', Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY; the event's master log mysql-bin.000052, end_log_pos 69556

Ebben az a furcsa, hogy a bejegyzés a masteren és a slaven is szerepel ugyanolyan formában (ergo nincs mit write-olni)

MySql log warning kikapcsolása

 ( plt | 2018. március 5., hétfő - 9:39 )

Egy mysql szerver dobál rengeteg "Statement may not be safe to log in statement format." warningot az error.log fájljába, ezt szeretném kikapcsolni.
log_warnings = 0 megvolt.
binlog_format = ROW megvolt.
Mindenhol azt írják erről, hogy ez egy replikálásnál fellépő warning, de itt nincs replikálás, igaz, a binlog be van kapcsolva.
A warningban megjelenő SQL kérdés érdekessége, hogy
UPDATE table SET field = 'value' WHERE id = key LIMIT 1
típusú SQL parancsok, és nem
UPDATE table SET field = 'value' WHERE field = value2 LIMIT 1
típusúak.

MariaDB: Access denied for user 'root'@'localhost'

 ( kumgabor | 2018. január 24., szerda - 11:06 )

Sziasztok!

Debian 9, MariaDB, Adminer.
Konzolról be tudok lépni mysql -p-vel és a megadott jelszóval, de az Adminer ugyanerre a root/jelszó kombinációra Access denied for user 'root'@'localhost' hibát dob.

Van valakinek ötlete, hogy egyáltalán milyen logban nézelődjek? Auth.log-ban, syslogban, mariadb és apache logjában semmi releváns nincs.

Database deployment

 ( barii | 2017. december 14., csütörtök - 18:01 )

Sziasztok,

A kerdesem, hogy milyen megoldasokat tudtok nekem ajanlani database deploymentre?
Szoval adott dev, staging, prod szerverek, a kod source controlban, es TFS build & release. No most ha valami valtozik a kodban es az adatbazisban egyszerre, akkor egyutt kene tortenjen a valtoztatas a kodban es az adatbzisban.

Ezekre a lehetosegekre gondoltam, de pontosan meg nem korvonalazodott:

Mongodb lazy replication

 ( djsmiley | 2017. november 20., hétfő - 15:03 )

Sziasztok!

Garázsprojekt kapcsán keresek okos megoldást egy kb. a tárgyban jelölt témakörben.
Van egy gépem, amin van egy MongoDB, tolja bele egy script az adatokat (1 db, 1 collection, 90 insert / perc kb.). Ez a gép rossz esetben 3G neten lóg, ami vagy megbízható, vagy nem, de semmiképpen sem alapozhatok arra, hogy működik. Ezért gondoltam egy lokális MongoDB-t rá, ami tök júl működik is.

SQL Koordináták Geo keresgélés

 ( p2pking | 2017. október 28., szombat - 16:03 )

Játszásiból elkezdtem sql táblában tárolt koordinátákkal szórakozni.

Kitalálmányoztam, hogy amit próbálnék megoldani, azt biztosan lehetséges elegánsabban is megoldani.
Feladvány nagyon egyszerűnek látszik, de tisztán sql nem tudtam megoldani.
Tábla tartalmaz lat lon párokat, amik közül ki kell szűrni azt a pontot, ahol adott távolságon belül a legtöbb pont található.

Remélem emészthető a megfogalmazás, próbáltam nagyon egyszerűsíteni.

Addig eljutottam, hogy ezt "erőből" scripttel meg tudom csinálni.

Windows 10 64bit vs paradox adatbázis

 ( akoska00 | 2017. október 26., csütörtök - 11:20 )

Sziasztok!

Egy régi tárgyi eszköz programot használunk, amely paradox adatbázist használ. A program fel van telepítve hálózati meghajtóra, az fel van mappelve a kliensekre. Egy felhasználós tehát egyszerre csak 1 kliens tud benne dolgozni. Eddig minden jól működött, de a héten nem akar indulni. Azt vettem észre hogy a mappelt I: meghajtó helyett a \\server\folder útvonalon próbál fájlokat elérni ami szerintem nem normális. Legalábbis a ProcessMonitor azt mutatja.
Lehet a Windows-ban történt valami, nem tudom.
Van ötlete valakinek, hogy mi lehet a probléma?

Könyvtárnyilvántartás

 ( gyrgyvrs | 2017. október 16., hétfő - 18:31 )

Sziasztok!
Kolléganőm kérdezett, hogy nem tudok-e valamilyen könyvtári nyilvántartó rendszert. Ő talált valamit, 15 000 Ft-ért. Mondtam neki, hogy teljesen hülye, hát ez teljesen triviális feladat, tipikus adatbázis műveletekkel, ilyet FOSS alapokon simán lehet találni, hisz egy ez diplomamunka szintű feladat. Aztán semmit nem találtam. Tud valaki ilyenről? Könyvek nyilvántartása, kölcsönzés? Néztem ezt a hup.hu-n: https://hup.hu/node/97270

Mennyi hasznosnak tűnő plusz infót tároltok el?

 ( dotnetlinux | 2017. szeptember 13., szerda - 17:11 )

Előtörténet:
17 évesen adatbázis kezelőt akartam írni, mert persze mindegyik szar és lassú, majd én mutatok a világnak valami profi cuccot. Aztán persze rájöttem, hogy vannak nálam okosabbak. (6Mrd emberből csak akad egy). Most már nyilván én is más megoldásait használom, kockákból építkezem: percona + speciális indexelő megoldás + stb.