Введение
Реляционные СУБД – это важные элементы многих веб-сайтов и приложений. Они позволяют удобно и структурированно хранить, организовывать и иметь доступ к информации.
PostgreSQL (или просто Postgres) – это реляционная СУБД, которая основывается на языке SQL. Это популярное решение для многих небольших и крупных проектов, так как сочетает в себе такие преимущества, как соответствие стандартам, эффективную сериализацию транзакций и многовариантное управление параллелизмом.
Из этого руководства вы узнаете, как установить PostgreSQL на сервер Ubuntu 16.04 и затем использовать эту СУБД.
Шаг 8: обновление данных в таблице
Выше вы научились добавлять и удалять данные, но бывают случаи, когда нужно изменить уже существующие данные.
Значения уже существующих данных можно изменить следующим образом: нужно ввести название записи и столбца, а также значение, которое вы хотите использовать. В примере ниже значение “color” у всех записей “swing” будет изменено на “red”:
UPDATE playground SET color = 'red' WHERE type = 'swing';
Проверьте, что изменение было сделано:
SELECT * FROM playground;
Вывод:
equip_id | type | color | location | install_date ----------+-------+-------+-----------+-------------- 2 | swing | red | northwest | 2010-08-16 (1 row)
Interactive installer by EnterpriseDB
Download the installer certified by EnterpriseDB for PostgreSQL 10.x and earlier.
Note: Installers for Linux are no longer being product for PostgreSQL 11 and later. Users are advised to use platform native packages instead.
This installer includes the PostgreSQL server, pgAdmin; a graphical tool for managing and developing your databases, and StackBuilder; a package manager that can be used to download and install additional PostgreSQL tools and drivers. Stackbuilder includes management, integration, migration, replication, geospatial, connectors and other tools.
This installer can run in graphical, command line, or silent install modes.
The installer is designed to be a straightforward, fast way to get up and running with PostgreSQL on Linux (Red Hat family Linux including CentOS/Fedora/Scientific/Oracle variants), Debian GNU/Linux and derivatives, Ubuntu Linux and derivatives, SuSE and OpenSuSE.
Advanced users can also download a tar.gz archive of the binaries, without the installer. This download is intended for users who wish to include PostgreSQL as part of another application installer.
Note: The installers do not integrate with platform-specific packaging systems.
Platform support
The installers are tested by EnterpriseDB on the following platforms. They may also work on other variations or versions:
PostgreSQL Version | 64 Bit Platforms | 32 Bit Platforms |
---|---|---|
10 | Ubuntu 14.04 LTS | Ubuntu 14.04 LTS |
9.6 | Ubuntu 14.04 LTS | Ubuntu 14.04 LTS |
9.5 | Ubuntu 14.04 LTS | Ubuntu 14.04 LTS |
9.4 | Ubuntu 14.04 LTS | Ubuntu 14.04 LTS |
Steve Jobs’ Last Words
«Being a Winner in a Free Computing OS Mission means to adopt a Commercial like Strategy. Transcending Duality in Oneness and so dispensing both Free and Non Free Software. Cause evangelizing Freedom in a Non Free World is like keeping a Trojan Horse. Hallelujah!»
The GNU+Linux Evangelist
MongoDB Install
Bash Shell Scripting
Photoshop Install
Reduce Eye Strain
Oracle DB Install
VirtualBox Install
«Taking care if somebody is liking, following, or buying is just a serious hidrance on the priceless Way of Creative Freedom.»
The GNU+Linux Evangelist
«Using the Money just for buying Stuff and Not Supporting the Free Gift Philosophy is a sign of a Selfish and Narrow Mind.»
The GNU+Linux Evangelist
Oracle DB Install
VirtualBox Install
VMware Player
VMware Workstation
Adobe Reader Install
What can Save the World from Self-destruction?
The Humble Conversion to the Spiritual Way.
Because Earth & Nature has been Ravaged by the blind wild mass race to prove that you are Someone Better because you got $ome fla$hy Power$.
The GNU+Linux Evangelist
Thanks to Google
Dear Linux User, should be nice if you can Realize how without Google Ads most of these Contents likely would Never be Written! So Thanks to Google and the Google Ads Advertisers for their Support. Moreover, I can find out easily the needed insight to make my Guides again using the Best Search Engine: Google.
VMware Player
VMware Workstation
Adobe Reader Install
Viber Install
Appcelerator Install
Google Drive Install
Credits
Everlasting Glory to God, Jesus Christ, The Holy Spirit, Ganesha, Shiva, Vishnu, Krisna, Laozi, Buddha, Bodhidharma, Ma Gcig, Hakuin, Ikkyu, Nagarjuna, Tilopa, Naropa, Milarepa, Suhrawardi, St Dismas, St Francesco, St Teresa, St John, St Filippo, Eckehart… All The Holy Divinities, Avatars, Saints, Mystics, and True Spiritual Masters. Because they are in the Eternal Light of Truth & Delight Enlightening a World of Darkness, Nescience, Blindness, Uneasiness and Falsehood!
Divine vs Devilish Nature
«The Divine Saint Dynamics is Everlasting Oneness, All the Virtues & Excellence… Purity, Spirituality, Innocence, Imperturbableness, Trusting, Guiltless, Altruist, Sharing and Emptiness.
Instead the Devilish Human one is Ephemeral Differentiation, All Lacks & Troubles… Inpurity, Spiritless, Perverse, Furious, Doubting, Inculpative, Egoist, Greedy and Monetary.»
The GNU+Linux Evangelist
Step 3 — Creating a New Role
Currently, you just have the postgres role configured within the database. You can create new roles from the command line with the command. The flag will prompt you for the name of the new role and also ask whether it should have superuser permissions.
If you are logged in as the postgres account, you can create a new user by typing:
If, instead, you prefer to use for each command without switching from your normal account, type:
The script will prompt you with some choices and, based on your responses, execute the correct Postgres commands to create a user that meets your specifications.
First, the prompt will ask you to specify a name for the new role. The following example names the role sammy but you can name yours whatever you like:
Next, you’ll be asked if the new role should be a superuser. In PostgreSQL, a superuser role has extremely broad privileges and they can bypass nearly all permission checks.
The following example specifies that the sammy role should be a superuser but, because superuser roles have a great deal of power and control over a database, you should not grant new roles superuser status lightly:
Note that you can only create new superuser roles if you are creating them as a role that is already a superuser. By default, the postgres role is a superuser.
You can get more control by passing some additional flags. Check out the options by looking at the page:
Your installation of Postgres now has a new role, but you have not yet added any databases. The next section describes this process.
Check Connection Information
If you are connected to PostgreSQL and want to see details of the connection, use the command:
The output displays information on the database name, the account you are logged in, the socket path, and port number.
Conclusion
This article should help you set up PostgreSQL. Whether you decide to install from the PostgreSQL repository or the local Ubuntu repository, both installations are simple and easy to do.
To connect to PostgreSQL and manage SQL queries check out our article on setting up and connecting PostgreSQL with SQL Workbench.
To learn more about PostgreSQL installation, make sure to read our article How to Download and Install PostgreSQL on Windows.
Step 8 — Adding and Deleting Columns from a Table
After creating a table, you can modify it to add or remove columns relatively easily. Add a column to show the last maintenance visit for each piece of equipment by typing:
The next time you view your table information again, the new column will have been added (but no data will have been entered):
To delete a column, you can enter an SQL statement very similar to the one you used to add the column. If you find that your work crew uses a separate tool to keep track of maintenance history, you can delete of the column by typing:
This deletes the column and any values found within it, but leaves all the other data intact.
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-11
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-11 | client libraries and client binaries |
---|---|
postgresql-11 | 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-11 | libraries and headers for C language backend development |
pgadmin4 | pgAdmin 4 graphical administration utility |
Резервное копирование
В клиент-серверном варианте работы 1С:Предприятие резервное копирование производится средствами СУБД. Т.к. СУБД PostgreSQL у нас теперь работает на Linux-сервере резервное копирование будет выполняться скриптами на этом сервере
Резервное копирование в PosеgreSQL выполняется утилитой . Подробная справка по синтаксису выводится командой
$ pg_dump --help
Например, что бы сделать резервную копию базы нужно выполнить такую команду
$ pg_dump -f base1c.sql.tar -F t -d base1c -h localhost -U postgres
Обратите внимание, запуск утилит резервного копирования и восстановления производится не от суперпользователя, без конструкции sudo. Файл бэкапа будет сформирован в текущем каталоге и его владельцем будет пользователь. Для восстановления базы из архива, созданного командой используется команда
Подробная справка по синтаксису
Для восстановления базы из архива, созданного командой используется команда . Подробная справка по синтаксису
$ pg_restore --help
Пример восстановления базы из бэкапа
$ pg_restore -d base1c -F t -U postgres base1c.sql.tar
Не пытайтесь восстановить бэкап в базу, подключенную к серверу 1С:Предприятие. Восстанавливать нужно в новую базу, после восстановления в консоли управления сервером 1С:Предприятие переподключить для восстанавливаемой информационной базы 1С базу данных PostgreSQL
Бэкап сохранился в домашней папке пользователя, это лучше, чем ничего, но хранить резервные копии баз данных на самом сервере баз данных слишком самоуверенно. Когда-то давно резервные копии делали на ленты стримера и увозили их куда подальше в надежное место. Сейчас для резервного копирования используются сетевые или облачные NAS хранилища, расположенные в таком надежном месте. В нашем примере копирование будет выполняться на сетевое NAS хранилище, включенное в домен под сетевым именем .
Обеспечим к нему доступ нашего пользователя. В Active Directory создадим пользователя backupuser, дадим ему права на запись в папке, где будем складывать резервные копии.
Прочим пользователям полностью запретите доступ к этой папке или оставьте права только на чтение. Так резервные копии будут целее.
Примонтируем сетевую папку, сначала создадим точку монтирования
$ sudo mkdir /mnt/nas
затем настроим автоматическое монтирование при старте системы, для чего сначала создадим файл-мандат на подключение к сетевому хранилищу
$ sudo nano /root/.smbcredintals
Прописываем в файл параметры подключения
username=backupuser password=backupuserpassword domain=domain.ru
и скроем его от посторонних глаз
$ sudo chmode 0600 /root/.smbcredintals
Пропишем подключение сетевой папки при старте системы
$ sudo nano /etc/fstab
в конец файла добавляем
//nas/backups /mnt/nas cifs credentials=/root/.smbcredentials,dir_mode=0777,file_mode=0777 0 0
и даем команду примонтировать все, что мы прописали
$ sudo mount -a
В результате в точке монтировали должна появиться папка сетевого хранилища , куда можно складывать резервные копии.
Для выполнения автоматического резервного копирования нужно создать скрипт, который будет запускаться по расписанию демоном . К счастью, писать этот скрипи самому не нужно, в сообществе PostgreSQL уже написано много таких скриптов, рекомендую использовать канонический скрипт.
Альтернативный вариант — установить Webmin — веб интерфейс для администрирования Linux-сервера, и уже с его помощью настроить резервное копирование в службе PostgreSQL
Используйте скрипт , он сохраняет резервные копии за несколько дней, автоматически удаляя старые копии.
Создайте в домашней папке пользователя файл и разместите в нем скрипт по указанной выше ссылке.
Не делайте это в Windows редакторах. Из-за различия в служебных символах, обозначающих конец строки в Windows и Linux интерпретатор скриптов bash будет выдавать ошибки.
Установите для этого файла признак исполняемости
$ chmod +x pg_backup_rotated.sh
В том же каталоге создайте файл настроек и заполните его как по указанной выше ссылке. Все настройки можно оставить по умолчанию, кроме
BACKUP_DIR=/mnt/nas/
Проверьте работоспособность, выполните команду
$ ./pg_backup_rotated.sh
Если не увидели никаких ошибок и процесс копирования пошел, то все сделано правильно, можно поставить задачу в расписание. Редактируем задания для демона
$ crontab -e
добавляем строчку с заданием
0 19 * * 1-5 /home/user/pg_backup_rotated.sh
Резервное копирование будет выполняться в 19:00 с понедельника по пятницу.
Поздравляем! Только что Вы сэкономили много тысяч рублей на лицензиях Microsoft.
Веб-публикации
Сервер 1С поддерживает возможность веб-публикаций баз 1С. Это дает возможность открывать программу в браузере или мобильном приложении. В Linux данные публикации осуществляются с помощью Apache.
Установка и запуск Apache
Первым делом, устанавливаем веб-сервер apache:
apt-get install apache2
Разрешаем автозапуск веб-сервера и стартуем сам сервис:
systemctl enable apache2
systemctl start apache2
Если на нашем сервере используется брандмауэр, применяем правило:
iptables -I INPUT -p tcp —dport 80 -j ACCEPT
netfilter-persistent save
Открываем браузер и переходим по адресу http://<IP-адрес сервера 1С> — мы должны увидеть стартовую страницу Apache:
Публикация 1С на веб-сервере
Публикация базы выполняется с помощью скрипта webinst, который устанавливается с сервером. Для простоты, мы опубликуем базу в корневую директорию /var/www/html, но при желании, можно настроить виртуальные домены.
Для удобства работы, создадим переменную с именем публикуемой базы, например:
DBNAME=test
И так, создадим каталог, в который опубликуем нашу базу:
mkdir /var/www/html/$DBNAME
Переходим в каталог с установленным 1С:
cd /opt/1C/v8.3/x86_64/
… или:
cd /opt/1cv8/x86_64/8.3.16.1148/
* где 8.3.16.1148 — версия установленной платформы.
Заускаем скрипт для публикации базы:
./webinst -apache24 -wsdir $DBNAME -dir /var/www/html/$DBNAME -connstr «Srvr=192.168.1.11;Ref=$DBNAME;» -confPath /etc/apache2/apache2.conf
* где apache24 — версия установленного apache; $DBNAME — имя нашей базы, которую мы создали ранее; /var/www/html/$DBNAME — путь до каталога на сервере, в котором будет опубликована база; 192.168.1.11 — IP-адрес сервера 1С; Ref=$DBNAME — имя базы в СУБД; /etc/apache2/apache2.conf — путь до конфигурационного файла apache.
Мы должны увидеть:
Publication successful
… или:
Публикация выполнена
Перезапускаем апач:
systemctl restart apache2
Открываем браузер и переходим по адресу http://<IP-адрес сервера 1С>/test/, где test — каталог в каталоге /var/www/html, куда мы опубликовали базу.
Создание ролей
Часто для работы с БД возникает необходимость нескольких учетных записей.
Чтобы создать нового пользователя, используется команда createuser. Для работы в интерактивном режиме применяется ключ –interactive. При этом будет запрошено имя новой роли и права суперпользователя.
После того, как выполнен вход в аккаунт под пользователем postgres, нужно создать новую роль:
createuser --interactive
Если не нужно переключать аккаунты, то предыдущую команду нужно записать так:
sudo -u postgres createuser --interactive
После этого выбирается имя новой учетной записи и задаются такие параметры, как привилегии суперпользователя, разрешение на создание БД и возможность создавать роли:
Enter name of role to add: cloud Shall the new role be a superuser? (y/n) n Shall the new role be a allowed to create databases? (y/n) y Shall the new role be a allowed to create more new roles? n
Если понадобится сделать больше настроек, то с помощью следующей команды можно просмотреть все ключи:
;lmm man createuser
#Connect to PostgreSQL database through a remote host
Your PostgreSQL server is now running and listening for external requests. It is now time to connect to your database through a remote host.
Connect via Command Line Tool
A psql command line tool also allows you to connect to a remote database. If you don’t have it on your remote machine yet, follow the steps 1 – 3 for a full PostgreSQL installation or install a command line tool only by using sudo apt install postgresql-client command.
You may now connect to a remote database by using the following command pattern:
Let’s now connect to a remote PostgreSQL database that we have hosted on one of the Cherry Servers machines.
To double check your connection details use the command.
Now you can start writing SQL queries to retrieve data from your database tables.
We can see that our previously created entry is safely stored in the “clients” table.
Шаг 6 — Создание и удаление таблиц
Теперь, когда вы уже знаете, как подключиться к системе управления базами данных PostgreSQL, можно переходить к знакомству с основными задачами по управлению, которые решает Postgres.
Во-первых, создайте таблицу для хранения данных. Например, таблицу, где описано оборудование для детских площадок.
Базовый синтаксис этой команды выглядит следующим образом:
Как видите, эти команды дают таблице имя, а затем определяют столбцы, тип столбцов и максимальную длину поля данных. Кроме того, вы можете добавить ограничения таблицы для каждой колонки.
Вы можете узнать больше о том, как создавать и управлять таблицами в Postgres, здесь.
Чтобы продемонстрировать процесс, создайте простую таблицу:
Эти команды создадут таблицу с описью оборудования для установки на игровых площадках. Она начинается с идентификатора оборудования, который имеет тип . Это тип данных представляет собой целое число с автоматическим инкрементированием. Вы также указали для этого столбца ограничение в виде , что означает, что значения должны быть уникальными и не равны null.
Для двух из столбцов ( и ) команды не указали длину поля. Это объясняется тем, что некоторые типы столбцов не требуют указания длины, поскольку длина подразумевается в зависимости от типа значения.
Следующие две команды создают столбцы и оборудования соответственно, каждый из которых не может быть пустым. После этого команда создает столбец и ограничение, требующее, чтобы значение было одним из восьми возможных вариантов. Последняя команда создает столбец даты, которая указывает дату установки оборудования.
Вы можете просмотреть вашу новую таблицу, введя следующую команду:
Ваша таблица игрового оборудования готова, но здесь есть что-то под названием с типом данных . Это представление типа который присвоен столбцу Оно отслеживает следующий номер последовательности и создается автоматически для столбцов данного типа.
Если вы хотите только просмотреть таблицу без последовательности, можете ввести следующую команду:
Шаг 2: использование ролей и баз данных PostgreSQL
По умолчанию PostgreSQL использует концепцию под названием «роли» для работы с аутентификацией и авторизацией. Это в каком-то смысле похоже на стандартные Unix аккаунты, с тем различием, что PostgreSQL не делает различий между пользователями и группами, и поэтому здесь подходит более гибкий термин «роль».
После установки СУБД PostgreSQL настроена на использование идентичной аутентификации – то есть PostgreSQL получает имя пользователя Unix/Linux системы, которое будет использоваться в качестве разрешенного имени пользователя базы данных. Иными словами, если такое имя пользователя есть у пользователя Unix/Linux системы, то он сможет авторизоваться под этой ролью в PostgreSQL.
Есть несколько способов использовать этот аккаунт для получения доступа в PostgreSQL.
Переключение на PostgreSQL аккаунт
В процессе установки был создан пользовательский аккаунт postgres, который является стандартной ролью PostgreSQL. Для того, чтобы использовать PostgreSQL, нужно авторизоваться под этим аккаунтом.
Переключитесь на аккаунт postgres на сервере:
$ sudo -i -u postgres
Теперь нужно перейти в консоль PostgreSQL:
$ psql
После входа в консоль вы сможете взаимодействовать с СУБД.
Чтобы выйти из консоли, введите:
\q
Вы вернетесь в обычную консоль Linux.
Вход в консоль PostgreSQL без переключения аккаунтов
Еще один способ, как можно выполнять команды PostgreSQL, — это при помощи sudo.
Допустим, вы хотите попасть в консоль PostgreSQL. Это можно сделать, просто введя одну команду psql от имени пользователя postgres с sudo:
$ sudo -u postgres psql
Так вы сразу будете авторизованы в PostgreSQL без необходимо заходить в оболочку bash.
Выйти можно так же при помощи команды:
\q
Установка PostgreSQL в Ubuntu
PostgreSQL доступен в репозиториях Ubuntu по умолчанию. Просто используйте команду apt для установки PostgreSQL. Наиболее распространенными установленными пакетами являются PostgreSQL server, client, pgadmin, а также библиотеки.
Для установки конкретной версии вы можете использовать PostgreSQL Apt repository.
Чтобы установка PostgreSQL Ubuntu прошла гладко, выполните следующие действия.
Во-первых, убедитесь, что ваша система находится в актуальном состоянии, выполнив следующую команду.
Установите пакет Postgres, а затем пакет — contrib, он добавит дополнительные утилиты и функциональные возможности.
После завершения установки PostgreSQL запустите службу PostgreSQL. Это можно сделать командой которая написана ниже.
Также включите автоматический запуск службы PostgreSQL при загрузке системы. Делается это командой.
Запуск и включение службы postgres
После установки вы можете проверить состояние PostgreSQL, выполнив следующую команду.
Статус службы Postgres
По умолчанию пользователь Postgres создается во время установки. Чтобы получить доступ к оболочке Postgres, сначала переключитесь на пользователя Postgres.
Теперь введите команду psql,
Выполнение команд в оболочке Postgres
Для проверки версии PostgreSQL выполните следующую команду:
или
Создание роли в PostgreSQL
Для авторизации и аутентификации Postgres использует понятие “роли”. Которое в некоторых отношениях похоже на учетные записи Unix. Во время установки Postgres настраивается таким образом, чтобы использовать аутентификацию ident. Идентификация Ident связывает роль Postgres с соответствующими системными учетными записями Linux / Unix. Только суперпользователи и юзеры с ролью «CREATEROLE” отвечают за создание новых ролей.
Чтобы создать новую роль например с именем john, введите следующую команду в оболочке PostgreSQL.
Создание базы данных в PostgreSQL
Для создания новой базы данных требуется программа PostgreSQL database shell (psql). Войдите в оболочку psql и введите следующую команду, чтобы создать пользователя и установить пароль. Здесь я собираюсь создать имя пользователя jacky с паролем mystrongpassword. Вы можете создать свой собственный.
Создайте базу данных (например, gallary), используя следующую команду,
Предоставьте доступ к БД которую только что создали.. Здесь я собираюсь предоставить все права на базу данных gallery, чтобы пользователь jacky мог в ней работать.
Чтобы выйти из оболочки PostgreSQL требуется ввести команду q и нажать enter.
Создание пользователя и базы данных
Включение удаленного доступа к PostgreSQL
По умолчанию PostgreSQL слушает на интерфейсе 127.0.0.1. Если вы хотите получить доступ к базе данных из другого места. Тогда вам требуется настроить PostgreSQL для прослушки различных сетевых интерфейсов. Чтобы настроить PostgreSQL для различных интерфейсов, откройте конфигурационный файл PostgreSQL с помощью nano или другим текстовым редактором. Я буду использовать редактор Vim.
В конфигурационном файле найдите запись listen_addresses, находится она в «Connection Settings». Раскомментируйте строку и измените localhost на ‘*’. Это даст команду PostgreSQL прослушивать все сетевые интерфейсы для входящих подключений.
Включение удаленного подключения в postgres
Сохраните свою конфигурацию и перезапустите сервер PostgreSQL, чтобы изменения отразились в БД.
Теперь можно проверить прослушивает ли PostgreSQL другой интерфейс. Для этого выполните следующую команду.
Состояние прослушивания порта Postgres
Если вы включили брандмауэр UFW на сервере, тогда вам необходимо открыть порт 5432 для входящих TCP — соединений. Чтоб сделать это выполните команду.
Также проверьте правило брандмауэра UFW, делается это командой.
Конфигурация Postgres ufw
Заключение
В этом руководстве вы узнали, как установить сервер PostgreSQL на Ubuntu 20.04. Кроме того, вы также узнали, как привязать PostgreSQL к различным сетевым интерфейсам, чтобы принимать соединения от удаленного клиента.
Установите PostgreSQL в Ubuntu
На момент написания этой статьи последней версией PostgreSQL, доступной в официальных репозиториях Ubuntu, была PostgreSQL версии 10.4.
Чтобы установить PostgreSQL на свой сервер Ubuntu, выполните следующие действия:
-
Установка PostgreSQL
Обновите локальный индекс пакета и установите сервер PostgreSQL вместе с пакетом Contrib PostgreSQL, который предоставляет несколько дополнительных функций для базы данных PostgreSQL:
-
Проверка установки PostgreSQL
После завершения установки служба PostgreSQL запустится автоматически.
Чтобы проверить установку, мы попытаемся подключиться к серверу базы данных PostgreSQL с помощью и распечатать версию сервера :
psql — это интерактивная утилита командной строки, которая позволяет вам взаимодействовать с сервером PostgreSQL.
Ярлыки
11.1
11.1.1 trial
11.10
12.04
14.04
16.04
17.04
17.10
18.04
1с
1С + postgresql под windows
1С:Отчетность
1С:Предприятие 7.7
1c
20.04
32 бит
3proxy
9.6.2
автономный сервер
админ
администрирование
анализ сервера
архивирование
безопсность
березка
веб доступ
время
второй кластер
выгнать пользователей
госзакупки
диагностика
диагностика postgresql
документация
Дорошкевич
журнал регистрации
Завершение работы пользователей
зависимости postgresql
запуск postgresql
зафиксировать postgresql
ибп
интересно
камин
книги
Конфигурация сервера
КриптоПро
лицензии
лицензия
логи
локальная сеть
минисервер 1с
Моё рабочее
мой сервер
настройка дампов
непрерывное архивирование
обновление 1с
обновление ядра
обновление postgresql
ограничение 1Гб
ОКБ
Олег Харин
ОПО
оптимизация
ошибка
пароли
переименовать хост
перенос win lin
печать
Поиск пакетов
Потоковая репликация
программная лицензия
размер базы
размер таблиц
РИБ
сборка postgresql
сервер хранилища
сессии
скачать дистрибутивы
скрипт
скрипт wal
справочник
спутник
спящие сеансы
сравнение cpu
ссылки
статический ip
тест
тестирование
Тестирование и исправление конфигурации
тестовый сервер
технологический журнал
тюнинг postgresql
удаление 1с
удаление postgresql
управление серверами
установка 1с
установка 2 сервера 1с
файловый режим
фиас
флешка
фрагментация памяти
холодный backup
Шпаргалка PostgreSQL
штрих-коды
энергосбережение
acme.sh
aksusbd
Aladdin Monitor
alt linux
alternative downloads
amcheck
ammyy admin
apache2
apc
apparmor
apport
Asterisk
astra
astra linux
astra lxc
astra lxd
atop
audio
autologon
autovacuum
B360M
B365M
backup
Bash-скрипты
bridge-utils
bug
cache_hit_ratio
cadaver
canon
centos
Certbot
Certificate
checkdb
chromium
chromium-gost
cloak
clonezilla
cpu
cpufreqd
cron
crontab
cryptcp
Crypto-Pro
cryptopro
CryptSync
cups-pdf
curl
cwRsync
Cygwin
cygwin-rsyncd
dante
db2
debian
debian 10
desktop
disk
Dns Leak Test
DO
docker
docker-compose
DokuWiki
dump
elastix
etersoft
excel
fail2ban
Failover
fedora
files
FileZilla
fio
firefox
fragster
freenx
ftp
ghostscript
GIMP
git
gitlab
gnome
gnome-tweak-tool
gost
governor
gpg
GPT to MBR
haproxy
hasp
hasp & lxc
hdd
hold
host
hostname
hostnamectl
Hyper-Threading
i7
i7-7700
icmp
intel
intel graphics 630
Intel Kaby Lake
ip
iperf
IPSec
iptables
journalctl
juju
Junction
kerberos
kvm
L2TP
Let’s Encrypt
linux
live-cd
LMNoIpServer
Load Average
log
LPD
LVM
lxc
lxc in lxd
lxd
lxd & virtualbox
lxd 1c
lxd backup
lxd haproxy
lxd nextcloud
lxd resource control
lxd vps
lxd-p2c
macvlan
Mandos
mariadb
mc
MediaWiki
mining
mint
MobaXterm
mp3
mssql
multipath
mysql
MZ1LB960HAJQ-00007
net.netfilter.nf_conntrack_max
nethasp
nethasp.ini
network
NetworkManager
nextcloud
Nginx
NoMachine
ntp
numactl
numlock
nut
NVMe
nvOC
ondemand
openconnect
OpenSSH
OpenSSL
openvpn
ops
orel. orel docer
performance
pg_basebackup
pg_catalog.pg_statistic
pg_controldata
pg_dump
pg_dump в каталог
pg_probackup
pg_probackup одна база
pg_probackup upgrade
pg_repack
pg_resetxlog
pgadmin4
pgBackRest
pgbench
PGConf
PgTune
phpvirtualbox
Playonlinux
plink
posfix
postfix
postgrespro
postgrespro-std-11
postgresql
PostgreSQL Configurator
postgresql port
postgresql ssl
postgresql win
postgresql.conf
proxmox
pulseaudio
pure-ftpd
python
QtdSyn
RAID
ramdisk
ramfs
rancher
ras
rclone
reverse-proxy
rphost
rsync
Rufus
samba
Samsung SSD
sandisk
Sar
screen
server
Shadowsocks
smartctl
smartmontools
smbclient
snap
snapshot
spice
squid
ssd
ssh
ssh к флешке
ssh по сертификату
ssl
stats_temp_directory
strongSwan
stubby
stunnel
Supermicro
swap
swappiness
sysctl
sysctl.conf
systemd
tap
TCmalloc
teamviewer
telegram
temp_tablespaces
terminal server
test
test Тестовый сервер
test ssd
test2
test3
timedatectl
timezona
tint2
tmpfs
TRIM
ubuntu
ubuntu 18.04
ubuntu 20.04
ufo
ufw
unity
UNIX sockets
ureadahead
usb
v2ray-plugin
vacuum
vacuumdb
vbox
vino
virsh
virt
virt-manager
virt-viewer
virtualbox
vnc
vsftpd
wal
wd my cloud
web
webdav
wget
windows
windows server
windows vs linux
wine
WinSetupFromUSB
WireGuard
wordpress
x11vnc
xming
xrdp
xubuntu
xubuntu-desktop
xvfb
yandex-disk
youtube
youtube-dl
zabbix
zfs
zram
Step 4 — Creating a New Database
Another assumption that the Postgres authentication system makes by default is that for any role used to log in, that role will have a database with the same name which it can access.
This means that, if the user you created in the last section is called sammy, that role will attempt to connect to a database which is also called “sammy” by default. You can create the appropriate database with the command.
If you are logged in as the postgres account, you would type something like:
If, instead, you prefer to use for each command without switching from your normal account, you would type:
This flexibility provides multiple paths for creating databases as needed.
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
Разрешения на доступ к базе данных в PostgreSQL обрабатываются с помощью концепции ролей. Роль может представлять пользователя базы данных или группу пользователей базы данных.
PostgreSQL поддерживает несколько методов аутентификации . Чаще всего используются:
- Доверие — с помощью этого метода роль может подключаться без пароля, если соблюдаются критерии, определенные в .
- Пароль — роль может подключиться, указав пароль. Пароли могут быть сохранены как и (открытый текст)
- Ident — этот метод поддерживается только для соединений TCP / IP. Работает путем получения имени пользователя операционной системы клиента с необязательным отображением имени пользователя.
- Peer — То же, что и Ident, но поддерживается только для локальных подключений.
Аутентификация клиента PostgreSQL определяется в файле конфигурации с именем . По умолчанию для локальных подключений PostgreSQL настроен на использование метода одноранговой аутентификации.
Пользователь создается автоматически при установке PostgreSQL. Этот пользователь является суперпользователем для экземпляра PostgreSQL и эквивалентен корневому пользователю MySQL.
Чтобы войти на сервер PostgreSQL как пользователь postgres, сначала вам нужно переключиться на пользователя postgres, а затем вы можете получить доступ к приглашению PostgreSQL с помощью утилиты :
Отсюда вы можете взаимодействовать со своим экземпляром PostgreSQL. Чтобы выйти из оболочки PostgreSQL, введите:
Вы также можете получить доступ к командной строке PostgreSQL, не переключая пользователей, с помощью команды :
Пользователь обычно используется только с локального хоста, и не рекомендуется устанавливать пароль для этого пользователя.
6.5 Конфигурация
Создайте каталог для хранения файлов базы данных, каталогов журналов и измените разрешения
Измените PGDATA и PGLOG в файле конфигурации базы данных postgresql (/etc/rc.d/init.d/postgresql-10) в каталог, созданный нами самими.
После сохранения продолжайте запрашивать место хранения файла initdb:
моя:
Укажите место хранения базы данных и метод кодирования и инициализируйте базу данных:
Моя ошибка:
Примечание. Приведенная выше ошибка указывает на то, что Postgresql не может быть инициализирован как root и должен быть запущен как пользователь postgres, поэтому пользователь linux postgres и группа postgres должны быть созданы выше.
Переключить пользователя postgres для выполнения начальной операции с базой данных
Запросить содержимое каталога после успешной инициализации базы данных
Отредактируйте файл postgresql.conf и измените адрес прослушивания и параметры порта, которые база данных получает по умолчанию:
моя:
Измените значение listen_addresses:
Затем продолжайте изменять файл pg_hba.conf, чтобы сообщить серверу базы данных, каким типам клиентов он позволит подключаться к себе:
Добавьте строку под строкой 86, чтобы любой клиент мог получить доступ к себе с правильным именем пользователя и паролем:
Примечания: Чтобы установить доверие, вы можете использовать psql -U postgres для прямого входа на сервер; чтобы установить одноранговый узел, вы можете использовать psql -h 127.0.0.1 -d postgres -U postgres для прямого входа на сервер;