Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 141 (pdf) a HackSpace 78 (pdf).
Byla vydána verze 2.0.0 programovacího jazyka Kotlin (Wikipedie, GitHub). Oficiálně bude představena ve čtvrtek na konferenci KotlinConf 2024 v Kodani. Livestream bude možné sledovat na YouTube.
Byla vydána nová major verze 27.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Přehled novinek v příspěvku na blogu.
Byla vydána nová verze 1.8.0 svobodného multiplatformního softwaru pro konverzi video formátů HandBrake (Wikipedie). Přehled novinek v poznámkách k vydání na GitHubu. Instalovat lze také z Flathubu.
Microsoft představil nové označení počítačů Copilot+. Dle oznámení se jedná se o počítače poskytující funkce umělé inteligence. Vedle CPU a GPU mají také NPU (Neural Processing Unit). Uvnitř představených Copilot+ notebooků běží ARM čipy Qualcomm Snapdragon X Elite nebo X Plus.
Příspěvek na blogu Codean Labs rozebírá zranitelnost CVE-2024-4367 v PDF.js, tj. mj. prohlížeči PDF souborů ve Firefoxu. Při otevření útočníkem připraveného pdf souboru může být spuštěn libovolný kód v JavaScriptu. Vyřešeno ve Firefoxu 126.
Lazygit byl vydán ve verzi 0.42.0. Jedná se o TUI (Text User Interface) nadstavbu nad gitem.
K open source herní konzole Picopad přibyla (𝕏) vylepšená verze Picopad Pro s větším displejem, lepšími tlačítky a větší baterii. Na YouTube lze zhlédnout přednášku Picopad - open source herní konzole z LinuxDays 2023.
Byla vydána (𝕏) nová major verze 17 softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech GitLab (Wikipedie). Představení nových vlastností i s náhledy a videi v oficiálním oznámení.
Sovereign Tech Fund, tj. program financování otevřeného softwaru německým ministerstvem hospodářství a ochrany klimatu, podpoří vývoj FFmpeg částkou 157 580 eur. V listopadu loňského roku podpořil GNOME částkou 1 milion eur.
Řešení dotazu:
CREATE TABLE uzivatel(nick text); INSERT INTO uzivatel values ('Wall'); INSERT INTO uzivatel values ('wall'); INSERT INTO uzivatel values ('WaLl'); INSERT INTO uzivatel values ('Wal'); INSERT INTO uzivatel values ('wal'); INSERT INTO uzivatel values ('wAl'); SELECT * FROM uzivatel WHERE nick ILIKE 'wal';
ILIKE
lze použít i operátor ~~*
CREATE EXTENSION "citext";
CREATE EXTENSION "citext";
?
su su postgres psql vasedb CREATE EXTENSION "citext";Postgres neběží s právy roota jelikož by to bylo bezpečnostní riziko - takže má vlastního "roota" čímž je uživatel Postgres. Původně jsem to tady nechtěl vytahovat, ale možná by Vám pomohlo školení - 23. října - PostgreSQL efektivne - Základní administrace PostgreSQL, vysvětlení základních funkcí PostgreSQL ovlivňujících chování MVCC, TOAST - cílem školení je vysvětlit nejdůležitější funkce PostgreSQL, tak aby účastník školení dokázal efektivně nasadit a provozovat PostgreSQL (ROOT). Školím pro iinfo.
postgres=# create database nova_database encoding 'utf8' owner hunt;
CREATE DATABASE
postgres=# CREATE EXTENSION "citext";
CREATE EXTENSION
postgres=#
a pak jsem se přihlásil na hunt a chtěl jsem udělat
nick_uzivatele CITEXT UNIQUE not null,
což by měl bejt stejnej postup ne? Nebo já už nevim, začínám toužit po MySQL.
psql postgres postgres=# create database nova_database encoding 'utf8' owner hunt; CREATE DATABASE --- prepnout se do cilove db \c nova_database CREATE EXTENSION "citext"; CREATE EXTENSIONJakmile se v pg rozkoukáte, tak to je v pohodě - úplně nejhorší na Postgresu je, že to nemá stejné ovládání jako MySQL. Jak vidím, měl bych do článku http://postgres.cz/wiki/P%C5%99echod_z_MySQL přidat ještě část o case sensitivity
SMALLINT unsigned
nebo i INT unsigned
a nechci databázi velkou jak kráva( rýpu?), štve mě to a už několikrát jsem byl nešťastný, že se mi DB sakramentsky zvětšila (bo právě proto byly použity 2^16 a 2^32 datové typy, bo to je pro aplikaci platný rozsah).CREATE TABLE tx ( x SMALLINT, PRIMARY KEY (x)); INSERT INTO tx (x) VALUES(32767); SELECT x*2 AS val FROM tx;To jsou tři věci, které jsem tam nenašel, a které mě při migraci často zabolí (pominu-li, že mysql akceptuje INSERT bez INTO líní lidé jsou…).
GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER } [, ...] | ALL [ PRIVILEGES ] } ON { [ TABLE ] table_name [, ...] | ALL TABLES IN SCHEMA schema_name [, ...] } TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
GRANT SELECT ON ALL TABLES IN SCHEMA xxxx TO GROUP nejaka_grupa
případně:
do $$ declare users text[] = ARRAY['pavel','postgres']; u varchar; r record; begin for r in select * from information_schema.tables where table_schema = 'public' loop for u in select * from unnest(users) loop execute format('grant select on %I.%I to %I', r.table_schema, r.table_name, u); end loop; end loop; end;$$ ;Kdybych z nějakého důvodu nemohl použít skupiny (třeba z vlastní lenosti). 99% z MySQL lze do Pg nějak převést - to 1 procento nejde - v několika málo ohledech tyhle dvě databáze mají úplně jinou filozofii, jiná řešení a měly (a mají) jiné priority vývoje.
Myslel jsem aby jsi to doplnil na wiki, bo to jsou věci, s kterými se přechodník setká a potrápí jej
Ad. unsigned - dík, zajímavé řešení, ale jen pro situace kdy tabulka obsahuje velké rozpětí hodnot (tedy spíše spoustu malých a pár velkých) jinak je to nastejno jak užití vyššího datového typu nebo je to o kus horší (už 15bits ve 4B blééé)…
Ad. Vím - jsem to musel už řešit několikrát, stojí za zmínku i ALTER DEFAULT PRIVILEGES IN SCHEMA…
- což je už konečně to co je „třeba“ :), ale chtěl jsem napsat verzi < 9 (, ale nějak se mi pomíchali > < ), člověku dělající v MySQL to přijde velmi neohrabané a je zmaten - obdobnou fci používám, jen má nevýhodu, že po každém doplnění tabulek, se nesmí zapomenout ji použít.
Ad. případ (třešnička) implicitního ne-přetypování na vyšší typ, tak na to spousta „obyčejných“ lidí co dělali jen s MySQL čučí jak čáp do trubky…
Ju. Aby jsme si rozuměli, nechtěl jsem rozbíhat nic ve smyslu MySql vs. PostgreSql a obhajobu či hanění řešení. Jen když jsi zmínil doplnění wiki, já si ji přečetl, tak jsem navrhl doplnit další rozdíly, které považuji za důležité.
Přiznávám, že absence unsigned nedokážu brát s nadhledem a jsem schopen/ochoten flejmovat na toto téma .
Tiskni Sdílej: