Zobrazují se příspěvky se štítkemPHP. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemPHP. Zobrazit všechny příspěvky

pondělí 27. července 2020

Dvě verze PostgreSQL na jednom počítači? Jasně! A bez dockeru.

Začnu oblíbeným úvodem celebrit, vyjadřujících se k jakékoli problematice:
Nejsem odborník na to a to, ale osobně si myslím, že...
 S tímto na následující řádky nahlížejte prosím trocho shovívavěji. ;-)

Nicméně i já si osobně myslím, že problém souběžného vývoje několika projektů běžících na různých verzích databáze PostgreSQL celkem dobře řeší využití moderního nástroje Docker. Jenže ale protože ještě pořád nemáme rozchozeno a doladěno, co je pro vývoj třeba, rozhodl jsem se zkusit "starou" cestu spuštění databázových serveru současně. Na to jsem našel celkem podrobná návod Managing Multiple PostgreSQL Instances on Ubuntu/Debian - DZone Database potažmo Managing Multiple PostgreSQL Instances on Ubuntu/Debian - Percona Database Performance Blog, je to ten stejný postup od toho stejného autora.

Návod nebudu kopírovat, prostě a jednoduše při běžící verzi třeba 9.6 doinstalujte 11. Ta se neinstaluje "vedle", udělá si vlastní adresáře a spustí vlastní cluster s novým portem. Úplně bez problémů. Co byl problém tak to, že se mi zaboha nedařilo do databáze přihlásit. Defaultní uživatel postgres neměl heslo (?) a přitom všechny nástroje jej striktně vyžadují.

Pomohlo mi až, jak píší na PostgreSQL: How to change PostgreSQL user password? - Stack Overflow, přihlásit se do databáze bez hesla:

sudo -u postgres psql postgres -p 5435

A heslo nastavit:

ALTER USER postgres WITH PASSWORD 'postgres';

A pak jsem se už připojil a začal normálně pracovat. Podstatné je při všech operacích s databází nezapomenout na port! Port je to jediné, čím se databázové servery při většině operací rozlišují.




pátek 13. července 2018

PostgreSQL, collations a tři dny trápení

Po nějakých úpravách v projekty došlo na upgrade databáze. Na stránce PostgreSQL: Windows installers jsem sáhl po instalaci Postgres od BigSQL. Ostatně tak, jak mi bylo doporučeno. Build projektu ovšem začal padat na collations. A přidání chybějících collations, podle všech návodů to mělo vše vyřešit, nešlo, protože prý:

ERROR:  nondefault collations are not supported on this platform

Dál jsem pátral po internetech, procházel fóra, ale radu nenalézal. Až asi opravdu po třech dnech pátrání (mezitím jsem dělal i něco jiného, nebojte se) jsem se dopátral rady nainstalovat jinou verzi. No ano, PostgreSQL od EnterpriseDB problém "vyřešila".

Není PostgreSQL jako PostgreSQL.

(Samozřejmě jsem vyzkoušel i dřívě ověřený postup dle Marenkův bloček: Update Windows 10 a nefunkční PostgreSQL (RESOLVED), marně.)

Mno, samozřejmě je potřeba ještě doplnit ty které chybějící collations:

CREATE COLLATION "cs_CZ" (LOCALE="Czech");
CREATE COLLATION "de_DE" (LOCALE="German");
CREATE COLLATION "en_US" (LOCALE="English_US");
CREATE COLLATION "hu_HU" (LOCALE="Hungarian");
CREATE COLLATION "pl_PL" (LOCALE="Polish");
CREATE COLLATION "sk_SK" (LOCALE="Slovak");


pondělí 30. října 2017

Update Windows 10 a nefunkční PostgreSQL (RESOLVED)

To si zase tak jednou sednu k nějaké té práci a... nespustí se PostgreSQL! Prý:

LOG: invalid value for parameter "lc_monetary": "Czech_Czech Republic.1250"
LOG: invalid value for parameter "lc_numeric": "Czech_Czech Republic.1250"
LOG: invalid value for parameter "lc_time": "Czech_Czech Republic.1250"
FATAL: configuration file "C:/server/bin/pgsql/data/postgresql.conf" contains errors


Co to sakra... Chvílí googlím... Aha! Poslední update Windows 10 (1709) "upravil" locales (nebo tak jako něco). Podle funkčního a snadného postupu na PostgreSQL 9.5 won't start after Windows 10 fall update - Database Administrators Stack Exchange jsem záhy sjednal nápravu.

  1. Stáhni Locale Builder 2.0 z Official Microsoft Download Center a nainstaluj.
  2. Builder spusť a vytvoř nové "locale" na základě "Czech locale (cs-CZ). "cs-CZ" zachovej.


  3. V dalším kroku změň "region name" z "Czechia" na "Czech republic".


  4. Vytvoř instalátor příkazem "Build - Build Locale Installer"
  5. Nainstaluj locale.
  6. Restartuj PostgreSQL databázi.
A jedééém! :-)


Pro pořádek, používám WMN-XM s PostgreSQL 9.4.4.

[PostgreSQL 9.5 won't start after Windows 10 fall update; FATAL: configuration file C:/server/bin/pgsql/data/postgresql.conf contains errors; Can't start postgresql. postgresql.conf contains errors]

sobota 27. února 2016

On-line regex aneb regulární výraz na pitevně

Regulární výrazy (regular expression) zaskočí nejednoho programátora. Slabšího programátora. ;-) Jestli to nechceš nechat na sobě znát, nabrnkni si pod lavicí Online regex tester and debugger: JavaScript, Python, PHP, and PCRE - velmi chytá "hračka" pro ladění regulárních výrazů i s analýzou a popisem postupu práce testovaného výrazu.

neděle 31. května 2015

Hyperpolyglot - kolik jazyků znáš...

Programovací jazyky se dnes liší pouze způsobem zápisu komentářů. Nebo ne? Přehledné srovnání najdeš na webu Programming Languages - Hyperpolyglot.

pondělí 20. května 2013

Sublime Text - zajímavý textový editor

Sublime Text: The text editor you'll fall in love with - Sublime Text je sofistikovaný textový editor pro programování, kódování a všemožné jiné psaní. Zaujme uživatelským rozhraním, mimořádnými vlastnostmi a úžasným výkonem.
Sublime Text je rozšiřitelný pluginy napsanými v Pythonu, běží na Windows (jsou i portable verze!), Linuxu i OSx. Prý je Sublime Text úplně nejlepšejší editor pro programování v JavaScriptu :-)

úterý 7. května 2013

Detekce mobilního prohlížeče 100 krát jinak

Na webu Detect Mobile Browsers - Open source mobile phone detection najdete ke stažení skripty pro rozpoznání mobilního prohlížeče (detekce mobilu) v rozličných verzích. Stačí si jen vybrat. Třeba jen "návod", jak upravit .htaccess nebo podmínku pro PHP.

Samotná stránka Detect Mobile Browsers poslouží jako ukázka fungování rozpoznání mobilu.

'via Blog this'

čtvrtek 4. dubna 2013

Vlastní cloud s OwnCloud



How to Set Up Your Own Private Cloud Storage Service in Five Minutes with OwnCloud:
"OwnCloud is free and open source software that operates as a very simple way to set up your own syncing, Dropbox-like cloud storage system on your own server or web site."
'via Blog this'

středa 16. ledna 2013

WordPress a robots.txt

Blogovací či CMS systém WordPress má kromě mnoha ctností i některé záludnosti. Jednou z nich je dynamické generování souboru robots.txt. WordPress sám v robots.txt pouze povoluje nebo zakazuje procházení webu na základě nastavení v administraci blogu. Co ale, když potřebujete vlastní nastavení?
Jednou z cest je tradičně plugin na robots.txt. Může to být třeba plugin WP Robots Txt. Návod najdete třeba na BlogDum: How to edit robots.txt in WordPress.


Ale co když vám ruční zadání hodnot v administraci nestačí? Co když potřebuje robots.txt ošetřit nebo generovat programově? V tento moment přijdou ke slovu "hooky", nebo předefinování robots.txt generující funkce do_robots() (definované ve wp-includes/functions.php).

Vlastní doplnění funkčnosti můžete navěsit na akci 'do_robotstxt' nebo na filter 'robots_txt' (viz Function Reference/add action « WordPress Codex a Function Reference/add filter « WordPress Codex).

Předefinovat funkci do_robots() můžete například ve functions.php vlastního tématu. Nejdříve odregistrujte původní funkci pomocí "remove_action('do_robots','do_robots');" a pak pomocí "add_action('do_robots', 'my_global_robots');" zaregistrujte vlastní funkci (viz WordPress › Support » [Plugin: WordPress SEO by Yoast] incompitable vith functions do_robotstxt & do_robots a WordPress › Support » Robots.txt).

O robots.txt pro blog se systémem WordPress se dočtete také v textu Perishable Press: Better Robots.txt Rules for WordPress.

pátek 23. listopadu 2012

Pěkný návod jak napsat plugin pro Wordpress

List Categories Widget Plugin and Tutorial | Pippins Plugins: "In this tutorial I’m going to walk you through how to create a simple widget to list categories, and custom taxonomies, in your sidebar. The final result will be a complete plugin that you can drop into your wp-plugins folder and activate like any other plugin."

'via Blog this'

sobota 18. srpna 2012

Jak vložit původní, rodičovskou šablonu do šablony child-thematu

Pro jistý projekt na Wordpressu dělám nové téma. Z dobrých důvodů ho stavím jako child-theme s minimální úpravou šablon. Do všech stránek potřebuji ale vložit kus kódu, který nejsem stavu uspokojivě zavěsit na žádný dostupný hook. Nezbývá, než modifikovat šablonu header.php. Ale to nechci... Kdybych do nového tématu udělal šablonu header.php, která by si nejdřív nacucla původní, rodičovský header.php a až pak by následoval nový kód... a jo! :-) Stačí do nové šablony vložit kód:


require_once( get_template_directory(). '/header.php' );


Dobré rady jsem našel v textech

Poznámka: Funkce get_template_directory() vrací cestu k rodičovskému tématu. Pokud chcete vkládat šablony nebo jiný kód z child-theme, použijete get_stylesheet_directory(). Obdobný princip platí i pro zjišťování URI. Pozor na to!

čtvrtek 31. května 2012

WordPress na 110 %

Getting 110% out of WordPress | HotScripts: Článek zmiňuje s krátkou charakteristikou některé pluginy a témata pro WordPress, které dokáží proměnit váš WordPress z jednoduchého blogu do úplně jiného typu webových aplikací. Dozvíte se, jak WordPress změnit na inzertní server, aukce, sociální sítě, wiki (faq), e-shop a další…

'via Blog this'

neděle 13. listopadu 2011

Historie webu

Na adrese evolutionofweb.appspot.com vystavil Google interaktivní grafické znázornění historie hlavních webových technologií a bezmála všech webových prohlížečů od vzniku protokolu HTTP po současnost. Můžete se také podívat, jak se webové prohlížeče měnily během doby.

pondělí 20. července 2009

Záložky ve vývoji

Nějakou dobu zvolna pracuji na pluginu pro Wordpress, který by umožňoval velmi snadno rozdělit text příspěvku na jednotlivé záložky. Jmenuje se "BarelyFitz JavaScript Tabifier Wordpress Plugin" a základní popis a současně test je zatím jen na mé soukromé vývojové kopii Wordpressu.

Případný zájem veřejnosti by mohl dokončení finální verze pluginu uspíšit ;-)

čtvrtek 2. července 2009

The GOTO strikes back! :-D

Byly doby, kdy se v programu nemohlo přeskočit jinak, než příkazem GOTO. Typický byl pro BASIC. Postupem doby se ale ve vyšších jazycích dostalo GOTO na černou listinu a jeho použití snižovalo známky z programování. Jak mě škodolibě potěšilo, když jsem se v článku Jmenné prostory a další novinky v PHP 5.3 dočet:
Po vášnivých debatách přibyl do PHP 5.3 příkaz goto.
Cha chá! GOTO je zpět!

MAKE Magazine

Technology Review RSS Feeds

Nejčtenější příspěvky