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
  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
  3. Conheça o seu mantra STFW Search The Fucking Web LMGTFY

    Let Me Google That For You RTFM Read The Fucking Manual
  4. 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
  5. 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
  6. 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.”
  7. 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.
  8. 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
  9. 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
  10. 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;
  11. 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;
  12. 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.
  13. 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_<distrolinux><xy>.noarch.rpm • rpm -ivh pgdg_<distrolinux><xy>.noarch.rpm • yum update • yum search postgresqlxy, postgresqlxy-contrib, postgresqlxy-server
  14. 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
  15. 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
  16. Arquitetura • Cluster • Catálogo global • Catálogo local •

    WAL • Tablespaces • pg_hba.conf • postgresql.conf • /usr/pgsql-xy/bin
  17. Variáveis de ambiente • PGDATA • PGDATABASE • PGHOST •

    PGPORT • PGUSER • PGPASSWORD • ~/.pgpass.conf ou %APPDATA%\postgresql\pgpass.conf • hostname:port:database:username:password • chmod 0600
  18. psql • psql -h host -p port -U username database

    • -c command • -f file • -l • -E • \? \d \o \i \d \q
  19. Tuning • Em 5 minutos: • https://www.pgconfig.org • Para toda

    a vida: • autovacuum • ANALYZE • EXPLAIN • EXPLAIN ANALYZE • https://explain.depesz.com