- Установка и настройка PostgreSQL 13 на Linux Ubuntu Server 20.04
- Установка PostgreSQL 13 на Ubuntu Server 20.04
- Шаг 1 – Подключение репозитория и обновление списка пакетов в системе
- Шаг 2 – Установка необходимых пакетов для PostgreSQL
- Шаг 3 – Проверка установки
- Настройка PostgreSQL 13 в Ubuntu Server 20.04
- Создание пользователя и базы данных в PostgreSQL
- Разрешаем подключение к PostgreSQL по сети
- Видео-инструкция – Установка и настройка PostgreSQL 13 на Ubuntu Server
- Расположение базы данных PostgreSQL по умолчанию в Linux
- 5 ответов
- Где PostgreSQL хранит базу данных?
- PostgreSQL 9.2 Начало!
- Сборка и установка
- Настройка
- Утилиты для работы с базой
- Менеджеры по работе с базой
Установка и настройка PostgreSQL 13 на Linux Ubuntu Server 20.04
Всем привет! Сегодня мы разберем процесс установки PostgreSQL 13 на операционную систему Linux Ubuntu Server 20.04, а также выполним первоначальную настройку PostgreSQL. В результате у нас получится полноценный сервер баз данных, реализованный на базе Ubuntu Server + PostgreSQL, и данный сервер можно будет использовать в сети предприятия.
Установка PostgreSQL 13 на Ubuntu Server 20.04
Итак, давайте перейдем к установке и рассмотрим все шаги, которые необходимо выполнить, чтобы установить PostgreSQL 13 на Ubuntu Server 20.04.
Установку я буду производить удаленно, для подключения к Ubuntu Server буду использовать программу PuTTY.
Заметка! О том, как установить Ubuntu Server, я подробно рассказывал в материале – Установка Linux Ubuntu Server 20.04.
Шаг 1 – Подключение репозитория и обновление списка пакетов в системе
Установку и настройку PostgreSQL необходимо выполнять с правами пользователя root, поэтому давайте сразу переключимся на root.
Для этого пишем команду sudo -i и вводим пароль.
Далее, подключаем репозиторий, который будет содержать актуальную версию PostgreSQL, на текущий момент актуальной версией является PostgreSQL 13, поэтому в данном репозитории хранится именно эта версия, которую мы и будем устанавливать.
Однако, если Вам требуется установить не самую последнюю версию, то на этапе установки пакетов нужно будет указать номер версии в названии пакета, чуть ниже, на соответствующем шаге, я поясню, где именно необходимо указать номер конкретной версии.
Для подключения репозитория вводим следующую команду, которая создает файл в источниках с адресом нужного репозитория.
После этого нам необходимо импортировать ключ подписи репозитория, для этого вводим команду.
Осталось обновить список пакетов в системе, это делаем стандартной командой.
И для проверки того, что теперь нам доступны пакеты PostgreSQL 13, давайте запустим команду поиска пакетов.
Нужные пакеты нам доступны, и мы можем переходить к установке PostgreSQL 13.
Шаг 2 – Установка необходимых пакетов для PostgreSQL
Для установки актуальной версии, т.е. PostgreSQL 13 и базовых стандартных утилит, необходимо установить пакет postgresql, это делается следующей командой.
Чтобы установить какую-то конкретную версию PostgreSQL, необходимо указать номер этой версии в названии пакета, например, для 12 версии необходимо установить пакет postgresql-12.
Шаг 3 – Проверка установки
Чтобы проверить, установился и запущен ли PostgreSQL, давайте выполним следующую команду, которая покажет статус сервиса PostgreSQL.
Как видим, PostgreSQL 13 установился и работает.
Настройка PostgreSQL 13 в Ubuntu Server 20.04
PostgreSQL у нас установлен, однако на текущий момент им пользоваться пока нельзя, поэтому нам необходимо его настроить, в частности создать пользователя, указать, какие сетевые интерфейсы будет прослушивать сервер, а также разрешить подключения по сети.
Создание пользователя и базы данных в PostgreSQL
После установки к серверу PostgreSQL мы можем подключиться только с помощью системного пользователя postgres, причем без пароля.
Давайте переключимся на пользователя postgres (данная учетная запись была создана автоматически во время установки PostgreSQL).
Затем запускаем утилиту psql – это консоль для PostgreSQL.
Первым делом нам нужно задать пароль для пользователя postgres.
Затем создаем нового пользователя на сервере PostgreSQL, так как работать от имени postgres крайне не рекомендуется.
где info_comp – это имя пользователя, ‘123456’ – это его пароль, Вы, соответственно, придумываете и подставляете свои данные.
Далее давайте создадим базу данных.
где test_db – это имя новой базы данных.
Теперь давайте дадим права на управление базой данных нашему новому пользователю.
Все готово, выходим из консоли.
Для проверки давайте подключимся к PostgreSQL от имени нового пользователя, на предложение о вводе пароля вводим пароль от новой учетной записи.
Все работает, я подключился. Для выхода снова набираем \q.
Для переключения обратно на root вводим exit.
Разрешаем подключение к PostgreSQL по сети
По умолчанию PostgreSQL прослушивает только адрес localhost, поэтому, для того чтобы мы могли подключаться по сети, нам нужно указать, какие сетевые интерфейсы будет просушивать PostgreSQL. Я для примера укажу, что прослушивать нужно все доступные интерфейсы. Если у Вас несколько сетевых интерфейсов, и Вы хотите, чтобы PostgreSQL использовал только один конкретный, то Вы его можете указать именно здесь.
Чтобы это сделать, открываем файл postgresql.conf, например, редактором nano.
Находим следующую строку.
и вносим следующие изменения (вместо звездочки Вы в случае необходимости указываете IP адрес нужного интерфейса).
Сохраняем изменения сочетанием клавиш CTRL+O и подтверждаем нажатием Enter, затем просто закрываем редактор nano сочетанием клавиш CTRL+X.
Теперь давайте разрешим подключение из сети, я для примера разрешу подключаться из сети 192.168.0.0/24 с методом аутентификации md5.
Для этого открываем файл pg_hba.conf
Ищем следующие строки.
И указываем нужную нам сеть (если IPv6 Вы не будете использовать, то можете закомментировать соответствующие строки знаком #).
Далее точно так же сохраняем изменения сочетанием клавиш CTRL+O, подтверждаем нажатием Enter и закрываем редактор nano сочетанием клавиш CTRL+X.
Перезапускаем PostgreSQL, чтобы изменения вступили в силу.
Теперь можно подключаться к нашему серверу PostgreSQL удаленно по сети.
Таким образом, мы установили и настроили систему управления базами данных PostgreSQL 13 на операционной системе Ubuntu Server 20.04.
В следующем материале мы рассмотрим процесс установки на клиентский компьютер инструментов для работы с базами данных PostgreSQL и настроим удаленное подключение к PostgreSQL 13.
Видео-инструкция – Установка и настройка PostgreSQL 13 на Ubuntu Server
На сегодня это все, надеюсь, материал был Вам полезен, пока!
Источник
Расположение базы данных PostgreSQL по умолчанию в Linux
каков каталог по умолчанию, в котором PostgreSQL будет хранить все базы данных в Linux?
5 ответов
в «каталог, где postgresql будет хранить все базы данных «(и конфигурация) называется » каталог данных «и соответствует тому, что PostgreSQL называет (немного смущенно)»кластер базы данных», который не связан с распределенными вычислениями, это просто группа баз данных и связанных объектов, управляемых сервером PostgreSQL.
расположение каталога данных зависит от распределения. Если вы устанавливаете из источника, по умолчанию /usr/local/pgsql/data :
в терминах файловой системы база данных кластер будет представлять собой единый каталог под которой будут храниться все данные. Мы называем это каталогом данных или область данных. Это полностью зависит от вас где вы решите хранить свои данные. По умолчанию нет, хотя такие места, как / usr / local/pgsql / data или /var/lib/pgsql / data пользуются популярностью. (ref)
кроме того, связан экземпляр запущенного сервера PostgreSQL в один кластер; расположение его каталога данных может быть передано демону сервера («почт» или » postgres») в -D опция командной строки или PGDATA переменная среды (обычно в области работающего пользователя, обычно postgres ). Обычно вы можете увидеть работающий сервер с чем-то вроде этого:
обратите внимание, что можно, хотя и не очень часто, запускать два экземпляра одного и того же сервера PostgreSQL (тот же двоичные файлы, разные процессы), которые обслуживают разные «кластеры» (каталоги данных). Конечно, каждый экземпляр будет прослушивать свой собственный порт TCP/IP.
по крайней мере в Gentoo Linux и Ubuntu 14.04 по умолчанию.
вы можете найти postgresql.conf и посмотрите на param data_directory . Если он прокомментирован, то каталог базы данных совпадает с этим каталогом файла конфигурации.
по умолчанию в Debian 8.1 и PostgreSQL 9.4 после установки с помощью менеджера пакетов apt-get
Источник
Где PostgreSQL хранит базу данных?
Где хранятся файлы для базы данных PostgreSQL?
Чтобы увидеть, где находится каталог данных, используйте этот запрос.
Чтобы увидеть все параметры времени выполнения, используйте
Вы можете создавать табличные пространства для хранения объектов базы данных в других частях файловой системы. Чтобы увидеть табличные пространства, которые могут отсутствовать в этом каталоге данных, используйте этот запрос.
/ Library / Application Support / Postgres [ver] / var.
На Windows7 все базы данных называют числом в файле с именем pg_database под C:\Program Files (x86)\PostgreSQL\8.2\data\global . Затем вы должны найти имя папки по этому номеру в C:\Program Files (x86)\PostgreSQL\8.2\data\base . Это содержание базы данных.
Откройте pgAdmin и перейдите в Свойства для конкретной базы данных. Найдите OID и откройте каталог
Там должны быть ваши файлы БД.
Как указано в разделе « Расположение базы данных PostgreSQL по умолчанию в Linux », в Linux вы можете узнать, используя следующую команду:
Под моей установкой Linux это здесь: /var/lib/postgresql/8.x/
Вы можете изменить это с initdb -D «c:/mydb/»
Расположение определенных таблиц / индексов может быть скорректировано с помощью TABLESPACE:
Все уже ответили, но только за последние обновления. Если вы хотите знать, где находятся все файлы конфигурации, выполните эту команду в оболочке.
Могу поспорить, что вы задаете этот вопрос, потому что вы попробовали pg_ctl start и получили следующую ошибку:
pg_ctl: каталог базы данных не указан и переменная окружения PGDATA не установлена
Другими словами, вы ищете в каталоге на сайте после того, как -D в вашей pg_ctl start команде.
В этом случае каталог, который вы ищете, содержит эти файлы.
Вы можете найти его, найдя любой из файлов и каталогов выше, используя поиск, предоставляемый вашей ОС.
Например, в моем случае ( установка HomeBrew на Mac OS X ) эти файлы находятся в /usr/local/var/postgres . Для запуска сервера я набираю:
Postgres хранит данные в файлах в своем каталоге данных. Выполните следующие шаги, чтобы перейти к базе данных и ее файлам:
База данных, соответствующая файлу таблицы postgresql, является каталогом. Расположение всего каталога данных можно получить, запустив SHOW data_directory . в UNIX-подобной ОС (например, Mac) /Library/PostgreSQL/9.4/data Перейдите в базовую папку в каталоге данных, в котором есть все папки базы данных: /Library/PostgreSQL/9.4/data/base
Найдите имя папки базы данных, выполнив (Дает целое число. Это имя папки базы данных):
Найдите имя файла таблицы, выполнив (Дает целое число. Это имя файла):
Это бинарный файл. Детали файла, такие как размер и время создания, можно получить как обычно. Для получения дополнительной информации прочитайте эту тему
На Mac: /Library/PostgreSQL/9.0/data/base
Каталог не может быть введен, но вы можете посмотреть содержимое через: sudo du -hc data
Источник
PostgreSQL 9.2 Начало!
Мне хотелось создать прекрасный объемлющий мануал Getting Start без всякой воды, но включающий основные плюшки для начинающих по системе PostgreSQL в Linux.
PostgreSQL является объектно-реляционной системой управления базами данных (ОРСУБД) на основе POSTGRES, версия 4.2, разработанной в Университете Калифорнии в Беркли департаменте компьютерных наук.
PostgreSQL является open source потомком оригинального кода Berkeley. Он поддерживает большую часть стандарта SQL и предлагает множество современных функций:
Сборка и установка
Как и все любители мейнстрима PostgreSQL мы будем конечно же собирать, а не скачивать готовые пакеты (в репозитариях Debian, например, нет последней версии). Вот здесь лежит множество версий, скачивать конечно же лучше всего последнюю. На момент написания поста это версия 9.2.2
Теперь у нас есть директория с исходниками сей прекрасной базы данных.
По умолчанию файлы базы будут установлены в директорию /usr/local/pgsql, но эту директорию можно изменить задав
перед командой ./configure
Перед сборкой можно указать компилятор С++
PostgeSQL может использовать readline библиотеку, если у вас её нет и нет желания её ставить просто укажите опцию
Надеюсь у всех есть Autotools? Тогда вперед к сборке:
Все господа! Поздравляю!
Настройка
Нам необходимо указать хранилище данных наших баз данных (кластер) и запустить её.
Есть один нюанс — владельцем директории данных и пользователь, который может запускать базу должен быть не root. Это сделано в целях безопасности системы. Поэтому создадим специального пользователя
И далее все понятно
Важный процесс. Мы должны инициализировать кластер баз дынных. Сделать мы должны это от имени пользователя postgres
Теперь нужно добавить запуск PostgreSQL в автостарт. Для этого существует уже готовый скрипт и лежит он в postgresql-9.2.2/contrib/start-scripts/linux
Этот файл можно открыть и обратить внимание на следующие переменные:
- prefix — это место куда мы ставили PostgreSQL и задавали в ./configure
- PGDATA — это то, где хранится кластер баз данных и куда должен иметь доступ наш пользователь postgres
- PGUSER — это тот самый пользователь, от лица которого будет все работать
Если все стоит верно, то добвляем наш скрипт в init.d
Перезапускам систему, чтобы проверить что наш скрипт работает.
Вводим
И если появится окно работы с базой, то настройка прошла успешно! Поздравляю!
По умолчанию создается база данных с именем postgres
Теперь важно поговорить о методах авторизации.
В /usr/local/pgsql/data/pg_hba.conf как раз есть необходимые для этого настройка
Первая строка отвечает за локальное соединение, вторая — за соединение про протоколу IPv4, а третья по протоколу IPv6.
Самый последний параметр — это как раз таки метод авторизации. Его и рассмотрим (только основные)
- trust — доступ к базе может получить кто угодно под любым именем, имеющий с ней соединение.
- reject — отклонить безоговорочно! Это подходит для фильтрации определенных IP адресов
- password — требует обязательного ввода пароля. Не подходит для локальных пользователей, только пользователи созданные командой CREATE USER
- ident — позволяет только пользователем зарегистрированным в файле /usr/local/pgsql/data/pg_ident.conf устанавливать соединение с базой.
Вкратце расскажу об основных утилитах, которые пригодятся в работе.
Утилиты для работы с базой
pg_config
Возвращает информацию о текущей установленной версии PostgreSQL.
initdb
Инициализирует новое хранилище данных (кластер баз данных). Кластер представляет собой совокупность баз данных управляемых одним экземпляром севера. initdb должен быть запущен от имени будущего владельца сервера (как указано выше от имени postgres).
pg_ctl
Управляет процессом работы сервера PostgreSQL. Позволяет запускать, выполнять перезапуск, останавливать работу сервера, указать лог файл и другое.
psql
Клиент для работы с базой дынных. Позволяет выполнять SQL операции.
createdb
dropdb
Удаляет базу данных. Является оберткой SQL команды DROP DATABASE.
createuser
dropuser
Удаляет пользователя базы данных. Является оберткой SQL команды DROP ROLE.
createlang
droplang
Удаляет язык программирования. Является оберткой SQL команды DROP LANGUAGE.
pg_dump
pg_restore
pg_dumpall
Создает бэкап (дамп) всего кластера в файл.
reindexdb
Производит переиндексацию базы данных. Является оберткой SQL команды REINDEX.
clusterdb
Производит перекластеризацию таблиц в базе данных. Является оберткой SQL команды CLUSTER.
vacuumdb
Сборщик мусора и оптимизатор базы данных. Является оберткой SQL команды VACUUM.
Менеджеры по работе с базой
Что касается менеджера по работа с базой, то есть php менеджер — это phpPgAdmin и GUI менеджер pgAdmin. Должен заметить, что они оба плохо поддерживают последнюю версию PostgreSQL.
Источник