Как установить postgresql на ubuntu 18.04

Create a New Role

Currently, we just have the role configured within the database. We can create new roles from the command line with the command. The flag will prompt you for the necessary values.

If you are logged in as the account, you can create a new user by typing:

If, instead, you prefer to use for each command without switching from your normal account, you can type:

The script will prompt you with some choices and, based on your responses, execute the correct Postgres commands to create a user to your specifications.

You can get more control by passing some additional flags. Check out the options by looking at the page:

Создание резервной копии и восстановление из бэкапа

Для создания резервной копии базы данных используется сложная команда:

pg_dump -h хост -U имя_роли -F формат_дампа -f путь_к_дампу имя_БД

Чтобы было проще разобраться, рассмотрим каждый параметр:

  • хост – сервер, на котором располагается БД. Например, можно указать localhost, домен, IP-адрес.
  • имя_роли – имя пользователя PostgreSQL, под которым мы работаем с базой данных.
  • формат_дампа – формат, в котором дамп сохранится на сервере. Доступны следующие форматы: c (custom) – архив .tar.gz, t (tar) – архив .tar, p (plain) – текст без сжатия, обычно .sql.
  • путь_к_дампу – путь, по которому будет сохранена резервная копия.
  • имя_БД – название БД, для которой будет создана резервная копия.

Выглядит это примерно так:

pg_dump -h localhost -U mybase -F c -f /home/user/backups/dump.tar.gz mybase

Для выполнения этой команды нужно ввести пароль, который используется при входе в psql от имени указанной роли (mybase в приведенном примере).

Восстановление из резервной копии выполняется аналогичным образом: 

pg_restore -h хост -U имя_роли -F формат_дампа -d имя_базы путь_к_дампу

Параметры похожие, отличия минимальные

Важно знать хост, помнить формат и путь к бэкапу

Мы разобрались с основными действиями и настройками PostgreSQL. На этом все! 

Шаг 3 — Создание новой роли

К настоящему моменту у вас есть только роль postgres, настроенная внутри базы данных. Вы можете создавать новые роли из командной строки с командой . Флаг будет запрашивать имя новой роли, а также попросит указать, будут ли у этой роли права суперпользователя.

Если вы выполнили вход в учетную запись postgres, то можете создать нового пользователя с помощью следующей команды:

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

Скрипт будет предлагать варианты на выбор и, исходя из ваших ответов, выполнять нужные команды Postgres для создания пользователя в соответствии с вашими спецификациями.

Вы можете получить дополнительный контроль с помощью дополнительных флагов. Посмотрите возможные варианты на странице :

В результате этих действий у вас будет новый пользователь, но вам предстоит еще добавить базы данных. В следующем разделе описан этот процесс.

Установка PostgreSQL для 1С

Для работы с 1С лучше всего себя зарекомендовала сборка от компании PostgreSQL Pro, поэтому будем ставить именно её. На момент написания статьи, актуальной была версия PostgreSQL 13. Версия БД для 1С отличается от дефолтного дистрибутива наличием некоторых патчей, специфичных именно для приложения 1С.

Начинаем установку postgresql в ubuntu server. Первым делом подключим репозиторий.

curl -o apt-repo-add.sh https://repo.postgrespro.ru/pg1c-13/keys/apt-repo-add.sh
sudo sh apt-repo-add.sh

Устанавливаем PostgreSQL для 1С сервера:

sudo apt-get install postgrespro-1c-13

Запускаем службу БД и убеждаемся, что всё в порядке.

sudo systemctl start postgrespro-1c-13
sudo systemctl enable postgrespro-1c-13
sudo systemctl status postgrespro-1c-13

Базовая установка сервера баз данных для 1С завершена. Переходим к небольшой настройке PostgreSQL. Нам необходимо задать пароль пользователя, под которым будет подключаться сервер 1С к БД.

sudo -u postgres /usr/bin/psql -U postgres -c "alter user postgres with password 'parol';"
postgres пользователь БД, которого будем использовать в консоли 1С
parol пароль пользователя postgres

Имеет смысл перенести хранение временной статистики базы данных с жесткого диска в оперативную память (tmpfs ). Это снизит расход ресурса ssd и немного увеличит производительность. Данное действие не костыль и не грязный хак. Подобную рекомендацию можно увидеть в документации для postgres от команды postgresql pro.

sudo mkdir /var/lib/pgpro/stats_temp
sudo chown postgres:postgres /var/lib/pgpro/stats_temp

Добавляем tmpfs  диск в /etc/fstab.

tmpfs /var/lib/pgpro/stats_temp tmpfs size=256M,uid=postgres,gid=postgres 0 0

Пробуем подмонтировать этот диск.

sudo mount /var/lib/pgpro/stats_temp

Проверяем, что получилось:

sudo df -h | grep stats_temp
tmpfs           256M     0  256M   0% /var/lib/pgpro/stats_temp

Всё в порядке, tmpfs диск подключен. Теперь надо изменить параметр в конфигурационном файле postgresql, который отвечает за настройку каталога для хранения временной статистики. Открываем файл /var/lib/pgpro/1c-13/data/postgresql.conf и вносим изменение:

stats_temp_directory = '/var/lib/pgpro/stats_temp'

Перезапускаем службу postgrespro-1c-13 для того, чтобы применить изменение.

sudo systemctl restart postgrespro-1c-13

Можно проверить директорию stats_temp, чтобы убедиться в том, что статистика теперь хранится там:

sudo ls -l /var/lib/pgpro/stats_temp
total 12
-rw------- 1 postgres postgres 1244 сен  8 12:24 db_0.stat
-rw------- 1 postgres postgres 2129 сен  8 12:24 db_13416.stat
-rw------- 1 postgres postgres 1151 сен  8 12:24 global.stat

На этом настройка PostgreSQL для работы с 1С завершена. Можно переходить к созданию баз и тестирования всей связки.

Шаг 2: Использование ролей и баз данных

По умолчанию PostgreSQL использует концепцию ролей (role) для процедур аутентификации и авторизации. Роли в чем-то похожи на стандартные Unix-аккаунты, но отличие заключается в том, что PostgreSQL не выделяет пользователей и группы по отдельности, а вместо них использует более гибкий термин – «роль».

После установки СУБД настроена на использование идентичной (ident) аутентификации: роли PostgreSQL будут связаны с такими же аккаунтами в системах Unix/Linux. Если роль существует в PostgreSQL, то пользователь Unix/Linux с таким же именем сможет авторизоваться в СУБД под этой ролью.

Во время установки будет создан аккаунт postgres, который будет ассоциироваться с ролью PostgreSQL по умолчанию. Под ним нужно авторизоваться для того, чтобы начать работу с PostgreSQL.

Есть несколько способов получить доступ к PostgreSQL через этот аккаунт.

Во-первых, вы можете переключиться на этот аккаунт:

$ sudo -i -u postgres

А дальше перейти в консоль PostgreSQL:

$ psql

Для того чтобы выйти из нее, надо ввести:

\q

И тогда вы вернетесь в консоль Linux.

Во-вторых, можно выполнить нужную команду от аккаунта postgres без переключения аккаунтов, т.е. с использованием sudo.

Например, попасть в консоль PostgreSQL можно всего одной командой:

$ sudo -u postgres psql

Теперь перейдем к работе с ролями, так как зачастую для работы с PostgreSQL требуется больше одной роли.

Запуск командной строки Postgres с новой ролью

Для использования идентичной аутентификации (ident authentication) вам необходимо иметь пользователя Linux с тем же именем, что и имя роли и базы данных Postgres.

Если у вас нет такого пользователя, вы можете создать его с помощью команды . Для этого вам потребуется аккаунт с привилегиями (вы не сможете использовать для этого пользователя ):

После создания пользователя вы можете сменить пользователя и зайти в Postgres командами:

Или вы можете сделать это следующим образом:

Вы автоматически войдёте в Postgres, если все компоненты были сконфигурированы правильным образом (как описано выше).

Если вы хотите войти в другую базу данных, вы можете указать имя базы данных в явном виде:

После осуществления входа вы можете проверить информацию о текущем подключении командой:

Эта информация может быть полезна при подключении к базам данных и с использованием пользователей, отличных от созданных по умолчанию.

How To Add and Delete Columns from a Table

If we want to modify a table after it has been created to add an additional column, we can do that easily.

We can add a column to show the last maintenance visit for each piece of equipment by typing:

<pre>
ALTER TABLE playground ADD last_maint date;
</pre>

If you view your table information again, you will see the new column has been added (but no data has been entered):

equip_id type color location install_date last_maint
2 swing yellow northwest 2010-08-16

We can delete a column just as easily. If we find that our work crew uses a separate tool to keep track of maintenance history, we can get rid of the column here by typing:

Шаг 2 — Использование ролей и баз данных в PostgreSQL

По умолчанию Postgres использует концепцию “ролей” для выполнения аутентификации и авторизации. В некоторых аспектах они напоминают обычные учетные записи в Unix, однако Postgres не делает различий между пользователями и группами и предпочитает использовать более гибкий термин “роль”.

После установки Postgres настроена на использование аутентификации ident, что значит, что выполняется привязка ролей Postgres с соответствующей системной учетной записью Unix/Linux. Если роль существует внутри Postgres, пользователь Unix/Linux с тем же именем может выполнить вход в качестве этой роли.

В ходе установки была создана учетную запись пользователя postgres, которая связана с используемой по умолчанию ролью Postgres. Чтобы использовать Postgres, вы можете войти в эту учетную запись.

Существует несколько способов использования этой учетной записи для доступа к Postgres.

Переключение на учетную запись postgres

Вы можете переключиться на учетную запись postgres на вашем сервере с помощью следующей команды:

Теперь вы можете немедленно получить доступ к командной строке Postgres с помощью следующей команды:

В результате вы можете получить доступ к командной строке postgreSQL, а уже отсюда свободно взаимодействовать с системой управления базами данных.

Закройте командную строку PostgreSQL с помощью следующей команды:

В результате вы вернетесь в командную строку в Linux.

Доступ к командной строке Postgres без переключения учетных записей

Также вы можете запустить необходимую вам команду с учетной записью напрямую с помощью sudo.

Например, в последнем примере от вас требовалось перейти в командную строку Postgres с помощью переключения на пользователя postgres и последующего запуска , чтобы открыть командную строку Postgres. Вы можете сделать это в один прием с помощью отдельной команды , используя пользователя postgres с следующим образом:

Это позволит выполнить вход в Postgres без необходимости использования промежуточной командной строки .

Вы снова сможете выйти из интерактивной сессии Postgres с помощью следующей команды:

Многие варианты использования требуют использования сразу нескольких ролей Postgres. Ниже вы узнаете, как выполнить настройку в таких случаях.

Как добавлять и удалять столбцы из таблицы

При необходимости мы можем легко добавить дополнительные столбцы и после создания таблицы.

Для примера добавим в нашу таблицу столбец, содержащий информацию о дате последнего осмотра единицы инвентаря детской площадки:

Теперь если мы выведем содержимое таблицы, мы увидим, что новый столбец был добавлен (но существующие записи не содержат никаких значений в этом столбце):

Мы также легко можем и удалять столбцы. Например, если наш ремонтный отдел использует отдельный инструмент для отслеживания истории технического обслуживания инвентаря нашей площадки, мы можем удалить созданный ранее столбец следующим образом:

Создание новой роли

На данный момент у нас есть всего одна роль . Мы можем создавать новые роли используя команду из командной строки. Флаг позволит сделать это в интерактивном режиме, когда система будет запрашивать необходимые значения у вас.

Если вы осуществили вход с помощью аккаунта , вы можете создать нового пользователя напечатав команду:

Если вы предпочитаете использовать перед вашими командами и не переключаться между пользователями, вы можете сделать это следующим образом:

Этот скрипт задаст вам несколько вопросов, и, в зависимости от ваших ответов, выполнит необходимые команды Postgres для создания желаемого аккаунта пользователя.

Вы можете использовать дополнительные флаги при выполнении этой команды. Ознакомиться с полным списком флагов можно изучив страницу :

Create and Delete Tables

Now that you know how to connect to the PostgreSQL database system, we will start to go over how to complete some basic tasks.

First, let’s create a table to store some data. Let’s create a table that describes playground equipment.

The basic syntax for this command is something like this:

<pre>
CREATE TABLE <span class=“highlight”>tablename</span> (
<span class=“highlight”>columnname1</span> <span class=“highlight”>coltype</span> (<span class=“highlight”>fieldlength</span>) <span class=“highlight”>columnconstraints</span>,
<span class=“highlight”>columnname2</span> <span class=“highlight”>coltype</span> (<span class=“highlight”>fieldlength</span>),
<span class=“highlight”>columnname3</span> <span class=“highlight”>coltype</span> (<span class=“highlight”>field_length</span>)
);
</pre>

As you can see, we give the table a name, and then define the columns that we want, as well as the column type and the max length of the field data. We can also optionally add table constraints for each column.

You can learn more about how to create and manage tables in Postgres here.

For our purposes, we’re going to create a simple table like this:

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

For two of our columns, we have not given a field length. This is because some column types don’t require a set length because the length is implied by the type.

We then give columns for the equipment type and color, each of which cannot be empty. We then create a location column and create a constraint that requires the value to be one of eight possible values. The last column is a date column that records the date that we installed the equipment.

We can see our new table by typing this:

As you can see, we have our playground table, but we also have something called that is of the type . This is a representation of the “serial” type we gave our column. This keeps track of the next number in the sequence.

If you want to see just the table, you can type:

Настройка типов данных

Откройте консоль PostgreSQL для базы данных template1:

Если при попытке запустить psql на экране появится сообщение not found», попробуйте указать полный путь к этому файлу в подкаталоге bin; например на Mac OS X: /Library/PostgreSQL/9.1/bin/psql.

Linux:

Выполните в консоли две следующие команды:

su - postgres
psql -d template1   #open the database template1

Mac:

Под пользователем postgres выполните следующие две команды:

Sudo su - postgres
Psql -d template1

При первом запуске команды psql на OS X 10.8.X вы можете увидеть сообщение об ошибке:

dyld: Library not loaded: @loader_path/../lib/libssl.dylib
  Referenced from: /usr/lib/libpq.5.dylib
  Reason: Incompatible library version: libpq.5.dylib requires version 1.0.0 or later, but libssl.0.9.8.dylib provides version 0.9.8

Это связано с тем, как Homebrew в Mac OS X и Mountain Lion конфликтуют с определенными системными библиотеками. Решение этой проблемы заключается в том, чтобы скопировать и связать версии библиотеки. PostgreSQL упакован в /usr/lib, где библиотеки хранятся в Mountain Lion.

sudo cp /Library/PostgreSQL/9.1/lib/libssl.1.0.0.dylib /usr/lib
sudo cp /Library/PostgreSQL/9.1/lib/libcrypto.1.0.0.dylib /usr/lib
sudo ln -fs /usr/lib/libssl.1.0.0.dylib /usr/lib/libssl.dylib
sudo ln -fs /usr/lib/libcrypto.1.0.0.dylib /usr/lib/libcrypto.dylib

Еще одним решением может стать пересмотр Homebrew и проверка совместимости с Mountain Lion.

При установке PostgreSQL на Mac OS X в один клик создается ярлык для оболочки PostgreSQL в каталоге Applications / PostgreSQL 9.0 /. Нажмите SQL Shell (psql).app, чтобы открыть новое окно терминала с запущенным psql.

Из этого окна терминала можно получить доступ к базе данных template1, введя:

psql c template1

Windows:

psql запускается из командной строки (cmd) Windows. Убедитесь, что путь к папке postgres bin хранится в переменной PATH, или просто вызовите ее с полным путем к месту расположения исполняемого файла psql:

psql -d template1 -U postgres

Выполните команды консоли:

CREATE FUNCTION pg_catalog.text(integer) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int4out($1));';
CREATE CAST (integer AS text) WITH FUNCTION pg_catalog.text(integer) AS IMPLICIT;
COMMENT ON FUNCTION pg_catalog.text(integer) IS 'convert integer to text';

CREATE FUNCTION pg_catalog.text(bigint) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int8out($1));';
CREATE CAST (bigint AS text) WITH FUNCTION pg_catalog.text(bigint) AS IMPLICIT;
COMMENT ON FUNCTION pg_catalog.text(bigint) IS 'convert bigint to text';

Выгрузка баз 1С в dt из командной строки

Частенько бывает нужно сделать выгрузку базы 1С в dt файл. Это можно сделать прямо из консоли ubuntu server с помощью автономного сервера 1С. При этом даже пользователей не придётся выгонять из базы.

sudo /opt/1cv8/x86_64/8.3.19.1264/ibcmd infobase dump --db-server=localhost --dbms=postgresql --db-name=basa1 --db-user=postgres --db-pwd=parol /mnt/backup/basa1.dt

Так же через консоль можно загрузить данные в базу 1С из dt файла. К примеру, загрузим предыдущую выгрузку в новую базу — basa2:

sudo /opt/1cv8/x86_64/8.3.19.1264/ibcmd infobase create --db-server=localhost --dbms=postgresql --db-name=basa2 --db-user=postgres --db-pwd=parol --create-database --restore=/mnt/backup/basa1.dt

С помощью автономного сервера можно проверить базу 1С на ошибки. Опять же, прямо в консоли linux:

sudo /opt/1cv8/x86_64/8.3.19.1264/ibcmd infobase config check --db-server=localhost --dbms=postgresql --db-name=basa2 --db-user=postgres --db-pwd=parol

Все возможности автономного сервера можно посмотреть в руководстве администратора.

2) Install PostgreSQL on Window step by step

To install PostgreSQL on Windows, you need to have administrator privileges.

Step 1. Double click on the installer file, an installation wizard will appear and guide you through multiple steps where you can choose different options that you would like to have in PostgreSQL.

Step 2. Click the Next button

Step 3. Specify installation folder, choose your own or keep the default folder suggested by PostgreSQL installer and click the Next button

Step 4. Select software components to install:

  • The PostgreSQL Server to install the PostgreSQL database server
  • pgAdmin 4 to install the PostgreSQL database GUI management tool.
  • Command Line Tools to install command-line tools such as psql, pg_restore, etc. These tools allow you to interact with the PostgreSQL database server using the command-line interface.
  • Stack Builder provides a GUI that allows you to download and install drivers that work with PostgreSQL.

For the tutorial on this website, you don’t need to install Stack Builder so feel free to uncheck it and click the Next button to select the data directory:

Step 5. Select the database directory to store the data or accept the default folder. And click the Next button to go to the next step:

Step 6. Enter the password for the database superuser (postgres)

PostgreSQL runs as a service in the background under a service account named . If you already created a service account with the name , you need to provide the password of that account in the following window.

After entering the password, you need to retype it to confirm and click the Next button:

Step 7. Enter a port number on which the PostgreSQL database server will listen. The default port of PostgreSQL is 5432. You need to make sure that no other applications are using this port.

Step 8. Choose the default locale used by the PostgreSQL database. If you leave it as default locale, PostgreSQL will use the operating system locale. After that click the Next button.

Step 9. The setup wizard will show the summary information of PostgreSQL. You need to review it and click the Next button if everything is correct. Otherwise, you need to click the Back button to change the configuration accordingly.

Now, you’re ready to install PostgreSQL on your computer. Click the Next button to begin installing PostgreSQL.

The installation may take a few minutes to complete.

Step 10. Click the Finish button to complete the PostgreSQL installation.

Шаг 6: Добавление и удаление данных

Для добавления новой информации используется команда INSERT INTO. Можно использовать два варианта команды: короткий и длинный.

Синтаксис короткого варианта команды:

INSERT INTO название_таблицы VALUES (1, 'Milk', 9.99);

В этом случае вам нужно помнить последовательность столбцов, чтобы ввести правильное значение для каждого столбца.

Второй вариант – использовать команду с указанием столбцов:

INSERT INTO название_таблицы (product_no, name, price) VALUES (1, 'Cheese', 9.99);

INSERT INTO название_таблицы (name, price, product_no) VALUES ('Cheese', 9.99, 1);

В этом случае данные будут записаны в соответствующие указанные столбцы.

Для удаления данных используйте команду DELETE FROM. Если вы введете команду…

DELETE FROM название_таблицы WHERE название_столбца = значение;

…будут удалены все строки, в которых значение выбранного столбца равняется заданному значению.

Пример команды:

DELETE FROM products WHERE price = 10;

Тут важно помнить, что команда без указания уточняющих данных удалит все строки таблицы:

DELETE FROM products;

Создание новой базы данных

Ещё одно допущение, которое делает Postgres, заключается в том, что для каждой роли, которая была использована для входа, необходимо создать базу данных с тем же именем, что и имя роли, к которой можно будет осуществлять доступ с помощью этой роли.

Поэтому для созданного нами ранее пользователя с именем соответствующая роль будет по умолчанию пытаться соединиться с базой данных . Вы можете создать эту базу данных с помощью команды .

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

Если вы предпочитаете использовать перед вашими командами и не переключаться между пользователями, вы можете сделать это следующим образом:

Шаг 6 — Создание и удаление таблиц

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

Во-первых, создайте таблицу для хранения данных. Например, таблицу, где описано оборудование для детских площадок.

Базовый синтаксис этой команды выглядит следующим образом:

Как видите, эти команды дают таблице имя, а затем определяют столбцы, тип столбцов и максимальную длину поля данных. Кроме того, вы можете добавить ограничения таблицы для каждой колонки.

Вы можете узнать больше о том, как создавать и управлять таблицами в Postgres, здесь.

Чтобы продемонстрировать процесс, создайте простую таблицу:

Эти команды создадут таблицу с описью оборудования для установки на игровых площадках. Она начинается с идентификатора оборудования, который имеет тип . Это тип данных представляет собой целое число с автоматическим инкрементированием. Вы также указали для этого столбца ограничение в виде , что означает, что значения должны быть уникальными и не равны null.

Для двух из столбцов ( и ) команды не указали длину поля. Это объясняется тем, что некоторые типы столбцов не требуют указания длины, поскольку длина подразумевается в зависимости от типа значения.

Следующие две команды создают столбцы и оборудования соответственно, каждый из которых не может быть пустым. После этого команда создает столбец и ограничение, требующее, чтобы значение было одним из восьми возможных вариантов. Последняя команда создает столбец даты, которая указывает дату установки оборудования.

Вы можете просмотреть вашу новую таблицу, введя следующую команду:

Ваша таблица игрового оборудования готова, но здесь есть что-то под названием с типом данных . Это представление типа который присвоен столбцу Оно отслеживает следующий номер последовательности и создается автоматически для столбцов данного типа.

Если вы хотите только просмотреть таблицу без последовательности, можете ввести следующую команду:

Create a New Role

From the Linux account, you have the ability to log into the database system. However, we’re also going to demonstrate how to create additional roles. The Linux account, being associated with the Postgres administrative role, has access to some utilities to create users and databases.

We can create a new role by typing:

This basically is an interactive shell script that calls the correct Postgres commands to create a user to your specifications. It will only ask you two questions: the name of the role and whether it should be a superuser. You can get more control by passing some additional flags. Check out the options by looking at the page:

Установить PostgreSQL

Мы установим PostgreSQL через менеджер пакетов . Есть несколько пакеты, которые нам нужны, поскольку мы хотим запускать PostgreSQL и использовать psycopg2 драйвер с нашими программами Python. PostgreSQL также будет установлен как системный сервис, чтобы мы могли запускать, останавливать и перезагружать его конфигурацию, когда необходимо с помощью команды . Откройте терминал и запустите:

sudo apt-get install postgresql libpq-dev postgresql-client postgresql-client-common

Введите свой пароль , когда будет предложено, и введите “да”, когда спросит. если вы хотите установить новые пакеты.

Через несколько секунд завершит загрузку, установку и обработка.

Теперь у нас установлен PostgreSQL и запущена служба PostgreSQL. на заднем фоне. Однако нам нужно создать пользователя и экземпляр базы данных. чтобы действительно начать его использовать. Используйте команду , чтобы переключиться на новый аккаунт “postgres”.

sudo -i -u postgres

В учетной записи “postgres” создайте пользователя из командной строки с команда. PostgreSQL подскажет вам несколько вопросов. Ответьте «n» суперпользователю и «y» на остальные вопросы.

createuser matt -P --interactive

Замечательно, теперь у нас есть пользователь PostgreSQL, который соответствует нашему логину в Ubuntu Счет. Выйдите из учетной записи postgres, нажав клавишу «Ctrl» вместе с “d” в оболочку. Мы снова в нашей собственной учетной записи.

Создайте новую базу данных, которую мы можем использовать для тестирования. Вы можете назвать это “testpython” или все, что вы хотите для своего приложения.

createdb testpython

Теперь мы можем взаимодействовать с testpython через инструмент командной строки PostgreSQL.

Установка psycopg2

Теперь, когда PostgreSQL установлен и у нас есть учетная запись без суперпользователя, мы можно установить пакет psycopg2 . Давайте выяснить, где находится исполняемый файл , создать виртуальный с помощью активируйте virtualenv, а затем установите пакет psycopg2 с помощью . Найдите исполняемый файл с помощью команды .

which python3

Мы увидим результат, как на этом скриншоте.

Создайте новый virtualenv либо в своем домашнем каталоге, либо где угодно храните свои виртуальные файлы Python. Укажите полный путь к вашему установка.

# specify the system python3 installation
virtualenv --python=/usr/bin/python3 venvs/postgrestest

Активируйте virtualenv.

source ~/venvs/postgrestest/bin/activate

Затем мы можем установить пакет Python psycopg2 из PyPI с помощью команды .

pip install psycopg2

Отлично, у нас в virtualenv установлен драйвер PostgreSQL! Мы можем Теперь проверьте установку, написав несколько строк кода Python.

Шаг 8 — Добавление и удаление столбцов таблицы

После создания таблицы вы можете изменить ее, добавив или удалив столбцы. Добавьте столбец для отображения даты последнего технического обслуживания для каждого элемента оборудования, введя следующую команду:

Если вы снова просмотрите данные таблицы, то увидите, что новый столбец был добавлен, но в него не были введены данные:

Если вы обнаружите, что ваша команда использует отдельный инструмент для отслеживания истории обслуживания, то можете удалить столбец, введя следующую команду:

Эта команда удаляет столбец и любые значения внутри него, но оставляет все другие данные нетронутыми.

Шаг 3 — Создание новой роли

К настоящему моменту у вас есть только роль postgres, настроенная внутри базы данных. Вы можете создавать новые роли из командной строки с командой . Флаг будет запрашивать имя новой роли, а также попросит указать, будут ли у этой роли права superuser.

Если вы выполнили вход в учетную запись postgres, то можете создать нового пользователя с помощью следующей команды:

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

Скрипт будет предлагать варианты на выбор и, исходя из ваших ответов, выполнять нужные команды Postgres для создания пользователя в соответствии с вашими спецификациями.

Вы можете получить дополнительный контроль с помощью дополнительных флагов. Посмотрите возможные варианты на странице :

В результате этих действий у вас будет новый пользователь, но вам предстоит еще добавить базы данных. В следующем разделе описан этот процесс.

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:

Шаг 3: создание новой роли

Сейчас у вас есть роль postgres, настроенная внутри базы данных. Новые роли можно создавать в командной строке при помощи команды createrole. Использование ключа —interactive позволит вводить необходимые для системы значения.

Если вы авторизованы под аккаунтом postgres, введите следующую команду для того, чтобы создать нового пользователя:

$ createuser --interactive

Также можно использовать sudo, если вы не хотите переключаться со своего стандартного аккаунта. В этом случае нужно ввести:

$ sudo -u postgres createuser --interactive

После этого скрипт уточнит у вас некоторые данные, и в зависимости от того, что вы ответите, создаст требуемого пользователя.

Enter name of role to add: tommy

Shall the new role be a superuser? (y/n) y

Существует несколько ключей, которые можно использовать с командой создания роли. Чтобы посмотреть их, наберите:

$ man createuser
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector