{"id":100,"date":"2009-11-10T09:45:00","date_gmt":"2009-11-10T07:45:00","guid":{"rendered":"http:\/\/antynet.pl\/index.php\/2009\/11\/10\/postgresql\/"},"modified":"2012-05-25T17:08:35","modified_gmt":"2012-05-25T15:08:35","slug":"postgresql","status":"publish","type":"post","link":"https:\/\/www.antynet.pl\/index.php\/2009\/11\/10\/postgresql\/","title":{"rendered":"POSTGRESQL"},"content":{"rendered":"<div id=\"outline-container-1\" class=\"outline-2\">\n<h2 id=\"sec-1\">psql<\/h2>\n<div class=\"outline-text-2\" id=\"text-1\">\n<\/div>\n<div id=\"outline-container-1-1\" class=\"outline-3\">\n<h3 id=\"sec-1-1\">tryb OS<\/h3>\n<div class=\"outline-text-3\" id=\"text-1-1\">\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"4\">\n<caption><\/caption>\n<colgroup>\n<col class=\"left\" \/>\n<col class=\"left\" \/>\n<\/colgroup>\n<tbody>\n<tr>\n<td class=\"left\">psql [option] -d [dbname] -h [hostname] -U [username]<\/td>\n<td class=\"left\"><\/td>\n<\/tr>\n<tr>\n<td class=\"left\">psql -l<\/td>\n<td class=\"left\">lista baz<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">psql -f [file]<\/td>\n<td class=\"left\">pobieraj komendy z pliku<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\n<\/div>\n<\/div>\n<div id=\"outline-container-1-2\" class=\"outline-3\">\n<h3 id=\"sec-1-2\">tryb psql<\/h3>\n<div class=\"outline-text-3\" id=\"text-1-2\">\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"4\">\n<caption><\/caption>\n<colgroup>\n<col class=\"left\" \/>\n<col class=\"left\" \/>\n<\/colgroup>\n<thead>\n<tr>\n<th scope=\"col\" class=\"left\">psql syntax:<\/th>\n<th scope=\"col\" class=\"left\"><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td class=\"left\">\\timing<\/td>\n<td class=\"left\">ustaw wskazanie czas wykonania SQL<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">\\q<\/td>\n<td class=\"left\">wyjd\u017a<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">\\password<\/td>\n<td class=\"left\">ustaw has\u0142o<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">\\pset<\/td>\n<td class=\"left\">zmie\u0144 ustawienia psql<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">\\l<\/td>\n<td class=\"left\">poka\u017c bazy<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">\\d [table]<\/td>\n<td class=\"left\">opis tabeli<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">\\c [database]<\/td>\n<td class=\"left\">pod\u0142\u0105cz do bazy<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">\\da<\/td>\n<td class=\"left\">funkcje agreguj\u0105ce<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">\\db+<\/td>\n<td class=\"left\">przestrzenie tabel<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">\\dc<\/td>\n<td class=\"left\">conversions<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">\\df+<\/td>\n<td class=\"left\">funkcje<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">\\dg+ \\du+<\/td>\n<td class=\"left\">role<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">\\di+<\/td>\n<td class=\"left\">indeksy<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">\\ds+<\/td>\n<td class=\"left\">sekwencje<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">\\dt+<\/td>\n<td class=\"left\">tabele<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">\\dv+<\/td>\n<td class=\"left\">widoki<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">\\dSvtis+<\/td>\n<td class=\"left\">widoki systemowe,tabele,indeksy,sekwencje<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">\\dn+<\/td>\n<td class=\"left\">schematy<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">\\do<\/td>\n<td class=\"left\">operatory<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">\\dp<\/td>\n<td class=\"left\">uprawnienia<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">\\encoding<\/td>\n<td class=\"left\">kodowanie bazy<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">\\l+<\/td>\n<td class=\"left\">opis bazy<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">\\z<\/td>\n<td class=\"left\">obiekty z uprawnieniami<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">\\o [file]<\/td>\n<td class=\"left\">plik spool<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">\\! [command]<\/td>\n<td class=\"left\">wykonaj komend\u0119 OS<\/td>\n<\/tr>\n<\/tbody>\n<tbody>\n<tr>\n<td class=\"left\">help commands:<\/td>\n<td class=\"left\"><\/td>\n<\/tr>\n<\/tbody>\n<tbody>\n<tr>\n<td class=\"left\">\\?<\/td>\n<td class=\"left\">info about commands with backslash<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">\\h<\/td>\n<td class=\"left\">sql help<\/td>\n<\/tr>\n<\/tbody>\n<tbody>\n<tr>\n<td class=\"left\">parametery:<\/td>\n<td class=\"left\"><\/td>\n<\/tr>\n<\/tbody>\n<tbody>\n<tr>\n<td class=\"left\">show all<\/td>\n<td class=\"left\">parametry psql<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">show [parametr]<\/td>\n<td class=\"left\">poka\u017c parametr<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">show search_path<\/td>\n<td class=\"left\">poka\u017c parametr search_path<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">set search_path to [other_schema]<\/td>\n<td class=\"left\">ustaw parametr search path na nowy schemat<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"outline-container-2\" class=\"outline-2\">\n<h2 id=\"sec-2\">lokalizacje<\/h2>\n<div class=\"outline-text-2\" id=\"text-2\">\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"4\">\n<caption><\/caption>\n<colgroup>\n<col class=\"left\" \/>\n<col class=\"left\" \/>\n<\/colgroup>\n<tbody>\n<tr>\n<td class=\"left\">default binary path<\/td>\n<td class=\"left\">\/usr\/local\/psql\/pg<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\n<\/div>\n<\/div>\n<div id=\"outline-container-3\" class=\"outline-2\">\n<h2 id=\"sec-3\">zmiana bie\u017c\u0105cego kontekstu:<\/h2>\n<div class=\"outline-text-2\" id=\"text-3\">\n<ul>\n<li>show search_path;\n<\/li>\n<li>\\dn;\n<\/li>\n<li>set search_path to &lt;schema&gt;;\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<div id=\"outline-container-4\" class=\"outline-2\">\n<h2 id=\"sec-4\">pg_ctl:<\/h2>\n<div class=\"outline-text-2\" id=\"text-4\">\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"4\">\n<caption><\/caption>\n<colgroup>\n<col class=\"left\" \/>\n<col class=\"left\" \/>\n<\/colgroup>\n<tbody>\n<tr>\n<td class=\"left\">pg_ctl status<\/td>\n<td class=\"left\">status klastra<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">pg_ctl -D [cluster_dir] [action]<\/td>\n<td class=\"left\">status klastra z okre\u015blonej lokalizacji<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">pg_ctl start\/stop\/restart<\/td>\n<td class=\"left\">start,stop klastra, mo\u017cna doda\u0107 -l [logfile]<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">pg_ctl stop -m [smart\/fast\/immediate]<\/td>\n<td class=\"left\">stop klastra w okre\u015blonym -m trybie: smart(default), fast(with rolleback transactions, immediate(shutdown abort)<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">pg_controldata [cluser_dir]<\/td>\n<td class=\"left\">info klastra<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\n<\/div>\n<\/div>\n<div id=\"outline-container-5\" class=\"outline-2\">\n<h2 id=\"sec-5\">tworzenie klastra:<\/h2>\n<div class=\"outline-text-2\" id=\"text-5\">\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"4\">\n<caption><\/caption>\n<colgroup>\n<col class=\"left\" \/>\n<col class=\"left\" \/>\n<\/colgroup>\n<tbody>\n<tr>\n<td class=\"left\">initdb &ndash;pgdata\/-D [cluster_dir] [-E encoding]<\/td>\n<td class=\"left\">#cluster initialization,create template1 and postgres database<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\n<\/div>\n<\/div>\n<div id=\"outline-container-6\" class=\"outline-2\">\n<h2 id=\"sec-6\">tworzenie bazy:<\/h2>\n<div class=\"outline-text-2\" id=\"text-6\">\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"4\">\n<caption><\/caption>\n<colgroup>\n<col class=\"left\" \/>\n<\/colgroup>\n<tbody>\n<tr>\n<td class=\"left\">createdb [dbname] [-D tablespace] [-E encoding] [-O owner] [-T template to create new database]<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\n<\/div>\n<\/div>\n<div id=\"outline-container-7\" class=\"outline-2\">\n<h2 id=\"sec-7\">polecenia SELECT dla administratora:<\/h2>\n<div class=\"outline-text-2\" id=\"text-7\">\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"4\">\n<caption><\/caption>\n<colgroup>\n<col class=\"left\" \/>\n<col class=\"left\" \/>\n<\/colgroup>\n<tbody>\n<tr>\n<td class=\"left\">SELECT pg_database_size('[dbname]&#8217;);<\/td>\n<td class=\"left\">rozmiar bazy<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">SELECT pg_size_pretty(pg_database_size('[dbname]&#8217;));<\/td>\n<td class=\"left\">rozmiar bazy w formacie<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">SELECT pg_size_pretty(pg_total_relation_size('[table]&#8217;));<\/td>\n<td class=\"left\">rozmiar tabel z indeksami<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">SELECT pg_size_pretty(pg_relation_size('[table]&#8217;));<\/td>\n<td class=\"left\">rozmiar bazy bez indeks\u00f3w<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">SELECT spcname FROM pg_tablespace;<\/td>\n<td class=\"left\"><\/td>\n<\/tr>\n<tr>\n<td class=\"left\">SELECT relname,relpages FROM pg_class WHERE;<\/td>\n<td class=\"left\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\n<\/div>\n<\/div>\n<div id=\"outline-container-8\" class=\"outline-2\">\n<h2 id=\"sec-8\">pg_dump(eksport)<\/h2>\n<div class=\"outline-text-2\" id=\"text-8\">\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"4\">\n<caption><\/caption>\n<colgroup>\n<col class=\"left\" \/>\n<col class=\"left\" \/>\n<\/colgroup>\n<tbody>\n<tr>\n<td class=\"left\">pg_dump [db_name] &gt; [file]<\/td>\n<td class=\"left\">dump in plaintext format<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">pg_dump -t '[table]&#8217; [db_name] &gt; [file]<\/td>\n<td class=\"left\"><\/td>\n<\/tr>\n<tr>\n<td class=\"left\">pg_dump -Fc<\/td>\n<td class=\"left\">dump in pg_restore format<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">pg_dumpall &gt; [file]<\/td>\n<td class=\"left\">dump all databases (dump the cluster)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\n<\/div>\n<\/div>\n<div id=\"outline-container-9\" class=\"outline-2\">\n<h2 id=\"sec-9\">import:<\/h2>\n<div class=\"outline-text-2\" id=\"text-9\">\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"4\">\n<caption><\/caption>\n<colgroup>\n<col class=\"left\" \/>\n<col class=\"left\" \/>\n<\/colgroup>\n<tbody>\n<tr>\n<td class=\"left\">psql [db] &lt; [plik]<\/td>\n<td class=\"left\">import z pliku w formacie tekstowym<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">psql -f [file] postgres<\/td>\n<td class=\"left\">import z pliku w formacie tekstowym (de facto wykonanie polece\u0144 z pliku<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">pg_restore -d [baza] [plik]<\/td>\n<td class=\"left\">import z pliku w formacie pg_restore<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">pg_restore -l [plik]<\/td>\n<td class=\"left\">poka\u017c zawarto\u015b\u0107 dumpfile<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\n<\/div>\n<\/div>\n<div id=\"outline-container-10\" class=\"outline-2\">\n<h2 id=\"sec-10\">zmiana IP dla hosta:<\/h2>\n<div class=\"outline-text-2\" id=\"text-10\">\n<ol>\n<li>change in $PG_DATA\/postgresql.conf\n<\/li>\n<li>change in $PG_DATA\/pg_hba.conf (according manual &#8211; chapter 20: Client Authentication)\n<\/li>\n<\/ol>\n<\/div>\n<\/div>\n<div id=\"outline-container-11\" class=\"outline-2\">\n<h2 id=\"sec-11\">zarz\u0105dzanie uprawnieniami i rolami:<\/h2>\n<div class=\"outline-text-2\" id=\"text-11\">\n<ul>\n<li>sprwdzenie:\n<ul>\n<li>\\dg #sprawdzenie uprawnie\u0144 systemowych\n<\/li>\n<li>SELECT * FROM pg_roles;\n<\/li>\n<\/ul>\n<\/li>\n<li>tworzenie roli:\n<ul>\n<li>CREATE ROLE [role_name];\n<\/li>\n<\/ul>\n<\/li>\n<li>zmiana:\n<ul>\n<li>ALTER ROLE [role_name] SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE | CREATEUSER | NOCREATEUSER | INHERIT | NOINHERIT | LOGIN | NOLOGIN | CONNECTION LIMIT [connlimit] | PASSWORD [password] | ENCRYPTED | UNENCRYPTED | VALID UNTIL [timestamp]\n<\/li>\n<\/ul>\n<\/li>\n<li>zmiana has\u0142a:\n<ul>\n<li>ALTER ROLE [role] PASSWORD '[pass]&#8217;;\n<\/li>\n<\/ul>\n<\/li>\n<li>nadanie uprawnienia do roli\n<ul>\n<li>GRANT [privs] ON [object] TO [role];\n<\/li>\n<\/ul>\n<\/li>\n<li>zmiana uprawnie\u0144 do obiektu:\n<ul>\n<li>\\z #sprawd\u017a uprawnienia\n<\/li>\n<li>=xxxx #uprawnienia nadane na PUBLIC\n<\/li>\n<li>username=xxxx #uprawnienia nadane dla usera\n<\/li>\n<li>groupname=xxxx #privileges nadane dla grupy\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div>\n<div id=\"outline-container-11-1\" class=\"outline-3\">\n<h3 id=\"sec-11-1\">flagi uprawnie\u0144<\/h3>\n<div class=\"outline-text-3\" id=\"text-11-1\">\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"4\">\n<caption><\/caption>\n<colgroup>\n<col class=\"left\" \/>\n<col class=\"left\" \/>\n<\/colgroup>\n<tbody>\n<tr>\n<td class=\"left\">r<\/td>\n<td class=\"left\">SELECT (&#8222;read&#8221;)<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">w<\/td>\n<td class=\"left\">UPDATE (&#8222;write&#8221;)<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">a<\/td>\n<td class=\"left\">INSERT (&#8222;append&#8221;)<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">d<\/td>\n<td class=\"left\">DELETE<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">R<\/td>\n<td class=\"left\">RULE<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">x<\/td>\n<td class=\"left\">REFERENCES<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">t<\/td>\n<td class=\"left\">TRIGGER<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">X<\/td>\n<td class=\"left\">EXECUTE<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">U<\/td>\n<td class=\"left\">USAGE<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">C<\/td>\n<td class=\"left\">CREATE<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">T<\/td>\n<td class=\"left\">TEMPORARY<\/td>\n<\/tr>\n<tr>\n<td class=\"left\">arwdRxt<\/td>\n<td class=\"left\">&ndash; ALL PRIVILEGES (for tables)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"outline-container-12\" class=\"outline-2\">\n<h2 id=\"sec-12\">misc:<\/h2>\n<div class=\"outline-text-2\" id=\"text-12\">\n<ul>\n<li>ALTER TABLE [table] ALTER COLUMN [column] TYPE int USING [column]::int; #change column type from char to in\n<\/li>\n<li>variable PGDATA point to cluster catalog\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>psql tryb OS psql [option] -d [dbname] -h [hostname] -U [username] psql -l lista baz psql -f [file] pobieraj komendy z pliku tryb psql psql syntax: \\timing ustaw wskazanie czas wykonania SQL \\q wyjd\u017a \\password ustaw has\u0142o \\pset zmie\u0144 ustawienia psql \\l poka\u017c bazy \\d [table] opis tabeli \\c [database] pod\u0142\u0105cz do bazy \\da funkcje [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[17],"tags":[93],"class_list":["post-100","post","type-post","status-publish","format-standard","hentry","category-postgresql","tag-postgresql"],"_links":{"self":[{"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/posts\/100","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/comments?post=100"}],"version-history":[{"count":3,"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/posts\/100\/revisions"}],"predecessor-version":[{"id":417,"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/posts\/100\/revisions\/417"}],"wp:attachment":[{"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/media?parent=100"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/categories?post=100"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/tags?post=100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}