====== PostgreSQL ====== http://www.postgresql.org | http://postgres.cz Tahák - http://postgres.cz/files/tahak_postgresql.pdf ===== Nástroje ===== http://wiki.postgresql.org/wiki/Community_Guide_to_PostgreSQL_GUI_Tools * http://www.pgmodeler.com.br/ * http://www.pgadmin.org/ * http://www.adminer.org/cs/ * http://www.navicat.com/ ===== Úprava locale pro výchozí české kódování UTF-8 ===== LANG="cs_CZ.UTF-8" LC_ALL="cs_CZ.UTF-8" LANGUAGE="cs_CZ" #LANG="en_US.UTF-8" LANG="cs_CZ.UTF-8" LC_ALL="cs_CZ.UTF-8" SYSFONT="latarcyrheb-sun16" ===== Instalace na CentOS 7.X ===== shell# yum install http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-redhat94-9.4-1.noarch.rpm shell# yum install postgresql94-server postgresql94-contrib shell# /usr/pgsql-9.4/bin/postgresql94-setup initdb shell# systemctl enable postgresql-9.4.service shell# systemctl start postgresql-9.4.service **Adresáře** * /usr/pgsql-9.4 * /var/lib/pgsql/9.4/data ===== Instalace na CentOS 6.X ===== http://www.postgresql.org/download/linux/redhat/ shell# rpm -i http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-centos93-9.3-1.noarch.rpm shell# yum install postgresql93-server postgresql93-contrib shell# service postgresql-9.3 initdb shell# chkconfig postgresql-9.3 on shell# service postgresql-9.3 start **Adresáře** * /usr/pgsql-9.3 * /var/lib/pgsql/9.3/data ===== Vytvoření dalšího uživatele ===== Název servisní databáze = postgres. [blazek@pg ~]$ su Password: [root@pg blazek]# su - postgres -bash-4.1$ createuser blazek ===== Vytvoření databáze ===== [blazek@pg ~]$ su Password: [root@pg blazek]# su - postgres -bash-4.1$ createdb test --locale=cs_CZ.UTF-8 -e UTF-8 CREATE DATABASE test LC_COLLATE 'cs_CZ.UTF-8' LC_CTYPE 'cs_CZ.UTF-8'; COMMENT ON DATABASE test IS 'UTF-8'; -bash-4.1$ ===== Přihlášení do SQL konzole ===== [blazek@pg ~]$ psql postgres psql (9.3.4) Pro získání nápovědy napište "help". postgres=> ===== Opuštění SQL konzole ===== postgres=> \q ===== Změna databáze ===== postgres=> \connect dbname postgres=> \c dbname ===== Odinstalace PostgreSQL ===== shell# yum remove postgres* shell# rm -rf /usr/pgsql-9.3 shell# rm -rf /var/lib/pgsql ===== Vzdálený přístup ===== Pro vzdálený přístup k PostgreSQL je nutné nastavit následující. Ve výchozím nastavení je PostgreSQL přístup pouze z localhost. **Nastavení hesla pro uživatele postgres** [blazek@pg ~]$ su - Heslo: [root@pg ~]# su - postgres -bash-4.1$ psql postgres psql (9.3.4) Pro získání nápovědy napište "help". postgres=# ALTER USER postgres with password 'secure-password'; ALTER ROLE postgres=# **Záloha konfigurace** (PostgreSQL Client Authentication Configuration File) shell# cp /var/lib/pgsql/9.3/data/pg_hba.conf /var/lib/pgsql/9.3/data/pg_hba.conf-backup **Doplnit do konfigurace IP adresu odkud se bude vzdáleně přistupovat** Nastavení pro šifrované připojení, při autentizací se předává šifrované heslo. # The first field is the connection type: "local" is a Unix-domain # socket, "host" is either a plain or SSL-encrypted TCP/IP socket, # "hostssl" is an SSL-encrypted TCP/IP socket, and "hostnossl" is a # plain TCP/IP socket. # # METHOD can be "trust", "reject", "md5", "password", "gss", "sspi", # "krb5", "ident", "peer", "pam", "ldap", "radius" or "cert". Note that # "password" sends passwords in clear text; "md5" is preferred since # it sends encrypted passwords. # TYPE DATABASE USER ADDRESS METHOD # IPv4 remote connection (example) host all all 192.168.100.100/32 md5 host all all 127.0.0.1/32 md5 **Nastavení interface, na kterém PostgreSQL naslouchá** # default = localhost # listen_addresses = 'localhost' # pro vsechny interfaces # listen_addresses = '*' # pro konkretni interface # listen_addresses = '192.168.100.1' # pro localhost a konkretni interface (oddeluje se carkou) listen_addresses = 'localhost,192.168.100.1' **Restart PostgreSQL** shell# service postgresql-9.3 restart **Test připojení** shell# psql -U postgres -h 192.168.100.1 ===== SQL ===== ==== Smazání všech tabulek ==== DROP SCHEMA public CASCADE;