Skip to content

Instantly share code, notes, and snippets.

@axmakarov
Last active November 12, 2019 14:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save axmakarov/463c315a64eea1d3621ecfa2f07fae64 to your computer and use it in GitHub Desktop.
Save axmakarov/463c315a64eea1d3621ecfa2f07fae64 to your computer and use it in GitHub Desktop.

Скачиваем в локальную репу yum последние версии постгреса

sudo yum localinstall https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

Устанавливаем 10ый постгрес

sudo yum install -y postgresql10-server.x86_64 postgresql10-contrib.x86_64 postgresql10-libs.x86_64

Делаем инитдб и запускаем постгрес как сервис (последняя команда нужна, чтобы убедиться что всё работает, должно быть сообщение running)

sudo /usr/pgsql-10/bin/postgresql-10-setup initdb 
sudo systemctl enable postgresql-10.service
sudo systemctl start postgresql-10.service
sudo systemctl status postgresql-10.service

Запускаем консоль постгреса

sudo -u postgres psql

Создаем юзера (вместо new_username я вбивал имя пользователя как в ОС)

CREATE USER new_username;
ALTER USER new_username SUPERUSER CREATEDB;

Дальше проверим в консоли постгреса, что пользователь создался

\du

Выйдем из консоли постгреса

\q

Создадим БД (имя zen - это имя как называется дамп у студента, также можно проверить как у него БД называется в pipeline.py)

createdb zen --encoding='utf-8'

Опять зайдем в консоль и проверим, что БД создалась

sudo -u postgres psql

Вызовем команду для отображения списка БД

\l

Переключимся на БД zen

\c zen

И дальше сделаем юзера my_user с паролем my_user_password и дадим ему нужные права

CREATE USER my_user WITH ENCRYPTED PASSWORD 'my_user_password';
GRANT CONNECT ON DATABASE zen TO my_user;
GRANT USAGE ON SCHEMA public TO my_user;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO my_user;

Выходим из консоли постгреса

\q

Заливаем дамп

psql zen < zen.dump

Перейдем в консоль постгреса и убедимся, что в БД появилась табличка

sudo -u postgres psql

Отобразим список таблиц

\dt

И посчитаем количество строк в логе

SELECT count(*) FROM log_raw;

В консоли постгреса находим где лежит файл pg_hba.conf

SHOW hba_file;

Сменим пароль у юзера postgres на myPassword (дальше это понадобится когда изменим pg_hba.conf и нужно будет заходить по паролю)

ALTER USER postgres PASSWORD 'myPassword';

Заходим в конфиг pg_hba.conf. Не обязательно редактировать через nano, выбирайте редактор какой нравится

sudo nano /var/lib/pgsql/10/data/pg_hba.conf

Затем нужно изменить файл pg_hba.conf в соответсвии с вот этим ответом https://stackoverflow.com/questions/50085286/postgresql-fatal-ident-authentication-failed-for-user (заменить в нужных местах METHOD на md5)

Потом рестартануть сервер

sudo systemctl enable postgresql-10.service
sudo systemctl start postgresql-10.service
sudo systemctl status postgresql-10.service

Запускаем pipeline

python pipeline.py --start_dt='2019-09-24 18:00:00' --end_dt='2019-09-24 19:00:00'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment