{"id":276,"date":"2019-01-30T02:41:31","date_gmt":"2019-01-30T01:41:31","guid":{"rendered":"http:\/\/slackware.pt\/?p=276"},"modified":"2019-01-30T03:21:09","modified_gmt":"2019-01-30T02:21:09","slug":"postgres","status":"publish","type":"post","link":"http:\/\/slackware.pt\/?p=276","title":{"rendered":"postgres"},"content":{"rendered":"<p>Criei um pacote de instala\u00e7\u00e3o do postgres, vers\u00e3o 10, para o Slackware, a partir dos ficheiros do <a href=\"https:\/\/slackbuilds.org\/repository\/14.2\/system\/postgresql\/\">slackbuilds.org<\/a>.<\/p>\n<p>Precisei de colocar a BD numa drive SSD e, por isso, a configura\u00e7\u00e3o foi um pouco diferente do normal. Seguem as instru\u00e7\u00f5es.<\/p>\n<p><code>installpkg postgresql-10.2-x86_64-1_SBo.tgz<\/p>\n<p>groupadd -g 209 postgres<br \/>\nuseradd -u 209 -g 209 -d \/disco4\/pgsql postgres<br \/>\nmkdir \/disco4\/pgsql<br \/>\nchown -R postgres:postgres \/disco4\/pgsql<br \/>\nsu postgres -c \"initdb -D \/disco4\/pgsql\/10.2\/data --locale=en_US.UTF-8 -A md5 -W\"<\/code><\/p>\n<p>Depois tive que atualizar a diretoria das BDs no ficheiro <code>\/etc\/rc.d\/rc.postgresql<\/code>. Onde estava:<\/p>\n<p><code>DATADIR=\/var\/lib\/pgsql\/$PG_VERSION\/data<\/code><\/p>\n<p>alterei para <\/p>\n<p><code>DATADIR=\/disco4\/pgsql\/$PG_VERSION\/data<\/code><\/p>\n<p>Depois j\u00e1 se pode arrancar com o postgres:<\/p>\n<p><code>\/etc\/rc.d\/rc.postgresql start<\/code><\/p>\n<p>Para criar um utilizador &#8220;alex&#8221; e dar-lhe permiss\u00f5es de administrador, executar os comandos seguintes, inserindo a password de superuser, de cada vez:<\/p>\n<p><code>sudo -u postgres createuser alex<br \/>\nsudo -u postgres createdb alex<br \/>\nsudo -u postgres psql<\/code><\/p>\n<p>Com este \u00faltimo comando, entramos no <code>psql<\/code> e deve emitir-se o comando seguinte para atribuir permiss\u00f5es de administrador ao novo utilizador:<\/p>\n<p><code>alter user alex with encrypted password 'password';<\/code><\/p>\n<p>Para sair: <code>\\q<\/code><\/p>\n<p>O postgres &#8211; v\u00e1-se l\u00e1 saber porqu\u00ea &#8211; cria uma BD de nome <code>alex<\/code> para o utilizador <code>alex<\/code> e atribui-a ao utilizador. Se quisermos criar outra BD para esse utilizador, podemos emitir os comandos seguintes, ainda dentro do psql:<\/p>\n<p><code>sudo -u postgres createdb nova_bd<br \/>\nsudo -u postgres psql<br \/>\ngrant all privileges on database nova_bd to alex ;<\/code><\/p>\n<p>Depois, para sair, escrever <code>\\q<\/code><\/p>\n<p>O utilizador <code>alex<\/code> pode agora entrar com o seu login:<\/p>\n<p><code>psql -U alex<\/code><\/p>\n<p>e ligar-se \u00e0 sua nova BD:<\/p>\n<p><code>\\c nova_bd<\/code><\/p>\n<p>Para correr um script SQL externo &#8211; por exemplo, para criar uma nova BD &#8211; executar o comando:<\/p>\n<p><code>\\i script.sql<\/code><\/p>\n<hr>\n<p>Par ausar o postgres a partir do Python3, deve instalar-se o pacote seguinte:<\/p>\n<p>pip3 install -U psycopg2-binary<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Criei um pacote de instala\u00e7\u00e3o do postgres, vers\u00e3o 10, para o Slackware, a partir dos ficheiros do slackbuilds.org. Precisei de colocar a BD numa drive SSD e, por isso, a configura\u00e7\u00e3o foi um pouco diferente do normal. Seguem as instru\u00e7\u00f5es. installpkg postgresql-10.2-x86_64-1_SBo.tgz groupadd -g 209 postgres useradd -u 209 -g 209 -d \/disco4\/pgsql postgres mkdir &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/slackware.pt\/?p=276\" class=\"more-link\">Continuar a ler <span class=\"screen-reader-text\">&#8220;postgres&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/slackware.pt\/index.php?rest_route=\/wp\/v2\/posts\/276"}],"collection":[{"href":"http:\/\/slackware.pt\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/slackware.pt\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/slackware.pt\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/slackware.pt\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=276"}],"version-history":[{"count":7,"href":"http:\/\/slackware.pt\/index.php?rest_route=\/wp\/v2\/posts\/276\/revisions"}],"predecessor-version":[{"id":283,"href":"http:\/\/slackware.pt\/index.php?rest_route=\/wp\/v2\/posts\/276\/revisions\/283"}],"wp:attachment":[{"href":"http:\/\/slackware.pt\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=276"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/slackware.pt\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=276"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/slackware.pt\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=276"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}