Vývojáři dekompilátoru rev.ng otevřeli jeho backend revng-c. Zdrojové kódy jsou k dispozici na GitHubu.
Poněvadž Redis už není svobodný, konsorcium Linux Foundation a Amazon Web Services (AWS), Google Cloud, Oracle, Ericsson a Snap Inc. společně představili svobodný fork Redisu s názvem Valkey.
Sam Bankman-Fried, zakladatel zkrachovalé kryptoměnové burzy FTX, byl dnes odsouzen k 25 letům vězení [Yahoo Finance].
Proxmox oznámil, že usnadňuje migraci z VMware ESXi do Proxmoxu.
Byla vydána nová verze 2.53.18.2 svobodného multiplatformního balíku internetových aplikací SeaMonkey (Wikipedie). Přehled novinek v poznámkách k vydání.
Na blogu programovacího jazyka Swift byl publikován příspěvek Psaní aplikací pro GNOME v programovacím jazyce Swift. Používá se Adwaita pro Swift.
egui je GUI knihovna pro programovací jazyk Rust běžící na webu i nativně. Vydána byla verze 0.27.0.
Byla vydána nová verze 6.1 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.13. Thunderbird na verzi 115.9.0.
Linka STOPonline.cz v roce 2023 přijala 3700 hlášení závadného obsahu na internetu, 22 bylo předáno PČR, 23 bylo předáno ISP a 944 závadových domén zobrazujících dětskou nahotu či pornografii bylo nahráno do mezinárodního systému ICCAM, který je spravován asociací INHOPE.
Byla publikována podrobná analýza v upstreamu již opravené bezpečnostní chyby CVE-2024-1086 v Linuxu v nf_tables.
Ř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: