Upgrade to Pro — share decks privately, control downloads, hide ads and more …

O Guia do Mochileiro das Galáxias para quem está viajando no PostgreSQL

O Guia do Mochileiro das Galáxias para quem está viajando no PostgreSQL

Um guia para quem deseja entrar no universo do PostgreSQL e se sente perdido num mar de informações.

Palestra realizada no DBA Brasil 3.0: https://dbabrasil.net.br/db3/

Tweet

More Decks by Fábio Telles Rodriguez

Other Decks in Programming

Transcript

  1. O Guia do Mochileiro das Galáxias
    para quem está viajando no
    PostgreSQL
    Por Fábio Telles Rodriguez

    View Slide

  2. Fábio Telles Rodriguez
    • Consultor pela Timbira
    • DBA Oracle e PostgreSQL + 15 anos
    • Colaborador da Comunidade Brasileira de PostgreSQL
    • Blog: savepoint.blog.br
    [email protected]
    • @telles

    View Slide

  3. View Slide

  4. Conheça o seu mantra!

    View Slide

  5. Conheça o seu mantra
    STFW
    Search The Fucking Web
    LMGTFY
    Let Me Google That For You
    RTFM
    Read The Fucking Manual

    View Slide

  6. Respire fundo...

    View Slide

  7. Conheça a documentação
    ➔ Índice: https://www.postgresql.org/docs/current/static/index.html
    ➔ Tutorial: https://www.postgresql.org/docs/current/static/tutorial.html
    ➔ Linguagem SQL: https://www.postgresql.org/docs/current/static/sql.html
    ➔ Referência: https://www.postgresql.org/docs/current/static/reference.htm

    View Slide

  8. Outras fontes de informação
    ➔ FAQ: https://wiki.postgresql.org/wiki/FAQ
    ➔ Planet: https://planet.postgresql.org
    ➔ Wiki: https://wiki.postgresql.org
    ➔ Eventos: https://www.postgresql.org/about/events
    ➔ Novidades: https://www.postgresql.org/about/newsarchive
    ➔ Matriz de funcionalidades: https://www.postgresql.org/about/featurematrix

    View Slide

  9. Obtendo ajuda!
    • Uma breve história do PostgreSQL:
    https://www.postgresql.org/docs/9.6/static/history.h
    tml
    “Many people continue to refer to PostgreSQL as
    "Postgres" (now rarely in all capital letters) because of
    tradition or because it is easier to pronounce. This usage
    is widely accepted as a nickname or alias.”

    View Slide

  10. Obtendo ajuda!
    PostgreSQL: “O banco de dados de código aberto mais avançado
    do planeta com o pior nome do universo”
    Repita comigo: “postgres”*
    * A chance de uma pessoa experiente te ajudar cai muito quando você pronuncia ou escreve errado.

    View Slide

  11. View Slide

  12. Obtendo ajuda
    IRC https://www.postgresql.org/community/irc
    Listas por e-mail https://www.postgresql.org/list
    Suporte pago https://www.postgresql.org/support/professional_support
    Whatsapp https://chat.whatsapp.com/0xgJYrsVJnBJT97MsspxT4
    Telegram https://t.me/postgresqlbr
    Facebook https://www.facebook.com/groups/postgresql.brasil

    View Slide

  13. Antes de perguntar...
    • STFW e RTFM
    • Escreva corretamente sem abreviar e com boa gramática;
    • Isso inclui pontuação, acentos, concordância verbal, etc.
    • Não use gírias;
    • Não pergunte se alguém pode te ajudar, num lugar feito para
    tirar dúvidas;
    • Seja claro, objetivo, direto, mas não esqueça do contexto
    • Você pode precisar fornecer detalhes sobre os objetos do seu
    banco de dados, do seu servidor, etc.
    • Dê retorno para as pessoas que lhe ajudarem

    View Slide

  14. Em listas de discussão
    • Não mande anexos
    • Mande seu e-mail em texto puro, evite funcionalidades que
    só funcionam em alguns clientes de e-mail;
    • Pense antes de escrever o assunto do e-mail, diga algo que
    indique o tipo de problema que você tem;
    • Não inicie uma nova pergunta no meio da thread de outro
    assunto;
    • Não faça top-posting;

    View Slide

  15. Em chats
    • Não envie anexos a não ser que isso seja expressamente
    permitido;
    • Não cole textos longos. Se precisar use o pastebin.com ou
    outras ferramentas para compartilhar código, logs, etc.
    • Responda sempre dentro da thread que lhe interessa para
    não bagunçar a conversa e chamar a atenção de quem você
    quer que interaja com você;
    • Lembre-se que chats são assíncronos e as pessoas às vezes
    estão ocupadas com outras coisas;

    View Slide

  16. Só para lembrar
    • Seja sempre educado e gentil;
    • Não entre em brigas, não ofenda ninguém;
    • Não discrimine ninguém por ser um iniciante, nem por sexo,
    credo, raça, religião, política, etc. Não entre nesses assuntos
    em fóruns técnicos.
    • Jamais espere que alguém vá fazer o seu trabalho. Para isso
    contrate suporte pago. Os canais de ajuda podem lhe tirar
    dúvidas, mas não fazer o seu trabalho.
    • Dúvidas muito específicas podem ficar sem resposta,
    procure canais mais especializados.

    View Slide

  17. Instalação em Linux - RPM
    • Não instale nada da sua distribuição original!
    • Entre em https://yum.postgresql.org
    • Escolha a sua distribuição Linux e a sua versão do PostgreSQL
    • No Linux:
    • wget pgdg_.noarch.rpm
    • rpm -ivh pgdg_.noarch.rpm
    • yum update
    • yum search postgresqlxy, postgresqlxy-contrib, postgresqlxy-server

    View Slide

  18. Instalação de um novo disco
    • fdisk -l
    • cfdisk /dev/sdx
    • mkfs.xfs /dev/sdx
    • mount /dev/sdx /pgdata
    • df -h
    • umount /pgdata
    • ls -lh /dev/disk/by-uuid
    • editar /etc/fstab
    • mount -a
    • chown postgres: /pgdata

    View Slide

  19. Meu PostgreSQL não conecta!
    • O banco foi criado?
    • initdb
    • O banco de dados está no ar?
    • pg_ctl start/stop/status
    • postgresql.conf: listen_addresses = '*’
    • pg_hba.conf: hostall all 0.0.0.0/0 md5
    • createuser
    • createdb
    • firewall
    • telnet, ping

    View Slide

  20. Arquitetura
    • Cluster
    • Catálogo global
    • Catálogo local
    • WAL
    • Tablespaces
    • pg_hba.conf
    • postgresql.conf
    • /usr/pgsql-xy/bin

    View Slide

  21. Variáveis de ambiente
    • PGDATA
    • PGDATABASE
    • PGHOST
    • PGPORT
    • PGUSER
    • PGPASSWORD
    • ~/.pgpass.conf ou %APPDATA%\postgresql\pgpass.conf
    • hostname:port:database:username:password
    • chmod 0600

    View Slide

  22. psql
    • psql -h host -p port -U username database
    • -c command
    • -f file
    • -l
    • -E
    • \? \d \o \i \d \q

    View Slide

  23. Tuning
    • Em 5 minutos:
    • https://www.pgconfig.org
    • Para toda a vida:
    • autovacuum
    • ANALYZE
    • EXPLAIN
    • EXPLAIN ANALYZE
    • https://explain.depesz.com

    View Slide

  24. View Slide