<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>http://wiki.nosdigitais.teia.org.br/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Felipecabral</id>
	<title>Pontão Nós Digitais - Contribuições do usuário [pt-br]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.nosdigitais.teia.org.br/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Felipecabral"/>
	<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/Especial:Contribui%C3%A7%C3%B5es/Felipecabral"/>
	<updated>2026-04-21T12:08:06Z</updated>
	<subtitle>Contribuições do usuário</subtitle>
	<generator>MediaWiki 1.39.0</generator>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34993</id>
		<title>Postgres</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34993"/>
		<updated>2016-08-13T16:26:36Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: /* Comandos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar usando socket:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para logar usando root e um usuário específico e uma base. Esse método irá exigir senha: &lt;br /&gt;
&lt;br /&gt;
  # sudo -u NOME-DO-USUARIO psql NOME-DA-BASE&lt;br /&gt;
&lt;br /&gt;
Para logar com um usuário específico:&lt;br /&gt;
  $ psql -h &amp;lt;host&amp;gt; -p &amp;lt;port&amp;gt; -U &amp;lt;username&amp;gt; -W &amp;lt;password&amp;gt; &amp;lt;database&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \dt&lt;br /&gt;
&lt;br /&gt;
* listar todas as colunas de uma tabela, depois de conectado a uma base:&lt;br /&gt;
&lt;br /&gt;
  \d+ nome-da-coluna;&lt;br /&gt;
&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    =&amp;gt; \dt&lt;br /&gt;
&lt;br /&gt;
* listar todas as colunas de uma tabela, depois de conectado a uma base:&lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; \d+ nome-da-coluna;&lt;br /&gt;
&lt;br /&gt;
== Seleção ==&lt;br /&gt;
&lt;br /&gt;
Depois de logado numa determinada base de dados, fazer uma seleção é muito fácil! Para ver todos os registros de uma tabela, basta digitar: &lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; select * from NOME-TABELA1;&lt;br /&gt;
&lt;br /&gt;
Para selecionar a partir de alguma(s) determinada(s) coluna(s), você pode tentar:&lt;br /&gt;
  =&amp;gt; select nome-coluna1, nome-coluna2 from nome-da-tabela;&lt;br /&gt;
&lt;br /&gt;
Para ordenar: &lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; select NOME-COLUNA1, NOME-COLUNA2 from NOME-TABELA1 order by NOME-COLUNA3;&lt;br /&gt;
&lt;br /&gt;
Para copiar o resultado de uma seleção, use o \copy: &lt;br /&gt;
&lt;br /&gt;
  $ \copy (select * from NOME-COLUNA order by accounts_timtecuser) to '/home/timtec-ifsul/user.csv' with csv;&lt;br /&gt;
&lt;br /&gt;
Se o objetivo for selecionar a partir de uma referencia pré-conhecida, você pode usar o where:&lt;br /&gt;
&lt;br /&gt;
  select * from NOME-TABELA1 where CAMPO-TABELA1 = 'NUMERO-OU-STRING';&lt;br /&gt;
&lt;br /&gt;
Ou ainda buscar por um trecho inicial ou final. Aqui estamos buscando todos os nome que começam com a letra p: &lt;br /&gt;
&lt;br /&gt;
  select * from NOME-TABELA1 where NAME LIKE 'p%';&lt;br /&gt;
&lt;br /&gt;
Seleção por data: &lt;br /&gt;
&lt;br /&gt;
  SELECT * FROM coluna1 WHERE create_timestamp &amp;lt;= '2015-12-14';&lt;br /&gt;
&lt;br /&gt;
Selecionando multiplos registros: &lt;br /&gt;
&lt;br /&gt;
  SELECT * FROM NOME-TABELA1 WHERE CAMPO-TABELA1 in (1, 2, 5);&lt;br /&gt;
&lt;br /&gt;
Selecionando com range numerico:&lt;br /&gt;
&lt;br /&gt;
  select id, name from NOME-DA-TABELA where NOME-DO-CAMPO between 1500 AND 2100;&lt;br /&gt;
&lt;br /&gt;
== Criando um usuário ==&lt;br /&gt;
&lt;br /&gt;
  # sudo -u postgres createuser -d nome-do-user&lt;br /&gt;
&lt;br /&gt;
Create a user with a password:&lt;br /&gt;
&lt;br /&gt;
  CREATE USER davide WITH PASSWORD 'jw8s0F4';&lt;br /&gt;
&lt;br /&gt;
Create a user with a password that is valid until the end of 2004. After one second has ticked in 2005, the password is no longer valid.&lt;br /&gt;
&lt;br /&gt;
   CREATE USER miriam WITH PASSWORD 'jw8s0F4' VALID UNTIL '2005-01-01';&lt;br /&gt;
&lt;br /&gt;
Create an account where the user can create databases:&lt;br /&gt;
&lt;br /&gt;
  CREATE USER manuel WITH PASSWORD 'jw8s0F4' CREATEDB;&lt;br /&gt;
&lt;br /&gt;
== Dump de uma base ==&lt;br /&gt;
Para fazer dump de uma base inteira para um arquivo .sql vc pode usar o comando:&lt;br /&gt;
&lt;br /&gt;
  pg_dump dbname &amp;gt; outfile&lt;br /&gt;
&lt;br /&gt;
Para recuperar o dump, user este comando: &lt;br /&gt;
&lt;br /&gt;
  psql dbname &amp;lt; infile&lt;br /&gt;
&lt;br /&gt;
== Escrita ==&lt;br /&gt;
&lt;br /&gt;
  UPDATE nome-da-tabela set campo-da-tabela='dado a ser escrito' where id = '2';&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gerando uma saída CSV == &lt;br /&gt;
&lt;br /&gt;
  \copy (select * from agent a inner join usr u on u.id = a.user_id where a.name='') to '~/2016_04_logins_em_branco.csv' with csv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Remover registros duplicados ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  DELETE FROM tablename&lt;br /&gt;
  WHERE id IN (SELECT id&lt;br /&gt;
              FROM (SELECT id,&lt;br /&gt;
                             ROW_NUMBER() OVER (partition BY column1, column2, column3 ORDER BY id) AS rnum&lt;br /&gt;
                     FROM tablename) t&lt;br /&gt;
              WHERE t.rnum &amp;gt; 1);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remover duplicados por linha:&lt;br /&gt;
&lt;br /&gt;
  delete&lt;br /&gt;
  from NOME-DA-TABELA&lt;br /&gt;
  where id in (&lt;br /&gt;
    select&lt;br /&gt;
        id&lt;br /&gt;
    from (  select &lt;br /&gt;
                id,&lt;br /&gt;
                ROW_NUMBER() over (partition by email order by last_login desc) n&lt;br /&gt;
            from ifs_ifuser u1 &lt;br /&gt;
            where exists (  select 1 from ifs_ifuser &lt;br /&gt;
                            where email = u1.email and id &amp;lt;&amp;gt; u1.id)&lt;br /&gt;
        ) t&lt;br /&gt;
    where n &amp;gt; 1&lt;br /&gt;
  );&lt;br /&gt;
&lt;br /&gt;
== Gerando documentação ==&lt;br /&gt;
&lt;br /&gt;
É comum ser necessário gerar documentação do tipo UML ou data dictionary a partir de um schema.sql ou gerar um schema.sql a partir de um modelo de uml estruturado. Para isso você pode usar o [[Postgres - Autodoc]].&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
* http://www.postgresql.org/docs/9.1/static/backup-dump.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: postgres]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Vagrant&amp;diff=34984</id>
		<title>Vagrant</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Vagrant&amp;diff=34984"/>
		<updated>2016-07-29T19:39:50Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[imagem:vagrant.png|right|400px]]&lt;br /&gt;
&lt;br /&gt;
Vagrant é uma ferramenta para a construção de ambientes de desenvolvimento completos. Ele funciona integrado ao Virtualbox e pode ajudar na criação e gerenciamento de máquinas virtuais via linha de comandos. Com um fluxo de trabalho fácil de usar e foco em automação, o Vagrant busca reduzir o tempo de instalação de um ambiente de desenvolvimento, aumentando a produtividade e fazendo com que as velhas &amp;quot;instalações locais&amp;quot; sejam coisas do passado. &lt;br /&gt;
&lt;br /&gt;
O projeto Vagrant foi iniciado em janeiro de 2010 por Mitchell Hashimoto. Por quase três anos, Vagrant era um projeto paralelo para Mitchell, um projeto que ele trabalhou nas horas vagas como um hobby. Durante este tempo, Vagrant cresceu e hoje é um software confiável, 100% open source (já disponível inclusive em repositórios Debian), utilizado desde desenvolvedores free-lance até equipes de grandes empresas.&lt;br /&gt;
&lt;br /&gt;
Em novembro de 2012, uma empresa chamada HashiCorp foi formado por Mitchell para desenvolver Vagrant em tempo integral. Essa empresa oferece adições comerciais, formação e suporte profissional para o Vagrant.&lt;br /&gt;
&lt;br /&gt;
== Tutoriais ==&lt;br /&gt;
* Vídeos&lt;br /&gt;
:* Vagrant - Entendimentos básicos https://www.youtube.com/watch?v=uhYdTS0g7SU&lt;br /&gt;
&lt;br /&gt;
* Texto&lt;br /&gt;
:* [[vagrant - Comandos básicos]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
* https://github.com/vagrant-landrush/landrush&lt;br /&gt;
&lt;br /&gt;
== Referencias ==&lt;br /&gt;
&lt;br /&gt;
* https://www.vagrantup.com&lt;br /&gt;
* Código do Vagrant: https://github.com/mitchellh/vagrant&lt;br /&gt;
&lt;br /&gt;
[[Category: vagrant]]&lt;br /&gt;
[[Category: desenvolvimento]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Nodejs&amp;diff=34975</id>
		<title>Nodejs</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Nodejs&amp;diff=34975"/>
		<updated>2016-07-11T20:00:10Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutoriais ==&lt;br /&gt;
&lt;br /&gt;
* [[Nodejs - Como instalar?]]&lt;br /&gt;
&lt;br /&gt;
= Dia 1: Blog =&lt;br /&gt;
&lt;br /&gt;
Comecei instalando o node.js e express.js. TODO: gravar como instalar&lt;br /&gt;
&lt;br /&gt;
Como banco de dados, escolhi MongoDB. TODO: gravar como instalar e demo básico&lt;br /&gt;
&lt;br /&gt;
O node.js é uma API que permite entrada e saída orientada a eventos. Ou seja, não é preciso que existam vários processos rodando o tempo todo esperando conexões em uma porta. Basta que poucos processos rodem e disparem outros assim que eventos ocorrerem.&lt;br /&gt;
&lt;br /&gt;
Isso é especialmente interessante para operações de IO. Programas provedores de serviços são um bom exemplo: um servidor HTTP pode responder somente quando for requisitado, permitindo atender a milhões de chamadas com poucos processos.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, para criarmos um servidor HTTP, deixá-lo escutando na porta 1337 localmente e depois mandar ele dormir e acordá-lo somente quando escutar alguma requisição, podemos fazer:&lt;br /&gt;
&lt;br /&gt;
    var http = require('http');&lt;br /&gt;
    http.createServer(function (req, res) {&lt;br /&gt;
      res.writeHead(200, {'Content-Type': 'text/plain'});&lt;br /&gt;
      res.end('Hello World\n');&lt;br /&gt;
    }).listen(1337, &amp;quot;127.0.0.1&amp;quot;);&lt;br /&gt;
    console.log('Server running at http://127.0.0.1:1337/');&lt;br /&gt;
&lt;br /&gt;
== Express.js ==&lt;br /&gt;
&lt;br /&gt;
Para facilitar o desenvolvimento usando node.js, usaremos express.js, um framework que facilita algumas rotinas de desenvolvimento básicas (routing de URLs, ...).&lt;br /&gt;
&lt;br /&gt;
Usamos o aplicativo '''express''' no console para gerar o esqueleto inicial da nossa aplicação:&lt;br /&gt;
&lt;br /&gt;
    $ express /home/vilson/src/labmacambira/gt-web/blog&lt;br /&gt;
&lt;br /&gt;
Isso irá criar os seguintes arquivos:&lt;br /&gt;
&lt;br /&gt;
    create : /home/vilson/src/labmacambira/gt-web/blog&lt;br /&gt;
    create : /home/vilson/src/labmacambira/gt-web/blog/package.json&lt;br /&gt;
    create : /home/vilson/src/labmacambira/gt-web/blog/app.js&lt;br /&gt;
    create : /home/vilson/src/labmacambira/gt-web/blog/public/javascripts&lt;br /&gt;
    create : /home/vilson/src/labmacambira/gt-web/blog/public/stylesheets&lt;br /&gt;
    create : /home/vilson/src/labmacambira/gt-web/blog/public/stylesheets/style.css&lt;br /&gt;
    create : /home/vilson/src/labmacambira/gt-web/blog/views&lt;br /&gt;
    create : /home/vilson/src/labmacambira/gt-web/blog/views/layout.jade&lt;br /&gt;
    create : /home/vilson/src/labmacambira/gt-web/blog/views/index.jade&lt;br /&gt;
    create : /home/vilson/src/labmacambira/gt-web/blog/public/images&lt;br /&gt;
&lt;br /&gt;
Node que foram criados arquivos JS, arquivos de template HTML (usando Jade) e CSS, além de diretórios auxiliares como public/images.&lt;br /&gt;
&lt;br /&gt;
Porém ainda não foram instaladas as dependências da nossa aplicação Web. O NPM nos ajuda novamente:&lt;br /&gt;
&lt;br /&gt;
    $ cd blog&lt;br /&gt;
    $ npm install -d&lt;br /&gt;
&lt;br /&gt;
O que esse comando faz é olhar o arquivo package.json e procurar pelas dependências (no caso, o próprio express e o jade), baixá-los e instalá-los no diretório node_modules.&lt;br /&gt;
&lt;br /&gt;
Agora já podemos rodar nossa aplicação Web:&lt;br /&gt;
&lt;br /&gt;
    $ node app.js&lt;br /&gt;
&lt;br /&gt;
Aponte o browser para http://localhost:3000 e verá uma página inicial do Express.&lt;br /&gt;
&lt;br /&gt;
[[Category:Lab Macambira]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Nodejs_-_Como_instalar%3F&amp;diff=34974</id>
		<title>Nodejs - Como instalar?</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Nodejs_-_Como_instalar%3F&amp;diff=34974"/>
		<updated>2016-07-11T19:59:58Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: Criou página com '* https://nodejs.org/en/download/package-manager'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* https://nodejs.org/en/download/package-manager&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Nodejs&amp;diff=34973</id>
		<title>Nodejs</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Nodejs&amp;diff=34973"/>
		<updated>2016-07-11T19:59:42Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introdução =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tutoriais ==&lt;br /&gt;
&lt;br /&gt;
* [[Nodejs - Como instalar?]]&lt;br /&gt;
&lt;br /&gt;
= Dia 1: Blog =&lt;br /&gt;
&lt;br /&gt;
Comecei instalando o node.js e express.js. TODO: gravar como instalar&lt;br /&gt;
&lt;br /&gt;
Como banco de dados, escolhi MongoDB. TODO: gravar como instalar e demo básico&lt;br /&gt;
&lt;br /&gt;
O node.js é uma API que permite entrada e saída orientada a eventos. Ou seja, não é preciso que existam vários processos rodando o tempo todo esperando conexões em uma porta. Basta que poucos processos rodem e disparem outros assim que eventos ocorrerem.&lt;br /&gt;
&lt;br /&gt;
Isso é especialmente interessante para operações de IO. Programas provedores de serviços são um bom exemplo: um servidor HTTP pode responder somente quando for requisitado, permitindo atender a milhões de chamadas com poucos processos.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, para criarmos um servidor HTTP, deixá-lo escutando na porta 1337 localmente e depois mandar ele dormir e acordá-lo somente quando escutar alguma requisição, podemos fazer:&lt;br /&gt;
&lt;br /&gt;
    var http = require('http');&lt;br /&gt;
    http.createServer(function (req, res) {&lt;br /&gt;
      res.writeHead(200, {'Content-Type': 'text/plain'});&lt;br /&gt;
      res.end('Hello World\n');&lt;br /&gt;
    }).listen(1337, &amp;quot;127.0.0.1&amp;quot;);&lt;br /&gt;
    console.log('Server running at http://127.0.0.1:1337/');&lt;br /&gt;
&lt;br /&gt;
== Express.js ==&lt;br /&gt;
&lt;br /&gt;
Para facilitar o desenvolvimento usando node.js, usaremos express.js, um framework que facilita algumas rotinas de desenvolvimento básicas (routing de URLs, ...).&lt;br /&gt;
&lt;br /&gt;
Usamos o aplicativo '''express''' no console para gerar o esqueleto inicial da nossa aplicação:&lt;br /&gt;
&lt;br /&gt;
    $ express /home/vilson/src/labmacambira/gt-web/blog&lt;br /&gt;
&lt;br /&gt;
Isso irá criar os seguintes arquivos:&lt;br /&gt;
&lt;br /&gt;
    create : /home/vilson/src/labmacambira/gt-web/blog&lt;br /&gt;
    create : /home/vilson/src/labmacambira/gt-web/blog/package.json&lt;br /&gt;
    create : /home/vilson/src/labmacambira/gt-web/blog/app.js&lt;br /&gt;
    create : /home/vilson/src/labmacambira/gt-web/blog/public/javascripts&lt;br /&gt;
    create : /home/vilson/src/labmacambira/gt-web/blog/public/stylesheets&lt;br /&gt;
    create : /home/vilson/src/labmacambira/gt-web/blog/public/stylesheets/style.css&lt;br /&gt;
    create : /home/vilson/src/labmacambira/gt-web/blog/views&lt;br /&gt;
    create : /home/vilson/src/labmacambira/gt-web/blog/views/layout.jade&lt;br /&gt;
    create : /home/vilson/src/labmacambira/gt-web/blog/views/index.jade&lt;br /&gt;
    create : /home/vilson/src/labmacambira/gt-web/blog/public/images&lt;br /&gt;
&lt;br /&gt;
Node que foram criados arquivos JS, arquivos de template HTML (usando Jade) e CSS, além de diretórios auxiliares como public/images.&lt;br /&gt;
&lt;br /&gt;
Porém ainda não foram instaladas as dependências da nossa aplicação Web. O NPM nos ajuda novamente:&lt;br /&gt;
&lt;br /&gt;
    $ cd blog&lt;br /&gt;
    $ npm install -d&lt;br /&gt;
&lt;br /&gt;
O que esse comando faz é olhar o arquivo package.json e procurar pelas dependências (no caso, o próprio express e o jade), baixá-los e instalá-los no diretório node_modules.&lt;br /&gt;
&lt;br /&gt;
Agora já podemos rodar nossa aplicação Web:&lt;br /&gt;
&lt;br /&gt;
    $ node app.js&lt;br /&gt;
&lt;br /&gt;
Aponte o browser para http://localhost:3000 e verá uma página inicial do Express.&lt;br /&gt;
&lt;br /&gt;
[[Category:Lab Macambira]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=GIT_-_Usando_git_com_meld&amp;diff=34972</id>
		<title>GIT - Usando git com meld</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=GIT_-_Usando_git_com_meld&amp;diff=34972"/>
		<updated>2016-07-11T13:52:47Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Você pode usar meld para comparar pastas, mas também para comparar branches. &lt;br /&gt;
&lt;br /&gt;
1 - Instale o meld&lt;br /&gt;
  # apt-get install meld&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2 - Tenha este arquivo no seu sistema salvo como diff.py:&lt;br /&gt;
&lt;br /&gt;
  #!/usr/bin/python&lt;br /&gt;
  import sys&lt;br /&gt;
  import os&lt;br /&gt;
  os.system('meld &amp;quot;%s&amp;quot; &amp;quot;%s&amp;quot;' % (sys.argv[2], sys.argv[5]))&lt;br /&gt;
&lt;br /&gt;
3 - Settting do ambiente para usar o meld no lugar do diff&lt;br /&gt;
&lt;br /&gt;
  $ git config --global diff.tool /home/system/git/diff.py&lt;br /&gt;
&lt;br /&gt;
4 - Rode o comando para comparar branches:&lt;br /&gt;
&lt;br /&gt;
  git difftool -d branch1..branch2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=GIT_-_Usando_git_com_meld&amp;diff=34971</id>
		<title>GIT - Usando git com meld</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=GIT_-_Usando_git_com_meld&amp;diff=34971"/>
		<updated>2016-07-11T13:52:25Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: Criou página com 'Você pode usar meld para comparar pastas, mas também para comparar branches.   1 - Instale o meld   # apt-get install meld   2 - Tenha este arquivo no seu sistema salvo como...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Você pode usar meld para comparar pastas, mas também para comparar branches. &lt;br /&gt;
&lt;br /&gt;
1 - Instale o meld&lt;br /&gt;
  # apt-get install meld&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2 - Tenha este arquivo no seu sistema salvo como diff.py:&lt;br /&gt;
&lt;br /&gt;
  #!/usr/bin/python&lt;br /&gt;
  import sys&lt;br /&gt;
  import os&lt;br /&gt;
&lt;br /&gt;
  os.system('meld &amp;quot;%s&amp;quot; &amp;quot;%s&amp;quot;' % (sys.argv[2], sys.argv[5]))&lt;br /&gt;
&lt;br /&gt;
3 - Settting do ambiente para usar o meld no lugar do diff&lt;br /&gt;
&lt;br /&gt;
  $ git config --global diff.tool /home/system/git/diff.py&lt;br /&gt;
&lt;br /&gt;
4 - Rode o comando para comparar branches:&lt;br /&gt;
&lt;br /&gt;
  git difftool -d branch1..branch2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Git&amp;diff=34970</id>
		<title>Git</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Git&amp;diff=34970"/>
		<updated>2016-07-11T13:40:44Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: /* Tutoriais e Informações Adicionais sobre Git */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For a brief list of commands, see [[Comandos Git]].&lt;br /&gt;
&lt;br /&gt;
To learn Git, see [[Literatura recomendada pela equipe#Git]].&lt;br /&gt;
&amp;lt;video allowfullscreen=&amp;quot;true&amp;quot; size=&amp;quot;full&amp;quot; position=&amp;quot;right&amp;quot; frame=&amp;quot;true&amp;quot; desc=&amp;quot;Palestra do Linus Torvalds no Google sobre o Git http://git-scm.com&amp;quot; height=&amp;quot;345&amp;quot; width=&amp;quot;420&amp;quot; id=&amp;quot;4XpnKHJAok8&amp;quot; type=&amp;quot;youtube&amp;quot; /&amp;gt; &lt;br /&gt;
== Git Service Providers ==&lt;br /&gt;
We recommend the following equally good services:&lt;br /&gt;
* [http://github.com github.com] -- easier, simpler, yet powerful service focused on your git repository and not much else&lt;br /&gt;
* [http://sourceforge.net sourceforge.net] -- complete infrastructure for your project: git, web space, mailing lists, etc. a bit more complicated than github. we use mostly sourceforge here but have recently been using Github more and more.&lt;br /&gt;
&lt;br /&gt;
== Git vs other distributed version control systems ==&lt;br /&gt;
&lt;br /&gt;
=== Git vs. Mercurial ===&lt;br /&gt;
Mercurial is a popular version control system written in Python. It started nearly at the same time as Git by kernel hackers for the same purpose - to replace the proprietary Bitkeeper. In the end, the kernel developers decided for Git. Mercurial is written in Python and is used by Python itself, [[Mozilla Firefox]], etc. Most likely, Git's biggest advantage here is efficiency/speed.&lt;br /&gt;
&lt;br /&gt;
=== Git vs. Bazaar ===&lt;br /&gt;
Bazaar is the official version control system from Canonical and it's a GNU project. It is used by inkscape, emacs, etc. It is written in Python.&lt;br /&gt;
&lt;br /&gt;
The case is summarized on a phrase from the Bazaar/Canonical website, &amp;quot;Git is undoubtedly powerful but, in our view, it’s far more complex than a version control tool needs to be for most people.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
We somewhat disagree, since Git can be used at various levels of complexity.&lt;br /&gt;
&lt;br /&gt;
==Create Repos on Sourceforge==&lt;br /&gt;
=== New Way ===&lt;br /&gt;
Go to the sourceforge website for your project,&lt;br /&gt;
then click Admin -&amp;gt; Tools -&amp;gt; Git (under &amp;quot;click to install&amp;quot;).&lt;br /&gt;
Type the name of your project (we call it NOME_REPOS). &lt;br /&gt;
For the curious, this will create a bare repository at /home/git/p/labmacambira/NOME_REPOS&lt;br /&gt;
&lt;br /&gt;
Once the repository is created, you can access instructions on how to populate it by accessing&lt;br /&gt;
 https://sourceforge.net/p/labmacambira/NOME_REPOS&lt;br /&gt;
&lt;br /&gt;
=== Old Way ===&lt;br /&gt;
Acesse a conta do projeto por ssh:&lt;br /&gt;
    ssh -t USER,PROJECT@shell.sourceforge.net create&lt;br /&gt;
Vá ao diretório do projeto:&lt;br /&gt;
    cd /home/scm_git/l/la/labmacambira&lt;br /&gt;
Crie o diretório com o nome do repositório desejado:&lt;br /&gt;
    mkdir NOME_REPOS&lt;br /&gt;
Crie o repositório (bare):&lt;br /&gt;
    git --git-dir=NOME_REPOS init --shared=all --bare&lt;br /&gt;
&lt;br /&gt;
=== Using the newly created repository ===&lt;br /&gt;
Pronto, agora você poderá usá-lo:&lt;br /&gt;
&lt;br /&gt;
Clone-o:&lt;br /&gt;
    git clone ssh://USERNAME@git.code.sf.net/p/labmacambira/NOME_REPOS&lt;br /&gt;
&lt;br /&gt;
Depois do git add e commit usuais, o primeiro push devera ser dado explicitamente com:&lt;br /&gt;
     git push origin master&lt;br /&gt;
&lt;br /&gt;
Mais informações em http://sourceforge.net/apps/trac/sourceforge/wiki/Git&lt;br /&gt;
&lt;br /&gt;
===Se já tiver um repos git e quer migrá-lo para SF como origin===&lt;br /&gt;
Além das instruções acima, adentre o repositório git local ('cd NOME_REPOS') e mande&lt;br /&gt;
    git remote rm origin # caso o repo local tenha sido clonado de outro, caso contrário pule isso&lt;br /&gt;
    git remote add origin ssh://USERNAME@git.code.sf.net/p/labmacambira/NOME_REPOS&lt;br /&gt;
    git config branch.master.remote origin&lt;br /&gt;
    git config branch.master.merge refs/heads/master&lt;br /&gt;
    git push origin master&lt;br /&gt;
&lt;br /&gt;
== Iniciando um Repo Git a partir de um projeto já existente ==&lt;br /&gt;
&lt;br /&gt;
Basta entrar no diretório raiz do projeto e iniciar o repo:&lt;br /&gt;
    $ git init&lt;br /&gt;
Depois de limpar os arquivos temporários e auxiliares, adicione todo mundo:&lt;br /&gt;
    $ git add .&lt;br /&gt;
Este comando acima já adiciona toda a árvore.&lt;br /&gt;
&lt;br /&gt;
Dá um 'git status' para ver se não tem algum arquivo lixo. Se tiver, manda um:&lt;br /&gt;
    $ git unstage &amp;lt;arquivo&amp;gt;&lt;br /&gt;
Para cada arquivo. Pronto! Pode commitar!&lt;br /&gt;
&lt;br /&gt;
== Interface Git para Subversion e CVS ==&lt;br /&gt;
&lt;br /&gt;
[[GitSvn|Para usar Git como interface para o Subversion]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[GitCVS|Para usar Git como interface para o CVS]]&lt;br /&gt;
&lt;br /&gt;
Mirrors destes links em [https://sourceforge.net/apps/trac/vxl/wiki/GitCvs] e  [https://sourceforge.net/apps/trac/vxl/wiki/GitSvn]&lt;br /&gt;
&lt;br /&gt;
== Gerando patches pra comitadas ==&lt;br /&gt;
&lt;br /&gt;
Muitos projetos nao dao acesso a commitadas diretamente, exigindo submissao de patches. Veja como fazer isso com git format-patch [http://ariejan.net/2009/10/26/how-to-create-and-apply-a-patch-with-git/]:&lt;br /&gt;
&lt;br /&gt;
Cria-se um branch a partir do master, com suas mudancas. Depois cria-se um patch desse branch referente ao master, executando o seguinte comando a partir desse novo branch:&lt;br /&gt;
 git format-patch master --stdout &amp;gt; fix_bug_69.patch&lt;br /&gt;
&lt;br /&gt;
Tambem e' util saber dar um squash nos seus commits pro patch ficar mais limpo depois de varias edicoes, ver [http://progit.org/book/ch6-4.html].&lt;br /&gt;
&lt;br /&gt;
== Migrar de SVN para GIT ==&lt;br /&gt;
&lt;br /&gt;
Criamos um repos temporário para baixar o SVN:&lt;br /&gt;
&lt;br /&gt;
    mkdir repos_tmp&lt;br /&gt;
    cd repos_tmp&lt;br /&gt;
    git svn init URL_DO_SEU_REPOSITORIO_SVN --no-metadata&lt;br /&gt;
    git svn fetch&lt;br /&gt;
&lt;br /&gt;
Agora vamos limpar a sujeira deixada pelo SVN, clonando o repos temporário no repos final:&lt;br /&gt;
&lt;br /&gt;
    cd ..&lt;br /&gt;
    git clone repos_tmp repos_final&lt;br /&gt;
    cd repos_final&lt;br /&gt;
&lt;br /&gt;
E configuramos para usar o SF:&lt;br /&gt;
&lt;br /&gt;
    git remote rm origin&lt;br /&gt;
    git remote add origin ssh://USERNAME@git.code.sf.net/p/labmacambira/NOME_REPOS&lt;br /&gt;
    git config branch.master.remote origin&lt;br /&gt;
    git config branch.master.merge refs/heads/master&lt;br /&gt;
    git push origin master&lt;br /&gt;
&lt;br /&gt;
== Migrar de CVS para Git ==&lt;br /&gt;
Exitem diversas maneiras de se converter um repositorio existente para Git.&lt;br /&gt;
Se o repositorio principal nao sera convertido para Git, ou se o repo principal e' simples, pode-se usar o git cvs.&lt;br /&gt;
Nesse caso, veja o link:&lt;br /&gt;
https://sourceforge.net/apps/trac/vxl/wiki/GitCvs&lt;br /&gt;
&lt;br /&gt;
Ver tambem o seguinte link, para o caso de se usar Git com Subversion:&lt;br /&gt;
https://sourceforge.net/apps/trac/vxl/wiki/GitSvn&lt;br /&gt;
&lt;br /&gt;
Agora, para migrar o repositorio CVS para Git de uma vez por todas, vou&lt;br /&gt;
descrever um jeito que usei para converter o [[SIP]], o qual tinha um repositorio&lt;br /&gt;
CVS no sourceforge. Primeiramente, usei o seguinte comando de backup do&lt;br /&gt;
sourceforge pra baixar o repo CVS:&lt;br /&gt;
&lt;br /&gt;
  rsync -av rsync://siptoolbox.cvs.sourceforge.net/cvsroot/siptoolbox/* .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Segui as instrucoes em Creating Multiple Repositories&lt;br /&gt;
da pagina  https://sourceforge.net/apps/trac/sourceforge/wiki/Git&lt;br /&gt;
* Tenho 4 repositorios dentro do projeto siptoolbox: animal,simpletoolbox,www e siptoolbox&lt;br /&gt;
* Dentro do shell do sourceforge:&lt;br /&gt;
 mkdir animal simpletoolbox www&lt;br /&gt;
 git --git-dir=www init --shared=all --bare&lt;br /&gt;
este ultimo comando sendo repetido para animal e simpletoolbox.&lt;br /&gt;
&lt;br /&gt;
Em seguida, dei um clone em cada um, depois, para cada modulo (p.ex. www abaixo), editei cvs2git.options colocando o caminho apropriado na string logo apos run_options.set_project&lt;br /&gt;
 cvs2git --options=../cvs2git.options&lt;br /&gt;
 cd www&lt;br /&gt;
 cat ../cvs2svn-tmp/git-{blob,dump}.dat | git fast-import&lt;br /&gt;
 git reset --hard&lt;br /&gt;
 git push origin master&lt;br /&gt;
 rm -rf ../cvs2svn-tmp&lt;br /&gt;
&lt;br /&gt;
Eh isso ae, mais ou menos..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Referencias de migracao CVS para Git ===&lt;br /&gt;
* [http://michael-bien.com/mbien/entry/converting_from_cvs_to_git]&lt;br /&gt;
* [http://blog.gorwits.me.uk/2011/06/22/migrate-sourceforge-cvs-repository-to-git]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Integrando repositório Git com CIA.vc ==&lt;br /&gt;
&lt;br /&gt;
=== Se você tiver um repositório no Git do labmacambira ===&lt;br /&gt;
&lt;br /&gt;
Você precisará de uma conta no SourceForge (SF), se não tiver, crie uma em http://sourceforge.net.&lt;br /&gt;
&lt;br /&gt;
Conecte por shell no SF, usando seu usuário, no projeto labmacambira:&lt;br /&gt;
&lt;br /&gt;
    ssh -t SEU_USUARIO,labmacambira@shell.sourceforge.net creat&lt;br /&gt;
&lt;br /&gt;
Quando logar, entre os comandos (digamos que seu repositório se chame FOOBAR):&lt;br /&gt;
&lt;br /&gt;
    cd /home/scm_git/l/la/labmacambira&lt;br /&gt;
    cp aa/hooks/update FOOBAR/hooks/&lt;br /&gt;
    cp aa/hooks/ciabot.pl path_para_seu_repos/hooks/&lt;br /&gt;
&lt;br /&gt;
Edite o arquivo FOOBAR/hooks/ciabot.pl, na linha 53, e muda para o nome do seu projeto:&lt;br /&gt;
&lt;br /&gt;
    $project = 'FOOBAR';&lt;br /&gt;
&lt;br /&gt;
Feito. Agora vá em cia.vc e logue no labmacambira (solicite login/senha na listamacambira@googlegroups.com caso ainda não tiver). &lt;br /&gt;
&lt;br /&gt;
Vá em Projects e adicione um novo projeto, ou clique direto aqui: http://cia.vc/account/projects/add&lt;br /&gt;
&lt;br /&gt;
Digite um short name para o projeto e na aba Metadata, no campo Web Site URL coloque o caminho completo para seu repos (HTTP):&lt;br /&gt;
&lt;br /&gt;
    http://labmacambira.git.sourceforge.net/git/gitweb.cgi?p=labmacambira/FOOBAR&lt;br /&gt;
&lt;br /&gt;
Salve e vá na guia Bots (no menu esquerdo). Na aba Basic Filtering, na opção Filter by project, haverá uma janela de texto, adicione o nome do seu repos (FOOBAR) e Salve.&lt;br /&gt;
&lt;br /&gt;
Pronto, dê um commit no seu clone local e veja se o bot no #labmacambira avisou.&lt;br /&gt;
&lt;br /&gt;
=== Se você tiver um repositório Git no GitHub ===&lt;br /&gt;
&lt;br /&gt;
Logue na sua conta no GitHub. Procure o botão Admin e clique nele. Vá em Service Hooks. Na lista que se abrirá, clique em CIA. Selecione a opção Active e clique em Update Settings (você poderá usar o botão Test Hook para testar enviando os últimos commits, após vc ter terminado todos esses passos seguintes).&lt;br /&gt;
&lt;br /&gt;
Feito. Agora vá em cia.vc e logue no labmacambira (solicite login/senha para nós). &lt;br /&gt;
&lt;br /&gt;
Vá em Projects e adicione um novo projeto, ou clique direto aqui: http://cia.vc/account/projects/add&lt;br /&gt;
&lt;br /&gt;
Digite um short name para o projeto e na aba Metadata, no campo Web Site URL coloque o caminho completo para seu repos (HTTP):&lt;br /&gt;
&lt;br /&gt;
    https://github.com/SEU_USUARIO/FOOBAR.git&lt;br /&gt;
&lt;br /&gt;
Salve e vá na guia Bots (no menu esquerdo). Na aba Basic Filtering, na opção Filter by project, haverá uma janela de texto, adicione o nome do seu repos (FOOBAR) e Salve.&lt;br /&gt;
&lt;br /&gt;
Pronto, dê um commit no seu clone local e veja se o bot no #labmacambira avisou.&lt;br /&gt;
&lt;br /&gt;
== Tutoriais e Informações Adicionais sobre Git ==&lt;br /&gt;
* [http://automata.cc/git Apanhado cognoscível de Git no automata.cc]&lt;br /&gt;
* [http://akitaonrails.com/2008/04/02/micro-tutorial-de-git Tutorial Git por Akita onrails]&lt;br /&gt;
* [http://code.google.com/p/msysgit/downloads/list?can=3 Git for Windows]&lt;br /&gt;
* [http://pt.whygitisbetterthanx.com/ Tutorial ilustrado de Git]&lt;br /&gt;
* [http://rogerdudler.github.com/git-guide/index.pt_BR.html Guia prático de GIT]&lt;br /&gt;
* [http://book.git-scm.com/index.html Git Book]&lt;br /&gt;
* [http://gitref.org Git Reference]&lt;br /&gt;
* [http://marklodato.github.com/visual-git-guide/index-en.html Guia visual para Git]&lt;br /&gt;
&lt;br /&gt;
* [[GIT - Usando git com meld]]&lt;br /&gt;
&lt;br /&gt;
===Canal do IRC sobre Git===&lt;br /&gt;
#git ou #github no freenode&lt;br /&gt;
&lt;br /&gt;
== Ver Tambem  ==&lt;br /&gt;
&lt;br /&gt;
[[git - principais comandos]] &lt;br /&gt;
&lt;br /&gt;
[http://www.silassewell.com/blog/2009/03/08/profile-management-with-git-and-github/ Controle de Perfil linux (home) usando git] &lt;br /&gt;
&lt;br /&gt;
[[Category:Lab_Macambira]] [[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34967</id>
		<title>Postgres</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34967"/>
		<updated>2016-07-05T18:12:11Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: /* Comandos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar usando socket:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para logar usando root e um usuário específico e uma base. Esse método irá exigir senha: &lt;br /&gt;
&lt;br /&gt;
  # sudo -u NOME-DO-USUARIO psql NOME-DA-BASE&lt;br /&gt;
&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \dt&lt;br /&gt;
&lt;br /&gt;
* listar todas as colunas de uma tabela, depois de conectado a uma base:&lt;br /&gt;
&lt;br /&gt;
  \d+ nome-da-coluna;&lt;br /&gt;
&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    =&amp;gt; \dt&lt;br /&gt;
&lt;br /&gt;
* listar todas as colunas de uma tabela, depois de conectado a uma base:&lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; \d+ nome-da-coluna;&lt;br /&gt;
&lt;br /&gt;
== Seleção ==&lt;br /&gt;
&lt;br /&gt;
Depois de logado numa determinada base de dados, fazer uma seleção é muito fácil! Para ver todos os registros de uma tabela, basta digitar: &lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; select * from NOME-TABELA1;&lt;br /&gt;
&lt;br /&gt;
Para selecionar a partir de alguma(s) determinada(s) coluna(s), você pode tentar:&lt;br /&gt;
  =&amp;gt; select nome-coluna1, nome-coluna2 from nome-da-tabela;&lt;br /&gt;
&lt;br /&gt;
Para ordenar: &lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; select NOME-COLUNA1, NOME-COLUNA2 from NOME-TABELA1 order by NOME-COLUNA3;&lt;br /&gt;
&lt;br /&gt;
Para copiar o resultado de uma seleção, use o \copy: &lt;br /&gt;
&lt;br /&gt;
  $ \copy (select * from NOME-COLUNA order by accounts_timtecuser) to '/home/timtec-ifsul/user.csv' with csv;&lt;br /&gt;
&lt;br /&gt;
Se o objetivo for selecionar a partir de uma referencia pré-conhecida, você pode usar o where:&lt;br /&gt;
&lt;br /&gt;
  select * from NOME-TABELA1 where CAMPO-TABELA1 = 'NUMERO-OU-STRING';&lt;br /&gt;
&lt;br /&gt;
Ou ainda buscar por um trecho inicial ou final. Aqui estamos buscando todos os nome que começam com a letra p: &lt;br /&gt;
&lt;br /&gt;
  select * from NOME-TABELA1 where NAME LIKE 'p%';&lt;br /&gt;
&lt;br /&gt;
Seleção por data: &lt;br /&gt;
&lt;br /&gt;
  SELECT * FROM coluna1 WHERE create_timestamp &amp;lt;= '2015-12-14';&lt;br /&gt;
&lt;br /&gt;
Selecionando multiplos registros: &lt;br /&gt;
&lt;br /&gt;
  SELECT * FROM NOME-TABELA1 WHERE CAMPO-TABELA1 in (1, 2, 5);&lt;br /&gt;
&lt;br /&gt;
Selecionando com range numerico:&lt;br /&gt;
&lt;br /&gt;
  select id, name from NOME-DA-TABELA where NOME-DO-CAMPO between 1500 AND 2100;&lt;br /&gt;
&lt;br /&gt;
== Criando um usuário ==&lt;br /&gt;
&lt;br /&gt;
  # sudo -u postgres createuser -d nome-do-user&lt;br /&gt;
&lt;br /&gt;
Create a user with a password:&lt;br /&gt;
&lt;br /&gt;
  CREATE USER davide WITH PASSWORD 'jw8s0F4';&lt;br /&gt;
&lt;br /&gt;
Create a user with a password that is valid until the end of 2004. After one second has ticked in 2005, the password is no longer valid.&lt;br /&gt;
&lt;br /&gt;
   CREATE USER miriam WITH PASSWORD 'jw8s0F4' VALID UNTIL '2005-01-01';&lt;br /&gt;
&lt;br /&gt;
Create an account where the user can create databases:&lt;br /&gt;
&lt;br /&gt;
  CREATE USER manuel WITH PASSWORD 'jw8s0F4' CREATEDB;&lt;br /&gt;
&lt;br /&gt;
== Dump de uma base ==&lt;br /&gt;
Para fazer dump de uma base inteira para um arquivo .sql vc pode usar o comando:&lt;br /&gt;
&lt;br /&gt;
  pg_dump dbname &amp;gt; outfile&lt;br /&gt;
&lt;br /&gt;
Para recuperar o dump, user este comando: &lt;br /&gt;
&lt;br /&gt;
  psql dbname &amp;lt; infile&lt;br /&gt;
&lt;br /&gt;
== Escrita ==&lt;br /&gt;
&lt;br /&gt;
  UPDATE nome-da-tabela set campo-da-tabela='dado a ser escrito' where id = '2';&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gerando uma saída CSV == &lt;br /&gt;
&lt;br /&gt;
  \copy (select * from agent a inner join usr u on u.id = a.user_id where a.name='') to '~/2016_04_logins_em_branco.csv' with csv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Remover registros duplicados ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  DELETE FROM tablename&lt;br /&gt;
  WHERE id IN (SELECT id&lt;br /&gt;
              FROM (SELECT id,&lt;br /&gt;
                             ROW_NUMBER() OVER (partition BY column1, column2, column3 ORDER BY id) AS rnum&lt;br /&gt;
                     FROM tablename) t&lt;br /&gt;
              WHERE t.rnum &amp;gt; 1);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remover duplicados por linha:&lt;br /&gt;
&lt;br /&gt;
  delete&lt;br /&gt;
  from NOME-DA-TABELA&lt;br /&gt;
  where id in (&lt;br /&gt;
    select&lt;br /&gt;
        id&lt;br /&gt;
    from (  select &lt;br /&gt;
                id,&lt;br /&gt;
                ROW_NUMBER() over (partition by email order by last_login desc) n&lt;br /&gt;
            from ifs_ifuser u1 &lt;br /&gt;
            where exists (  select 1 from ifs_ifuser &lt;br /&gt;
                            where email = u1.email and id &amp;lt;&amp;gt; u1.id)&lt;br /&gt;
        ) t&lt;br /&gt;
    where n &amp;gt; 1&lt;br /&gt;
  );&lt;br /&gt;
&lt;br /&gt;
== Gerando documentação ==&lt;br /&gt;
&lt;br /&gt;
É comum ser necessário gerar documentação do tipo UML ou data dictionary a partir de um schema.sql ou gerar um schema.sql a partir de um modelo de uml estruturado. Para isso você pode usar o [[Postgres - Autodoc]].&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
* http://www.postgresql.org/docs/9.1/static/backup-dump.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: postgres]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34966</id>
		<title>Postgres</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34966"/>
		<updated>2016-07-05T18:06:34Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: /* Comandos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar usando socket:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para logar usando root e um usuário específico e uma base: &lt;br /&gt;
&lt;br /&gt;
  # sudo -u NOME-DO-USUARIO psql NOME-DA-BASE&lt;br /&gt;
&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \dt&lt;br /&gt;
&lt;br /&gt;
* listar todas as colunas de uma tabela, depois de conectado a uma base:&lt;br /&gt;
&lt;br /&gt;
  \d+ nome-da-coluna;&lt;br /&gt;
&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    =&amp;gt; \dt&lt;br /&gt;
&lt;br /&gt;
* listar todas as colunas de uma tabela, depois de conectado a uma base:&lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; \d+ nome-da-coluna;&lt;br /&gt;
&lt;br /&gt;
== Seleção ==&lt;br /&gt;
&lt;br /&gt;
Depois de logado numa determinada base de dados, fazer uma seleção é muito fácil! Para ver todos os registros de uma tabela, basta digitar: &lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; select * from NOME-TABELA1;&lt;br /&gt;
&lt;br /&gt;
Para selecionar a partir de alguma(s) determinada(s) coluna(s), você pode tentar:&lt;br /&gt;
  =&amp;gt; select nome-coluna1, nome-coluna2 from nome-da-tabela;&lt;br /&gt;
&lt;br /&gt;
Para ordenar: &lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; select NOME-COLUNA1, NOME-COLUNA2 from NOME-TABELA1 order by NOME-COLUNA3;&lt;br /&gt;
&lt;br /&gt;
Para copiar o resultado de uma seleção, use o \copy: &lt;br /&gt;
&lt;br /&gt;
  $ \copy (select * from NOME-COLUNA order by accounts_timtecuser) to '/home/timtec-ifsul/user.csv' with csv;&lt;br /&gt;
&lt;br /&gt;
Se o objetivo for selecionar a partir de uma referencia pré-conhecida, você pode usar o where:&lt;br /&gt;
&lt;br /&gt;
  select * from NOME-TABELA1 where CAMPO-TABELA1 = 'NUMERO-OU-STRING';&lt;br /&gt;
&lt;br /&gt;
Ou ainda buscar por um trecho inicial ou final. Aqui estamos buscando todos os nome que começam com a letra p: &lt;br /&gt;
&lt;br /&gt;
  select * from NOME-TABELA1 where NAME LIKE 'p%';&lt;br /&gt;
&lt;br /&gt;
Seleção por data: &lt;br /&gt;
&lt;br /&gt;
  SELECT * FROM coluna1 WHERE create_timestamp &amp;lt;= '2015-12-14';&lt;br /&gt;
&lt;br /&gt;
Selecionando multiplos registros: &lt;br /&gt;
&lt;br /&gt;
  SELECT * FROM NOME-TABELA1 WHERE CAMPO-TABELA1 in (1, 2, 5);&lt;br /&gt;
&lt;br /&gt;
Selecionando com range numerico:&lt;br /&gt;
&lt;br /&gt;
  select id, name from NOME-DA-TABELA where NOME-DO-CAMPO between 1500 AND 2100;&lt;br /&gt;
&lt;br /&gt;
== Criando um usuário ==&lt;br /&gt;
&lt;br /&gt;
  # sudo -u postgres createuser -d nome-do-user&lt;br /&gt;
&lt;br /&gt;
Create a user with a password:&lt;br /&gt;
&lt;br /&gt;
  CREATE USER davide WITH PASSWORD 'jw8s0F4';&lt;br /&gt;
&lt;br /&gt;
Create a user with a password that is valid until the end of 2004. After one second has ticked in 2005, the password is no longer valid.&lt;br /&gt;
&lt;br /&gt;
   CREATE USER miriam WITH PASSWORD 'jw8s0F4' VALID UNTIL '2005-01-01';&lt;br /&gt;
&lt;br /&gt;
Create an account where the user can create databases:&lt;br /&gt;
&lt;br /&gt;
  CREATE USER manuel WITH PASSWORD 'jw8s0F4' CREATEDB;&lt;br /&gt;
&lt;br /&gt;
== Dump de uma base ==&lt;br /&gt;
Para fazer dump de uma base inteira para um arquivo .sql vc pode usar o comando:&lt;br /&gt;
&lt;br /&gt;
  pg_dump dbname &amp;gt; outfile&lt;br /&gt;
&lt;br /&gt;
Para recuperar o dump, user este comando: &lt;br /&gt;
&lt;br /&gt;
  psql dbname &amp;lt; infile&lt;br /&gt;
&lt;br /&gt;
== Escrita ==&lt;br /&gt;
&lt;br /&gt;
  UPDATE nome-da-tabela set campo-da-tabela='dado a ser escrito' where id = '2';&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gerando uma saída CSV == &lt;br /&gt;
&lt;br /&gt;
  \copy (select * from agent a inner join usr u on u.id = a.user_id where a.name='') to '~/2016_04_logins_em_branco.csv' with csv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Remover registros duplicados ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  DELETE FROM tablename&lt;br /&gt;
  WHERE id IN (SELECT id&lt;br /&gt;
              FROM (SELECT id,&lt;br /&gt;
                             ROW_NUMBER() OVER (partition BY column1, column2, column3 ORDER BY id) AS rnum&lt;br /&gt;
                     FROM tablename) t&lt;br /&gt;
              WHERE t.rnum &amp;gt; 1);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remover duplicados por linha:&lt;br /&gt;
&lt;br /&gt;
  delete&lt;br /&gt;
  from NOME-DA-TABELA&lt;br /&gt;
  where id in (&lt;br /&gt;
    select&lt;br /&gt;
        id&lt;br /&gt;
    from (  select &lt;br /&gt;
                id,&lt;br /&gt;
                ROW_NUMBER() over (partition by email order by last_login desc) n&lt;br /&gt;
            from ifs_ifuser u1 &lt;br /&gt;
            where exists (  select 1 from ifs_ifuser &lt;br /&gt;
                            where email = u1.email and id &amp;lt;&amp;gt; u1.id)&lt;br /&gt;
        ) t&lt;br /&gt;
    where n &amp;gt; 1&lt;br /&gt;
  );&lt;br /&gt;
&lt;br /&gt;
== Gerando documentação ==&lt;br /&gt;
&lt;br /&gt;
É comum ser necessário gerar documentação do tipo UML ou data dictionary a partir de um schema.sql ou gerar um schema.sql a partir de um modelo de uml estruturado. Para isso você pode usar o [[Postgres - Autodoc]].&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
* http://www.postgresql.org/docs/9.1/static/backup-dump.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: postgres]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34965</id>
		<title>Postgres</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34965"/>
		<updated>2016-07-05T17:56:02Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: /* Comandos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar usando socket:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para logar usando root e um usuário específico: &lt;br /&gt;
&lt;br /&gt;
  # sudo -u ceara-production psql postgres&lt;br /&gt;
&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \dt&lt;br /&gt;
&lt;br /&gt;
* listar todas as colunas de uma tabela, depois de conectado a uma base:&lt;br /&gt;
&lt;br /&gt;
  \d+ nome-da-coluna;&lt;br /&gt;
&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    =&amp;gt; \dt&lt;br /&gt;
&lt;br /&gt;
* listar todas as colunas de uma tabela, depois de conectado a uma base:&lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; \d+ nome-da-coluna;&lt;br /&gt;
&lt;br /&gt;
== Seleção ==&lt;br /&gt;
&lt;br /&gt;
Depois de logado numa determinada base de dados, fazer uma seleção é muito fácil! Para ver todos os registros de uma tabela, basta digitar: &lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; select * from NOME-TABELA1;&lt;br /&gt;
&lt;br /&gt;
Para selecionar a partir de alguma(s) determinada(s) coluna(s), você pode tentar:&lt;br /&gt;
  =&amp;gt; select nome-coluna1, nome-coluna2 from nome-da-tabela;&lt;br /&gt;
&lt;br /&gt;
Para ordenar: &lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; select NOME-COLUNA1, NOME-COLUNA2 from NOME-TABELA1 order by NOME-COLUNA3;&lt;br /&gt;
&lt;br /&gt;
Para copiar o resultado de uma seleção, use o \copy: &lt;br /&gt;
&lt;br /&gt;
  $ \copy (select * from NOME-COLUNA order by accounts_timtecuser) to '/home/timtec-ifsul/user.csv' with csv;&lt;br /&gt;
&lt;br /&gt;
Se o objetivo for selecionar a partir de uma referencia pré-conhecida, você pode usar o where:&lt;br /&gt;
&lt;br /&gt;
  select * from NOME-TABELA1 where CAMPO-TABELA1 = 'NUMERO-OU-STRING';&lt;br /&gt;
&lt;br /&gt;
Ou ainda buscar por um trecho inicial ou final. Aqui estamos buscando todos os nome que começam com a letra p: &lt;br /&gt;
&lt;br /&gt;
  select * from NOME-TABELA1 where NAME LIKE 'p%';&lt;br /&gt;
&lt;br /&gt;
Seleção por data: &lt;br /&gt;
&lt;br /&gt;
  SELECT * FROM coluna1 WHERE create_timestamp &amp;lt;= '2015-12-14';&lt;br /&gt;
&lt;br /&gt;
Selecionando multiplos registros: &lt;br /&gt;
&lt;br /&gt;
  SELECT * FROM NOME-TABELA1 WHERE CAMPO-TABELA1 in (1, 2, 5);&lt;br /&gt;
&lt;br /&gt;
Selecionando com range numerico:&lt;br /&gt;
&lt;br /&gt;
  select id, name from NOME-DA-TABELA where NOME-DO-CAMPO between 1500 AND 2100;&lt;br /&gt;
&lt;br /&gt;
== Criando um usuário ==&lt;br /&gt;
&lt;br /&gt;
  # sudo -u postgres createuser -d nome-do-user&lt;br /&gt;
&lt;br /&gt;
Create a user with a password:&lt;br /&gt;
&lt;br /&gt;
  CREATE USER davide WITH PASSWORD 'jw8s0F4';&lt;br /&gt;
&lt;br /&gt;
Create a user with a password that is valid until the end of 2004. After one second has ticked in 2005, the password is no longer valid.&lt;br /&gt;
&lt;br /&gt;
   CREATE USER miriam WITH PASSWORD 'jw8s0F4' VALID UNTIL '2005-01-01';&lt;br /&gt;
&lt;br /&gt;
Create an account where the user can create databases:&lt;br /&gt;
&lt;br /&gt;
  CREATE USER manuel WITH PASSWORD 'jw8s0F4' CREATEDB;&lt;br /&gt;
&lt;br /&gt;
== Dump de uma base ==&lt;br /&gt;
Para fazer dump de uma base inteira para um arquivo .sql vc pode usar o comando:&lt;br /&gt;
&lt;br /&gt;
  pg_dump dbname &amp;gt; outfile&lt;br /&gt;
&lt;br /&gt;
Para recuperar o dump, user este comando: &lt;br /&gt;
&lt;br /&gt;
  psql dbname &amp;lt; infile&lt;br /&gt;
&lt;br /&gt;
== Escrita ==&lt;br /&gt;
&lt;br /&gt;
  UPDATE nome-da-tabela set campo-da-tabela='dado a ser escrito' where id = '2';&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gerando uma saída CSV == &lt;br /&gt;
&lt;br /&gt;
  \copy (select * from agent a inner join usr u on u.id = a.user_id where a.name='') to '~/2016_04_logins_em_branco.csv' with csv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Remover registros duplicados ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  DELETE FROM tablename&lt;br /&gt;
  WHERE id IN (SELECT id&lt;br /&gt;
              FROM (SELECT id,&lt;br /&gt;
                             ROW_NUMBER() OVER (partition BY column1, column2, column3 ORDER BY id) AS rnum&lt;br /&gt;
                     FROM tablename) t&lt;br /&gt;
              WHERE t.rnum &amp;gt; 1);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remover duplicados por linha:&lt;br /&gt;
&lt;br /&gt;
  delete&lt;br /&gt;
  from NOME-DA-TABELA&lt;br /&gt;
  where id in (&lt;br /&gt;
    select&lt;br /&gt;
        id&lt;br /&gt;
    from (  select &lt;br /&gt;
                id,&lt;br /&gt;
                ROW_NUMBER() over (partition by email order by last_login desc) n&lt;br /&gt;
            from ifs_ifuser u1 &lt;br /&gt;
            where exists (  select 1 from ifs_ifuser &lt;br /&gt;
                            where email = u1.email and id &amp;lt;&amp;gt; u1.id)&lt;br /&gt;
        ) t&lt;br /&gt;
    where n &amp;gt; 1&lt;br /&gt;
  );&lt;br /&gt;
&lt;br /&gt;
== Gerando documentação ==&lt;br /&gt;
&lt;br /&gt;
É comum ser necessário gerar documentação do tipo UML ou data dictionary a partir de um schema.sql ou gerar um schema.sql a partir de um modelo de uml estruturado. Para isso você pode usar o [[Postgres - Autodoc]].&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
* http://www.postgresql.org/docs/9.1/static/backup-dump.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: postgres]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Mysql&amp;diff=34964</id>
		<title>Mysql</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Mysql&amp;diff=34964"/>
		<updated>2016-06-24T17:14:20Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: /* ComandLine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ComandLine ==&lt;br /&gt;
Nota: depois dos comandos, não esqueça de colocar ; (ponto e vírgula) para fazer efeito. &lt;br /&gt;
&lt;br /&gt;
=== Entrando e saindo do Mysql ===&lt;br /&gt;
 # mysql -u nome_do_usuario -p &lt;br /&gt;
&lt;br /&gt;
O prompt vai ficar assim: &lt;br /&gt;
&lt;br /&gt;
 # mysql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
para sair basta usar o exit: &lt;br /&gt;
&lt;br /&gt;
 # mysql&amp;gt; exit + enter&lt;br /&gt;
&lt;br /&gt;
=== Criando novo usuário ===&lt;br /&gt;
&lt;br /&gt;
Com usuário root:&lt;br /&gt;
&lt;br /&gt;
 # mysql&amp;gt; CREATE USER 'nome-do-usuario'@'localhost' IDENTIFIED BY 'senha-senha-senha';&lt;br /&gt;
&lt;br /&gt;
=== Criando uma base de dados ===&lt;br /&gt;
&lt;br /&gt;
 # mysql&amp;gt; create database nome_da_base;&lt;br /&gt;
&lt;br /&gt;
=== Selecionar banco ===&lt;br /&gt;
&lt;br /&gt;
 # mysql&amp;gt; USE nome_do_banco;&lt;br /&gt;
&lt;br /&gt;
=== Mostrar tabelas ===&lt;br /&gt;
&lt;br /&gt;
 # mysql&amp;gt; show tables;&lt;br /&gt;
&lt;br /&gt;
=== Criando tabela ===&lt;br /&gt;
&lt;br /&gt;
 # mysql&amp;gt; create TABLE endereco (&lt;br /&gt;
 id_endereco smallint NOT NULL,&lt;br /&gt;
 rua varchar(100) NOT NULL,&lt;br /&gt;
 bairro varchar(25) NOT NULL,&lt;br /&gt;
 cidade varchar(25),&lt;br /&gt;
 primary key(id_endereco)&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
=== Visualizar colunas da tabela ===&lt;br /&gt;
&lt;br /&gt;
 # mysql&amp;gt; DESC endereco;&lt;br /&gt;
&lt;br /&gt;
=== Inserindo coluna na tabela ===&lt;br /&gt;
&lt;br /&gt;
 # mysql&amp;gt; ALTER TABLE endereco ADD pais varchar(25);&lt;br /&gt;
&lt;br /&gt;
=== Remover chave primária da tabela ===&lt;br /&gt;
&lt;br /&gt;
# mysql&amp;gt; ALTER TABLE endereco DROP primary key; Inserindo chave primária na tabela:&lt;br /&gt;
&lt;br /&gt;
# mysql&amp;gt; ALTER TABLE endereco ADD PRIMARY KEY(id_endereco);&lt;br /&gt;
&lt;br /&gt;
=== Modificar definições de uma coluna ===&lt;br /&gt;
&lt;br /&gt;
 # mysql&amp;gt; ALTER TABLE endereco MODIFY bairro varchar(50);&lt;br /&gt;
&lt;br /&gt;
=== Excluir coluna da tabela ===&lt;br /&gt;
&lt;br /&gt;
 # mysql&amp;gt; ALTER TABLE endereco DROP cidade;&lt;br /&gt;
&lt;br /&gt;
=== Renomear tabela ===&lt;br /&gt;
&lt;br /&gt;
 # mysql&amp;gt; ALTER TABLE endereco RENAME localizacao;&lt;br /&gt;
&lt;br /&gt;
=== Deletar uma tabela ===&lt;br /&gt;
&lt;br /&gt;
 # mysql&amp;gt; DROP TABLE localizacao;&lt;br /&gt;
&lt;br /&gt;
=== Deletar uma base de dados ===&lt;br /&gt;
&lt;br /&gt;
 # mysql&amp;gt; DROP DATABASE nome_da_base;&lt;br /&gt;
&lt;br /&gt;
=== Backup de base de dados ===&lt;br /&gt;
&lt;br /&gt;
  # mysqldump -u usuario_da_base -p nome_da_base &amp;gt; nome_da_base.sql&lt;br /&gt;
&lt;br /&gt;
Restauração da base: &lt;br /&gt;
&lt;br /&gt;
  # mysql -u root -p [database_name] &amp;lt; dumpfilename.sql&lt;br /&gt;
&lt;br /&gt;
[[Categoria:Mysql]]&lt;br /&gt;
[[Categoria:Linux]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Tmate&amp;diff=34951</id>
		<title>Tmate</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Tmate&amp;diff=34951"/>
		<updated>2016-05-17T15:03:58Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: Criou página com 'Software para compartilhamento de terminal entre dois ou mais pares:   * https://tmate.io'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Software para compartilhamento de terminal entre dois ou mais pares: &lt;br /&gt;
&lt;br /&gt;
* https://tmate.io&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Sublime&amp;diff=34949</id>
		<title>Sublime</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Sublime&amp;diff=34949"/>
		<updated>2016-05-13T18:52:17Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: /* Customizar atalhos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Instalação ==&lt;br /&gt;
&lt;br /&gt;
Para instalar, basta baixar o pacote do site e instalar com dpkg - https://www.sublimetext.com&lt;br /&gt;
&lt;br /&gt;
== Customizar atalhos ==&lt;br /&gt;
&lt;br /&gt;
* Vá em &amp;quot;preferences&amp;quot; &amp;gt; &amp;quot;Key Binding default&amp;quot; (para ver todos os atalhos padrão do sistema) &amp;gt; &amp;quot;key bindings user&amp;quot;;&lt;br /&gt;
* Busque o atalho que quer mudar no &amp;quot;default&amp;quot; e copie para o &amp;quot;user&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
&lt;br /&gt;
* Criando ambiente de desenvolvimento em php http://wasil.org/sublime-text-3-perfect-php-development-set-up&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Sublime&amp;diff=34948</id>
		<title>Sublime</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Sublime&amp;diff=34948"/>
		<updated>2016-05-13T18:51:31Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: Criou página com '== Instalação ==  Para instalar, basta baixar o pacote do site e instalar com dpkg - https://www.sublimetext.com  == Customizar atalhos ==  * Vá em &amp;quot;preferences&amp;quot; &amp;gt; &amp;quot;Key Bin...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Instalação ==&lt;br /&gt;
&lt;br /&gt;
Para instalar, basta baixar o pacote do site e instalar com dpkg - https://www.sublimetext.com&lt;br /&gt;
&lt;br /&gt;
== Customizar atalhos ==&lt;br /&gt;
&lt;br /&gt;
* Vá em &amp;quot;preferences&amp;quot; &amp;gt; &amp;quot;Key Binding default&amp;quot; (para ver todos os atalhos padrão do sistema) &amp;gt; &amp;quot;key bindings user&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
&lt;br /&gt;
* Criando ambiente de desenvolvimento em php http://wasil.org/sublime-text-3-perfect-php-development-set-up&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34947</id>
		<title>Postgres</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34947"/>
		<updated>2016-04-20T20:51:58Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: /* Gerando uma saída CSV */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \dt&lt;br /&gt;
&lt;br /&gt;
* listar todas as colunas de uma tabela, depois de conectado a uma base:&lt;br /&gt;
&lt;br /&gt;
  \d+ nome-da-coluna;&lt;br /&gt;
&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    =&amp;gt; \dt&lt;br /&gt;
&lt;br /&gt;
* listar todas as colunas de uma tabela, depois de conectado a uma base:&lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; \d+ nome-da-coluna;&lt;br /&gt;
&lt;br /&gt;
== Seleção ==&lt;br /&gt;
&lt;br /&gt;
Depois de logado numa determinada base de dados, fazer uma seleção é muito fácil! Para ver todos os registros de uma tabela, basta digitar: &lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; select * from NOME-TABELA1;&lt;br /&gt;
&lt;br /&gt;
Para selecionar a partir de alguma(s) determinada(s) coluna(s), você pode tentar:&lt;br /&gt;
  =&amp;gt; select nome-coluna1, nome-coluna2 from nome-da-tabela;&lt;br /&gt;
&lt;br /&gt;
Para ordenar: &lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; select NOME-COLUNA1, NOME-COLUNA2 from NOME-TABELA1 order by NOME-COLUNA3;&lt;br /&gt;
&lt;br /&gt;
Para copiar o resultado de uma seleção, use o \copy: &lt;br /&gt;
&lt;br /&gt;
  $ \copy (select * from NOME-COLUNA order by accounts_timtecuser) to '/home/timtec-ifsul/user.csv' with csv;&lt;br /&gt;
&lt;br /&gt;
Se o objetivo for selecionar a partir de uma referencia pré-conhecida, você pode usar o where:&lt;br /&gt;
&lt;br /&gt;
  select * from NOME-TABELA1 where CAMPO-TABELA1 = 'NUMERO-OU-STRING';&lt;br /&gt;
&lt;br /&gt;
Ou ainda buscar por um trecho inicial ou final. Aqui estamos buscando todos os nome que começam com a letra p: &lt;br /&gt;
&lt;br /&gt;
  select * from NOME-TABELA1 where NAME LIKE 'p%';&lt;br /&gt;
&lt;br /&gt;
Seleção por data: &lt;br /&gt;
&lt;br /&gt;
  SELECT * FROM coluna1 WHERE create_timestamp &amp;lt;= '2015-12-14';&lt;br /&gt;
&lt;br /&gt;
Selecionando multiplos registros: &lt;br /&gt;
&lt;br /&gt;
  SELECT * FROM NOME-TABELA1 WHERE CAMPO-TABELA1 in (1, 2, 5);&lt;br /&gt;
&lt;br /&gt;
Selecionando com range numerico:&lt;br /&gt;
&lt;br /&gt;
  select id, name from NOME-DA-TABELA where NOME-DO-CAMPO between 1500 AND 2100;&lt;br /&gt;
&lt;br /&gt;
== Criando um usuário ==&lt;br /&gt;
&lt;br /&gt;
  # sudo -u postgres createuser -d nome-do-user&lt;br /&gt;
&lt;br /&gt;
Create a user with a password:&lt;br /&gt;
&lt;br /&gt;
  CREATE USER davide WITH PASSWORD 'jw8s0F4';&lt;br /&gt;
&lt;br /&gt;
Create a user with a password that is valid until the end of 2004. After one second has ticked in 2005, the password is no longer valid.&lt;br /&gt;
&lt;br /&gt;
   CREATE USER miriam WITH PASSWORD 'jw8s0F4' VALID UNTIL '2005-01-01';&lt;br /&gt;
&lt;br /&gt;
Create an account where the user can create databases:&lt;br /&gt;
&lt;br /&gt;
  CREATE USER manuel WITH PASSWORD 'jw8s0F4' CREATEDB;&lt;br /&gt;
&lt;br /&gt;
== Dump de uma base ==&lt;br /&gt;
Para fazer dump de uma base inteira para um arquivo .sql vc pode usar o comando:&lt;br /&gt;
&lt;br /&gt;
  pg_dump dbname &amp;gt; outfile&lt;br /&gt;
&lt;br /&gt;
Para recuperar o dump, user este comando: &lt;br /&gt;
&lt;br /&gt;
  psql dbname &amp;lt; infile&lt;br /&gt;
&lt;br /&gt;
== Escrita ==&lt;br /&gt;
&lt;br /&gt;
  UPDATE nome-da-tabela set campo-da-tabela='dado a ser escrito' where id = '2';&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gerando uma saída CSV == &lt;br /&gt;
&lt;br /&gt;
  \copy (select * from agent a inner join usr u on u.id = a.user_id where a.name='') to '~/2016_04_logins_em_branco.csv' with csv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Remover registros duplicados ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  DELETE FROM tablename&lt;br /&gt;
  WHERE id IN (SELECT id&lt;br /&gt;
              FROM (SELECT id,&lt;br /&gt;
                             ROW_NUMBER() OVER (partition BY column1, column2, column3 ORDER BY id) AS rnum&lt;br /&gt;
                     FROM tablename) t&lt;br /&gt;
              WHERE t.rnum &amp;gt; 1);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remover duplicados por linha:&lt;br /&gt;
&lt;br /&gt;
  delete&lt;br /&gt;
  from NOME-DA-TABELA&lt;br /&gt;
  where id in (&lt;br /&gt;
    select&lt;br /&gt;
        id&lt;br /&gt;
    from (  select &lt;br /&gt;
                id,&lt;br /&gt;
                ROW_NUMBER() over (partition by email order by last_login desc) n&lt;br /&gt;
            from ifs_ifuser u1 &lt;br /&gt;
            where exists (  select 1 from ifs_ifuser &lt;br /&gt;
                            where email = u1.email and id &amp;lt;&amp;gt; u1.id)&lt;br /&gt;
        ) t&lt;br /&gt;
    where n &amp;gt; 1&lt;br /&gt;
  );&lt;br /&gt;
&lt;br /&gt;
== Gerando documentação ==&lt;br /&gt;
&lt;br /&gt;
É comum ser necessário gerar documentação do tipo UML ou data dictionary a partir de um schema.sql ou gerar um schema.sql a partir de um modelo de uml estruturado. Para isso você pode usar o [[Postgres - Autodoc]].&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
* http://www.postgresql.org/docs/9.1/static/backup-dump.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: postgres]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34946</id>
		<title>Postgres</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34946"/>
		<updated>2016-04-06T22:26:05Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: /* Escrita */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \dt&lt;br /&gt;
&lt;br /&gt;
* listar todas as colunas de uma tabela, depois de conectado a uma base:&lt;br /&gt;
&lt;br /&gt;
  \d+ nome-da-coluna;&lt;br /&gt;
&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    =&amp;gt; \dt&lt;br /&gt;
&lt;br /&gt;
* listar todas as colunas de uma tabela, depois de conectado a uma base:&lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; \d+ nome-da-coluna;&lt;br /&gt;
&lt;br /&gt;
== Seleção ==&lt;br /&gt;
&lt;br /&gt;
Depois de logado numa determinada base de dados, fazer uma seleção é muito fácil! Para ver todos os registros de uma tabela, basta digitar: &lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; select * from NOME-TABELA1;&lt;br /&gt;
&lt;br /&gt;
Para selecionar a partir de alguma(s) determinada(s) coluna(s), você pode tentar:&lt;br /&gt;
  =&amp;gt; select nome-coluna1, nome-coluna2 from nome-da-tabela;&lt;br /&gt;
&lt;br /&gt;
Para ordenar: &lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; select NOME-COLUNA1, NOME-COLUNA2 from NOME-TABELA1 order by NOME-COLUNA3;&lt;br /&gt;
&lt;br /&gt;
Para copiar o resultado de uma seleção, use o \copy: &lt;br /&gt;
&lt;br /&gt;
  $ \copy (select * from NOME-COLUNA order by accounts_timtecuser) to '/home/timtec-ifsul/user.csv' with csv;&lt;br /&gt;
&lt;br /&gt;
Se o objetivo for selecionar a partir de uma referencia pré-conhecida, você pode usar o where:&lt;br /&gt;
&lt;br /&gt;
  select * from NOME-TABELA1 where CAMPO-TABELA1 = 'NUMERO-OU-STRING';&lt;br /&gt;
&lt;br /&gt;
Ou ainda buscar por um trecho inicial ou final. Aqui estamos buscando todos os nome que começam com a letra p: &lt;br /&gt;
&lt;br /&gt;
  select * from NOME-TABELA1 where NAME LIKE 'p%';&lt;br /&gt;
&lt;br /&gt;
Seleção por data: &lt;br /&gt;
&lt;br /&gt;
  SELECT * FROM coluna1 WHERE create_timestamp &amp;lt;= '2015-12-14';&lt;br /&gt;
&lt;br /&gt;
Selecionando multiplos registros: &lt;br /&gt;
&lt;br /&gt;
  SELECT * FROM NOME-TABELA1 WHERE CAMPO-TABELA1 in (1, 2, 5);&lt;br /&gt;
&lt;br /&gt;
Selecionando com range numerico:&lt;br /&gt;
&lt;br /&gt;
  select id, name from NOME-DA-TABELA where NOME-DO-CAMPO between 1500 AND 2100;&lt;br /&gt;
&lt;br /&gt;
== Criando um usuário ==&lt;br /&gt;
&lt;br /&gt;
  # sudo -u postgres createuser -d nome-do-user&lt;br /&gt;
&lt;br /&gt;
Create a user with a password:&lt;br /&gt;
&lt;br /&gt;
  CREATE USER davide WITH PASSWORD 'jw8s0F4';&lt;br /&gt;
&lt;br /&gt;
Create a user with a password that is valid until the end of 2004. After one second has ticked in 2005, the password is no longer valid.&lt;br /&gt;
&lt;br /&gt;
   CREATE USER miriam WITH PASSWORD 'jw8s0F4' VALID UNTIL '2005-01-01';&lt;br /&gt;
&lt;br /&gt;
Create an account where the user can create databases:&lt;br /&gt;
&lt;br /&gt;
  CREATE USER manuel WITH PASSWORD 'jw8s0F4' CREATEDB;&lt;br /&gt;
&lt;br /&gt;
== Dump de uma base ==&lt;br /&gt;
Para fazer dump de uma base inteira para um arquivo .sql vc pode usar o comando:&lt;br /&gt;
&lt;br /&gt;
  pg_dump dbname &amp;gt; outfile&lt;br /&gt;
&lt;br /&gt;
Para recuperar o dump, user este comando: &lt;br /&gt;
&lt;br /&gt;
  psql dbname &amp;lt; infile&lt;br /&gt;
&lt;br /&gt;
== Escrita ==&lt;br /&gt;
&lt;br /&gt;
  UPDATE nome-da-tabela set campo-da-tabela='dado a ser escrito' where id = '2';&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gerando uma saída CSV == &lt;br /&gt;
&lt;br /&gt;
  \copy (select * from agent a inner join usr u on u.id = a.user_id where a.name='') to '~/2016_04_logins_em_branco.csv' with csv&lt;br /&gt;
&lt;br /&gt;
== Gerando documentação ==&lt;br /&gt;
&lt;br /&gt;
É comum ser necessário gerar documentação do tipo UML ou data dictionary a partir de um schema.sql ou gerar um schema.sql a partir de um modelo de uml estruturado. Para isso você pode usar o [[Postgres - Autodoc]].&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
* http://www.postgresql.org/docs/9.1/static/backup-dump.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: postgres]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Vagrant_-_Comandos_b%C3%A1sicos&amp;diff=34942</id>
		<title>Vagrant - Comandos básicos</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Vagrant_-_Comandos_b%C3%A1sicos&amp;diff=34942"/>
		<updated>2016-04-01T18:31:58Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: /* Instalando uma nova máquina virtual */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Instalando uma nova máquina virtual ==&lt;br /&gt;
&lt;br /&gt;
  $ vagrant box add '''hashicorp/precise32'''&lt;br /&gt;
&lt;br /&gt;
Para customizar o tipo de &amp;quot;box&amp;quot; (máquina virtual a ser instalada), você pode fazer uma busca por boxes disponíveis na rede. Veja algumas máquina disponíveis: https://atlas.hashicorp.com/boxes/search&lt;br /&gt;
&lt;br /&gt;
Você também pode indicar uma url para a operação:&lt;br /&gt;
&lt;br /&gt;
  $ vagrant box add https://atlas.hashicorp.com/chef/boxes/ubuntu-14.04.box&lt;br /&gt;
&lt;br /&gt;
Iniciando uma máquina Ubuntu 14.04&lt;br /&gt;
&lt;br /&gt;
  $ vagrant init ubuntu/trusty64; vagrant up&lt;br /&gt;
&lt;br /&gt;
Ex: https://atlas.hashicorp.com/ubuntu/boxes/trusty64&lt;br /&gt;
&lt;br /&gt;
== Gerenciando boxes ==&lt;br /&gt;
* https://docs.vagrantup.com/v2/cli/box.html&lt;br /&gt;
&lt;br /&gt;
== Gerando arquivo Vagrantfile ==&lt;br /&gt;
&lt;br /&gt;
Para o vagrant rodar, a aplicação precisa de um arquivo Vagrantfile em determinado diretório. Recomenda-se a criação de um diretório na pasta /home e dentro dessa pasta a insersão do arquivo. Você pode gerar o arquivo com o comando: &lt;br /&gt;
&lt;br /&gt;
  $ vagrant init&lt;br /&gt;
&lt;br /&gt;
Depois desse processo é necessário customizar o arquivo para que ele possa ouvir a box correta. Você deve abrí-lo e mudar o nome indicado em negrito para o nome de sua box: &lt;br /&gt;
  &lt;br /&gt;
  Vagrant.configure(&amp;quot;2&amp;quot;) do |config|&lt;br /&gt;
    config.vm.box = &amp;quot;'''hashicorp/precise32'''&amp;quot;&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
== Ativando uma máquina virtual ==&lt;br /&gt;
&lt;br /&gt;
Depois de baixar um box e customizar o arquivo vagrantfile, você precisa ativar sua máquina virtual. &lt;br /&gt;
&lt;br /&gt;
  $ vagrant up&lt;br /&gt;
&lt;br /&gt;
== Acessando a máquina virtual vagrant ==&lt;br /&gt;
  $ vagrant ssh&lt;br /&gt;
&lt;br /&gt;
== Configurando rede ==&lt;br /&gt;
Você pode fazer o vagrant responder localmente na máquina de origem redirecionando portas. Veja um exemplo de comandos a serem adicionados no vagrantfile para redirecionar a saída de uma aplicação web do vagrant para a porta 4567 no host de origem:&lt;br /&gt;
&lt;br /&gt;
  # Every Vagrant virtual environment requires a box to build off of.&lt;br /&gt;
  config.vm.box = &amp;quot;chef/ubuntu-14.04&amp;quot;&lt;br /&gt;
  config.vm.network :forwarded_port, guest: 80, host: 4567&lt;br /&gt;
&lt;br /&gt;
== Compartilhando pastas entre máquina hospedeira e máquina virtual ==&lt;br /&gt;
No Vagrantfile, esteja atento para a seguinte directiva: &lt;br /&gt;
&lt;br /&gt;
  # argument is a set of non-required options.&lt;br /&gt;
  config.vm.synced_folder &amp;quot;/maquina/hospedeira&amp;quot;, &amp;quot;/maquina/virtual/vagrant&amp;quot;,&lt;br /&gt;
  owner: &amp;quot;nome-do-usuario-dono-dos-arquivos-na-maquina-virtual&amp;quot;, group: &amp;quot;nome-do-grupo-dos-arquivos-na-maquina-virtual&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Ver mais em https://docs.vagrantup.com/v2/synced-folders/basic_usage.html&lt;br /&gt;
&lt;br /&gt;
== Apagando uma máquina virtual ==&lt;br /&gt;
  $ vagrant destroy&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: vagrant]]&lt;br /&gt;
[[Category: desenvolvimento]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34923</id>
		<title>Postgres</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34923"/>
		<updated>2016-03-21T19:09:46Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: /* Dump de uma base */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \dt&lt;br /&gt;
&lt;br /&gt;
* listar todas as colunas de uma tabela, depois de conectado a uma base:&lt;br /&gt;
&lt;br /&gt;
  \d+ nome-da-coluna;&lt;br /&gt;
&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    =&amp;gt; \dt&lt;br /&gt;
&lt;br /&gt;
* listar todas as colunas de uma tabela, depois de conectado a uma base:&lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; \d+ nome-da-coluna;&lt;br /&gt;
&lt;br /&gt;
== Seleção ==&lt;br /&gt;
&lt;br /&gt;
Depois de logado numa determinada base de dados, fazer uma seleção é muito fácil! Para ver todos os registros de uma tabela, basta digitar: &lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; select * from NOME-TABELA1;&lt;br /&gt;
&lt;br /&gt;
Para selecionar a partir de alguma(s) determinada(s) coluna(s), você pode tentar:&lt;br /&gt;
  =&amp;gt; select nome-coluna1, nome-coluna2 from nome-da-tabela;&lt;br /&gt;
&lt;br /&gt;
Para ordenar: &lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; select NOME-COLUNA1, NOME-COLUNA2 from NOME-TABELA1 order by NOME-COLUNA3;&lt;br /&gt;
&lt;br /&gt;
Para copiar o resultado de uma seleção, use o \copy: &lt;br /&gt;
&lt;br /&gt;
  $ \copy (select * from NOME-COLUNA order by accounts_timtecuser) to '/home/timtec-ifsul/user.csv' with csv;&lt;br /&gt;
&lt;br /&gt;
Se o objetivo for selecionar a partir de uma referencia pré-conhecida, você pode usar o where:&lt;br /&gt;
&lt;br /&gt;
  select * from NOME-TABELA1 where CAMPO-TABELA1 = 'NUMERO-OU-STRING';&lt;br /&gt;
&lt;br /&gt;
Ou ainda buscar por um trecho inicial ou final. Aqui estamos buscando todos os nome que começam com a letra p: &lt;br /&gt;
&lt;br /&gt;
  select * from NOME-TABELA1 where NAME LIKE 'p%';&lt;br /&gt;
&lt;br /&gt;
Seleção por data: &lt;br /&gt;
&lt;br /&gt;
  SELECT * FROM coluna1 WHERE create_timestamp &amp;lt;= '2015-12-14';&lt;br /&gt;
&lt;br /&gt;
Selecionando multiplos registros: &lt;br /&gt;
&lt;br /&gt;
  SELECT * FROM NOME-TABELA1 WHERE CAMPO-TABELA1 in (1, 2, 5);&lt;br /&gt;
&lt;br /&gt;
Selecionando com range numerico:&lt;br /&gt;
&lt;br /&gt;
  select id, name from NOME-DA-TABELA where NOME-DO-CAMPO between 1500 AND 2100;&lt;br /&gt;
&lt;br /&gt;
== Criando um usuário ==&lt;br /&gt;
&lt;br /&gt;
  # sudo -u postgres createuser -d nome-do-user&lt;br /&gt;
&lt;br /&gt;
Create a user with a password:&lt;br /&gt;
&lt;br /&gt;
  CREATE USER davide WITH PASSWORD 'jw8s0F4';&lt;br /&gt;
&lt;br /&gt;
Create a user with a password that is valid until the end of 2004. After one second has ticked in 2005, the password is no longer valid.&lt;br /&gt;
&lt;br /&gt;
   CREATE USER miriam WITH PASSWORD 'jw8s0F4' VALID UNTIL '2005-01-01';&lt;br /&gt;
&lt;br /&gt;
Create an account where the user can create databases:&lt;br /&gt;
&lt;br /&gt;
  CREATE USER manuel WITH PASSWORD 'jw8s0F4' CREATEDB;&lt;br /&gt;
&lt;br /&gt;
== Dump de uma base ==&lt;br /&gt;
Para fazer dump de uma base inteira para um arquivo .sql vc pode usar o comando:&lt;br /&gt;
&lt;br /&gt;
  pg_dump dbname &amp;gt; outfile&lt;br /&gt;
&lt;br /&gt;
Para recuperar o dump, user este comando: &lt;br /&gt;
&lt;br /&gt;
  psql dbname &amp;lt; infile&lt;br /&gt;
&lt;br /&gt;
== Escrita ==&lt;br /&gt;
&lt;br /&gt;
  UPDATE nome-da-tabela set campo-da-tabela='dado a ser escrito' where id = '2';&lt;br /&gt;
&lt;br /&gt;
== Gerando documentação ==&lt;br /&gt;
&lt;br /&gt;
É comum ser necessário gerar documentação do tipo UML ou data dictionary a partir de um schema.sql ou gerar um schema.sql a partir de um modelo de uml estruturado. Para isso você pode usar o [[Postgres - Autodoc]].&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
* http://www.postgresql.org/docs/9.1/static/backup-dump.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: postgres]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34904</id>
		<title>Postgres</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34904"/>
		<updated>2016-03-17T16:04:23Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: /* Seleção */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \dt&lt;br /&gt;
&lt;br /&gt;
* listar todas as colunas de uma tabela, depois de conectado a uma base:&lt;br /&gt;
&lt;br /&gt;
  \d+ nome-da-coluna;&lt;br /&gt;
&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    =&amp;gt; \dt&lt;br /&gt;
&lt;br /&gt;
* listar todas as colunas de uma tabela, depois de conectado a uma base:&lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; \d+ nome-da-coluna;&lt;br /&gt;
&lt;br /&gt;
== Seleção ==&lt;br /&gt;
&lt;br /&gt;
Depois de logado numa determinada base de dados, fazer uma seleção é muito fácil! Para ver todos os registros de uma tabela, basta digitar: &lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; select * from NOME-TABELA1;&lt;br /&gt;
&lt;br /&gt;
Para selecionar a partir de alguma(s) determinada(s) coluna(s), você pode tentar:&lt;br /&gt;
  =&amp;gt; select nome-coluna1, nome-coluna2 from nome-da-tabela;&lt;br /&gt;
&lt;br /&gt;
Para ordenar: &lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; select NOME-COLUNA1, NOME-COLUNA2 from NOME-TABELA1 order by NOME-COLUNA3;&lt;br /&gt;
&lt;br /&gt;
Para copiar o resultado de uma seleção, use o \copy: &lt;br /&gt;
&lt;br /&gt;
  $ \copy (select * from NOME-COLUNA order by accounts_timtecuser) to '/home/timtec-ifsul/user.csv' with csv;&lt;br /&gt;
&lt;br /&gt;
Se o objetivo for selecionar a partir de uma referencia pré-conhecida, você pode usar o where:&lt;br /&gt;
&lt;br /&gt;
  select * from NOME-TABELA1 where CAMPO-TABELA1 = 'NUMERO-OU-STRING';&lt;br /&gt;
&lt;br /&gt;
Ou ainda buscar por um trecho inicial ou final. Aqui estamos buscando todos os nome que começam com a letra p: &lt;br /&gt;
&lt;br /&gt;
  select * from NOME-TABELA1 where NAME LIKE 'p%';&lt;br /&gt;
&lt;br /&gt;
Seleção por data: &lt;br /&gt;
&lt;br /&gt;
  SELECT * FROM coluna1 WHERE create_timestamp &amp;lt;= '2015-12-14';&lt;br /&gt;
&lt;br /&gt;
Selecionando multiplos registros: &lt;br /&gt;
&lt;br /&gt;
  SELECT * FROM NOME-TABELA1 WHERE CAMPO-TABELA1 in (1, 2, 5);&lt;br /&gt;
&lt;br /&gt;
Selecionando com range numerico:&lt;br /&gt;
&lt;br /&gt;
  select id, name from NOME-DA-TABELA where NOME-DO-CAMPO between 1500 AND 2100;&lt;br /&gt;
&lt;br /&gt;
== Criando um usuário ==&lt;br /&gt;
&lt;br /&gt;
  # sudo -u postgres createuser -d nome-do-user&lt;br /&gt;
&lt;br /&gt;
Create a user with a password:&lt;br /&gt;
&lt;br /&gt;
  CREATE USER davide WITH PASSWORD 'jw8s0F4';&lt;br /&gt;
&lt;br /&gt;
Create a user with a password that is valid until the end of 2004. After one second has ticked in 2005, the password is no longer valid.&lt;br /&gt;
&lt;br /&gt;
   CREATE USER miriam WITH PASSWORD 'jw8s0F4' VALID UNTIL '2005-01-01';&lt;br /&gt;
&lt;br /&gt;
Create an account where the user can create databases:&lt;br /&gt;
&lt;br /&gt;
  CREATE USER manuel WITH PASSWORD 'jw8s0F4' CREATEDB;&lt;br /&gt;
&lt;br /&gt;
== Dump de uma base ==&lt;br /&gt;
Para fazer dump de uma base inteira para um arquivo .sql vc pode usar o comando:&lt;br /&gt;
&lt;br /&gt;
  pg_dump dbname &amp;gt; outfile&lt;br /&gt;
&lt;br /&gt;
== Escrita ==&lt;br /&gt;
&lt;br /&gt;
  UPDATE nome-da-tabela set campo-da-tabela='dado a ser escrito' where id = '2';&lt;br /&gt;
&lt;br /&gt;
== Gerando documentação ==&lt;br /&gt;
&lt;br /&gt;
É comum ser necessário gerar documentação do tipo UML ou data dictionary a partir de um schema.sql ou gerar um schema.sql a partir de um modelo de uml estruturado. Para isso você pode usar o [[Postgres - Autodoc]].&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
* http://www.postgresql.org/docs/9.1/static/backup-dump.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: postgres]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Git_-_principais_comandos&amp;diff=34877</id>
		<title>Git - principais comandos</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Git_-_principais_comandos&amp;diff=34877"/>
		<updated>2016-02-25T16:39:24Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mostra as configurações &lt;br /&gt;
 git config --list&lt;br /&gt;
&lt;br /&gt;
Mostra o valor do [atributo] &lt;br /&gt;
&amp;lt;pre&amp;gt;git config [atributo]&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
Adiciona o [arquivo] para ser enviado no próximo commit &lt;br /&gt;
&amp;lt;pre&amp;gt;git add [arquivo]&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
Mostra o status do commit atual &lt;br /&gt;
&amp;lt;pre&amp;gt;git status&amp;lt;/pre&amp;gt; &lt;br /&gt;
Mostra as mudanças realizadas nos arquivos do commit atual &lt;br /&gt;
&amp;lt;pre&amp;gt;git diff&amp;lt;/pre&amp;gt; &lt;br /&gt;
Realiza o commit &lt;br /&gt;
&amp;lt;pre&amp;gt;git commit&lt;br /&gt;
    -m &amp;quot;mensagem&amp;quot;    // coloca essa mensagem a respeito do commit&lt;br /&gt;
    -v               // coloca a mensagem padrão do git mais o que foi mudado em cada arquivo&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
Remove um arquivo &lt;br /&gt;
&amp;lt;pre&amp;gt;git rm&lt;br /&gt;
    --cache          // tira dos arquivos do próximo commit, o contrário de git add&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostra todos os commits&lt;br /&gt;
&amp;lt;pre&amp;gt;git log&lt;br /&gt;
   --all                   // mostra todos os commits&lt;br /&gt;
   --pretty=oneline        // um em cada linha&lt;br /&gt;
   --max-count=2           // mostra até dois commits&lt;br /&gt;
   --since=5.minutes       // commits desde 5 minutos atrás&lt;br /&gt;
   --until=5.minutes       // commits de até 5 minutos atrás&lt;br /&gt;
   --author=[nome]         // commits apenas do autor [nome]&lt;br /&gt;
   --graph                 // usa modo &amp;quot;gráfico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assim como diz no tutorial, é legal utilizar esse comando&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
git log --pretty=format:&amp;quot;%h&amp;amp;nbsp;%ad |&amp;amp;nbsp;%s%d [%an]&amp;quot; --graph --date=short&lt;br /&gt;
&lt;br /&gt;
// então defina um atalho no teclado, com o comando&lt;br /&gt;
&lt;br /&gt;
git config --global alias.[atalho] 'log --pretty=format:&amp;quot;%h&amp;amp;nbsp;%ad |&amp;amp;nbsp;%s%d [%an]&amp;quot; --graph --date=short'&lt;br /&gt;
&lt;br /&gt;
// agora ao digitar git [atalho] você terá o mesmo que se digitasse&lt;br /&gt;
// git log --pretty=format:&amp;quot;%h&amp;amp;nbsp;%ad |&amp;amp;nbsp;%s%d [%an]&amp;quot; --graph --date=short&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Volta a versão especificada pela hash&lt;br /&gt;
&amp;lt;pre&amp;gt;git checkout [hash]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desfaz as mudanças feitas no [arquivo]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git reset HEAD [arquivo]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Volta para o estado desta hash&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git reset [hash]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Refaz&amp;quot; último commit&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git commit --amend&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desfaz último commit&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git revert HEAD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dá uma tag para o hash atual&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git tag [nomeDaTag]&lt;br /&gt;
    -d            // apaga um determinado tag&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cria um novo branch&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git checkout -b [branchName]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Combina o hash atual com o mencionado&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git merge [hash]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lista todos os branches&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git branch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dá um update no seu clone&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git fetch&lt;br /&gt;
&lt;br /&gt;
git pull    // git fetch + git merge origin/master&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refaz um branch que existia na origem&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git branch --track [branchName] origin/[branchOriginName]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dá um upload das suas modificações&lt;br /&gt;
&amp;lt;pre&amp;gt;git push [remoteName] [branchName]&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Cria um patch&lt;br /&gt;
&lt;br /&gt;
 git format-patch master --stdout &amp;gt; nomeDoPatch.patch&lt;br /&gt;
&lt;br /&gt;
== Mostrar as origens do repositório conectados ==&lt;br /&gt;
Um determinado repositório local tem (ou teve) uma origem da qual foi clonado. Você pode ver essa informação abrindo o arquivo .git/config.git. Mas existe um comando para isso. Dentro do repositório em questão, aplique: &lt;br /&gt;
&lt;br /&gt;
$ git remote show origin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ver Tambem ==&lt;br /&gt;
Pagina wiki [[Git]].&lt;br /&gt;
[[Category:Lab Macambira]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34875</id>
		<title>Postgres</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34875"/>
		<updated>2016-01-18T17:58:22Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: /* Seleção */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \dt&lt;br /&gt;
&lt;br /&gt;
* listar todas as colunas de uma tabela, depois de conectado a uma base:&lt;br /&gt;
&lt;br /&gt;
  \d+ nome-da-coluna;&lt;br /&gt;
&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    =&amp;gt; \dt&lt;br /&gt;
&lt;br /&gt;
* listar todas as colunas de uma tabela, depois de conectado a uma base:&lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; \d+ nome-da-coluna;&lt;br /&gt;
&lt;br /&gt;
== Seleção ==&lt;br /&gt;
&lt;br /&gt;
Depois de logado numa determinada base de dados, fazer uma seleção é muito fácil! Para ver todos os registros de uma tabela, basta digitar: &lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; select * from NOME-TABELA1;&lt;br /&gt;
&lt;br /&gt;
Para selecionar a partir de alguma(s) determinada(s) coluna(s), você pode tentar:&lt;br /&gt;
  =&amp;gt; select nome-coluna1, nome-coluna2 from nome-da-tabela;&lt;br /&gt;
&lt;br /&gt;
Para ordenar: &lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; select NOME-COLUNA1, NOME-COLUNA2 from NOME-TABELA1 order by NOME-COLUNA3;&lt;br /&gt;
&lt;br /&gt;
Para copiar o resultado de uma seleção, use o \copy: &lt;br /&gt;
&lt;br /&gt;
  $ \copy (select * from NOME-COLUNA order by accounts_timtecuser) to '/home/timtec-ifsul/user.csv' with csv;&lt;br /&gt;
&lt;br /&gt;
Se o objetivo for selecionar a partir de uma referencia pré-conhecida, você pode usar o where:&lt;br /&gt;
&lt;br /&gt;
  select * from NOME-TABELA1 where CAMPO-TABELA1 = 'NUMERO-OU-STRING';&lt;br /&gt;
&lt;br /&gt;
Ou ainda buscar por um trecho inicial ou final. Aqui estamos buscando todos os nome que começam com a letra p: &lt;br /&gt;
&lt;br /&gt;
  select * from NOME-TABELA1 where NAME LIKE 'p%';&lt;br /&gt;
&lt;br /&gt;
Seleção por data: &lt;br /&gt;
&lt;br /&gt;
  SELECT * FROM coluna1 WHERE create_timestamp &amp;lt;= '2015-12-14';&lt;br /&gt;
&lt;br /&gt;
Selecionando multiplos registros: &lt;br /&gt;
&lt;br /&gt;
  SELECT * FROM NOME-TABELA1 WHERE CAMPO-TABELA1 in (1, 2, 5);&lt;br /&gt;
&lt;br /&gt;
== Criando um usuário ==&lt;br /&gt;
&lt;br /&gt;
  # sudo -u postgres createuser -d nome-do-user&lt;br /&gt;
&lt;br /&gt;
Create a user with a password:&lt;br /&gt;
&lt;br /&gt;
  CREATE USER davide WITH PASSWORD 'jw8s0F4';&lt;br /&gt;
&lt;br /&gt;
Create a user with a password that is valid until the end of 2004. After one second has ticked in 2005, the password is no longer valid.&lt;br /&gt;
&lt;br /&gt;
   CREATE USER miriam WITH PASSWORD 'jw8s0F4' VALID UNTIL '2005-01-01';&lt;br /&gt;
&lt;br /&gt;
Create an account where the user can create databases:&lt;br /&gt;
&lt;br /&gt;
  CREATE USER manuel WITH PASSWORD 'jw8s0F4' CREATEDB;&lt;br /&gt;
&lt;br /&gt;
== Dump de uma base ==&lt;br /&gt;
Para fazer dump de uma base inteira para um arquivo .sql vc pode usar o comando:&lt;br /&gt;
&lt;br /&gt;
  pg_dump dbname &amp;gt; outfile&lt;br /&gt;
&lt;br /&gt;
== Escrita ==&lt;br /&gt;
&lt;br /&gt;
  UPDATE nome-da-tabela set campo-da-tabela='dado a ser escrito' where id = '2';&lt;br /&gt;
&lt;br /&gt;
== Gerando documentação ==&lt;br /&gt;
&lt;br /&gt;
É comum ser necessário gerar documentação do tipo UML ou data dictionary a partir de um schema.sql ou gerar um schema.sql a partir de um modelo de uml estruturado. Para isso você pode usar o [[Postgres - Autodoc]].&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
* http://www.postgresql.org/docs/9.1/static/backup-dump.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: postgres]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34874</id>
		<title>Postgres</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34874"/>
		<updated>2016-01-18T17:05:51Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: /* Seleção */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \dt&lt;br /&gt;
&lt;br /&gt;
* listar todas as colunas de uma tabela, depois de conectado a uma base:&lt;br /&gt;
&lt;br /&gt;
  \d+ nome-da-coluna;&lt;br /&gt;
&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    =&amp;gt; \dt&lt;br /&gt;
&lt;br /&gt;
* listar todas as colunas de uma tabela, depois de conectado a uma base:&lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; \d+ nome-da-coluna;&lt;br /&gt;
&lt;br /&gt;
== Seleção ==&lt;br /&gt;
&lt;br /&gt;
Depois de logado numa determinada base de dados, fazer uma seleção é muito fácil! Para ver todos os registros de uma tabela, basta digitar: &lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; select * from NOME-TABELA1;&lt;br /&gt;
&lt;br /&gt;
Para selecionar a partir de alguma(s) determinada(s) coluna(s), você pode tentar:&lt;br /&gt;
  =&amp;gt; select nome-coluna1, nome-coluna2 from nome-da-tabela;&lt;br /&gt;
&lt;br /&gt;
Para ordenar: &lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; select NOME-COLUNA1, NOME-COLUNA2 from NOME-TABELA1 order by NOME-COLUNA3;&lt;br /&gt;
&lt;br /&gt;
Para copiar o resultado de uma seleção, use o \copy: &lt;br /&gt;
&lt;br /&gt;
  $ \copy (select * from NOME-COLUNA order by accounts_timtecuser) to '/home/timtec-ifsul/user.csv' with csv;&lt;br /&gt;
&lt;br /&gt;
Se o objetivo for selecionar a partir de uma referencia pré-conhecida, você pode usar o where:&lt;br /&gt;
&lt;br /&gt;
  select * from NOME-TABELA1 where CAMPO-TABELA1 = 'NUMERO-OU-STRING';&lt;br /&gt;
&lt;br /&gt;
Ou ainda buscar por um trecho inicial ou final. Aqui estamos buscando todos os nome que começam com a letra p: &lt;br /&gt;
&lt;br /&gt;
  select * from NOME-TABELA1 where NAME LIKE 'p%';&lt;br /&gt;
&lt;br /&gt;
== Criando um usuário ==&lt;br /&gt;
&lt;br /&gt;
  # sudo -u postgres createuser -d nome-do-user&lt;br /&gt;
&lt;br /&gt;
Create a user with a password:&lt;br /&gt;
&lt;br /&gt;
  CREATE USER davide WITH PASSWORD 'jw8s0F4';&lt;br /&gt;
&lt;br /&gt;
Create a user with a password that is valid until the end of 2004. After one second has ticked in 2005, the password is no longer valid.&lt;br /&gt;
&lt;br /&gt;
   CREATE USER miriam WITH PASSWORD 'jw8s0F4' VALID UNTIL '2005-01-01';&lt;br /&gt;
&lt;br /&gt;
Create an account where the user can create databases:&lt;br /&gt;
&lt;br /&gt;
  CREATE USER manuel WITH PASSWORD 'jw8s0F4' CREATEDB;&lt;br /&gt;
&lt;br /&gt;
== Dump de uma base ==&lt;br /&gt;
Para fazer dump de uma base inteira para um arquivo .sql vc pode usar o comando:&lt;br /&gt;
&lt;br /&gt;
  pg_dump dbname &amp;gt; outfile&lt;br /&gt;
&lt;br /&gt;
== Escrita ==&lt;br /&gt;
&lt;br /&gt;
  UPDATE nome-da-tabela set campo-da-tabela='dado a ser escrito' where id = '2';&lt;br /&gt;
&lt;br /&gt;
== Gerando documentação ==&lt;br /&gt;
&lt;br /&gt;
É comum ser necessário gerar documentação do tipo UML ou data dictionary a partir de um schema.sql ou gerar um schema.sql a partir de um modelo de uml estruturado. Para isso você pode usar o [[Postgres - Autodoc]].&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
* http://www.postgresql.org/docs/9.1/static/backup-dump.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: postgres]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34873</id>
		<title>Postgres</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34873"/>
		<updated>2016-01-13T16:17:13Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: /* Comandos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \dt&lt;br /&gt;
&lt;br /&gt;
* listar todas as colunas de uma tabela, depois de conectado a uma base:&lt;br /&gt;
&lt;br /&gt;
  \d+ nome-da-coluna;&lt;br /&gt;
&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    =&amp;gt; \dt&lt;br /&gt;
&lt;br /&gt;
* listar todas as colunas de uma tabela, depois de conectado a uma base:&lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; \d+ nome-da-coluna;&lt;br /&gt;
&lt;br /&gt;
== Seleção ==&lt;br /&gt;
&lt;br /&gt;
Depois de logado numa determinada base de dados, fazer uma seleção é muito fácil! Para ver todos os registros de uma tabela, basta digitar: &lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; select * from NOME-TABELA1;&lt;br /&gt;
&lt;br /&gt;
Para selecionar a partir de alguma(s) determinada(s) coluna(s), você pode tentar:&lt;br /&gt;
  =&amp;gt; select nome-coluna1, nome-coluna2 from nome-da-tabela;&lt;br /&gt;
&lt;br /&gt;
Para ordenar: &lt;br /&gt;
&lt;br /&gt;
  =&amp;gt; select NOME-COLUNA1, NOME-COLUNA2 from NOME-TABELA1 order by NOME-COLUNA3;&lt;br /&gt;
&lt;br /&gt;
Para copiar o resultado de uma seleção, use o \copy: &lt;br /&gt;
&lt;br /&gt;
  $ \copy (select * from NOME-COLUNA order by accounts_timtecuser) to '/home/timtec-ifsul/user.csv' with csv;&lt;br /&gt;
&lt;br /&gt;
== Criando um usuário ==&lt;br /&gt;
&lt;br /&gt;
  # sudo -u postgres createuser -d nome-do-user&lt;br /&gt;
&lt;br /&gt;
Create a user with a password:&lt;br /&gt;
&lt;br /&gt;
  CREATE USER davide WITH PASSWORD 'jw8s0F4';&lt;br /&gt;
&lt;br /&gt;
Create a user with a password that is valid until the end of 2004. After one second has ticked in 2005, the password is no longer valid.&lt;br /&gt;
&lt;br /&gt;
   CREATE USER miriam WITH PASSWORD 'jw8s0F4' VALID UNTIL '2005-01-01';&lt;br /&gt;
&lt;br /&gt;
Create an account where the user can create databases:&lt;br /&gt;
&lt;br /&gt;
  CREATE USER manuel WITH PASSWORD 'jw8s0F4' CREATEDB;&lt;br /&gt;
&lt;br /&gt;
== Dump de uma base ==&lt;br /&gt;
Para fazer dump de uma base inteira para um arquivo .sql vc pode usar o comando:&lt;br /&gt;
&lt;br /&gt;
  pg_dump dbname &amp;gt; outfile&lt;br /&gt;
&lt;br /&gt;
== Escrita ==&lt;br /&gt;
&lt;br /&gt;
  UPDATE nome-da-tabela set campo-da-tabela='dado a ser escrito' where id = '2';&lt;br /&gt;
&lt;br /&gt;
== Gerando documentação ==&lt;br /&gt;
&lt;br /&gt;
É comum ser necessário gerar documentação do tipo UML ou data dictionary a partir de um schema.sql ou gerar um schema.sql a partir de um modelo de uml estruturado. Para isso você pode usar o [[Postgres - Autodoc]].&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
* http://www.postgresql.org/docs/9.1/static/backup-dump.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: postgres]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres_-_Autodoc&amp;diff=34872</id>
		<title>Postgres - Autodoc</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres_-_Autodoc&amp;diff=34872"/>
		<updated>2015-12-18T18:01:41Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: /* Referências */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Postgres autodoc é um software via command line que le tabelas PostgreSQL e retornar ficheiros HTML, DOT, e 2 estilos de XML, os quais descrevem a base de dados.&lt;br /&gt;
&lt;br /&gt;
O HTML é humanamente legível (através de um navegador). O primeiro estilo XML é efectivamente o formato de ficheiro do Dia, uma ferramenta de diagramas UML. O segundo estilo XML é semelhante ao HTML mas no formato Docbook 4. Permite-lhe misturar com outros documentos Docbook através das XREFs, gerar PDFs, HTML, RTF, ou outros documentos formatados. Entre estas ferramentas e o Javadoc com os XREFs apropriados, documentação sobre um projecto pode ser gerada rapidamente e ser facilmente actualizável e no entanto ter um aspecto bastante profissional com algum trabalho DSSSL.&lt;br /&gt;
&lt;br /&gt;
== Com instalar? ==&lt;br /&gt;
Você precisa do Postgres rodando antes de rodar.&lt;br /&gt;
  # apt-get install postgresql&lt;br /&gt;
Depois instale o autodoc: &lt;br /&gt;
  # apt-get install postgresql-autodoc&lt;br /&gt;
&lt;br /&gt;
Outras ferramentas interessantes para processamento conjunto (faça a instalação também): &lt;br /&gt;
&lt;br /&gt;
  # apt-get install graphviz&lt;br /&gt;
  # apt-get install dia&lt;br /&gt;
&lt;br /&gt;
Para gerar o modelo .dot:&lt;br /&gt;
&lt;br /&gt;
  $ postgresql_autodoc -t dot -h '''nome-do-hostname''' -u '''nome-do-username''' -d '''nome-da-databasenam'''e --password&lt;br /&gt;
&lt;br /&gt;
Para gerar o modelo em png: &lt;br /&gt;
&lt;br /&gt;
  $ dot -Tpng '''nome-da-databasename.dot''' -o '''nome-do-modelo.png'''&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
* https://ribafs.wordpress.com/2008/04/02/mini-tutorial-sobre-a-ferramenta-postgresql-autodoc/&lt;br /&gt;
* http://www.onurguzel.com/graphical-visualization-of-databases-with-postgresql-autodoc/&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres_-_Autodoc&amp;diff=34871</id>
		<title>Postgres - Autodoc</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres_-_Autodoc&amp;diff=34871"/>
		<updated>2015-12-18T18:00:27Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Postgres autodoc é um software via command line que le tabelas PostgreSQL e retornar ficheiros HTML, DOT, e 2 estilos de XML, os quais descrevem a base de dados.&lt;br /&gt;
&lt;br /&gt;
O HTML é humanamente legível (através de um navegador). O primeiro estilo XML é efectivamente o formato de ficheiro do Dia, uma ferramenta de diagramas UML. O segundo estilo XML é semelhante ao HTML mas no formato Docbook 4. Permite-lhe misturar com outros documentos Docbook através das XREFs, gerar PDFs, HTML, RTF, ou outros documentos formatados. Entre estas ferramentas e o Javadoc com os XREFs apropriados, documentação sobre um projecto pode ser gerada rapidamente e ser facilmente actualizável e no entanto ter um aspecto bastante profissional com algum trabalho DSSSL.&lt;br /&gt;
&lt;br /&gt;
== Com instalar? ==&lt;br /&gt;
Você precisa do Postgres rodando antes de rodar.&lt;br /&gt;
  # apt-get install postgresql&lt;br /&gt;
Depois instale o autodoc: &lt;br /&gt;
  # apt-get install postgresql-autodoc&lt;br /&gt;
&lt;br /&gt;
Outras ferramentas interessantes para processamento conjunto (faça a instalação também): &lt;br /&gt;
&lt;br /&gt;
  # apt-get install graphviz&lt;br /&gt;
  # apt-get install dia&lt;br /&gt;
&lt;br /&gt;
Para gerar o modelo .dot:&lt;br /&gt;
&lt;br /&gt;
  $ postgresql_autodoc -t dot -h '''nome-do-hostname''' -u '''nome-do-username''' -d '''nome-da-databasenam'''e --password&lt;br /&gt;
&lt;br /&gt;
Para gerar o modelo em png: &lt;br /&gt;
&lt;br /&gt;
  $ dot -Tpng '''nome-da-databasename.dot''' -o '''nome-do-modelo.png'''&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
* https://ribafs.wordpress.com/2008/04/02/mini-tutorial-sobre-a-ferramenta-postgresql-autodoc/&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres_-_Autodoc&amp;diff=34870</id>
		<title>Postgres - Autodoc</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres_-_Autodoc&amp;diff=34870"/>
		<updated>2015-12-18T17:59:55Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: /* Com instalar? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Postgres autodoc é um software via command line que le tabelas PostgreSQL e retornar ficheiros HTML, DOT, e 2 estilos de XML, os quais descrevem a base de dados.&lt;br /&gt;
&lt;br /&gt;
O HTML é humanamente legível (através de um navegador). O primeiro estilo XML é efectivamente o formato de ficheiro do Dia, uma ferramenta de diagramas UML. O segundo estilo XML é semelhante ao HTML mas no formato Docbook 4. Permite-lhe misturar com outros documentos Docbook através das XREFs, gerar PDFs, HTML, RTF, ou outros documentos formatados. Entre estas ferramentas e o Javadoc com os XREFs apropriados, documentação sobre um projecto pode ser gerada rapidamente e ser facilmente actualizável e no entanto ter um aspecto bastante profissional com algum trabalho DSSSL.&lt;br /&gt;
&lt;br /&gt;
== Com instalar? ==&lt;br /&gt;
Você precisa do Postgres rodando antes de rodar.&lt;br /&gt;
  # apt-get install postgresql&lt;br /&gt;
Depois instale o autodoc: &lt;br /&gt;
  # apt-get install postgresql-autodoc&lt;br /&gt;
&lt;br /&gt;
Outras ferramentas interessantes para processamento conjunto (faça a instalação também): &lt;br /&gt;
&lt;br /&gt;
  # apt-get install graphviz&lt;br /&gt;
  # apt-get install dia&lt;br /&gt;
&lt;br /&gt;
Para gerar o modelo .dot:&lt;br /&gt;
&lt;br /&gt;
  $ postgresql_autodoc -t dot -h '''nome-do-hostname''' -u '''nome-do-username''' -d '''nome-da-databasenam'''e --password&lt;br /&gt;
&lt;br /&gt;
Para gerar o modelo em png: &lt;br /&gt;
&lt;br /&gt;
  $ dot -Tpng nome-da-databasename.dot -o nome-do-modelo.png&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
* https://ribafs.wordpress.com/2008/04/02/mini-tutorial-sobre-a-ferramenta-postgresql-autodoc/&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres_-_Autodoc&amp;diff=34869</id>
		<title>Postgres - Autodoc</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres_-_Autodoc&amp;diff=34869"/>
		<updated>2015-12-18T17:48:29Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: /* Com instalar? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Postgres autodoc é um software via command line que le tabelas PostgreSQL e retornar ficheiros HTML, DOT, e 2 estilos de XML, os quais descrevem a base de dados.&lt;br /&gt;
&lt;br /&gt;
O HTML é humanamente legível (através de um navegador). O primeiro estilo XML é efectivamente o formato de ficheiro do Dia, uma ferramenta de diagramas UML. O segundo estilo XML é semelhante ao HTML mas no formato Docbook 4. Permite-lhe misturar com outros documentos Docbook através das XREFs, gerar PDFs, HTML, RTF, ou outros documentos formatados. Entre estas ferramentas e o Javadoc com os XREFs apropriados, documentação sobre um projecto pode ser gerada rapidamente e ser facilmente actualizável e no entanto ter um aspecto bastante profissional com algum trabalho DSSSL.&lt;br /&gt;
&lt;br /&gt;
== Com instalar? ==&lt;br /&gt;
&lt;br /&gt;
  # apt-get install postgresql-autodoc&lt;br /&gt;
&lt;br /&gt;
Outras ferramentas interessantes para processamento conjunto (faça a instalação também): &lt;br /&gt;
&lt;br /&gt;
  # apt-get install graphviz&lt;br /&gt;
  # apt-get install dia&lt;br /&gt;
&lt;br /&gt;
Para gerar o modelo .dot:&lt;br /&gt;
&lt;br /&gt;
  postgresql_autodoc -t dot -h '''nome-do-hostname''' -u '''nome-do-username''' -d '''nome-da-databasenam'''e --password&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
* https://ribafs.wordpress.com/2008/04/02/mini-tutorial-sobre-a-ferramenta-postgresql-autodoc/&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34868</id>
		<title>Postgres</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34868"/>
		<updated>2015-12-18T17:46:40Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: /* Comandos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \dt&lt;br /&gt;
&lt;br /&gt;
* listar todas as colunas de uma tabela, depois de conectado a uma base:&lt;br /&gt;
&lt;br /&gt;
  \d+ nome-da-coluna;&lt;br /&gt;
&lt;br /&gt;
== Criando um usuário ==&lt;br /&gt;
&lt;br /&gt;
  # sudo -u postgres createuser -d nome-do-user&lt;br /&gt;
&lt;br /&gt;
Create a user with a password:&lt;br /&gt;
&lt;br /&gt;
  CREATE USER davide WITH PASSWORD 'jw8s0F4';&lt;br /&gt;
&lt;br /&gt;
Create a user with a password that is valid until the end of 2004. After one second has ticked in 2005, the password is no longer valid.&lt;br /&gt;
&lt;br /&gt;
   CREATE USER miriam WITH PASSWORD 'jw8s0F4' VALID UNTIL '2005-01-01';&lt;br /&gt;
&lt;br /&gt;
Create an account where the user can create databases:&lt;br /&gt;
&lt;br /&gt;
  CREATE USER manuel WITH PASSWORD 'jw8s0F4' CREATEDB;&lt;br /&gt;
&lt;br /&gt;
== Dump de uma base ==&lt;br /&gt;
Para fazer dump de uma base inteira para um arquivo .sql vc pode usar o comando:&lt;br /&gt;
&lt;br /&gt;
  pg_dump dbname &amp;gt; outfile&lt;br /&gt;
&lt;br /&gt;
== Escrita ==&lt;br /&gt;
&lt;br /&gt;
  UPDATE nome-da-tabela set campo-da-tabela='dado a ser escrito' where id = '2';&lt;br /&gt;
&lt;br /&gt;
== Gerando documentação ==&lt;br /&gt;
&lt;br /&gt;
É comum ser necessário gerar documentação do tipo UML ou data dictionary a partir de um schema.sql ou gerar um schema.sql a partir de um modelo de uml estruturado. Para isso você pode usar o [[Postgres - Autodoc]].&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
* http://www.postgresql.org/docs/9.1/static/backup-dump.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: postgres]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres_-_Autodoc&amp;diff=34867</id>
		<title>Postgres - Autodoc</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres_-_Autodoc&amp;diff=34867"/>
		<updated>2015-12-18T17:07:40Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Postgres autodoc é um software via command line que le tabelas PostgreSQL e retornar ficheiros HTML, DOT, e 2 estilos de XML, os quais descrevem a base de dados.&lt;br /&gt;
&lt;br /&gt;
O HTML é humanamente legível (através de um navegador). O primeiro estilo XML é efectivamente o formato de ficheiro do Dia, uma ferramenta de diagramas UML. O segundo estilo XML é semelhante ao HTML mas no formato Docbook 4. Permite-lhe misturar com outros documentos Docbook através das XREFs, gerar PDFs, HTML, RTF, ou outros documentos formatados. Entre estas ferramentas e o Javadoc com os XREFs apropriados, documentação sobre um projecto pode ser gerada rapidamente e ser facilmente actualizável e no entanto ter um aspecto bastante profissional com algum trabalho DSSSL.&lt;br /&gt;
&lt;br /&gt;
== Com instalar? ==&lt;br /&gt;
&lt;br /&gt;
  # apt-get install postgresql-autodoc&lt;br /&gt;
&lt;br /&gt;
Outras ferramentas interessantes para processamento conjunto: &lt;br /&gt;
&lt;br /&gt;
  # apt-get install graphviz&lt;br /&gt;
  # apt-get install dia&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
* https://ribafs.wordpress.com/2008/04/02/mini-tutorial-sobre-a-ferramenta-postgresql-autodoc/&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres_-_Autodoc&amp;diff=34866</id>
		<title>Postgres - Autodoc</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres_-_Autodoc&amp;diff=34866"/>
		<updated>2015-12-18T17:06:50Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: Criou página com 'Postgres autodoc é um software via command line que le tabelas PostgreSQL e retornar ficheiros HTML, DOT, e 2 estilos de XML, os quais descrevem a base de dados.  O HTML é h...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Postgres autodoc é um software via command line que le tabelas PostgreSQL e retornar ficheiros HTML, DOT, e 2 estilos de XML, os quais descrevem a base de dados.&lt;br /&gt;
&lt;br /&gt;
O HTML é humanamente legível (através de um navegador). O primeiro estilo XML é efectivamente o formato de ficheiro do Dia, uma ferramenta de diagramas UML. O segundo estilo XML é semelhante ao HTML mas no formato Docbook 4. Permite-lhe misturar com outros documentos Docbook através das XREFs, gerar PDFs, HTML, RTF, ou outros documentos formatados. Entre estas ferramentas e o Javadoc com os XREFs apropriados, documentação sobre um projecto pode ser gerada rapidamente e ser facilmente actualizável e no entanto ter um aspecto bastante profissional com algum trabalho DSSSL.&lt;br /&gt;
&lt;br /&gt;
== Com instalar? ==&lt;br /&gt;
&lt;br /&gt;
  # apt-get install postgresql-autodoc&lt;br /&gt;
&lt;br /&gt;
Outras ferramentas interessantes para processamento conjunto: &lt;br /&gt;
&lt;br /&gt;
  # apt-get install graphviz&lt;br /&gt;
  # apt-get install dia&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34865</id>
		<title>Postgres</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34865"/>
		<updated>2015-12-18T17:02:03Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: /* Escrita */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \dt&lt;br /&gt;
&lt;br /&gt;
* listar todas as colunas de uma tabela, depois de conectado a uma base:&lt;br /&gt;
&lt;br /&gt;
  \d+ nome-da-coluna;&lt;br /&gt;
&lt;br /&gt;
== Dump de uma base ==&lt;br /&gt;
Para fazer dump de uma base inteira para um arquivo .sql vc pode usar o comando:&lt;br /&gt;
&lt;br /&gt;
  pg_dump dbname &amp;gt; outfile&lt;br /&gt;
&lt;br /&gt;
== Escrita ==&lt;br /&gt;
&lt;br /&gt;
  UPDATE nome-da-tabela set campo-da-tabela='dado a ser escrito' where id = '2';&lt;br /&gt;
&lt;br /&gt;
== Gerando documentação ==&lt;br /&gt;
&lt;br /&gt;
É comum ser necessário gerar documentação do tipo UML ou data dictionary a partir de um schema.sql ou gerar um schema.sql a partir de um modelo de uml estruturado. Para isso você pode usar o [[Postgres - Autodoc]].&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
* http://www.postgresql.org/docs/9.1/static/backup-dump.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: postgres]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34864</id>
		<title>Postgres</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34864"/>
		<updated>2015-12-10T20:37:32Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \dt&lt;br /&gt;
&lt;br /&gt;
* listar todas as colunas de uma tabela, depois de conectado a uma base:&lt;br /&gt;
&lt;br /&gt;
  \d+ nome-da-coluna;&lt;br /&gt;
&lt;br /&gt;
== Dump de uma base ==&lt;br /&gt;
Para fazer dump de uma base inteira para um arquivo .sql vc pode usar o comando:&lt;br /&gt;
&lt;br /&gt;
  pg_dump dbname &amp;gt; outfile&lt;br /&gt;
&lt;br /&gt;
== Escrita ==&lt;br /&gt;
&lt;br /&gt;
  UPDATE nome-da-tabela set campo-da-tabela='dado a ser escrito' where id = '2'; &lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
* http://www.postgresql.org/docs/9.1/static/backup-dump.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: postgres]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Vagrant_-_Comandos_b%C3%A1sicos&amp;diff=34841</id>
		<title>Vagrant - Comandos básicos</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Vagrant_-_Comandos_b%C3%A1sicos&amp;diff=34841"/>
		<updated>2015-11-17T16:00:41Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: /* Configurando rede */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Instalando uma nova máquina virtual ==&lt;br /&gt;
&lt;br /&gt;
  $ vagrant box add '''hashicorp/precise32'''&lt;br /&gt;
&lt;br /&gt;
Para customizar o tipo de &amp;quot;box&amp;quot; (máquina virtual a ser instalada), você pode fazer uma busca por boxes disponíveis na rede. Veja algumas máquina disponíveis: https://atlas.hashicorp.com/boxes/search&lt;br /&gt;
&lt;br /&gt;
Você também pode indicar uma url para a operação:&lt;br /&gt;
&lt;br /&gt;
  $ vagrant box add https://atlas.hashicorp.com/chef/boxes/ubuntu-14.04.box&lt;br /&gt;
&lt;br /&gt;
== Gerenciando boxes ==&lt;br /&gt;
* https://docs.vagrantup.com/v2/cli/box.html&lt;br /&gt;
&lt;br /&gt;
== Gerando arquivo Vagrantfile ==&lt;br /&gt;
&lt;br /&gt;
Para o vagrant rodar, a aplicação precisa de um arquivo Vagrantfile em determinado diretório. Recomenda-se a criação de um diretório na pasta /home e dentro dessa pasta a insersão do arquivo. Você pode gerar o arquivo com o comando: &lt;br /&gt;
&lt;br /&gt;
  $ vagrant init&lt;br /&gt;
&lt;br /&gt;
Depois desse processo é necessário customizar o arquivo para que ele possa ouvir a box correta. Você deve abrí-lo e mudar o nome indicado em negrito para o nome de sua box: &lt;br /&gt;
  &lt;br /&gt;
  Vagrant.configure(&amp;quot;2&amp;quot;) do |config|&lt;br /&gt;
    config.vm.box = &amp;quot;'''hashicorp/precise32'''&amp;quot;&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
== Ativando uma máquina virtual ==&lt;br /&gt;
&lt;br /&gt;
Depois de baixar um box e customizar o arquivo vagrantfile, você precisa ativar sua máquina virtual. &lt;br /&gt;
&lt;br /&gt;
  $ vagrant up&lt;br /&gt;
&lt;br /&gt;
== Acessando a máquina virtual vagrant ==&lt;br /&gt;
  $ vagrant ssh&lt;br /&gt;
&lt;br /&gt;
== Configurando rede ==&lt;br /&gt;
Você pode fazer o vagrant responder localmente na máquina de origem redirecionando portas. Veja um exemplo de comandos a serem adicionados no vagrantfile para redirecionar a saída de uma aplicação web do vagrant para a porta 4567 no host de origem:&lt;br /&gt;
&lt;br /&gt;
  # Every Vagrant virtual environment requires a box to build off of.&lt;br /&gt;
  config.vm.box = &amp;quot;chef/ubuntu-14.04&amp;quot;&lt;br /&gt;
  config.vm.network :forwarded_port, guest: 80, host: 4567&lt;br /&gt;
&lt;br /&gt;
== Compartilhando pastas entre máquina hospedeira e máquina virtual ==&lt;br /&gt;
No Vagrantfile, esteja atento para a seguinte directiva: &lt;br /&gt;
&lt;br /&gt;
  # argument is a set of non-required options.&lt;br /&gt;
  config.vm.synced_folder &amp;quot;/maquina/hospedeira&amp;quot;, &amp;quot;/maquina/virtual/vagrant&amp;quot;,&lt;br /&gt;
  owner: &amp;quot;nome-do-usuario-dono-dos-arquivos-na-maquina-virtual&amp;quot;, group: &amp;quot;nome-do-grupo-dos-arquivos-na-maquina-virtual&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Ver mais em https://docs.vagrantup.com/v2/synced-folders/basic_usage.html&lt;br /&gt;
&lt;br /&gt;
== Apagando uma máquina virtual ==&lt;br /&gt;
  $ vagrant destroy&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: vagrant]]&lt;br /&gt;
[[Category: desenvolvimento]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Vagrant_-_Comandos_b%C3%A1sicos&amp;diff=34840</id>
		<title>Vagrant - Comandos básicos</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Vagrant_-_Comandos_b%C3%A1sicos&amp;diff=34840"/>
		<updated>2015-11-17T15:11:05Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: /* Instalando uma nova máquina virtual */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Instalando uma nova máquina virtual ==&lt;br /&gt;
&lt;br /&gt;
  $ vagrant box add '''hashicorp/precise32'''&lt;br /&gt;
&lt;br /&gt;
Para customizar o tipo de &amp;quot;box&amp;quot; (máquina virtual a ser instalada), você pode fazer uma busca por boxes disponíveis na rede. Veja algumas máquina disponíveis: https://atlas.hashicorp.com/boxes/search&lt;br /&gt;
&lt;br /&gt;
Você também pode indicar uma url para a operação:&lt;br /&gt;
&lt;br /&gt;
  $ vagrant box add https://atlas.hashicorp.com/chef/boxes/ubuntu-14.04.box&lt;br /&gt;
&lt;br /&gt;
== Gerenciando boxes ==&lt;br /&gt;
* https://docs.vagrantup.com/v2/cli/box.html&lt;br /&gt;
&lt;br /&gt;
== Gerando arquivo Vagrantfile ==&lt;br /&gt;
&lt;br /&gt;
Para o vagrant rodar, a aplicação precisa de um arquivo Vagrantfile em determinado diretório. Recomenda-se a criação de um diretório na pasta /home e dentro dessa pasta a insersão do arquivo. Você pode gerar o arquivo com o comando: &lt;br /&gt;
&lt;br /&gt;
  $ vagrant init&lt;br /&gt;
&lt;br /&gt;
Depois desse processo é necessário customizar o arquivo para que ele possa ouvir a box correta. Você deve abrí-lo e mudar o nome indicado em negrito para o nome de sua box: &lt;br /&gt;
  &lt;br /&gt;
  Vagrant.configure(&amp;quot;2&amp;quot;) do |config|&lt;br /&gt;
    config.vm.box = &amp;quot;'''hashicorp/precise32'''&amp;quot;&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
== Ativando uma máquina virtual ==&lt;br /&gt;
&lt;br /&gt;
Depois de baixar um box e customizar o arquivo vagrantfile, você precisa ativar sua máquina virtual. &lt;br /&gt;
&lt;br /&gt;
  $ vagrant up&lt;br /&gt;
&lt;br /&gt;
== Acessando a máquina virtual vagrant ==&lt;br /&gt;
  $ vagrant ssh&lt;br /&gt;
&lt;br /&gt;
== Configurando rede ==&lt;br /&gt;
Você pode fazer o vagrant responder localmente na máquina de origem redirecionando portas. Veja um exemplo de comandos a serem adicionados no vagrantfile para redirecionar a saída de uma aplicação web do vagrant para a porta 4567 no host de origem:&lt;br /&gt;
&lt;br /&gt;
  # Every Vagrant virtual environment requires a box to build off of.&lt;br /&gt;
  config.vm.box = &amp;quot;chef/ubuntu-14.04&amp;quot;&lt;br /&gt;
  config.vm.network :forwarded_port, guest: 80, host: 4567&lt;br /&gt;
&lt;br /&gt;
== Apagando uma máquina virtual ==&lt;br /&gt;
  $ vagrant destroy&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: vagrant]]&lt;br /&gt;
[[Category: desenvolvimento]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34780</id>
		<title>Postgres</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34780"/>
		<updated>2015-10-19T21:35:59Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \dt&lt;br /&gt;
&lt;br /&gt;
* listar todas as colunas de uma tabela, depois de conectado a uma base:&lt;br /&gt;
&lt;br /&gt;
  \d+ nome-da-coluna;&lt;br /&gt;
&lt;br /&gt;
== Escrita ==&lt;br /&gt;
&lt;br /&gt;
  UPDATE nome-da-tabela set campo-da-tabela='dado a ser escrito' where id = '2'; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: postgres]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Vagrant_-_Comandos_b%C3%A1sicos&amp;diff=34777</id>
		<title>Vagrant - Comandos básicos</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Vagrant_-_Comandos_b%C3%A1sicos&amp;diff=34777"/>
		<updated>2015-10-16T15:59:36Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: /* Acessando a máquina virtual vagrant */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Instalando uma nova máquina virtual ==&lt;br /&gt;
&lt;br /&gt;
  $ vagrant box add '''hashicorp/precise32'''&lt;br /&gt;
&lt;br /&gt;
Para customizar o tipo de &amp;quot;box&amp;quot; (máquina virtual a ser instalada), você pode fazer uma busca por boxes disponíveis na rede. Veja algumas máquina disponíveis: https://atlas.hashicorp.com/boxes/search&lt;br /&gt;
&lt;br /&gt;
Você também pode indicar uma url para a operação:&lt;br /&gt;
&lt;br /&gt;
  $ vagrant box add https://atlas.hashicorp.com/chef/boxes/ubuntu-14.04.box&lt;br /&gt;
&lt;br /&gt;
== Gerando arquivo Vagrantfile ==&lt;br /&gt;
&lt;br /&gt;
Para o vagrant rodar, a aplicação precisa de um arquivo Vagrantfile em determinado diretório. Recomenda-se a criação de um diretório na pasta /home e dentro dessa pasta a insersão do arquivo. Você pode gerar o arquivo com o comando: &lt;br /&gt;
&lt;br /&gt;
  $ vagrant init&lt;br /&gt;
&lt;br /&gt;
Depois desse processo é necessário customizar o arquivo para que ele possa ouvir a box correta. Você deve abrí-lo e mudar o nome indicado em negrito para o nome de sua box: &lt;br /&gt;
  &lt;br /&gt;
  Vagrant.configure(&amp;quot;2&amp;quot;) do |config|&lt;br /&gt;
    config.vm.box = &amp;quot;'''hashicorp/precise32'''&amp;quot;&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
== Ativando uma máquina virtual ==&lt;br /&gt;
&lt;br /&gt;
Depois de baixar um box e customizar o arquivo vagrantfile, você precisa ativar sua máquina virtual. &lt;br /&gt;
&lt;br /&gt;
  $ vagrant up&lt;br /&gt;
&lt;br /&gt;
== Acessando a máquina virtual vagrant ==&lt;br /&gt;
  $ vagrant ssh&lt;br /&gt;
&lt;br /&gt;
== Configurando rede ==&lt;br /&gt;
Você pode fazer o vagrant responder localmente na máquina de origem redirecionando portas. Veja um exemplo de comandos a serem adicionados no vagrantfile para redirecionar a saída de uma aplicação web do vagrant para a porta 4567 no host de origem:&lt;br /&gt;
&lt;br /&gt;
  # Every Vagrant virtual environment requires a box to build off of.&lt;br /&gt;
  config.vm.box = &amp;quot;chef/ubuntu-14.04&amp;quot;&lt;br /&gt;
  config.vm.network :forwarded_port, guest: 80, host: 4567&lt;br /&gt;
&lt;br /&gt;
== Apagando uma máquina virtual ==&lt;br /&gt;
  $ vagrant destroy&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: vagrant]]&lt;br /&gt;
[[Category: desenvolvimento]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34776</id>
		<title>Postgres</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34776"/>
		<updated>2015-10-15T20:57:27Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \dt&lt;br /&gt;
&lt;br /&gt;
* listar todas as colunas de uma tabela, depois de conectado a uma base:&lt;br /&gt;
&lt;br /&gt;
  \d+ nome-da-coluna;&lt;br /&gt;
&lt;br /&gt;
[[Category: postgres]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34775</id>
		<title>Postgres</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34775"/>
		<updated>2015-10-15T20:55:21Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
* delogar:&lt;br /&gt;
  $ \q&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \dt&lt;br /&gt;
&lt;br /&gt;
\d+ to list all tables in current search_path schema in current database.&lt;br /&gt;
&lt;br /&gt;
[[Category: postgres]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34774</id>
		<title>Postgres</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Postgres&amp;diff=34774"/>
		<updated>2015-10-15T20:46:36Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: Criou página com ' == Comandos == * para logar:   $ psql    user=&amp;gt;  * listar todas as bases de dados, depois de logado:      \list ou \l  * conecta numa base específica:    \connect database_n...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Comandos ==&lt;br /&gt;
* para logar:&lt;br /&gt;
  $ psql&lt;br /&gt;
   user=&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* listar todas as bases de dados, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \list ou \l&lt;br /&gt;
&lt;br /&gt;
* conecta numa base específica:&lt;br /&gt;
&lt;br /&gt;
  \connect database_name&lt;br /&gt;
&lt;br /&gt;
* listar todas as tabelas dentro de uma base, depois de logado:&lt;br /&gt;
&lt;br /&gt;
    \dt: list all tables in the current database&lt;br /&gt;
&lt;br /&gt;
[[Category: postgres]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Programa%C3%A7%C3%A3o_e_desenvolvimento_de_c%C3%B3digo&amp;diff=34766</id>
		<title>Programação e desenvolvimento de código</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Programa%C3%A7%C3%A3o_e_desenvolvimento_de_c%C3%B3digo&amp;diff=34766"/>
		<updated>2015-10-13T12:14:06Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ferramentas para documentação ==&lt;br /&gt;
* http://dillinger.io&lt;br /&gt;
&lt;br /&gt;
== Wireframe ==&lt;br /&gt;
* http://pencil.evolus.vn&lt;br /&gt;
* http://wireframesketcher.com&lt;br /&gt;
* http://pingendo.com&lt;br /&gt;
&lt;br /&gt;
== Editores ==&lt;br /&gt;
* https://atom.io&lt;br /&gt;
* [[Aptana]] - http://www.aptana.com&lt;br /&gt;
&lt;br /&gt;
== sites gratuitos para auto-aprendizagem ==&lt;br /&gt;
* CodeWars (Praticamente o mesmo estilo do Checkio) - http://www.codewars.com/&lt;br /&gt;
* Exercism.io - http://exercism.io/&lt;br /&gt;
* CodeKata - http://codekata.com/kata/codekata-intro/&lt;br /&gt;
* 100 Little Programming Exercises - https://go-left.com/blog/programming/100-little-programming-exercises/&lt;br /&gt;
* Code Eval - https://www.codeeval.com&lt;br /&gt;
* Code Academy - http://www.codecademy.com/pt&lt;br /&gt;
&lt;br /&gt;
[[Categoria: programming]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Wordpress&amp;diff=34765</id>
		<title>Wordpress</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Wordpress&amp;diff=34765"/>
		<updated>2015-10-12T20:19:01Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: /* Problemas Frequentes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Imagem:Wordpress.png|500px|right]]&lt;br /&gt;
&lt;br /&gt;
O [http://br.wordpress.org Wordpress], assim como o [[Drupal]] ou [[Joomla]], é um CMS Framework (Content Management System = Sistema de Gerenciamento de Conteúdo). Entretanto seu uso e configurações podem assumir formas  infinitamente diversas. Para quem quer desenvolver com esse framework é recomendado a leitura da [http://codex.wordpress.org/Developer_Documentation Documentação do Desenvolvedor] oficial. &lt;br /&gt;
&lt;br /&gt;
== Problemas Frequentes ==&lt;br /&gt;
Espaço dedicado a registro de problemas com framework wordpress. &lt;br /&gt;
&lt;br /&gt;
* [[Wordpress - filtro html]]&lt;br /&gt;
* [[Wordpress - problemas na instalação em sharedhost locaweb]]&lt;br /&gt;
* [[wordpress - alocação de memória]]&lt;br /&gt;
* [[Wordpress - corrigindo limite máximo de upload de arquivos]]&lt;br /&gt;
* [[Wordpress - Permisões de Arquivos]]&lt;br /&gt;
* [https://codex.wordpress.org/Moving_WordPress| Wordpress - Migrando sites]&lt;br /&gt;
* [Wordpress - Customização de campos| https://metabox.io/docs/define-fields/#section-common-field-attributes]&lt;br /&gt;
&lt;br /&gt;
== Configurações Essenciais ==&lt;br /&gt;
&lt;br /&gt;
* Funções e Capacidades (relativas ao nível de usuários) &lt;br /&gt;
:* https://codex.wordpress.org/pt-br:Fun%C3%A7%C3%B5es_e_Capacidades&lt;br /&gt;
:* http://codex.wordpress.org/Roles_and_Capabilities&lt;br /&gt;
&lt;br /&gt;
* Permissões de Arquivos&lt;br /&gt;
:* http://codex.wordpress.org/pt-br:Mudando_Permiss%C3%B5es_de_Arquivos&lt;br /&gt;
&lt;br /&gt;
== Templates ==&lt;br /&gt;
&lt;br /&gt;
O Wordpress possui uma quantidade bastante grande de temas, tanto comerciais [http://wordpress.org/themes quanto gratuítos]. Abaixo algumas indicações de onde encontrá-los. &lt;br /&gt;
&lt;br /&gt;
* Repositório de temas homologados - http://wordpress.org/themes&lt;br /&gt;
* One Design - http://www.onedesigns.com&lt;br /&gt;
* JEO (tema com foco em georreferenciamento e jornalismo): http://oeco.github.io/jeo&lt;br /&gt;
=== Page Templates ===&lt;br /&gt;
&lt;br /&gt;
Internamente, toda vez que o wordpress cria uma página, ele admite a configuração especial do layout dessas páginas através de page templates. &lt;br /&gt;
&lt;br /&gt;
Exemplo: http://www.jonbishop.com/2011/05/14-wordpress-page-templates-to-make-life-easier/&lt;br /&gt;
&lt;br /&gt;
== Desenvolvimento ==&lt;br /&gt;
* [[Wordpress - Shortcode API]]&lt;br /&gt;
* [[Wordpress - Tutorial Query Post]]&lt;br /&gt;
* [[Wordpress - Paginação]]&lt;br /&gt;
* Bons materiais aqui: http://wpdeveloper.com.br/tutoriais&lt;br /&gt;
* Interface command line para wordpress (a partir da versão 4.2): https://github.com/wp-cli/wp-cli&lt;br /&gt;
&lt;br /&gt;
== Tutoriais ==&lt;br /&gt;
* [[WordPress - Instalação]]&lt;br /&gt;
&lt;br /&gt;
'''Administração do Ambiente'''&lt;br /&gt;
* [[Wordpress - URLs Amigáveis (ligações permanentes)]]&lt;br /&gt;
* [[Wordpress - Plugins]]&lt;br /&gt;
&lt;br /&gt;
Referências&lt;br /&gt;
* WordPress Brasil - site oficial da aplicação: https://br.wordpress.org&lt;br /&gt;
* WordPess Brasil Fórum https://br.forums.wordpress.org&lt;br /&gt;
* https://bbpress.org&lt;br /&gt;
* InterCon Dev WordPress 2013&lt;br /&gt;
* https://www.youtube.com/watch?v=QIWB6VWCMds&amp;amp;index=1&amp;amp;list=PLASrXUpwQG6fJx6FzfEyTclrH9f4J2zl7&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;br /&gt;
Otimizando wordpress&lt;br /&gt;
&lt;br /&gt;
== Segurança ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Material de apoio ==&lt;br /&gt;
&lt;br /&gt;
* https://www.youtube.com/watch?v=QIWB6VWCMds&amp;amp;index=1&amp;amp;list=PLASrXUpwQG6fJx6FzfEyTclrH9f4J2zl7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Wordpress]]&lt;br /&gt;
[[Category: CMS]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Ssh_-_trocando_senha_da_chave&amp;diff=34742</id>
		<title>Ssh - trocando senha da chave</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Ssh_-_trocando_senha_da_chave&amp;diff=34742"/>
		<updated>2015-09-30T19:52:32Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muitas vezes criamos chaves criptográficas assimétricas com o OpenSSL e com o OpenSSH. No momento da criação de tais chaves, são solicitadas senhas para as mesmas. A dúvida é a seguinte: como proceder para trocar tais senhas?&lt;br /&gt;
&lt;br /&gt;
== Changing a Passphrase with ssh-keygen ==&lt;br /&gt;
&lt;br /&gt;
The -p option requests changing the passphrase of a private key file instead of creating a new private key. The program will prompt for the file containing the private key, for the old passphrase, and twice for the new passphrase. Use -f {filename} option to specifies the filename of the key file. For example, change directory to $HOME/.ssh. Open the Terminal app and then type:&lt;br /&gt;
  $ cd ~/.ssh/&lt;br /&gt;
&lt;br /&gt;
To change DSA passphrase, enter:&lt;br /&gt;
  $ ssh-keygen -f id_dsa -p&lt;br /&gt;
&lt;br /&gt;
To change RSA passphrase, enter:&lt;br /&gt;
  $ ssh-keygen -f id_rsa -p&lt;br /&gt;
&lt;br /&gt;
Apenas duas observações importantes:&lt;br /&gt;
* Ao executar os comandos anteriores, será pedida a senha atual da chave e, a seguir, a nova senha (com confirmação).&lt;br /&gt;
* A chave gerada não terá as mesmas permissões de segurança da chave anterior. Assim, verifique as permissões anteriores com # ls -l e, depois, troque as permissões na chave nova com # chmod.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Referências == &lt;br /&gt;
&lt;br /&gt;
* http://www.cyberciti.biz/faq/howto-ssh-changing-passphrase/&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Ssh_-_trocando_senha_da_chave&amp;diff=34741</id>
		<title>Ssh - trocando senha da chave</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Ssh_-_trocando_senha_da_chave&amp;diff=34741"/>
		<updated>2015-09-30T18:55:37Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muitas vezes criamos chaves criptográficas assimétricas com o OpenSSL e com o OpenSSH. No momento da criação de tais chaves, são solicitadas senhas para as mesmas. A dúvida é a seguinte: como proceder para trocar tais senhas?&lt;br /&gt;
&lt;br /&gt;
Considerando que as chaves sejam RSA, para trocar a senha de uma chave privada do OpenSSL ou do OpenSSH, utilize o comando:&lt;br /&gt;
  $ openssl rsa -des3 -in nome-da-chave.key -out nova_chave.key&lt;br /&gt;
&lt;br /&gt;
Se desejar tornar a chave privada insegura (remover a senha da mesma - não aconselhável), execute:&lt;br /&gt;
  &lt;br /&gt;
  $ openssl rsa -in chave_atual.key -out nova_chave.key&lt;br /&gt;
&lt;br /&gt;
Apenas duas observações importantes:&lt;br /&gt;
* Ao executar os comandos anteriores, será pedida a senha atual da chave e, a seguir, a nova senha (com confirmação).&lt;br /&gt;
* A chave gerada não terá as mesmas permissões de segurança da chave anterior. Assim, verifique as permissões anteriores com # ls -l e, depois, troque as permissões na chave nova com # chmod.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Referências == &lt;br /&gt;
&lt;br /&gt;
* http://eriberto.pro.br/blog/?p=9&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Ssh_-_trocando_senha_da_chave&amp;diff=34740</id>
		<title>Ssh - trocando senha da chave</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Ssh_-_trocando_senha_da_chave&amp;diff=34740"/>
		<updated>2015-09-30T18:55:11Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: Criou página com 'Muitas vezes criamos chaves criptográficas assimétricas com o OpenSSL e com o OpenSSH. No momento da criação de tais chaves, são solicitadas senhas para as mesmas. A dúv...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muitas vezes criamos chaves criptográficas assimétricas com o OpenSSL e com o OpenSSH. No momento da criação de tais chaves, são solicitadas senhas para as mesmas. A dúvida é a seguinte: como proceder para trocar tais senhas?&lt;br /&gt;
&lt;br /&gt;
Considerando que as chaves sejam RSA, para trocar a senha de uma chave privada do OpenSSL ou do OpenSSH, utilize o comando:&lt;br /&gt;
  $ openssl rsa -des3 -in nome-da-chave.key -out nova_chave.key&lt;br /&gt;
&lt;br /&gt;
Se desejar tornar a chave privada insegura (remover a senha da mesma - não aconselhável), execute:&lt;br /&gt;
  &lt;br /&gt;
  openssl rsa -in chave_atual.key -out nova_chave.key&lt;br /&gt;
&lt;br /&gt;
Apenas duas observações importantes:&lt;br /&gt;
* Ao executar os comandos anteriores, será pedida a senha atual da chave e, a seguir, a nova senha (com confirmação).&lt;br /&gt;
* A chave gerada não terá as mesmas permissões de segurança da chave anterior. Assim, verifique as permissões anteriores com # ls -l e, depois, troque as permissões na chave nova com # chmod.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Referências == &lt;br /&gt;
&lt;br /&gt;
* http://eriberto.pro.br/blog/?p=9&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Ssh&amp;diff=34739</id>
		<title>Ssh</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Ssh&amp;diff=34739"/>
		<updated>2015-09-30T18:44:23Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: /* Tutoriais */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Conectando com servidor remoto ==&lt;br /&gt;
&lt;br /&gt;
  $ ssh nome-do-usuario@endereco-do-servidor&lt;br /&gt;
&lt;br /&gt;
Exemplo: &lt;br /&gt;
&lt;br /&gt;
  $ ssh linux@uol.com.br&lt;br /&gt;
&lt;br /&gt;
== Upload de arquivos ==&lt;br /&gt;
  &lt;br /&gt;
  $ scp /diretorio_de_origem/arquivo.formato usuario_do_servidor@192.168.0.1:/diretorio_do_arquivo/destino/&lt;br /&gt;
&lt;br /&gt;
== Verificando fingerprint ==&lt;br /&gt;
&lt;br /&gt;
O comando de verificação de fingerprint de uma máquina seria esse:&lt;br /&gt;
&lt;br /&gt;
  # ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub&lt;br /&gt;
&lt;br /&gt;
Lembrando que ssh_host_ecdsa_key.pub é a chave pública mais usada, mas existem outras. &lt;br /&gt;
&lt;br /&gt;
* http://www.howtogeek.com/74827/learn-the-ins-and-out-of-openssh-on-your-linux-pc/&lt;br /&gt;
&lt;br /&gt;
== Tutoriais ==&lt;br /&gt;
&lt;br /&gt;
* [[ssh - criando um par de chaves]]&lt;br /&gt;
* [[ssh - trocando senha da chave]]&lt;br /&gt;
&lt;br /&gt;
== SSHFS ==&lt;br /&gt;
&lt;br /&gt;
* https://wiki.archlinux.org/index.php/Sshfs&lt;br /&gt;
&lt;br /&gt;
[[Categoria: Shell]]&lt;br /&gt;
[[Categoria: linux]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Ssh_-_criando_um_par_de_chaves&amp;diff=34738</id>
		<title>Ssh - criando um par de chaves</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Ssh_-_criando_um_par_de_chaves&amp;diff=34738"/>
		<updated>2015-09-30T18:43:37Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vários servidores Git autenticam usando chaves públicas SSH. Para fornecer uma chave pública, cada usuário no seu sistema deve gerar uma se eles ainda não a possuem. Este processo é similar entre os vários sistemas operacionais unix/linux. Primeiro, você deve checar para ter certeza que você ainda não possui uma chave. Por padrão, as chaves SSH de um usuário são armazenadas no diretório ~/.ssh. Você pode facilmente verificar se você tem uma chave indo para esse diretório e listando o seu conteúdo:&lt;br /&gt;
&lt;br /&gt;
  $ cd ~/.ssh&lt;br /&gt;
  $ ls&lt;br /&gt;
    authorized_keys2  id_dsa       known_hosts&lt;br /&gt;
    config            id_dsa.pub&lt;br /&gt;
&lt;br /&gt;
Você está procurando por um par de arquivos com nomes que podem variar de usuário para usuário, mas a estrutura será '''nome_chave''' e '''nome_chave.pub''', onde algo é normalmente id_dsa ou id_rsa. O arquivo .pub é a sua chave pública, e o outro arquivo é a sua chave privada. Se você não tem estes arquivos (ou não tem nem mesmo o diretório .ssh), você pode criá-los executando um programa chamado ssh-keygen, que é fornecido com o pacote SSH em sistemas Linux/Mac. Funciona assim em sistemas linux: &lt;br /&gt;
&lt;br /&gt;
  $ ssh-keygen -t rsa&lt;br /&gt;
  Generating public/private rsa key pair.&lt;br /&gt;
  Enter file in which to save the key ('''/home/nome-do-usuario/.ssh/id_rsa'''):&lt;br /&gt;
  Enter passphrase (empty for no passphrase):&lt;br /&gt;
  Enter same passphrase again:&lt;br /&gt;
  Your identification has been saved in '''/home/nome-do-usuario/.ssh/id_rsa'''.&lt;br /&gt;
  Your public key has been saved in '''/home/nome-do-usuario/.ssh/id_rsa.pub'''.&lt;br /&gt;
  The key fingerprint is:&lt;br /&gt;
  '''43:c5:5b:5f:b1:f1:50:43:ad:20:a6:92:6a:1f:9a:3a nome-do-usuario@servidor'''&lt;br /&gt;
&lt;br /&gt;
Primeiro ele confirma onde você quer salvar a chave (.ssh/id_rsa), e então pergunta duas vezes por uma senha, que você pode deixar em branco se você não quiser digitar uma senha quando usar a chave.&lt;br /&gt;
&lt;br /&gt;
Agora, cada usuário que executar o comando acima precisa enviar a chave pública para você ou para o administrador do seu servidor Git (assumindo que você está usando um servidor SSH cuja configuração necessita de chaves públicas). Tudo o que eles precisam fazer é copiar o conteúdo do arquivo .pub e enviar para você via e-mail. As chaves públicas são parecidas com isso.&lt;br /&gt;
&lt;br /&gt;
  $ cat ~/.ssh/id_rsa.pub&lt;br /&gt;
  ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU&lt;br /&gt;
  GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3&lt;br /&gt;
  Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA&lt;br /&gt;
  t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En&lt;br /&gt;
  mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx&lt;br /&gt;
  NrRFi9wrf+M7Q== '''nome-do-usuario@servidor'''&lt;br /&gt;
&lt;br /&gt;
Para um tutorial mais detalhado sobre criação de chaves SSH em vários sistemas operacionais, veja o guia do GitHub sobre chaves SSH no endereço http://github.com/guides/providing-your-ssh-key.&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
&lt;br /&gt;
* https://git-scm.com/book/pt-br/v1/Git-no-Servidor-Gerando-Sua-Chave-P%C3%BAblica-SSH&lt;br /&gt;
&lt;br /&gt;
[[Category: ssh]]&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Ssh_-_criando_um_par_de_chaves&amp;diff=34737</id>
		<title>Ssh - criando um par de chaves</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Ssh_-_criando_um_par_de_chaves&amp;diff=34737"/>
		<updated>2015-09-30T18:40:48Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vários servidores Git autenticam usando chaves públicas SSH. Para fornecer uma chave pública, cada usuário no seu sistema deve gerar uma se eles ainda não a possuem. Este processo é similar entre os vários sistemas operacionais unix/linux. Primeiro, você deve checar para ter certeza que você ainda não possui uma chave. Por padrão, as chaves SSH de um usuário são armazenadas no diretório ~/.ssh. Você pode facilmente verificar se você tem uma chave indo para esse diretório e listando o seu conteúdo:&lt;br /&gt;
&lt;br /&gt;
  $ cd ~/.ssh&lt;br /&gt;
  $ ls&lt;br /&gt;
    authorized_keys2  id_dsa       known_hosts&lt;br /&gt;
    config            id_dsa.pub&lt;br /&gt;
&lt;br /&gt;
Você está procurando por um par de arquivos com nomes que podem variar de usuário para usuário, mas a estrutura será '''nome_chave''' e '''nome_chave.pub''', onde algo é normalmente id_dsa ou id_rsa. O arquivo .pub é a sua chave pública, e o outro arquivo é a sua chave privada. Se você não tem estes arquivos (ou não tem nem mesmo o diretório .ssh), você pode criá-los executando um programa chamado ssh-keygen, que é fornecido com o pacote SSH em sistemas Linux/Mac. Funciona assim em sistemas linux: &lt;br /&gt;
&lt;br /&gt;
  $ ssh-keygen -t rsa&lt;br /&gt;
  Generating public/private rsa key pair.&lt;br /&gt;
  Enter file in which to save the key ('''/home/nome-do-usuario/.ssh/id_rsa'''):&lt;br /&gt;
  Enter passphrase (empty for no passphrase):&lt;br /&gt;
  Enter same passphrase again:&lt;br /&gt;
  Your identification has been saved in '''/home/nome-do-usuario/.ssh/id_rsa'''.&lt;br /&gt;
  Your public key has been saved in '''/home/nome-do-usuario/.ssh/id_rsa.pub'''.&lt;br /&gt;
  The key fingerprint is:&lt;br /&gt;
  '''43:c5:5b:5f:b1:f1:50:43:ad:20:a6:92:6a:1f:9a:3a nome-do-usuario@servidor'''&lt;br /&gt;
&lt;br /&gt;
Primeiro ele confirma onde você quer salvar a chave (.ssh/id_rsa), e então pergunta duas vezes por uma senha, que você pode deixar em branco se você não quiser digitar uma senha quando usar a chave.&lt;br /&gt;
&lt;br /&gt;
Agora, cada usuário que executar o comando acima precisa enviar a chave pública para você ou para o administrador do seu servidor Git (assumindo que você está usando um servidor SSH cuja configuração necessita de chaves públicas). Tudo o que eles precisam fazer é copiar o conteúdo do arquivo .pub e enviar para você via e-mail. As chaves públicas são parecidas com isso.&lt;br /&gt;
&lt;br /&gt;
  $ cat ~/.ssh/id_rsa.pub&lt;br /&gt;
  ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU&lt;br /&gt;
  GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3&lt;br /&gt;
  Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA&lt;br /&gt;
  t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En&lt;br /&gt;
  mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx&lt;br /&gt;
  NrRFi9wrf+M7Q== '''nome-do-usuario@servidor'''&lt;br /&gt;
&lt;br /&gt;
Para um tutorial mais detalhado sobre criação de chaves SSH em vários sistemas operacionais, veja o guia do GitHub sobre chaves SSH no endereço http://github.com/guides/providing-your-ssh-key.&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
&lt;br /&gt;
* https://git-scm.com/book/pt-br/v1/Git-no-Servidor-Gerando-Sua-Chave-P%C3%BAblica-SSH&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Ssh_-_criando_um_par_de_chaves&amp;diff=34736</id>
		<title>Ssh - criando um par de chaves</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Ssh_-_criando_um_par_de_chaves&amp;diff=34736"/>
		<updated>2015-09-30T18:40:09Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vários servidores Git autenticam usando chaves públicas SSH. Para fornecer uma chave pública, cada usuário no seu sistema deve gerar uma se eles ainda não a possuem. Este processo é similar entre os vários sistemas operacionais unix/linux. Primeiro, você deve checar para ter certeza que você ainda não possui uma chave. Por padrão, as chaves SSH de um usuário são armazenadas no diretório ~/.ssh. Você pode facilmente verificar se você tem uma chave indo para esse diretório e listando o seu conteúdo:&lt;br /&gt;
&lt;br /&gt;
  $ cd ~/.ssh&lt;br /&gt;
  $ ls&lt;br /&gt;
    authorized_keys2  id_dsa       known_hosts&lt;br /&gt;
    config            id_dsa.pub&lt;br /&gt;
&lt;br /&gt;
Você está procurando por um par de arquivos com nomes que podem variar de usuário para usuário, mas a estrutura será '''nome_chave''' e '''nome_chave.pub''', onde algo é normalmente id_dsa ou id_rsa. O arquivo .pub é a sua chave pública, e o outro arquivo é a sua chave privada. Se você não tem estes arquivos (ou não tem nem mesmo o diretório .ssh), você pode criá-los executando um programa chamado ssh-keygen, que é fornecido com o pacote SSH em sistemas Linux/Mac. Funciona assim em sistemas linux: &lt;br /&gt;
&lt;br /&gt;
  $ ssh-keygen&lt;br /&gt;
  Generating public/private rsa key pair.&lt;br /&gt;
  Enter file in which to save the key ('''/home/nome-do-usuario/.ssh/id_rsa'''):&lt;br /&gt;
  Enter passphrase (empty for no passphrase):&lt;br /&gt;
  Enter same passphrase again:&lt;br /&gt;
  Your identification has been saved in '''/home/nome-do-usuario/.ssh/id_rsa'''.&lt;br /&gt;
  Your public key has been saved in '''/home/nome-do-usuario/.ssh/id_rsa.pub'''.&lt;br /&gt;
  The key fingerprint is:&lt;br /&gt;
  '''43:c5:5b:5f:b1:f1:50:43:ad:20:a6:92:6a:1f:9a:3a nome-do-usuario@servidor'''&lt;br /&gt;
&lt;br /&gt;
Primeiro ele confirma onde você quer salvar a chave (.ssh/id_rsa), e então pergunta duas vezes por uma senha, que você pode deixar em branco se você não quiser digitar uma senha quando usar a chave.&lt;br /&gt;
&lt;br /&gt;
Agora, cada usuário que executar o comando acima precisa enviar a chave pública para você ou para o administrador do seu servidor Git (assumindo que você está usando um servidor SSH cuja configuração necessita de chaves públicas). Tudo o que eles precisam fazer é copiar o conteúdo do arquivo .pub e enviar para você via e-mail. As chaves públicas são parecidas com isso.&lt;br /&gt;
&lt;br /&gt;
  $ cat ~/.ssh/id_rsa.pub&lt;br /&gt;
  ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU&lt;br /&gt;
  GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3&lt;br /&gt;
  Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA&lt;br /&gt;
  t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En&lt;br /&gt;
  mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx&lt;br /&gt;
  NrRFi9wrf+M7Q== '''nome-do-usuario@servidor'''&lt;br /&gt;
&lt;br /&gt;
Para um tutorial mais detalhado sobre criação de chaves SSH em vários sistemas operacionais, veja o guia do GitHub sobre chaves SSH no endereço http://github.com/guides/providing-your-ssh-key.&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
&lt;br /&gt;
* https://git-scm.com/book/pt-br/v1/Git-no-Servidor-Gerando-Sua-Chave-P%C3%BAblica-SSH&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
	<entry>
		<id>http://wiki.nosdigitais.teia.org.br/index.php?title=Ssh_-_criando_um_par_de_chaves&amp;diff=34735</id>
		<title>Ssh - criando um par de chaves</title>
		<link rel="alternate" type="text/html" href="http://wiki.nosdigitais.teia.org.br/index.php?title=Ssh_-_criando_um_par_de_chaves&amp;diff=34735"/>
		<updated>2015-09-30T18:39:41Z</updated>

		<summary type="html">&lt;p&gt;Felipecabral: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vários servidores Git autenticam usando chaves públicas SSH. Para fornecer uma chave pública, cada usuário no seu sistema deve gerar uma se eles ainda não a possuem. Este processo é similar entre os vários sistemas operacionais unix/linux. Primeiro, você deve checar para ter certeza que você ainda não possui uma chave. Por padrão, as chaves SSH de um usuário são armazenadas no diretório ~/.ssh. Você pode facilmente verificar se você tem uma chave indo para esse diretório e listando o seu conteúdo:&lt;br /&gt;
&lt;br /&gt;
  $ cd ~/.ssh&lt;br /&gt;
  $ ls&lt;br /&gt;
    authorized_keys2  id_dsa       known_hosts&lt;br /&gt;
    config            id_dsa.pub&lt;br /&gt;
&lt;br /&gt;
Você está procurando por um par de arquivos com nomes que podem variar de usuário para usuário, mas a estrutura será '''nome_chave''' e '''nome_chave.pub''', onde algo é normalmente id_dsa ou id_rsa. O arquivo .pub é a sua chave pública, e o outro arquivo é a sua chave privada. Se você não tem estes arquivos (ou não tem nem mesmo o diretório .ssh), você pode criá-los executando um programa chamado ssh-keygen, que é fornecido com o pacote SSH em sistemas Linux/Mac. Funciona assim em sistemas linux: &lt;br /&gt;
&lt;br /&gt;
  $ ssh-keygen&lt;br /&gt;
  Generating public/private rsa key pair.&lt;br /&gt;
  Enter file in which to save the key ('''/home/nome-do-usuario/.ssh/id_rsa'''):&lt;br /&gt;
  Enter passphrase (empty for no passphrase):&lt;br /&gt;
  Enter same passphrase again:&lt;br /&gt;
  Your identification has been saved in '''/home/nome-do-usuario/.ssh/id_rsa'''.&lt;br /&gt;
  Your public key has been saved in '''/home/nome-do-usuario/.ssh/id_rsa.pub'''.&lt;br /&gt;
  The key fingerprint is:&lt;br /&gt;
  '''43:c5:5b:5f:b1:f1:50:43:ad:20:a6:92:6a:1f:9a:3a nome-do-usuario@servidor'''&lt;br /&gt;
&lt;br /&gt;
Primeiro ele confirma onde você quer salvar a chave (.ssh/id_rsa), e então pergunta duas vezes por uma senha, que você pode deixar em branco se você não quiser digitar uma senha quando usar a chave.&lt;br /&gt;
&lt;br /&gt;
Agora, cada usuário que executar o comando acima precisa enviar a chave pública para você ou para o administrador do seu servidor Git (assumindo que você está usando um servidor SSH cuja configuração necessita de chaves públicas). Tudo o que eles precisam fazer é copiar o conteúdo do arquivo .pub e enviar para você via e-mail. As chaves públicas são parecidas com isso.&lt;br /&gt;
&lt;br /&gt;
  $ cat ~/.ssh/id_rsa.pub&lt;br /&gt;
  '''ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU&lt;br /&gt;
  GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3&lt;br /&gt;
  Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA&lt;br /&gt;
  t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En&lt;br /&gt;
  mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx&lt;br /&gt;
  NrRFi9wrf+M7Q== nome-do-usuario@servidor'''&lt;br /&gt;
&lt;br /&gt;
Para um tutorial mais detalhado sobre criação de chaves SSH em vários sistemas operacionais, veja o guia do GitHub sobre chaves SSH no endereço http://github.com/guides/providing-your-ssh-key.&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
&lt;br /&gt;
* https://git-scm.com/book/pt-br/v1/Git-no-Servidor-Gerando-Sua-Chave-P%C3%BAblica-SSH&lt;/div&gt;</summary>
		<author><name>Felipecabral</name></author>
	</entry>
</feed>