Skip to content

Instantly share code, notes, and snippets.

@oieduardorabelo
Last active January 4, 2023 10:19
Show Gist options
  • Save oieduardorabelo/9061945 to your computer and use it in GitHub Desktop.
Save oieduardorabelo/9061945 to your computer and use it in GitHub Desktop.
Installing PostgreSQL on Ubuntu with UTF-8 database template

Para instalar a versão mais atualizada do PostgreSQL, adicione o Apt Repository oficial:

echo 'deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main' | sudo tee /etc/apt/sources.list.d/pgdg.list

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

sudo apt-get update

Agora você tem disponível através do apt-get os seguintes pacotes:

  • postgresql-client-9.3 - client libraries and client binaries
  • postgresql-9.3 - core database server
  • postgresql-contrib-9.3 - additional supplied modules
  • libpq-dev - libraries and headers for C language frontend development
  • postgresql - server-dev-9.3 - libraries and headers for C language backend development
  • pgadmin3 - pgAdmin III graphical administration utility

Vamos instalar os pacotes:

sudo apt-get install postgresql-9.3 libpq-dev

Para verificar se o PostgreSQL foi instalado corretamente, vamos acessar os databases:

sudo su - postgres

psql

\list

Com isso você vai visualizar uma lista dos databases padrões do PostgreSQL,

Por padrão, o encoding do PostgreSQL é o LATIN1, vamos muda-lo para UTF8

UPDATE pg_database SET datistemplate = FALSE WHERE datname = 'template1';

DROP DATABASE template1;

CREATE DATABASE template1 WITH TEMPLATE = template0 ENCODING='UNICODE' LC_COLLATE='en_US.UTF8' LC_CTYPE='en_US.UTF8';

UPDATE pg_database SET datistemplate = TRUE WHERE datname = 'template1';

UPDATE pg_database SET datallowconn = FALSE WHERE datname = 'template1';
@asamarcos
Copy link

This is was a life saver! Thank you!

@shavkat1121
Copy link

good

@lucascheles
Copy link

awesome!

@bodpad
Copy link

bodpad commented Aug 26, 2021

Thank you!

@kirilltobola
Copy link

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment