Vytvoření postgresql databáze. Instalace a počáteční konfigurace PostgreSQL. Instalace z oficiálního úložiště

První způsob, jak zkontrolovat, zda máte přístup k databázovému serveru, je pokusit se vytvořit databázi. Běžící PostgreSQL server může spravovat více databází, což vám umožňuje vytvářet samostatné databáze pro různé projekty a uživatele.

Váš administrátor pro vás již možná vytvořil databázi a dal vám její jméno. V takovém případě můžete tento krok přeskočit a přejít k další části.

Chcete-li vytvořit databázi, v tomto příkladu pojmenovanou mydb, spusťte další příkaz:

$createdb mydb

Pokud nevidíte žádné zprávy, operace byla úspěšná a můžete přeskočit pokračování této části.

Pokud se zobrazí zpráva jako:

Createdb: příkaz nenalezeno

To znamená, že PostgreSQL nebyl správně nainstalován. Buď není nainstalován vůbec, nebo jeho adresář není součástí vyhledávací cesty příkazu shellu. Zkuste zavolat stejný příkaz zadáním absolutní cesta:

$ /usr/local/pgsql/bin/createdb mydb

Tato cesta může být pro vás jiná. Obraťte se na správce nebo zkontrolujte, zda byly dodrženy pokyny k instalaci, abyste situaci napravili.

Další možná odpověď:

Createdb: nepodařilo se připojit k postgresové databázi: nepodařilo se připojit k serveru: Žádný takový soubor nebo adresář Opravdu běží lokálně a přijímá připojení přes doménový soket "/tmp/.s.PGSQL.5432"?

To znamená, že server nefunguje nebo se k němu nemůže připojit. V takovém případě si přečtěte pokyny k instalaci nebo se obraťte na správce.

Můžete také obdržet následující zprávu:

Createdb: Nepodařilo se připojit k databázi postgres: DŮLEŽITÉ: role "joe" neexistuje

kde se zobrazuje vaše uživatelské jméno. To znamená, že administrátor pro vás nevytvořil PostgreSQL účet. (Účetnictví PostgreSQL záznamy se liší od uživatelských účtů operačního systému.) Pokud jste sami správcem, přečtěte si kapitolu 20, kde najdete pokyny k vytvoření uživatelských účtů. Chcete-li vytvořit nového uživatele, musíte se stát uživatelem operačního systému, pod kterým byl PostgreSQL nainstalován (obvykle postgres). Je také možné, že vám bylo přiděleno uživatelské jméno PostgreSQL, které neodpovídá názvu vašeho OS; v tomto případě musíte explicitně zadat své uživatelské jméno PostgreSQL pomocí přepínače -U nebo nastavením proměnné prostředí PGUSER.

Pokud máte Účet uživatel, ale nemá práva k vytvoření databáze, zobrazí se zpráva:

Createdb: Vytvoření databáze se nezdařilo: ERROR: Žádná práva k vytvoření databáze

Ne všichni uživatelé mohou vytvářet databáze. Pokud vám PostgreSQL odmítne vytvořit databáze, potřebujete k tomu oprávnění. V takovém případě kontaktujte svého správce. Pokud jste si PostgreSQL nainstalovali sami, pak pro účely tohoto úvodu byste měli být přihlášeni jako uživatel provozující databázový server.

Můžete také vytvářet databáze s jinými názvy. PostgreSQL vám umožňuje vytvořit tolik databází, kolik chcete. Názvy databáze musí začínat písmenem a nesmí být delší než 63 znaků. Jako název databáze je vhodné použít své aktuální uživatelské jméno. Mnoho nástrojů používá tento název ve výchozím nastavení, takže si můžete zjednodušit zadávání příkazů. Chcete-li vytvořit databázi s tímto názvem, jednoduše zadejte:

$createdb

Pokud již svou databázi nechcete používat, můžete ji smazat. Pokud jste například vlastníkem (tvůrcem) databáze mydb, můžete ji zničit spuštěním následujícího příkazu:

$dropdb mydb

(Tento příkaz nemá výchozí název databáze aktuálního uživatele; musíte ho zadat explicitně.) Tím se fyzicky odstraní všechny soubory spojené s databází, a protože tuto akci nelze vrátit zpět, neprovádějte ji, aniž byste přemýšleli o důsledcích.

Správa systému

Tento příspěvek je stručné pokyny pro začátečníky, pro ty, kteří si PostgreSQL nainstalovali poprvé. Všechno je tady nezbytné informace abyste mohli začít s PostgreSQL.

Připojení k DBMS

První věc, kterou musíte udělat, je získat přístup k PostgreSQL, přístup jako superuživatel.
Nastavení autentizace se nachází v souboru pg_hba.conf.
  1. místní všichni postgres peers
Tento řádek říká, že uživatel postgres se může připojit k jakékoli lokální databázi PostgreSQL DBMS přes zásuvku. Není potřeba zadávat heslo, operační systém odešle uživatelské jméno a bude použito pro autentizaci.
Pojďme se připojit:
  1. $ sudo -u postgres psql postgres postgres
Abyste se mohli připojit přes síť, musíte do pg_hdba.conf přidat řádek:
  1. # TYP DATABÁZE METODA ADRESY UŽIVATELE
  2. hostssl všechny všechny 0.0.0.0/0 md5
Metoda autentizace md5 znamená, že pro připojení budete muset zadat heslo. To není příliš výhodné, pokud často používáte konzolu psql. Pokud chcete automatizovat některé akce, pak špatné zprávy Problém je v tom, že psql nepřijímá heslo jako argument. Tyto problémy lze vyřešit dvěma způsoby: nastavením příslušné proměnné prostředí a uložením hesla do speciálního souboru .pgpass.

Nastavení proměnné prostředí PGPASSWORD

Hned řeknu, že je lepší tuto metodu nepoužívat, protože některé operační systémy vám umožňují prohlížet běžní uživatelé proměnné prostředí pomocí ps. Ale pokud chcete, musíte do terminálu napsat:
  1. exportovat PGPASSWORD=mypasswd
Proměnná bude k dispozici v aktuální relaci. Pokud potřebujete nastavit proměnnou pro všechny relace, musíte přidat řádek z příkladu do souboru .bashrc nebo .bash_profile

Uložení hesla do souboru .pgpass

Pokud mluvíme o Linuxu, pak by měl být soubor umístěn v $HOME (/home/username). Pouze vlastník (0600) musí mít práva pro zápis a čtení. Do souboru musíte napsat řádky jako tento:
  1. hostname:port:database:username:password
Do prvních čtyř polí můžete napsat „*“, což nebude znamenat žádné filtrování (úplný výběr).

Získání informací nápovědy

\? - dá všechno pryč dostupné příkazy spolu s jejich stručným popisem,
\h - zobrazí seznam všech dostupných dotazů,
\h CREATE - poskytne nápovědu pro konkrétní požadavek.

Správa uživatelů DBMS

Jak získat seznam uživatelů PostgreSQL? Nebo se můžete zeptat na tabulku pg_user.
  1. SELECT * FROM pg_user ;

Vytvoření nového uživatele PostgreSQL

Z skořápka psql to lze provést pomocí příkazu CREATE.
  1. VYTVOŘIT UŽIVATELSKÉ uživatelské jméno S heslem "heslo" ;
Nebo můžete použít terminál.
  1. createuser -S -D -R -P uživatelské jméno
Budete vyzváni k zadání hesla.

Změna uživatelského hesla

  1. ALTER USER uživatelské jméno WITH PASSWORD "heslo" ;

Změna uživatelských rolí

Chcete-li uživateli udělit oprávnění k vytváření databází, spusťte následující dotaz:
  1. ALTER ROLE uživatelské jméno WITH CREATEDB ;

Správa databáze

Zobrazení seznamu databází v terminálu psql: Totéž z terminálu Linux:
  1. psql -l
Vytvoření databáze z psql (PostgreSQL Terminal)
  1. VYTVOŘIT DATABÁZI dbname OWNER dbadmin ;
Stvoření nová základna data pomocí terminálu:
  1. createdb -O uživatelské jméno dbname;

Nastavení přístupových práv k databázi

Pokud je uživatel vlastníkem databáze, pak má všechna práva. Pokud ale chcete dát přístup jinému uživateli, můžete to udělat pomocí příkazu GRANT. Dotaz níže umožní uživateli připojit se k databázi. Ale nezapomeňte konfigurační soubor pg_hba.conf, musí mít také příslušná oprávnění pro připojení.
  1. GRANT PŘIPOJTE SE NA DATABÁZI název_databáze K dbadminu;

PostgreSQL je multiplatformní objektově relační DBMS s otevřeným zdrojový kód. Tento článek vám ukáže, jak nainstalovat PostgreSQL Ubuntu Linux, připojte se k němu a proveďte párování jednoduché SQL dotazy a také jak nastavit zálohy.

Chcete-li nainstalovat PostgreSQL 9.2 na Ubuntu 12.10, spusťte následující příkazy:

sudo apt-add-repository ppa:pitti/ postgresql
aktualizace sudo apt-get
sudo apt-get install postgresql-9.2

Zkusme pracovat s DBMS přes shell:

sudo -u postgres psql

Vytvořme testovací databázi a testovacího uživatele:

CREATE DATABASE testovací_databáze;
CREATE USER test_user S heslem "qwerty" ;
GRANT ALL ON DATABASE test_database TO test_user;

Shell ukončíte zadáním příkazu \q .

Nyní zkusme pracovat s vytvořenou databází jménem test_user:

psql -h localhost testovací_databáze testovací_uživatel

Vytvoříme novou tabulku:

CREATE SEQUENCE user_ids;
Uživatelé CREATE TABLE (
id INTEGER PRIMARY KEY DEFAULT NEXTVAL ("user_ids" ),
přihlášení CHAR(64) ,
heslo CHAR(64));

Upozorňujeme, že na rozdíl od některých jiných DBMS, PostgreSQL nemá sloupce s vlastností auto_increment. Místo toho Postgres používá sekvence. Na tento moment Stačí vědět, že pomocí funkce nextval můžeme získat jedinečná čísla pro danou sekvenci:

SELECT NEXTVAL ("id_uživatele" ) ;

Nastavením výchozí hodnoty pro pole id tabulky uživatelů na NEXTVAL("id_uživatele"), dosáhli jsme stejného efektu, jaký poskytuje auto_increment. Při přidávání nových záznamů do tabulky nemusíme specifikovat id, protože jedinečné id bude vygenerováno automaticky. Více tabulek může používat stejnou sekvenci. Tímto způsobem můžeme zaručit, že se hodnoty některých polí v těchto tabulkách nebudou překrývat. V tomto smyslu jsou sekvence flexibilnější než auto_increment.

Přesně stejnou tabulku lze vytvořit pomocí jediného příkazu:

CREATE TABLE users2 (
id SÉRIOVÝ PRIMÁRNÍ KLÍČ ,
přihlášení CHAR(64) ,
heslo CHAR(64));

V tomto případě se sekvence pro pole id vytvoří automaticky.

Nyní pomocí příkazu \d můžete vidět seznam všech dostupných tabulek a pomocí \d users můžete vidět popis tabulky users. Pokud nezískáváte informace, které hledáte, zkuste \d+ místo \d . Seznam databází můžete získat příkazem \l a přepnout na konkrétní databázi příkazem \c dbname. Chcete-li zobrazit nápovědu k příkazu, řekněte \? .

Je důležité si uvědomit, že v PostgreSQL jsou ve výchozím nastavení názvy tabulek a sloupců přetypovány malá písmena. Pokud toto chování nechcete, můžete použít dvojité uvozovky:

CREATE TABLE "jinaTabulka" ("nejakaValue" VARCHAR (64) ) ;

Další funkcí PostgreSQL, která může způsobit potíže při zahájení práce s tímto DBMS, jsou tzv. „schémata“. Schéma je něco jako jmenný prostor pro tabulky, jako adresář s tabulkami uvnitř databáze.

Vytvoření schématu:

VYTVOŘIT SCHEMA rezervace;

Přepnout na schéma:

SET search_path TO bookings;

Seznam existujících schémat můžete zobrazit pomocí příkazu \dn. Výchozí schéma se jmenuje public. V zásadě můžete úspěšně používat PostgreSQL, aniž byste věděli o existenci schémat. Ale při práci se starším kódem a v některých okrajových případech může být znalost schémat velmi užitečná.

Jinak se práce s PostgreSQL příliš neliší od práce s jakýmkoli jiným relačním DBMS:

INSERT INTO users (login, heslo)
VALUES ("asiskon" , "123456" ) ;
SELECT * FROM uživatelů;

Pokud se nyní pokusíte připojit k Postgresu z jiného počítače, selžete:

psql -h 192.168.0.1 testovací_databáze testovací_uživatel

Psql: nemohl připojit k serveru: Připojení odmítnuto
Je server spuštěn na hostiteli "192.168.0.1" a přijímá
Připojení TCP/IP na portu 5432?

Chcete-li to opravit, přidejte řádek:

listen_addresses = "localhost,192.168.0.1"

...také do souboru /etc/postgresql/9.2/main/postgresql.conf.

Po stažení Databáze klíčových slov v angličtině, musíte lokálně nainstalovat databázový server a naučit se provádět výběry. K tomu nabízíme pokyny krok za krokem.

DŮLEŽITÉ: Nemáte-li žádné zkušenosti s prací s databázemi nebo jsou tyto zkušenosti minimální, důrazně doporučujeme začít s minimálním základem pro vypracování procesu.

Snímky obrazovky v pokynech ukazují práci s minimální základnou a podle toho je uveden čas pro minimální základ, ale práce s rozšířenou a maximální základnou bude trvat déle.

Stažení a instalace databázového serveru PostgreSQL

http://www.postgresql.org/download/windows/

1. Stáhnout volný program pro základnu PostgreSQL data z oficiálních stránek http://www.postgresql.org/
stáhnout/windows/

http://www.enterprisedb.com/products-services-training/pgdownload#windows:

Poté následujte odkaz na podrobná stránka verze databáze pro různé OS: http://www.enterprisedb.com/
produkty-služby-školení/
pgdownload#windows :


DŮLEŽITÉ: Doporučujeme nainstalovat databázový server a provést výběr v 64bitový systém s alespoň 6 GB paměť s náhodným přístupem při práci s minimálními a rozšířenými databázemi. V případě maximálního základu je doporučené množství RAM od 32 GB, také žádoucí rychlý disk. Na počítači s 32bitovým systémem bude proces importu dat, jejich indexování a vlastně i načtení trvat velmi, velmi dlouho, takže je lepší od této myšlenky upustit.

Pokud neznáte bitovou hloubku vašeho OS, můžete si ji vyhledat ve vlastnostech počítače ( pravé tlačítko myší na položku „Počítač“, z nabídky vyberte „Vlastnosti“):


2. Nainstalujte staženou databázi PostgreSQL. Při instalaci je téměř vše ve výchozím nastavení...


...až na pár věcí.

3. Operaci optimalizace tabulky spustíme podobným způsobem:

vakuum "eng_data_table";


Optimalizace trvá v průměru 15-30 minut.

Poznámka: Požadavky provádíme jeden po druhém, přičemž nejprve vymažeme předchozí požadavky, které již byly provedeny. Zda byl požadavek dokončen či nikoli, zjistíte ze zprávy ve výstupním podokně ve spodní části (objeví se po dokončení požadavku) a dobu provedení zjistíte ve stavovém řádku ve spodní části okna.

První test, který ukáže, že máte přístup k databázovému serveru, je pokus o vytvoření databáze. Běžící server PostgreSQL může spravovat více databází. Obvykle se pro každý projekt nebo každého uživatele používá samostatná databáze. Je možné, že správce vašeho zařízení již pro vás vytvořil databázi. Mělo by vám sdělit název vaší databáze. V takovém případě můžete tuto část přeskočit a přejít k další. Chcete-li vytvořit novou databázi, v tomto příkladu nazvanou mydb, můžete použít následující příkaz: $ createdb mydb

Pokud byl příkaz dokončen bez jakýchkoli zpráv, pak tento krok prošel úspěšně a to, co je napsáno níže, můžete přeskočit až do konce této části.

Pokud dostanete něco podobného jako: createdb: příkaz nenalezen

to znamená, že produkt PostgreSQL nebyl nainstalován správně. Buď nebylo nainstalováno vše, nebo vyhledávací cesta ve vašem prostředí nebyla správně nastavena. Zkuste zavolat tento příkaz pomocí úplné cesty:

$ /usr/local/pgsql/bin/createdb mydb

Úplná cesta na vašem počítači se může lišit. Obraťte se na správce nebo si projděte pokyny k instalaci, abyste situaci napravili.

Další zpráva, kterou můžete obdržet: createdb: nelze se připojit k databázi postgres: nelze se připojit k serveru: Žádný takový soubor nebo adresář Žádný takový soubor nebo adresář Není server spuštěn lokálně a přijímá připojení na soketu domény Unix "/tmp/. s. PGSQL.5432"?

To znamená, že server nebyl spuštěn nebo že nebyl spuštěn podle očekávání příkazem createdb. Znovu zkontrolujte pokyny k instalaci nebo se obraťte na správce.

Další zpráva, kterou můžete obdržet: createdb: nelze se připojit k databázi postgres: FATAL: uživatel "joe" neexistuje

kde je místo joe uvedeno vaše přihlašovací jméno. Tato zpráva se zobrazí, pokud pro vás administrátor nevytvořil uživatele v PostgreSQL. (Uživatel PostgreSQL není uživatelem operačního systému.) Pokud jste správce, informace o vytvoření uživatele naleznete v kapitole 20. Budete se muset zaregistrovat u operační systém pod jménem uživatele, pod kterým PostgreSQL běží (obvykle postgres), vytvořit prvního uživatele v DBMS. Pro příkaz create database můžete také zadat uživatelské jméno v PostgreSQL, které se liší od vašeho aktuálního uživatelského jména operačního systému; v tomto případě musíte nastavit uživatelské jméno PostgreSQL pomocí volby nebo nastavení -U proměnná prostředí PGUSER.

Li požadovaného uživatele existuje, ale nemá potřebná oprávnění k vytvoření databáze, zobrazí se následující zpráva: createdb: vytvoření databáze se nezdařilo: ERROR: oprávnění k vytvoření databáze odepřeno

Ne každý uživatel má oprávnění vytvářet nové databáze. Pokud PostgreSQL odmítne vaše pokusy o vytvoření databází, pak vám správce vašeho počítače bude muset udělit práva k vytváření databází. V tomto případě se s ním poraďte. Pokud jste si PostgreSQL nainstalovali sami, musíte se pro účely tohoto tutoriálu přihlásit jako uživatel, pod kterým provozujete databázový server.

Můžete také vytvářet databáze s libovolnými jinými názvy. PostgreSQL umožňuje vytvořit libovolný počet databází na jednom serveru. Názvy databáze se musí skládat z písmen a číslic (vždy musí být na prvním místě písmeno) a nesmí být delší než 63 bajtů. Je docela pohodlné vytvořit databázi se stejným jménem jako uživatel. Mnoho nástrojů má výchozí název databáze, takže nemusíte klikat na příliš mnoho tlačítek. Chcete-li vytvořit takovou databázi se stejným jménem jako uživatel, jednoduše napište: $ createdb Pokud svou databázi v budoucnu nechcete používat, můžete ji smazat. Pokud jste například vlastníkem (tvůrcem) databáze mydb, můžete ji zrušit pomocí následujícího příkazu: $ dropdb mydb

(U tohoto příkazu si musíte být jisti, že zadáte název databáze; nebude předpokládat, že název databáze je jméno aktuálního uživatele.) Tento příkaz fyzicky odstraní všechny soubory spojené se zadanou databází, takže je nebude možné obnovit, proto tuto operaci provádějte velmi opatrně.




Horní