FK~

Moje odkazy

Ostatní odkazy

EFF: svoboda blogování
Close Windows
Nenajdete mě na Facebooku ani Twitteru
Rozpad EU
Jsem členem FSF
Jsem členem EFF
There Is No Cloud …just other people's computers.

PostgreSQL - moje tipy

vydáno: 28. 4. 2009 16:38, aktualizováno: 14. 9. 2015 00:49

Pár mých tipů pro PostgreSQL

Po instalaci – změna hesla, naslouchání, ssl

  1. změníme heslo uživateli postgres:

    # su postgres
    $ psql
    postgres=# ALTER USER postgres WITH PASSWORD 'nbusr_krásné_nové_heslo_123';
  2. založíme si nového uživatele:

    postgres=# CREATE USER franta WITH PASSWORD 'heslo123';
  3. Zapneme SSL – postgresql.conf

    ssl = true 

    (klíče a certifikáty se nacházejí v /var/lib/postgresql/8.3/main/)

  4. Povolíme připojení z vybraných IP adres – pg_hba.conf

    host    all         all         aaa.bbb.ccc.ddd/32      md5
  5. Budeme naslouchat na všech IP adresách – postgresql.conf

    listen_addresses = '*'

Šifrovací a hashovací funkce

  1. Nainstalujeme potřebný balíček:

    $ aptitude install postgresql-contrib
  2. Nainstalujeme funkce do databáze:

    $ psql NÁZEV_DATABÁZE < /usr/share/postgresql/8.3/contrib/pgcrypto.sql

    V novějších verzích je to už jinak – nespouštíme ručně skript, ale zadáme příkaz v psql:

    $ psql 
    psql (9.1.9)
    Pro získání nápovědy napište "help".
    postgres=# CREATE EXTENSION pgcrypto;
    CREATE EXTENSION
    postgres=#
  3. Můžeme si vytvořit funkci pro výpočet SHA-512:

    CREATE OR REPLACE FUNCTION sha512(text) RETURNS text AS $$
    SELECT encode(digest(decode($1,'escape'::text),'sha512'::text),'base64');
    $$ LANGUAGE SQL STRICT IMMUTABLE;
    

Doména pro e-mail

Doména slouží pro přesnější vymezení než datový typ, ze kterého je odvozena. Můžeme ji např. omezit na hodnoty, které vyhovují regulárnímu výrazu.

CREATE DOMAIN email
  AS character varying(255)
  NOT NULL
   CONSTRAINT email_regexp CHECK (((VALUE)::text ~ 
   '^[_a-zA-Z0-9\\.\\-]+@[_a-zA-Z0-9\\.\\-]+\\.[a-zA-Z]{2,4}$'::text));

Instalace procedurálního jazyka

Doninstalujeme si podporu pro procedurální jazyk plpgsql:

$ su postgres
$ createlang plpgsql -d NÁZEV_DATABÁZE
$ createlang -l -d NÁZEV_DATABÁZE # vypíše nainstalovaní jazyky

Přihlášení jménem z příkazové řádky

$ psql -h localhost NÁZEV_DATABÁZE -U UŽIVATEL --password

Témata: [databáze] [taháky]

Komentáře čtenářů

Tento článek zatím nikdo nekomentoval

Přidat komentář

reagujete na jiný komentář (zrušit)
jméno nebo přezdívka
název příspěvku
webová stránka, blog
e-mailová adresa
nápověda: možnosti formátování
ochrana proti spamu a trollům

Náhled komentáře