Скачиваем в локальную репу 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'