Установка PostgreSQL на Centos 7. Postgresql centos 7


Установка Postgresql на CentOS 7

Для работы Jira Service Desk требуется БД. По документации на сайте Atlassian в качестве БД можно использовать MySQL, Postgresql.

Мы будем устанавливать Postgresql. После снятия снэпшота и включении сервера, переподключаемся к нашему серверу и установим репозитарий для postgresql следующей командой. На момент написания статьи, возможно вышла новая версия postgresql. Если Вы хотите установить все самое последнее, то на сайте копируйте ссылку на дистрибутив и вставляете в команду вместо текущей ссылки.

yum -y install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

дожидаемся установки и после чего ставим сам Postgresql Server командой

yum -y install postgresql96-server

переходим в корень системы, иначе не сможем запустить службу

cd /

заходим под пользователем postgres

su - postgres

инициализируем базу командой, если мы не хотим, чтобы были проблемы с кириллицей, то указываем кодировку

/usr/pgsql-9.6/bin/initdb --encoding UTF-8 --lc-collate='ru_RU.UTF-8' --lc-ctype='ru_RU.UTF-8' -D /var/lib/pgsql/9.6/data

Если мы все сделали правильно в конце будет сообщение

Success. You can now start the database server using:

выходим из под пользователя postgres командой

logout

или комбинацией клавиш Ctrl+D

Включаем службу postgresql server командой

systemctl enable postgresql-9.6

и запускам ее

systemctl start postgresql-9.6

Теперь настроим безопасность, т.е. доступ к базе по паролю. Снова входим под пользователем postgres

su - postgres

далее набираем

psql

и задаем пароль пользователю postgres командой

ALTER ROLE postgres WITH PASSWORD 'postgresPASSWORD';

выходим из-под пользователя postgres нажав 2 раза комбинацию клавиш Ctrl+D

отредактируем файл pg_hba.conf, применим шифрование md5. Открываем файл и переходим к разделу «local» is for unix domain socket connections only командой

vi /var/lib/pgsql/9.6/data/pg_hba.conf

переносим курсор в конец trust и переходим в режим редактирования нажав на клавишу A

 

заменяем trust на md5. После чего нажимаем ESC, тем самым выходим из режима редактирования и набираем :wq! для выхода их файла с сохранением. Должно быть как на скрине.

Отредактируем файл postgresql.conf для возможности подключиться к БД с любого места. Открываем файл командой

vi /var/lib/pgsql/9.6/data/postgresql.conf

и переходим к разделу CONNECTIONS AND AUTHENTICATION, переносим курсов в конец localhost

Переходим в режим редактирования, раскомментируем строку, удалив знак # и заменяем localhost на звездочку. Выходим из режима редактирования и выходим из файла с сохранением.

перезапускаем службу, чтобы изменения вступили в силу командой

systemctl restart postgresql-9.6

И снова заходим под пользователем postgres для создания БД для сервиса JIRA

su - postgresвходим в базу командойpsql

после чего потребуется ввести пароль, который мы раннее указали для него командой ALTER ROLE postgres WITH PASSWORD ‘postgresPASSWORD’;

После чего создадим в базе нового пользователя

CREATE ROLE jiradbuser WITH PASSWORD 'jiradbuserPASSWORD' LOGIN;

Далее создадим новую базу и дадим полный доступ новому пользователю

CREATE DATABASE jiradb WITH OWNER jiradbuser;

И в конце смотрим список баз командой

\l

В итоге у нас должно быть что-то вроде

На этом установка postresql завершена. Перейдем к установке JIRA Service Desk

jirafordummies.ru

Установка PostgreSQL на Centos 7

Чтобы узнать какие пакеты Postgress уже есть в репозитории Centos введем команду:

получаем список утилит, который мы можем установить через репозиторий(!обращаем внимание на jdbc в пакетах PostgreSQL!)

Устанавливаем сервер PostgreSQL

yum install postgresql-server.x86_64

yum install postgresql-server.x86_64

Информация базы будет храниться в директории

Инициализируем базу данных

/usr/bin/postgresql-setup initdb

/usr/bin/postgresql-setup initdb

Задействуем ее как службу

systemctl enable postgresql

systemctl enable postgresql

Управлять службой теперь будем командами

systemctl start postgresql – стартуемsystemctl stop postgresql – останавливаемsystemctl restart postgresql – перезагружаем базуsystemctl reload postgresql – перезагружаем конфигурацию(pg_hba.conf). База данных продолжает работать

Пользователи

Изначально в Postgresql можно зайти только с помощью пользователя postgres доступного по умолчанию

войдем в систему под этим пользователем

теперь, можно, к примеру, создать пользователя

(спросят как назвать и давать ли права суперпользователя)

подробнее о создании пользователя БД(о флагах и уровнях доступа) можно узнать тут

По умолчанию postgrresql предоставляет право доступа на базу одноименному пользователюСоздадим базу данных

возвращаемся в root и добавляем в Linux пользователя test1 и заходим в систему как test1

su root adduser test1 sudo -i -u test1

su root

adduser test1

sudo -i -u test1

включаем терминал Postgresql

таким образом мы зашли в базу данных test1 по умолчанию доступную для юзера test1Чтобы заяти в другую базу данных, необходимо определить это в команде

С помощью команды \conninfo можно выяснить имя текущего пользователя БД, название самой базы и порт на котором она работаетмы получаем нечто вроде

test1=>\conninfo You are connected to database "test1" as user "test1" via socket in "/var/run/postgresql" at port "5432".

test1=>\conninfo

You are connected to database "test1" as user "test1" via socket in "/var/run/postgresql" at port "5432".

Теперь, удостоверившись что мы находимся в нужной базе можно попробовать прямо в командную строку ввести запрос SQLглавное не забывать завершить запрос ; и следить за скобками

Полезные команды3>

\q – выход\r – сброс буфера запросов\l – список бд доступных в текущей сессии\s – история\d – получить список таблиц и связей текущей БД

Источники

https://wiki.postgresql.org/wiki/YUM_Installation – установкаhttps://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-14-04 – использованиеhttps://www.digitalocean.com/community/tutorials/how-to-create-remove-manage-tables-in-postgresql-on-a-cloud-server – операции с таблицамиhttp://www.postgresql.org/docs/9.1/static/app-psql.html – команды psql

Примечания

Во время подключения к базе как из консоли, так и с помощью утилит(таких как Pgadmin3) могут возникать ошибки идентификацииОшибки можно исправить редактируя конфигурационный файл /var/lib/pgsql/data/pg_hba.conf

(там есть три роли доступа -peer, ident и trust)(в моем случае задача решилась установкой trust для локального хоста)

редактируем этот конфигурационный файл

# vi /var/lib/pgsql/data/pg_hba.conf

# vi /var/lib/pgsql/data/pg_hba.conf

с настройкой ident(что стоит по умолчанию, нельзя залогиниться с опциями -U и -W)редактируем

local all all trust host all 127.0.0.1/32 trust

local all all trust

host all 127.0.0.1/32 trust

рестартим postgresql сервер

# service postgresql restart

# service postgresql restart

теперь можно логиниться

$ psql -d myDb -U username -W

$ psql -d myDb -U username -W

(Подробнее здесь – http://www.cyberciti.biz/faq/psql-fatal-ident-authentication-failed-for-user/)

javabit.ru

Centos 7 postgresql | Users Wiki

It is a popular choice for many small and large projects and has the advantage of being standards-compliant and having many advanced features like reliable transactions and concurrency without read locks. PostgreSQL, or Postgres, is a relational database management system that provides an implementation of the SQL querying language.

These instructions are intended specifically for installing PostgreSQL on CentOS7. I’ll be working from a Liquid Web Self Managed CentOS 7 .

PostgreSQL is an object-relational database management system (ORDBMS) available for many platforms including Linux, FreeBSD.

We have made a playground table that inventories the equipment that we have. This starts with an equipment ID, which is of the serial type. This data type is an auto-incrementing integer. We have given this column the constraint of primary key which means that the values must be unique and not null.

Вы можете узнать чем отличаются mysql и postgresql в отдельной статье, асегодня мы рассмотрим как установить Postgresql CentOS 7 .

These are, in some ways, similar to regular Unix-style accounts, but Postgres does not distinguish between users and groups and instead prefers the more flexible term “role”. By default, Postgres uses a concept called “roles” to aid in authentication and authorization.

Install and Connect to PostgreSQL in centos 7 – Продолжительность: 3:58 Quick Notepad Tutorial 171 просмотр.

Version: 7-1708 Rating: 10 Date: 2017-09-15 Votes: 26: I'm the manager of a small IT company in South France, and I've been working with CentOS since the 4.

In this tutorial we will show you how to install PostgreSQL on CentOS 7.

PostgreSQL is an object-relational database management system (ORDBMS)available for many platforms including Linux, FreeBSD.

For ease of administration, it’s possible to add multiple user roles to a single group, so that their privileges can be managed as a whole. In this section you’ll create a new group and add the examplerole user to it. These commands should be run as the postgres Linux user.

I'll be working from a Liquid Web Self Managed CentOS 7 . These instructions are intended specifically for installing PostgreSQL on CentOS 7.

offerov.net