- Linux downloads (Ubuntu)
- PostgreSQL Apt Repository
- Included in distribution
- Linux downloads (Debian)
- PostgreSQL Apt Repository
- Included in distribution
- Linux downloads (Red Hat family)
- PostgreSQL Yum Repository
- Included in Distribution
- Post-installation
- For RHEL / CentOS / SL / OL 6
- For RHEL / Rocky Linux / CentOS / SL / OL 7, 8 or Fedora 31 and later derived distributions:
- Direct RPM download
- PostgreSQL 9.2 Начало!
- Сборка и установка
- Настройка
- Утилиты для работы с базой
- Менеджеры по работе с базой
- Установка PostgreSQL в Ubuntu
- Установка PostgreSQL в Ubuntu 20.04
- 1. Установка из официальных репозиториев
- 2. Установка из официальных репозиториев PostgreSQL
- Настройка PostgreSQL в Ubuntu 20.04
- Создание роли postgresql
- Создание базы данных
- Создание таблиц
- Выводы
Linux downloads (Ubuntu) 
PostgreSQL is available in all Ubuntu versions by default. However, Ubuntu «snapshots» a specific version of PostgreSQL that is then supported throughout the lifetime of that Ubuntu version. Other versions of PostgreSQL are available through the PostgreSQL apt repository.
PostgreSQL Apt Repository
If the version included in your version of Ubuntu is not the one you want, you can use the PostgreSQL Apt Repository. This repository will integrate with your normal systems and patch management, and provide automatic updates for all supported versions of PostgreSQL throughout the support lifetime of PostgreSQL.
The PostgreSQL Apt Repository supports the current versions of Ubuntu:
on the following architectures:
- amd64
- arm64 (18.04 and newer; LTS releases only)
- i386 (18.04 and older)
- ppc64el (LTS releases only)
To use the apt repository, follow these steps:
For more information about the apt repository, including answers to frequent questions, please see the PostgreSQL Apt Repository page on the wiki.
Included in distribution
Ubuntu includes PostgreSQL by default. To install PostgreSQL on Ubuntu, use the apt-get (or other apt-driving) command:
apt-get install postgresql-12
The repository contains many different packages including third party addons. The most common and important packages are (substitute the version number as required):
postgresql-client-12 | client libraries and client binaries |
---|---|
postgresql-12 | core database server |
postgresql-contrib-9.x | additional supplied modules (part of the postgresql-xx package in version 10 and later) |
libpq-dev | libraries and headers for C language frontend development |
postgresql-server-dev-12 | libraries and headers for C language backend development |
pgadmin4 | pgAdmin 4 graphical administration utility |
Copyright © 1996-2021 The PostgreSQL Global Development Group
Источник
Linux downloads (Debian) 
PostgreSQL is available in all Debian versions by default. However, the stable versions of Debians «snapshot» a specific version of PostgreSQL that is then supported throughout the lifetime of that Debian version. The PostgreSQL project also maintains an apt repository with all supported of PostgreSQL available.
PostgreSQL Apt Repository
If the version included in your version of Debian is not the one you want, you can use the PostgreSQL Apt Repository. This repository will integrate with your normal systems and patch management, and provide automatic updates for all supported versions of PostgreSQL throughout the support lifetime of PostgreSQL.
The PostgreSQL apt repository supports the currently supported stable versions of Debian:
on the following architectures:
- amd64
- arm64 (Buster and newer)
- i386 (Buster and older)
- ppc64el
To use the apt repository, follow these steps:
For more information about the apt repository, including answers to frequent questions, please see the apt page on the wiki.
Included in distribution
Debian includes PostgreSQL by default. To install PostgreSQL on Debian, use the apt-get (or other apt-driving) command:
The repository contains many different packages including third party addons. The most common and important packages are (substitute the version number as required):
postgresql-client-12 | client libraries and client binaries |
---|---|
postgresql-12 | core database server |
postgresql-contrib-9.x | additional supplied modules (part of the postgresql-xx package in version 10 and later) |
libpq-dev | libraries and headers for C language frontend development |
postgresql-server-dev-12 | libraries and headers for C language backend development |
pgadmin4 | pgAdmin 4 graphical administration utility |
Copyright © 1996-2021 The PostgreSQL Global Development Group
Источник
Linux downloads (Red Hat family) 
The Red Hat family of distributions includes:
- Red Hat Enterprise Linux
- Rocky Linux
- CentOS
- Fedora
- Scientific Linux
- Oracle Linux
PostgreSQL is available on these platforms by default. However, each version of the platform normally «snapshots» a specific version of PostgreSQL that is then supported throughout the lifetime of this platform. Since this can often mean a different version than preferred, the PostgreSQL project provides a repository of packages of all supported versions for the most common distributions.
PostgreSQL Yum Repository
The PostgreSQL Yum Repository will integrate with your normal systems and patch management, and provide automatic updates for all supported versions of PostgreSQL throughout the support lifetime of PostgreSQL.
The PostgreSQL Yum Repository currently supports:
- Red Hat Enterprise Linux
- Rocky Linux
- CentOS
- Scientific Linux
- Oracle Linux
- Fedora *
* Note: due to the shorter support cycle on Fedora, all supported versions of PostgreSQL are not available on this platform. We do not recommend using Fedora for server deployments.
To use the PostgreSQL Yum Repository, follow these steps:
- Select version:
- Select platform:
- Select architecture:
- Copy, paste and run the relevant parts of the setup script:
Included in Distribution
These distributions all include PostgreSQL by default. To install PostgreSQL from these repositories, use the yum command on RHEL 6 and 7:
yum install postgresql-server
or dnf command on RHEL 8 and Fedora:
dnf install postgresql-server
Which version of PostgreSQL you get will depend on the version of the distribution:
Distribution | Version |
---|---|
RHEL/Rocky Linux/CentOS/OL 8 | 13, 12, 10 and 9.6 via modules |
RHEL/CentOS/SL/OL 7 | 9.2 (also supplies package rh-postgresql10, rh-postgresql96, rh-postgresql95 and rh-postgresql94 via SCL) |
RHEL/CentOS/SL/OL 6 | 8.4 (also supplies package rh-postgresql96, via SCL) |
Fedora 34 | 13 |
Fedora 33 | 12 |
Other Red Hat family distributions may ship a different version of PostgreSQL by default, check with your distribution vendor to be sure.
The repository contains many different packages including third party addons. The most common and important packages are (substitute the version number as required):
postgresql-client | libraries and client binaries |
---|---|
postgresql-server | core database server |
postgresql-contrib | additional supplied modules |
postgresql-devel | libraries and headers for C language development |
Post-installation
Due to policies for Red Hat family distributions, the PostgreSQL installation will not be enabled for automatic start or have the database initialized automatically. To make your database installation complete, you need to perform the following steps, based on your distribution:
For RHEL / CentOS / SL / OL 6
For RHEL / Rocky Linux / CentOS / SL / OL 7, 8 or Fedora 31 and later derived distributions:
Direct RPM download
If you cannot, or do not want to, use the yum based installation method, all the RPMs that are in the yum repository are available for direct download and manual installation as well.
Copyright © 1996-2021 The PostgreSQL Global Development Group
Источник
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.
Источник
Установка PostgreSQL в Ubuntu
Реляционные системы управления базами данных (РСУБД) — это ключевой компонент многих веб-сайтов и приложений. Они обеспечивают структурированный способ хранения данных и организацию доступа к информации. PostgreSQL- это объектно-реляционная система управления базами данных, которая все больше и больше вытесняет MySQL и производственных серверов.
Её преимущество в множестве дополнительных функций и улучшений, таких как надежная передача данных и параллелизация без блокировок чтения. Вы можете использовать эту СУБД с различными языками программирования, а её синтаксис запросов PL/pgSQL очень похож на MySQL от Oracle. В этой статье мы рассмотрим, как выполняется установка PostgreSQL в Ubuntu 20.04 из официальных репозиториев и репозитория PostgreSQL (PPA) а так же, как выполнить первоначальную настройку и подготовку к работе c данной СУБД.
Установка PostgreSQL в Ubuntu 20.04
1. Установка из официальных репозиториев
Это очень популярная СУБД, потому программа присутствует в официальных репозиториях. Для установки выполните следующие команды. Сначала обновите списки пакетов:
sudo apt update
Установите СУБД PostgreSQL:
sudo apt -y install postgresql
2. Установка из официальных репозиториев PostgreSQL
Если есть необходимость в получение самой последней версии, то необходимо добавить в систему официальный PPA от разработчиков PostgreSQL. Для этого выполните следующие команды:
sudo sh -c ‘echo «deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main» > /etc/apt/sources.list.d/pgdg.list’
wget —quiet -O — https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add —
Далее обновите списки пакетов, чтобы получить самую новую доступную версию:
sudo apt update
Установка PostgreSQL из PPA или официальных репозиториев выглядит одинаково:
sudo apt -y install postgresql
Настройка PostgreSQL в Ubuntu 20.04
После установки СУБД откройте терминал и переключитесь на пользователя postgres с помощью команды:
sudo -i -u postgres
Эта учетная запись создается во время установки программы и на данный момент вы можете получить доступ к системе баз данных только с помощью нее. По умолчанию PostgreSQL использует концепцию ролей для аутентификации и авторизации.
Это очень похоже на учетные записи Unix, но программа не различает пользователей и групп, есть только роли. Сразу после установки PostgreSQL пытается связать свои роли с системными учетными записями, если для имени системной учетной записи существует роль, то пользователь может войти в консоль управления и выполнять позволенные ему действия. Таким образом, после переключения на пользователя postgres вы можете войти в консоль управления:
И посмотреть информацию о соединении:
Чтобы выйти наберите:
Теперь рассмотрим, как создать другие роли и базы данных.
Создание роли postgresql
Вы уже можете полноценно работать с базой данных с помощью учетной записи postgres, но давайте создадим дополнительную роль. Учетная запись postgres является администратором, поэтому имеет доступ к функциям управления. Для создания пользователя выполните команду:
Скрипт задаст лишь два вопроса, имя новой роли и нужно ли делать ее суперпользователем.
Создание базы данных
Точно также как имена ролей сопоставляются с системными пользователями, имя базы данных будет подбираться по имени пользователя. Например, если мы создали пользователя alex, то по умолчанию система попытается получить доступ к базе данных alex. Мы можем ее очень просто создать:
Дальше, чтобы подключиться к этой базе данных нам нужно войти от имени одноименного пользователя:
Заходим в консоль и смотрим информацию о подключении:
Все верно сработало. Мы подключились с помощью роли alex к базе alex. Если нужно указать другую базу данных, вы можете сделать это с помощью опции -d, например:
psql -d postgres
Все сработало верно, при условии, что все компоненты были настроены как описано выше.
Создание таблиц
Теперь, когда вы знаете, как подключится к базе данных PostgreSQL, давайте рассмотрим, как выполняются основные задачи. Сначала разберем создание таблиц для хранения некоторых данных. Для создания таблицы PostgreSQLиспользуется такой синтаксис:
CREATE TABLE имя_таблицы (имя_колонки1 тип_колонки (длина) ограничения, имя_колонки2 тип_колонки (длина), имя_колонки3 тип_колонки (длина));
Как видите, сначала мы задаем имя таблицы, затем описываем каждый столбец. Столбец должен иметь имя, тип и размер, также можно задать ограничения для данных, которые там будут содержаться. Например:
CREATE TABLE playground (equip_id serial PRIMARY KEY, type varchar (50) NOT NULL, color varchar (25) NOT NULL, location varchar(25) check (location in (‘north’, ‘south’, ‘west’, ‘east’, ‘northeast’, ‘southeast’, ‘southwest’, ‘northwest’)), install_date date );
Мы создали таблицу детской площадки для описания оборудования, которое на ней есть. Сначала идет идентификатор equip_id, который имеет тип serial, это значит, что его значение будет автоматически увеличиваться, ключ primary key значит, что значения должны быть уникальны.
Следующие колонки — обычные строки, для них мы задаем длину поля, они не могут быть пустыми (NOT NULL). Следующий столбец тоже строка, но она может содержать только одно из указанных значений, последний столбец — дата создания.
Вы можете вывести все таблицы, выполнив команду:
Здесь мы видим, что кроме нашей таблицы, существует еще одна переменная -playground_equip_id_seq. В ней содержится последнее значение этого поля. Если нужно вывести только таблицы, выполните:
Выводы
Теперь установка Postgresql в Ubuntu 20.04 завершена, и вы прошли краткий экскурс в синтаксис PgSQL, который очень похож на привычный нам MySQL, но имеет некоторые отличия. Если у вас остались вопросы, спрашивайте в комментариях!
Источник