Konfigurační soubor postgresql.conf

Umístění
Umístění tohoto konfiguračního souboru na vašem systému zjistíte dotazem do pohledu (view) pg_settings.

SELECT setting FROM pg_settings WHERE name = 'config_file';

Popis
Soubor postgresql.conf je čten při startu serveru. Některé změny v nastavení v tomto souboru vyžadují reload, nekteré restart serveru. To zda je potřeba reload nebo restart poznáte podle sloupce context. Hodnota user znamená, že stačí reload. Pokud je hodnota postmaster, je třeba pro změny provést restart.
Sloupec unit určuje měrnou jednotku pro sloupce setting (současná hodnoty), boot_val (výchozí hodnoty) a reset_val (nová hodnota). Pokud se hodnoty ve sloupcích setting, boot_val a reset_val liší, je potřeba reload nebo reset.

SELECT name, short_desc, context, unit, setting, boot_val, reset_val 
FROM pg_settings 
WHERE name IN ('max_connections', 'shared_buffers', 'effective_cache_size', 'work_mem', 'maintenance_work_mem');

         name         |                           short_desc                            |  context   | unit | setting | boot_val | reset_val
----------------------+-----------------------------------------------------------------+------------+------+---------+----------+-----------
 effective_cache_size | Sets the planner's assumption about the size of the disk cache. | user       | 8kB  | 524288  | 524288   | 524288
 maintenance_work_mem | Sets the maximum memory to be used for maintenance operations.  | user       | kB   | 65536   | 65536    | 65536
 max_connections      | Sets the maximum number of concurrent connections.              | postmaster |      | 100     | 100      | 100
 shared_buffers       | Sets the number of shared memory buffers used by the server.    | postmaster | 8kB  | 16384   | 1024     | 16384
 work_mem             | Sets the maximum memory to be used for query workspaces.        | user       | kB   | 4096    | 4096     | 4096

Číst dál

Modifikace sysdate v Oracle SQL

Oracle funkce sysdate vrací aktuální datum a čas databáze. Používá například při zjišťování, zda daný záznam je platný či ne.

SELECT * FROM tabulka WHERE datum < sysdate

Často ale potřebujeme zjistit záznam, který je např. starší než aktuální datum plus/mínus X dní/hodin/minut/… Pokud napíšeme:

SELECT SYSDATE, SYSDATE - 60 FROM dual;

bude výsledek následující:

SYSDATE                SYSDATE-60
12.07.17 11:22:36      13.05.17 11:22:36

To je docela nepřehledné, protože ne každý může vědět, že se odečítají dny. Mnohem lepší je:

SELECT SYSDATE, SYSDATE - INTERVAL '60' DAY AS sysdate_minus_60_days FROM dual;

který vrací stejný výsledek, ale je mnohem jasnější, jaká časová hodnota se modifikuje (INTERVAL ’60‘ DAY):

SYSDATE                SYSDATE_MINUS_60_DAYS
12.07.17 11:25:00      13.05.17 11:25:00

Je samozřejmě možné přidávat a odebírat nejen dny, ale i jiné časové úseky (second, minute, hour, day, month, year).

SELECT SYSDATE, SYSDATE + INTERVAL '5' MINUTE AS sysdate_plus_5_minutess FROM dual;

Výsledek

SYSDATE                SYSDATE_PLUS_5_MINUTES
12.07.17 11:26:34      12.07.17 11:31:34

Instalace PostgreSQL a pgAdmin3 na Lubuntu

Instalace PostgreSQL i administrativního grafického rozhraní pro tuto databázi pgAdmin3 je zcela jednoduchá. Nejdříve nainstalujeme databázi PostgreSQL příkazem (v tomto případě instaluji PosgreSQL ve verzi 9.5):

sudo apt-get install postgresql-9.5

Následně nainstalujeme pgAdmin3 příkazem:

sudo apt-get install pgadmin3

Nyní můžeme pgAdmin3 spustit.

pgadmin_spusteni pgadmin_prvni_spusteni

Pro připojení ale budeme potřebovat heslo pro uživatele „postgres“ (tento uživatel je vytvořen při instalaci PostgreSQL). Pokud heslo nevíte, přihlásíme se do psql (konzolová aplikace pro práci s PostgreSQL) uživatelem „postgres“ .

Číst dál

Zjištění expirace hesla v Oracle databázi

V případě, že se na Oracle databázi připojujete pomocí zadání uživatelského jména a hesla, můžete si jednoduchým dotazem zjistit datum expirace hesla.

SELECT username, expiry_date FROM user_users;

Pohled (View) user_users popisuje aktuálního uživatele. Struktura view je následující.

descr user_users;

Name                        Null     Type             
--------------------------- -------- ---------------- 
USERNAME                    NOT NULL VARCHAR2(128)    
USER_ID                     NOT NULL NUMBER           
ACCOUNT_STATUS              NOT NULL VARCHAR2(32)     
LOCK_DATE                            DATE             
EXPIRY_DATE                          DATE             
DEFAULT_TABLESPACE          NOT NULL VARCHAR2(30)     
TEMPORARY_TABLESPACE        NOT NULL VARCHAR2(30)     
CREATED                     NOT NULL DATE             
INITIAL_RSRC_CONSUMER_GROUP          VARCHAR2(128)    
EXTERNAL_NAME                        VARCHAR2(4000)   
PROXY_ONLY_CONNECT                   VARCHAR2(1 CHAR) 
COMMON                               VARCHAR2(3 CHAR) 
ORACLE_MAINTAINED                    VARCHAR2(1 CHAR) 

Přejmenování sloupce v PostgreSQL

Přejmenování sloupce je velmi podobné vytvoření nového sloupce, které bylo popsáno v tomto příspěvku. Opět se používá příkaz ALTER TABLE jen místo ADD je RENAME. Syntaxe příkazu je následující.

ALTER TABLE nazev_tabulky RENAME COLUMN puvodni_nazev_sloupce TO novy_nazev_sloupce

Nejdříve si vytvoříme tabulku s daty a následně pak přejmenujeme její sloupce.

drop table if exists pokus;
create table pokus (
	id serial not null,
	name varchar(100) not null,

	primary key (id)
);

insert into pokus (name) values ('jnovak'), ('vlasak'), ('kvetinka');

Takto se provede přejmenování sloupců.

alter table pokus rename column id to id_pokus;
alter table pokus rename column name to username;

Přidání sloupce v PostgreSQL

Pokud máte existující tabulku a potřebujete do ní přidat sloupec a nechcete celou tabulku dropnout a vytvořit znovu, protože byste přišli o data, existuje v postgre příkaz ALTER TABLE ADD COLUMN.

Vytvoříme pokusnou tabulku.

create table pok (
	id	serial		not null,
	jmeno	varchar(100)	not null,

	primary key (id)
);

Přidáme do ní sloupec z názvem prijmeni a omezením (contraint) not null.

alter table pok
add column prijmeni varchar(100) not null;

Vložíme do tabulky dva záznamy.

insert into pok (jmeno, prijmeni) values
	('František', 'Koudelka'),
	('Jana', 'Nová');

Přidáme do tabulky sloupec narozen, který může být null.

alter table pok
add column narozen date;

Přidáme do tabulky sloupec prezdivka a jako výchozí hodnotu (pro ty které jsou null) použijeme řetězec lama.

alter table pok
add column prezdivka varchar(20) not null default 'lama';

Vložíme do tabulky další záznam.

insert into pok (jmeno, prijmeni, prezdivka) values
	('Tomáš', 'Nový', 'jouda');

Výsledek.

postres_pridani_sloupce

Soubor nenalezen – chyba při instalaci Oracle 12c

Instalace Oracle 12c se skládá ze dvou soborů. V instrukcích pro instalaci databáze je uvedeno, že je třeba oba soubory rozbalit do stejné složky. Tím ale autor myslí následující:

Všechna data z
...\winx64_12102_database_2of2\database\stage\Components
překopírovat do
...\winx64_12102_database_1of2\database\stage\Components

V případě, že tak neučiníte, instalace se spustí, ale po nějaké době se vám zobrazí chybové okno.

oracle_12c_instalace_chyba_file_not_found

Instalace Oracle 12c na Windows

V tomto příspěvku ukážu krok za krokem instalaci Oracle 12c Enterprise Editiona na Windows 10. Nejdříve je třeba z této stránky stáhnou dva zazipované soubory. K tomu je potřeba mít účet u Oracle (registrace je bezplatná) a přihlásit se (a samozřejmě souhlasit s licenčními podmínkami). Pro instalaci Oracle databáze 12c na Windows 10 je třeba použít minimálně verzi 12.1.0.2.

winx64_12102_database_1of2
winx64_12102_database_2of2

Oba stažené soubory je třeba rozbalit do stejného adresáře. To v tomto případě znamená rozbalit první zip (winx64_12102_database_1of2) a z rozbaleného druhého zipu (winx64_12102_database_2of2) překopírovat všechna data z ...\winx64_12102_database_2of2\database\stage\Components  do ...\winx64_12102_database_1of2\database\stage\Components. Pokud toto neprovedete, instalaci sice budete moci spustit, ale nebude úspěšná.

V ...\winx64_12102_database_1of2\database naleznete soubor setup.exe. Spusťe jej jako správce.

Oracle12c_instalace_01

Pokud nevyplníte email dostanete následující upozornění. Klikněte na „Yes“ pro pokračování.

Oracle12c_instalace_02

Zvolte vytvoření databáze.

Oracle12c_instalace_03

Zvolte desktop.

Oracle12c_instalace_04

Můžete vytvořit nového uživatele, použít existujícího či použít svůj Windows účet.

Oracle12c_instalace_05

Pokud zvolíte „User Windows Built-in Account, zobrazí se vám následující upozornění. Klikněte na „Yes“ pro pokračování.

Oracle12c_instalace_06

Zde je potřeba zadat heslo pro administraci.  To musí splňovat určitá kritéria, takže vám to nedovolí zadat zcela triviální heslo.

Tip: Pokud kliknete do textového pole, zobrazí se vám u něj ikona žárovičky. Když na ni nejedete myší, získáte podrobnější informace, týkající se daného textového pole.

Oracle12c_instalace_07

Zkontrolují se nastavení.

Oracle12c_instalace_08

A zobrazí se přehled změn. Pokud potvrdíte, začne instalace.

Oracle12c_instalace_09 Oracle12c_instalace_10 Oracle12c_instalace_11

Toto okno vás informuje o tom, že kromě účtů SYS a SYSTEM, jsou všechna ostatní zamčené. Pokud kliknete na „Password Management“, můžete je odemknout.

Oracle12c_instalace_12

Zde můžete odemknout jednotlivé účty.

Oracle12c_instalace_13

Databáze byla úspěšně nainstalována.

Oracle12c_instalace_14


Zdroje: