Установка и использование postgresql на ubuntu 18.04
Содержание:
- Как добавлять и удалять столбцы из таблицы
- Step 2 — Using PostgreSQL Roles and Databases
- Создайте пользователя csadmin
- Шаг 8 — Добавление и удаление столбцов таблицы
- Удаление
- Connect to the PostgreSQL database server via psql
- Роли и методы аутентификации PostgreSQL
- Шаг 6 — Создание и удаление таблиц
- Шаг 5 — Открытие командной строки Postgres с новой ролью
- Создание кластера БД
- Пароль
- Шаг 2 — Использование ролей и баз данных в PostgreSQL
- Как подключить PostgreSQL к Django
- Quickstart
- Веб-публикации
- Создание и удаление таблиц
- Миграция базы на PostgreSQL
- Шаг 7 — Добавление, запрос и удаление данных в таблице
- Создание новой роли
- Add, Query, and Delete Data in a Table
- Load the sample database
- Конфигурационный файл postgresql.conf
- 5: Аутентификация новой роли PostgreSQL
- Using PostgreSQL Roles and Databases
Как добавлять и удалять столбцы из таблицы
При необходимости мы можем легко добавить дополнительные столбцы и после создания таблицы.
Для примера добавим в нашу таблицу столбец, содержащий информацию о дате последнего осмотра единицы инвентаря детской площадки:
Теперь если мы выведем содержимое таблицы, мы увидим, что новый столбец был добавлен (но существующие записи не содержат никаких значений в этом столбце):
Мы также легко можем и удалять столбцы. Например, если наш ремонтный отдел использует отдельный инструмент для отслеживания истории технического обслуживания инвентаря нашей площадки, мы можем удалить созданный ранее столбец следующим образом:
Step 2 — Using PostgreSQL Roles and Databases
By default, Postgres uses a concept called “roles” to handle authentication and authorization. These are, in some ways, similar to regular Unix-style users and groups.
Upon installation, Postgres is set up to use ident authentication, meaning that it associates Postgres roles with a matching Unix/Linux system account. If a role exists within Postgres, a Unix/Linux username with the same name is able to sign in as that role.
The installation procedure created a user account called postgres that is associated with the default Postgres role. There are a few ways to utilize this account to access Postgres. One way is to switch over to the postgres account on your server by typing:
Then you can access the Postgres prompt by typing:
This will log you into the PostgreSQL prompt, and from here you are free to interact with the database management system right away.
To exit out of the PostgreSQL prompt, run the following:
This will bring you back to the postgres Linux command prompt. To return to your regular system user, run the command:
Another way to connect to the Postgres prompt is to run the command as the postgres account directly with :
This will log you directly into Postgres without the intermediary shell in between.
Again, you can exit the interactive Postgres session by typing:
Создайте пользователя csadmin
Для PostgreSQL установки и настройки в командной строке psql (заканчивающейся на #) переключитесь с базы данных template1 на postgres, введя следующее:
c postgres
Введите следующую команду, чтобы создать пользователя csadmin с соответствующими привилегиями. Не забудьте заменить пароль replacemewithyourpassword в приведенном ниже примере на пароль по вашему выбору.
CREATE ROLE csadmin LOGIN PASSWORD ‘replacemewithyourpassword’ SUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
В результате вы должны увидеть сообщение, подобное этому: CREATE ROLE.
Закройте программу psql, введя q (или нажав Ctrl + d).
Теперь перезапустите сервер PostgreSQL еще раз (как описано выше).
Шаг 8 — Добавление и удаление столбцов таблицы
После создания таблицы ее легко можно изменить, добавляя или удаляя столбцы. Добавьте столбец для отображения даты последнего технического обслуживания для каждого элемента оборудования, введя следующую команду:
Если вы снова просмотрите данные таблицы, то увидите, что новый столбец был добавлен (но не было добавлено данных):
Удаление столбца является таким же простым. Если вы обнаружите, что ваша команда использует отдельный инструмент для отслеживания истории обслуживания, то можете удалить столбец, введя следующую команду:
Эта команда удаляет столбец и любые значения внутри него, но оставляет все другие данные нетронутыми.
Удаление
Если вам нужно удалить PostgreSQL, то вы можете запустить деинсталлятор, который создаётся в любое время в процессе установки
Обратите внимание, что деинсталлятор никогда не приведёт к удалению каталога с вашими данными или учётной записи службы «postgres». Вы можете найти деинсталлятор в каталоге куда был установлен сервер PostgreSQL и можете запускать деинсталлятор также как вы запускали программу установки
Здесь, как правило, не требуются параметры-ключи в командной строке. В Windows вы можете также запустить программу удаления через «Установка/Удаление программ» из апплета панели управления.
Connect to the PostgreSQL database server via psql
In PostgreSQL, a user account is referred to as a role. By default, PostgreSQL uses ident authentication.
It means that PostgreSQL will associate its roles with the system accounts of Linux. If a role exists in PostgreSQL, the same Linux user account with the same name is able to log in as that role.
When you installed PostgreSQL, the installation process created a user account called associated with the default role.
To connect to PostgreSQL using the role, you switch over to the account on your server by typing:
It’ll prompt for the password of the current user. You need to provide the password and hit the keyboard.
Then, you can access the PostgreSQL using the by typing the following command:
You’ll access the postgres prompt like this:
From here, you can interact with the PostgreSQL like issuing a query.
To quit the PostgreSQL prompt, you run the following command:
This above command will bring you back to the postgres Linux command prompt.
To return to your regular system user, you execute the command like this:
Роли и методы аутентификации PostgreSQL
Разрешения на доступ к базе данных в PostgreSQL обрабатываются с помощью концепции ролей. Роль может представлять пользователя базы данных или группу пользователей базы данных.
- Доверие — роль может подключаться без пароля, если выполняются условия, определенные в .
- Пароль — роль может подключиться, указав пароль. Пароли могут быть сохранены как , и (открытый текст).
- Ident — поддерживается только для соединений TCP / IP. Он работает путем получения имени пользователя операционной системы клиента с дополнительным отображением имени пользователя.
- Peer — То же, что и Ident, но поддерживается только для локальных подключений.
Аутентификация клиента PostgreSQL определяется в файле конфигурации с именем . По умолчанию PostgreSQL использует метод одноранговой аутентификации для локальных подключений.
Пользователь создается автоматически при установке PostgreSQL. Этот пользователь является суперпользователем для экземпляра PostgreSQL и эквивалентен пользователю root MySQL.
Чтобы войти на сервер PostgreSQL в качестве пользователя , сначала переключитесь на пользователя, а затем войдите в командную строку PostgreSQL с помощью утилиты :
Отсюда вы можете взаимодействовать со своим экземпляром PostgreSQL. Чтобы выйти из оболочки PostgreSQL, введите:
Другой способ получить доступ к приглашению PostgreSQL без переключения пользователей — использовать команду :
Как правило, вы должны входить на сервер базы данных как только с локального хоста.
Шаг 6 — Создание и удаление таблиц
Теперь, когда вы уже знаете, как подключиться к системе управления базами данных PostgreSQL, можно переходить к знакомству с основными задачами по управлению, которые решает Postgres.
Во-первых, создайте таблицу для хранения данных. Например, таблицу, где описано оборудование для детских площадок.
Базовый синтаксис этой команды выглядит следующим образом:
Как видите, эти команды дают таблице имя, а затем определяют столбцы, тип столбцов и максимальную длину поля данных. Кроме того, вы можете добавить ограничения таблицы для каждой колонки.
Вы можете узнать больше о том, как создавать и управлять таблицами в Postgres, здесь.
Чтобы продемонстрировать процесс, создайте простую таблицу:
Эти команды создадут таблицу с описью оборудования для установки на игровых площадках. Она начинается с идентификатора оборудования, который имеет тип . Это тип данных представляет собой целое число с автоматическим инкрементированием. Вы также указали для этого столбца ограничение в виде , что означает, что значения должны быть уникальными и не равны null.
Для двух из столбцов ( и ) команды не указали длину поля. Это объясняется тем, что некоторые типы столбцов не требуют указания длины, поскольку длина подразумевается в зависимости от типа значения.
Следующие две команды создают столбцы и оборудования соответственно, каждый из которых не может быть пустым. После этого команда создает столбец и ограничение, требующее, чтобы значение было одним из восьми возможных вариантов. Последняя команда создает столбец даты, которая указывает дату установки оборудования.
Вы можете просмотреть вашу новую таблицу, введя следующую команду:
Ваша таблица игрового оборудования готова, но здесь есть что-то под названием с типом данных . Это представление типа который присвоен столбцу Оно отслеживает следующий номер последовательности и создается автоматически для столбцов данного типа.
Если вы хотите только просмотреть таблицу без последовательности, можете ввести следующую команду:
Шаг 5 — Открытие командной строки Postgres с новой ролью
Чтобы выполнить аутентификацию с помощью , вам потребуется пользователь Linux с тем же именем, что и имя роли и базы данных в Postgres.
Если у вас нет соответствующего пользователя Linux, то вы можете создать его с помощью команды . Вы должны воспользоваться учетной записью без прав root с привилегиями (т. е. не выполняя вход в качестве пользователя postgres):
Когда новая учетная запись будет доступна, вы можете переключиться и подключиться к базе данных следующим образом:
Либо же вы можете сделать следующее:
Эта команда позволит выполнить вход автоматически, полагая, что все компоненты были настроены должным образом.
Если вы хотите, чтобы ваш пользователь подключился к другой базе данных, то вы можете сделать это с помощью следующей команды:
После входа вы можете проверить данные о текущем подключении:
Это полезно, если вы подключены к нестандартным базам данных или используете нестандартных пользователей.
Создание кластера БД
Дальнейшие действия нужно проделывать под пользователем postgres
# su - postgres
Инициализируем кластер баз данных:
postgres@s-pg13:~$ initdb -k
Опцию -k мы использовали, чтобы включить подсчет контрольной суммы страниц, что позволяет своевременно обнаружить повреждение данных. Остальные опции можете посмотреть тут!
После инициализации кластера у нас заполнился каталог PGDATA:
postgres@s-pg13:~$ ls /usr/local/pgsql/data/ base pg_commit_ts pg_hba.conf pg_logical pg_notify pg_serial pg_stat pg_subtrans pg_twophase pg_wal postgresql.auto.conf global pg_dynshmem pg_ident.conf pg_multixact pg_replslot pg_snapshots pg_stat_tmp pg_tblspc PG_VERSION pg_xact postgresql.conf
В этом каталоге лежат конфигурационные файлы кластера, и в подкаталоге base лежат базы данных. Но о содержимом этого каталога мы поговорим позже.
Пароль
Введите и подтвердите пароль, который будет использоваться для учётной записи суперпользователя (postgres) в базе данных кластера. (примеч: PostgreSQL в Windows работает не от администратора, а от имени учётной записи пользователя, имя которого «postgres». Сделано это было прежде всего из соображений безопасности, чтобы никакие вредители системы не смогли получить права администратора, даже если они каким-то образом найдут уязвимость в безопасности самого PostgreSQL. Далее. В самой СУБД PostgreSQL есть такой специальный пользователь — суперпользователь, который имеет максимальные права внутри СУБД PostgreSQL, т.н. может создавать или удалять любые базы данных и любых пользователей. Этот суперпользователь тоже имеет имя пользователя «postgres». Но, несмотря на то, что имена пользователей учётной записи в Windows и суперпользователя PostgreSQL абсолютно одинаковы — это абсолютно разные пользователи, абсолютно никаким образом не связанные друг с другом. Но для того, чтобы вы потом не путались с разными паролями, вам предлагают задать один и тот же пароль для них ОБОИХ.) В Windows, этот пароль также используется для учётной записи службы «postgres» и должен соответствовать текущему паролю в том случае, если учётная запись суперпользователя уже существует. (примеч: Если учётная запись службы уже существует в Windows, вы должны ввести текущий пароль этой учётной записи. Если данная учётная запись не существует, она будет создана.) Вы можете изменить пароль суперпользователя независимо от пароля учётной записи службы «postgres» в любое время после установки
Обратите внимание, что эта страница не будет показана на Linux или Mac, если вы повторно используете существующий каталог с данными.
Шаг 2 — Использование ролей и баз данных в PostgreSQL
По умолчанию Postgres использует концепцию «ролей» для выполнения аутентификации и авторизации. В некоторых аспектах они аналогичны обычным пользователям и группам в Unix.
После установки Postgres настроена на использование аутентификации ident, что значит, что выполняется привязка ролей Postgres с соответствующей системной учетной записью Unix/Linux. Если роль существует внутри Postgres, пользователь Unix/Linux с тем же именем может выполнить вход в качестве этой роли.
В ходе установки была создана учетную запись пользователя postgres, которая связана с используемой по умолчанию ролью postgres. Существует несколько способов использования этой учетной записи для доступа к Postgres. Один из способов — переход к учетной записи postgres на вашем сервере с помощью следующей команды:
Затем вы можете получить доступ к командной строке Postgres с помощью команды:
В результате вы можете получить доступ к командной строке PostgreSQL, а уже отсюда свободно взаимодействовать с системой управления базами данных.
Для выхода из командной строки PostgreSQL выполните следующую команду:
В результате вы вернетесь в командную строку в Linux.
Также вы можете запустить необходимую вам команду с учетной записью postgres напрямую с помощью :
Это позволит выполнить вход в Postgres без необходимости использования промежуточной командной строки .
Вы снова сможете выйти из интерактивного сеанса Postgres с помощью следующей команды:
Как подключить PostgreSQL к Django
Django — это фреймворк, который используется для создания приложений на языке программирования Python. По умолчанию в Django используется база данных SQLite. В этом руководстве мы покажем, как создать и настроить PostgreSQL для использования с Django.
По умолчанию в Django используется база данных SQLite. В этом руководстве мы покажем, как создать и настроить в Django PostgreSQL.
-
1.
.
-
2.
Обновите список пакетов:
-
3.
Добавьте пакеты веб-сервера Nginx, PostgreSQL, Python — установка начнётся автоматически:
-
4.
Подключитесь к PostgreSQL:
-
5.
Создайте базу данных для проекта на Django:
Где djangoproject — имя проекта.
-
6.
Создайте пользователя этой базы данных и укажите пароль:
Где:
djangouser — имя пользователя,
password — пароль.
-
7.
Задайте кодировку стандарта UTF-8:
-
8.
Задайте схему изоляцию транзакции:
-
9.
Установите стандарт времени UTC:
-
10.
Разрешите пользователю доступ для управления базой данных:
-
11.
Закройте консоль PostgreSQL:
-
12.
Установите утилиту virtualenv с помощью pip:
-
13.
Создайте директорию для файлов проекта:
Где djangoproject — имя директории для файлов проекта.
-
14.
Перейдите в созданную директорию:
-
15.
Создайте виртуальное окружение:
Где djangoprojectenv — имя виртуального окружения.
-
16.
Активируйте виртуальное окружение:
-
17.
Установите Django и psycopg при помощи pip:
-
18.
Создайте проект Django:
-
19.
Откройте текстовый файл с настройками проекта:
-
20.
Внесите изменения в файл. Найдите следующие строки и поставьте нужные параметры или добавьте строки, если они отсутствуют:
Где:
djangoproject — имя директории для файлов проекта,
djangouser — имя пользователя,
password — пароль.
-
21.
Сохраните и закройте файл. Нажмите сочетание клавиш Ctrl+X, а затем Y. -
22.
Перейдите в директорию с проектом:
-
23.
Перенесите исходную схему базы данных в базу данных PostgreSQL:
-
24.
Создайте административного пользователя для проекта:
-
25.
Откройте порт 8000:
-
26.
Протестируйте проект. Запустите сервер Django:
-
27.
Откройте любой веб-браузер. Перейдите по IP-адресу с указанием порта 8000:
Например:
Должна появиться стартовая страница Django:
Готово, PostgreSQL установлена и настроена в качестве базы данных для проекта Django.
Quickstart
Import the repository key from :
sudo apt install curl ca-certificates gnupg curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/apt.postgresql.org.gpg >/dev/null
Create /etc/apt/sources.list.d/pgdg.list. The distributions are called codename-pgdg. In the example, replace buster with the actual distribution you are using. File contents:
deb http://apt.postgresql.org/pub/repos/apt buster-pgdg main
(You may determine the codename of your distribution by running lsb_release -c). For a script version of the above file creation, presuming you are using a supported release:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
Finally, update the package lists, and start installing packages:
sudo apt update sudo apt install postgresql-13
sudo apt install postgresql-common sudo sh /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
Note that the shell script leaves the source package repo (deb-src) commented out; if you need source packages, you will need to modify /etc/apt/sources.list.d/pgdg.list to enable it.
Have a look at the FAQ.
Note: This repository provides «postgresql», «postgresql-contrib», and «postgresql-client» meta-packages that depend on the latest postgresql-x.y, … packages, similar to the ones present in Debian and Ubuntu. Once a new PostgreSQL version is released, these meta-packages will be updated to depend on the new version. If you rather want to stay with a particular PostgreSQL version, you should install specific packages like «postgresql-11» instead of «postgresql».
For packages of development/alpha/beta versions of PostgreSQL, see the .
Веб-публикации
Сервер 1С поддерживает возможность веб-публикаций баз 1С. Это дает возможность открывать программу в браузере или мобильном приложении. В Linux данные публикации осуществляются с помощью Apache.
Установка и запуск Apache
Первым делом, устанавливаем веб-сервер apache:
apt-get install apache2
Разрешаем автозапуск веб-сервера и стартуем сам сервис:
systemctl enable apache2
systemctl start apache2
Открываем браузер и переходим по адресу http://<IP-адрес сервера 1С> — мы должны увидеть стартовую страницу Apache:
Публикация 1С на веб-сервере
Публикация базы выполняется с помощью скрипта webinst, который устанавливается с сервером. Для простоты, мы опубликуем базу в корневую директорию /var/www/html, но при желании, можно настроить виртуальные домены.
И так, создадим каталог, в который опубликуем нашу базу:
mkdir /var/www/html/test
Переходим в каталог с установленным 1С:
cd /opt/1C/v8.3/x86_64/
… или:
cd /opt/1cv8/x86_64/8.3.16.1148/
* где 8.3.16.1148 — версия установленной платформы.
Заускаем скрипт для публикации базы:
./webinst -apache24 -wsdir test -dir /var/www/html/test -connstr «Srvr=192.168.1.11;Ref=test;» -confPath /etc/apache2/apache2.conf
* где apache24 — версия установленного apache; test — имя нашей базы, которую мы создали ранее; /var/www/html/test — путь до каталога на сервере, в котором будет опубликована база; 192.168.1.11 — IP-адрес сервера 1С; Ref=test — имя базы в СУБД; /etc/apache2/apache2.conf — путь до конфигурационного файла apache.
Мы должны увидеть:
Publication successful
… или:
Публикация выполнена
Перезапускаем апач:
systemctl restart apache2
Открываем браузер и переходим по адресу http://<IP-адрес сервера 1С>/test/, где test — каталог в каталоге /var/www/html, куда мы опубликовали базу.
Создание и удаление таблиц
Попробуйте создать таблицу для хранения данных; для примера таблица может описывать оборудование детской площадки. Синтаксис этой команды выглядит так:
Как видите, для таблицы нужно выбрать имя, определить столбцы, тип столбцов и максимальную длину поля. Опционально можно также установить ограничения для каждого столбца.
Для примера создайте тестовую таблицу:
Данная таблица описывает всё оборудование. Таблица начинается со столбца ID, который указывает порядковый номер записи. Этот столбец был ограничен по PRIMARY KEY, что значит, что значения должны быть уникальными и не должны быть нулём.
Длина поля столбцов equip_id и install_date не ограничена; дело в том, что задавать длину некоторых столбцов необязательно, так как она автоматически задаётся типом данных.
Столбцы type и color не могут быть пустыми. Столбец location ограничен восемью возможными значениями. Столбец date указывает дату установки оборудования.
Просмотреть таблицу можно при помощи команды:
playground_equip_id_seq имеет тип данных sequence. Это представление типа данных serial, установленного для столбца equip_id. Этот тип определяет следующий номер в последовательности.
Чтобы просмотреть таблицу вне этого типа данных, введите:
Миграция базы на PostgreSQL
В случае, если это не первая установка и у нас уже есть база, ее нужно перенести на новый сервер. Рассмотрим 2 варианта — база была на другом сервере PostgreSQL и универсальный (файловый вариант или другая СУБД).
С PostgreSQL на PostgreSQL
В данном случае процесс переноса заключается в создании дампа (backup) и его восстановления на новом сервере (restore). Необходимо учесть, что для корректного переноса данных, версии 1С должны совпадать.
Есть несколько инструментов по созданию резервных копий PostgreSQL и их восстановлению. Их описание выходит за рамки данной статьи — подробнее читайте инструкцию Резервное копирование PostgreSQL.
Универсальный способ миграции на PostgreSQL
Данный способ также подойдет и для миграции с PostgreSQL на PostgreSQL. Для начала, открываем нашу базу в конфигураторе на старом 1С — кликаем по Администрирование — Выгрузить информационную базу:
Выбираем путь для сохранения файла. Ждем окончания выгрузки и переносим полученный файл на компьютер с толстым клиентом 1С (если для нового сервера мы используем другой компьютер с 1С).
Открываем конфигуратор для созданной в PostgreSQL базы — кликаем Администрирование — Загрузить информационную базу:
… и выбираем выгруженный ранее файл. Дожидаемся его загрузки — система потребует перезапустить 1С — соглашаемся. Ждем новой загрузки. После можно пользоваться базой 1С на новом сервере.
Шаг 7 — Добавление, запрос и удаление данных в таблице
Вставим в таблицу данные, например, slide и swing. Для этого нужно вызвать желаемую таблицу, присвоить имена столбцам и задать данные для каждого столбца следующим образом:
Вы должны быть внимательны при вводе данных, чтобы не допустить нескольких общих проблем. Во-первых, оборачивайте в кавычки не названия столбцов, а значения в столбцах.
Еще один момент, который необходимо учитывать, состоит в том, что вы не должны указывать значения для столбца . Генерирование выполняется автоматически при добавлении в таблицу новой строки.
Получите добавленную вами информацию, введя следующую команду:
Вы можете убедиться, что столбец уже заполнен успешно, а все другие данные были организованы корректно.
Если же строка slide в таблице разрывается, вы можете удалить строку из таблицы, использовав следующую команду:
Запросите таблицу еще раз:
Обратите внимание, что строка уже не является частью таблицы
Создание новой роли
На данный момент у нас есть всего одна роль . Мы можем создавать новые роли используя команду из командной строки. Флаг позволит сделать это в интерактивном режиме, когда система будет запрашивать необходимые значения у вас.
Если вы осуществили вход с помощью аккаунта , вы можете создать нового пользователя напечатав команду:
Если вы предпочитаете использовать перед вашими командами и не переключаться между пользователями, вы можете сделать это следующим образом:
Этот скрипт задаст вам несколько вопросов, и, в зависимости от ваших ответов, выполнит необходимые команды Postgres для создания желаемого аккаунта пользователя.
Вы можете использовать дополнительные флаги при выполнении этой команды. Ознакомиться с полным списком флагов можно изучив страницу :
Add, Query, and Delete Data in a Table
Now that we have a table created, we can insert some data into it.
Let’s add a slide and a swing. We do this by calling the table we’re wanting to add to, naming the columns and then providing data for each column. Our slide and swing could be added like this:
<pre>
INSERT INTO playground (type, color, location, installdate) VALUES (‘slide’, ‘blue’, ‘south’, ‘2014-04-28’);
INSERT INTO playground (type, color, location, installdate) VALUES (‘swing’, ‘yellow’, ‘northwest’, ‘2010-08-16’);
</pre>
You should notice a few things. First, keep in mind that the column names should not be quoted, but the column values that you’re entering do need quotes.
Another thing to keep in mind is that we do not enter a value for the column. This is because this is auto-generated whenever a new row in the table is created.
We can then get back the information we’ve added by typing:
equip_id | type | color | location | install_date |
---|---|---|---|---|
1 | slide | blue | south | 2014-04-28 |
2 | swing | yellow | northwest | 2010-08-16 |
Here, you can see that our has been filled in successfully and that all of our other data has been organized correctly.
If our slide breaks and we remove it from the playground, we can also remove the row from our table by typing:
If we query our table again, we will see our slide is no longer a part of the table:
equip_id | type | color | location | install_date |
---|---|---|---|---|
2 | swing | yellow | northwest | 2010-08-16 |
Load the sample database
To load the sample database into the PostgreSQL database server, you follow these steps:
First, switch over the postgres account using the following command:
It’ll prompt you for the password of the current user. You need to type the password of the current user and press the keyboard.
Second, download the sample database using the tool:
Third, unzip the dvdrental.zip file to get the dvdrental.tar file:
Fourth, access the PostgreSQL using the tool:
Fifth, create the database using the statement:
Sixth, quit the by using the command:
Seventh, use the tool to restore the database:
Eighth, access PostgreSQL database server again using :
Ninth, switch to the database:
Now, you’re connected to the database:
Finally, enter the following command to get the number of films in the table:
Here is the output:
Congratulations! you have successfully installed PostgreSQL on Ubuntu, connect to PostgreSQL database server using psql, and load the sample database.
Конфигурационный файл postgresql.conf
Главный конфигурационный файл для кластера PostgreSQL – это postgresql.conf, в разных системах он может находится в разных местах. Так как мы собирали сервер из исходников и не меняли путь хранения этого файла, то по умолчанию он будет находится в каталоге PGDATA:
postgres@s-pg13:~$ echo $PGDATA /usr/local/pgsql/data postgres@s-pg13:~$ ls -l $PGDATA/postgresql.conf -rw------- 1 postgres postgres 28023 июн 21 15:15 /usr/local/pgsql/data/postgresql.conf
Этот конфигурационный файл читается один раз при запуске сервера. Если параметр указан несколько раз, то применяется последний.
Самый точный способ узнать расположение этого файла, посмотреть из терминала psql:
postgres@s-pg13:~$ psql Timing is on. psql (13.3) Type "help" for help. postgres@postgres=# SHOW config_file; config_file --------------------------------------- /usr/local/pgsql/data/postgresql.conf (1 row) Time: 0,391 ms
postgres@postgres=# \q postgres@s-pg13:~$ pg_ctl reload server signaled
Второй способ – из терминала psql:
postgres@s-pg13:~$ psql Timing is on. psql (13.3) Type "help" for help. postgres@postgres=# SELECT pg_reload_conf(); pg_reload_conf ---------------- t (1 row) Time: 0,555 ms
Но есть некоторые параметры, для изменения которых потребуется перезапуск сервера.
5: Аутентификация новой роли PostgreSQL
Чтобы выполнить ident аутентификацию PostgreSQL, нужно иметь пользователя системы Linux, чье имя совпадает с именем роли и БД.
Если у вас нет такого пользователя, создайте его в Linux с помощью команды adduser (для этого необходимы права sudo).
После этого можно перейти в сессию нового пользователя и подключиться к БД:
Также вы можете подключиться к БД напрямую:
Если все предыдущие настройки были выполнены правильно, команда автоматически подключится к БД.
Чтобы подключиться к другой БД, нужно указать её имя:
Чтобы получить информацию о текущем подключении, введите команду:
Это может пригодиться при подключении к нестандартным базам данных или пользователям.
Using PostgreSQL Roles and Databases
By default, Postgres uses a concept called “roles” to aid in authentication and authorization. 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”.
Upon installation Postgres is set up to use “ident” authentication, meaning that it associates Postgres roles with a matching Unix/Linux system account. If a Postgres role exists, it can be signed in by logging into the associated Linux system account.
The installation procedure created a user account called that is associated with the default Postgres role. In order to use Postgres, we’ll need to log into that account. You can do that by typing:
You will be asked for your normal user password and then will be given a shell prompt for the user.
You can get a Postgres prompt immediately by typing:
You will be auto-logged in and will be able to interact with the database management system right away.
However, we’re going to explain a little bit about how to use other roles and databases so that you have some flexibility as to which user and database you wish to work with.
Exit out of the PostgreSQL prompt by typing:
You should now be back in the Linux command prompt.