Pozor museum: Toto je archivní verze blogu. Pro vkládání komentářů přejděte na tento článek v nové verzi blogu.

PostgreSQL - moje tipy

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. Zapneme SSL – postgresql.conf
    ssl = true 

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

  3. Povolíme připojení z vybraných IP adres – pg_hba.conf
    host    all         all         aaa.bbb.ccc.ddd/32      md5
  4. 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:
    postgres@stroj:~$ 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

 

 

 

 

Průměr: 3 (2 hlasů)