Postgres je open-source relační databáze. Má mnoho pokročilých funkcí, jako je výkon podnikové třídy, spouštěče, atomičnost, konzistence, izolace, odolnost a mnoho dalších funkcí, díky kterým bude Postgres dobrou volbou pro mnoho složitých aplikací.
Instalace PostgreSQL:
V tomto tutoriálu stahujeme nejnovější verzi Postgresu z oficiálního webu PostgreSQL https://www.postgresql.org/download/linux/ubuntu/
PostgreSQL je také ve výchozím nastavení k dispozici v úložišti Ubuntu. Pomocí repozitáře apt PostgreSQL z jeho oficiálního webu můžeme nainstalovat konkrétní verzi dle našeho výběru.
Chcete-li použít úložiště apt, postupujte takto:
Vyberte verzi Ubuntu
Moje verze Ubuntu je Bionic (18.04)
Vytvořte soubor PostgreSQL úložiště.
nano /etc/apt/sources.list.d/pgdg.list
a přidejte řádek pro úložiště v pgdg.list
deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main
Pokud používáte jinou verzi Ubuntu než 18.04 (Bionic), nahraďte slovo 'bionic' názvem použité verze Ubuntu. Importujte podpisový klíč úložiště a aktualizujte seznamy balíčků
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
Nyní nainstalujte nejnovější PostgreSQL Server do našeho systému Ubuntu pomocí následujících příkazů.
sudo apt-get install postgresql postgresql-contrib
Po instalaci se automaticky spustí PostgreSQL server.
Zkontrolujte stav služby PostgreSQL
systemctl status postgresql
Nyní ověřte připojení PostgreSQL a verzi serveru PostgreSQL.
sudo -u postgres psql -c "SELECT version();"
Tím se připojí k PostgreSQL pomocí psql a poskytne verzi serveru
version
-----------------------------------------------------------------------------------------------------------------------------------
PostgreSQL 11.4 (Ubuntu 11.4-1.pgdg18.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0, 64-bit
Použití rolí PostgreSQL a metod ověřování
PostgreSQL využívá koncept role oprávnění k přístupu k databázi. Role může být aplikována na uživatele databáze nebo skupinu uživatelů databáze.
PostgreSQL podporuje více metod ověřování.
Níže jsou uvedeny nejběžněji používané autentizační metody PostgreSQL.
1. Důvěřovat
Metody ověřování důvěryhodnosti lze definovat v pg_hba.conf, pomocí této metody se může role připojit k databázi bez hesla.
2.Heslo
Role se může připojit k databázi prokázáním hesla.
3.Ident
Ident Authentication Methods funguje pouze na připojení TCP/IP.
4. Peer
Peer Authentication Methods používané pouze pro místní připojení.
Soubor pg_hba.conf definuje metody ověřování klienta. můžeme změnit metody ověřování úpravou následujících souborů.
nano /etc/postgresql/11/main/pg_hba.conf
V tomto souboru PostgreSQL ve výchozím nastavení používá metodu ověření rovnocenným partnerem. můžeme změnit metody ověřování změnou peer na jiné metody.
V době instalace PostgreSQL bude ve výchozím nastavení vytvořen uživatel postgres, postgres je superuživatel databáze PostgreSQL, podobně jako uživatel root na databázovém serveru MYSQL. tento uživatel 'postgres' také vytváří v ubuntu.
Připojit se k PostgreSQL
Následující příkaz pro připojení k PostgreSQL.
sudo -i -u postgres
Nyní se můžeme připojit k výzvě Postgres, jako je MySQL, zadáním následujícího příkazu.
psql
Dostaneme následující výzvu a jsme připraveni na ní spouštět dotazy PostgreSQL.
Upozorňujeme, že se můžeme přímo připojit k databázovému serveru jednoduše zadáním následujícího příkazu.
sudo -u postgres psql
Vytváření rolí a databáze v PostgreSQL
Roli postgres již máme v databázi, nyní vytvoříme novou roli pomocí následujících příkazů.
[email protected]:/home# sudo -u postgres createuser --interactive
Enter name of role to add: sohan
Shall the new role be a superuser? (y/n) y
Existující uživatelské role můžeme vypsat pomocí následujícího příkazu.
postgres=# \du
nebo spusťte následující příkaz z příkazového řádku postgres.
SELECT rolname FROM pg_roles;
Libovolnou existující uživatelskou roli můžeme zrušit pomocí příkazu DROP ROLE.
postgres=# DROP ROLE sohan;
DROP ROLE
Vytvoření databáze PostgreSQL
Zde se můžeme přihlásit jako postgres účet a spustit následující příkaz.
[email protected]:~$ createdb dummu
nebo můžeme jednoduše spustit následující příkazy s normálními uživateli ubuntu.
sudo -u postgres createdb dummu
Přihlaste se do výzvy postgres pomocí nové role
spustit přímo z vašeho systémového terminálu a vytvořit nového uživatele.
sudo adduser sohan
Po vytvoření nového uživatele v systému stačí spustit
sudo -u sohan psql
nebo zadejte následující příkaz
sudo -i -u sohan
psql
Můžeme se připojit k jiné databázi jednoduše zadáním názvu databáze jako
psql -d dummu
Po připojení k výše uvedené databázi můžeme získat informace o této databázi jednoduchým příkazem
dummu=> \conninfo
output
You are connected to database "dummu" as user "sohan" via socket in "/var/run/postgresql" at port "5432"UPDATE dummu SET password = 'postgres' where username = 'sohan';
Vytváření tabulek v PostgreSQL
Po vytvoření rolí, databáze a vytvoření spojení s databázovým serverem nyní vytvoříme tabulku.
CREATE TABLE dummu(user_id serial PRIMARY KEY,username VARCHAR (50) UNIQUE NOT NULL, password VARCHAR (50) NOT NULL, email VARCHAR (355) UNIQUE NOT NULL, created_on TIMESTAMP NOT NULL, last_login TIMESTAMP);
Výše uvedený příkaz vytvoří novou figurínu tabulky stejně jako MySQL, tuto novou tabulku můžeme zkontrolovat zadáním
\d
Zde také uvidíme tabulku dummu_user_id_seq, která bude sledovat další číslo v pořadí.
Pokud chceme pouze zobrazit název tabulky bez sekvence, spusťte následující příkaz.
\dt
Tím se zobrazí pouze dummu tabulka
sohan=> \dt
Output
List of relations
Schema | Na | Type | Owner
--------+------------+-------+-------
public | dummu | table | soha
Přidávání dat do tabulky
Nyní přidáme data do dummu tabulky zadáním,
Insert into dummu(user_id,username,password,email,created_on,last_login) values (1,'sohan','123456','[email protected]','2019-06-24 11:11:11','2019-06-24 11:11:11');
Nyní načteme data z tabulky dummu,
SELECT * FROM dummu;
Odstranit sloupec z tabulky
Nyní smažeme data z této tabulky
DELETE FROM dummu WHERE email = '[email protected]';
Upravit tabulku PostgreSQL
Podobným způsobem můžeme upravit tabulku pomocí alter dotazu jako
ALTER TABLE dummu DROP email;
Tím odstraníte pole e-mailu z tabulky dummu.
ověřit pomocí
SELECT * FROM dummu;
output:-
user_id | username | password | created_on | last_login
---------+----------+----------+---------------------+---------------------
1 | sohan | 123456 | 2019-06-24 11:11:11 | 2019-06-24 11:11:11
Aktualizace dat v tabulce
Nyní uvidíme, jak aktualizovat data do tabulky
spusťte následující příkaz pro aktualizaci hesla do tabulky dummu
UPDATE dummu SET password = 'postgres' where username = 'sohan';
ověřte změny jednoduchým zadáním
SELECT * FROM dummu;
output
user_id | username | password | created_on | last_login
---------+----------+----------+---------------------+---------------------
1 | sohan | postgres | 2019-06-24 11:11:11 | 2019-06-24 11:11:11
Stručně řečeno, V tomto tutoriálu se naučíme, jak nainstalovat PostgreSQL, vytvořit roli a databázi a základní databázové příkazy.