Как работать с пользователями в postgresql

1. Удалить программу через GUI

В Ubuntu и многих других дистрибутивах необязательно использовать консоль для удаления программ, существуют центры приложений и графические интерфейсы. Здесь достаточно запустить утилиту, выбрать нужную программу или пакет и удалить ее. Например, во многих дистрибутивах применяется Gnome Software. Сначала запустите его из главного меню:

Затем найдите нужную программу, например, Gimp:

Откройте ее и нажмите кнопку «Удалить»:

Далее, подтвердите что ее нужно удалить и введите пароль суперпользователя:

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

Создание и удаление базы данных

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

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

Для выполнения запросов будем использовать графический клиент pgAdmin, хотя также можно использовать консольный клиент psql.

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

В появившемся меню выберем пункт Query Tool…, и в центральной части программы откроется поле для ввода кода SQL.
В это поле введем следующий код:

CREATE DATABASE usersdb;

Для выполнения кода нажмем на значок молнии, и после этого будет создана база данных usersdb.

Чтобы увидеть нашу базу данных, нажмем в левой части на узел Databases правой кнопкой мыши и в контекстном меню выберем
Refresh…:

Произойдет обновление, и мы увидем созданную базу данных.

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

Удаление базы данных

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

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

Например, удаление базы данных usersdb:

DROP DATABASE usersdb;

Полное удаление PostgreSQL 10 на Debian 9

В предыдущей статье мы установили PostgreSQL 10 на Debian 9. А если нам хочется полностью и со всеми хвостами удалить PostgreSQL 10, то как это правильно сделать?

Исходные данные: Debian 9.1 Stretch (amd64) + PostgreSQL 10

ВНИМАНИЕ! При удалении будут безвозвратно удалены все настройки и существующие базы!

Останавливаем Pg10

service postgresql stop

Проверяем факт остановки Pg10:

netstat -ltupn | grep postgre

Удаляем Pg10 вместе со всему настройками и базами:

apt-get remove postgresql-10 postgresql-common postgresql-client-common postgresql-client-10 --purge apt autoremove -y apt-get remove pgdg-keyring --purge rm -f /etc/apt/sources.list.d/pgdg.list rm -rf /var/lib/postgresql 

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

Работа с репозиториями из терминала Ubuntu

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

Это можно сделать с помощью этой команды
Если вы посмотрите на список, вы увидите, что есть репозитории, которые начинаются с символа #. Удаление этого символа сделает этот репозиторий активным. Напротив, если вы добавите символ #, этот репозиторий будет деактивирован.

Обычно репозитории выглядят так

o

Где:

  • deb: указывает репозиторий ранее скомпилированных пакетов.
  • deb-src: это хранилище исходного кода программы.
  • http://archive.ubuntu.com/ubuntu: Es el identificador uniforme de recursos (por sus siglas en inglés). Es el link de acceso al servidor donde está el repositorio.
  • groovy: указывает версию операционной системы.
  • Основная мультивселенная с ограничением вселенной: указывает тип репозитория.

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

CTRL + O
y
CTRL + X

И в терминале напишите

Добавление репозиториев

Есть два способа добавить репозитории. Первый — открыть список командой

Спуститесь в конец списка и вставьте туда репозиторий, а затем сохраните его, нажав
CTRL + O
y
CTRL + X

Затем мы обновляем список с помощью

Более простой способ добавить репозиторий — использовать команду

Например, если мы хотим добавить репозиторий Wine, который мы использовали в качестве примера в предыдущей статье

Команда также используется для личных архивных пакетов. Например, чтобы добавить репозиторий Krita ppa, мы пишем:

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

Вы также можете создать список из эту страницу.

Uninstall and remove PostgreSQL on macOS

To uninstall PostgreSQL on macOS, open a new instance of Finder and navigate to the Applications directory. Look for the PostgreSQL folder and drag its contents to the Trash application folder in macOS.

Remove the PostgreSQL data in a terminal in macOS

After you’ve removed the PostgreSQL folder, open the Utilities folder in a Finder window, and then open the Terminal application.

Use the command to navigate to the directory. You can do this by typing the directory path into the terminal prompt and pressing Return:

1 cd LibraryPostgreSQL11

Then, use the command to remove the directory and its contents:

1 sudo rm -rf

Don’t forget to empty the Trash application’s contents when you are finished.

Uninstall the Homebrew installation of PostgreSQL on macOS

You can use the command in a macOS terminal window to remove the Homebrew version of PostgreSQL. First, use the command to return all of the applications installed using Homebrew:

1 brew list

Then, use the following command to force the removal the Homebrew installation of :

1 brew uninstall —force postgresql

2. Удаление программ через пакетный менеджер

Самый простой и часто используемый способ удалить программу linux — это использовать стандартный пакетный менеджер из терминала. Если вы использовали пакетный менеджер для установки программы то единственным верным способом ее удаления будет тоже он. В зависимости от дистрибутива команды удаления будут отличаться, но, в целом, они будут иметь похожий синтаксис. Мы рассмотрим примеры для самых популярных дистрибутивов. Например, нам нужно удалить Firefox. В Ubuntu, Debian, Linux Mint и других дистрибутивах этого семейства команда будет выглядеть вот так:

Эта команда удалит пакет из системы, но некоторые конфигурационные файлы останутся и будут занимать место. Чтобы полностью удалить программу используйте опцию purge:

Более подробно о том, как удалить программу в Linux в Ubuntu мы рассматривали в отдельной статье, в том числе и работу с PPA. Для удаления пакета в CentOS или Red Hat выполните:

В Fedora и основанных на ней дистрибутивах, кроме Red Hat, используется новый пакетный менеджер — dnf:

В OpenSUSE используется собственный пакетный менеджер — zypper:

Удаление программ Linux с помощью пакетного менеджера позволяет полностью очистить систему от остатков программы. После завершения удаления рекомендуется перезагрузить компьютер, чтобы убедиться, что все файлы были удалены.  Теперь вы знаете как удалить программу в Linux через терминал.

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

Копирование числовых ячеек из 1С в Excel Промо

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

Centos 7 PostgreSQL 9.3

Устанавливаем репозиторий. Репозиторий с необходимой версией вы можете найти на http://yum.postgresql.org

Смотрим, какие пакеты postgresql установлены:

Устанавливаем такие же пакеты версии 9.3 и пакет contrib

В файле /usr/lib/systemd/system/postgresql-9.3.service указываем порт, отличный от стандартного, например PGPORT=5432 Проверьте, что PGDATA отличается от /var/lib/pgsql/data/, например PGDATA=/var/lib/pgsql/9.3/data/ Инициализируем 9.3 Postgresql

Проверяем, что директория /var/lib/pgsql/9.3/data/ и файлы в ней созданы. Останавливаем сервер postgresql

Необходимо запустить утилиту pg_upgrade. Опции утилиты:

В логе pg_upgrade_server.log при этом следующие ошибки:

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

Для решения проблемы необходимо добавить в /var/lib/pgsql/data/pg_hba.conf строку:

Сравниваем конфигурационный файл старого сервера с новым.

Если необходимо, копируем конфигурационный файл pg_hba.conf

Меняем порт на порт по умолчанию в /usr/lib/systemd/system/postgresql-9.3.service PGPORT=5432 Запускаем новый сервер

Запускаем, delete_old_cluster.sh, чтобы удалить директорию старого сервера. Все базы данных будут удалены

Копируем содержимое новой директории в рабочую директорию сервера.

в /usr/lib/systemd/system/postgresql-9.3.service меняем PGDATA на /var/lib/pgsql/data/ Перезапускаем

Удаляем старый сервер

Запускаем скрипт со следующим содержимым:

В файле /var/lib/pgsql/.bash_profile меняем версию на 9.3 После проведенных работ следует загрузить существующую резервную копию БД и проверить работоспособность сервера.

Установка RedHat Enterprise Linux 8 (RHEL 8.4). Подключение RHEL8 к домену Active Directory. Запуск терминального клиента.

Операционная система – это один из краеугольных камней в фундаменте организации. От нее напрямую зависит надежность и безопасность корпоративной IT-инфраструктуры. Red Hat Enterprise Linux разработана с учетом всех требований и особенностей коммерческой эксплуатации Linux в производственной среде. Она проста в администрировании и управлении при развертывании приложений в физических, виртуальных и облачных средах. Обеспечивает высокую производительность и доступность приложений, а также обладает достаточной гибкостью, чтобы поддерживать рост организации и внедрение новых решений. Red Hat Enterprise Linux ценят за надежность, безопасность, стабильность, высокую производительность и масштабируемость, которые платформа предоставляет организациям. Клиентские решения Red Hat Enterprise Linux переносят эти инновации на рабочий стол.

Как удалить PostgreSQL на машине с Windows

PostgreSQL на машине с Windows

Автоматическое удаление: —

i) Зайдите в Установка и удаление программ

ii) удалить сервер postgresql

или

перейдите в каталог установки сервера postgresql

запустите деинсталлятор.

Удаление вручную:

i) Удалите каталог установки сервера postgresql.

Предположим следующее расположение по умолчанию, затем команда на cmd

(rd / s / q «C: \ Program Files \ PostgreSQL \ 8.3 ”)

ii) Удалите пользователя postgres

чистый пользователь postgres / удалить

iii) Удалите записи реестра. (HKEY_LOCAL_MACHINE \ SOFTWARE \ PostgreSQL \ Installations \ postgresql-8.3) и (HKEY_LOCAL_MACHINE \ SOFTWARE \ PostgreSQL \ Services \ postgresql-8.3)

iv) Удалите службу postgresql-8.3.

sc удалить postgresql-8.3

Предоставлено: —

Тестирование встроенных систем

Настройка PostgreSQL 13 в Ubuntu Server 20.04

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

Создание пользователя и базы данных в PostgreSQL

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

Давайте переключимся на пользователя postgres (данная учетная запись была создана автоматически во время установки PostgreSQL).

   
   su - postgres

Затем запускаем утилиту psql – это консоль для PostgreSQL.

   
   psql

Первым делом нам нужно задать пароль для пользователя postgres.

   
   \password postgres

Затем создаем нового пользователя на сервере PostgreSQL, так как работать от имени postgres крайне не рекомендуется.

   
   create user info_comp with password '123456';

где info_comp – это имя пользователя, ‘123456’ – это его пароль, Вы, соответственно, придумываете и подставляете свои данные.

Далее давайте создадим базу данных.

   
    create database test_db;

где test_db – это имя новой базы данных.

Теперь давайте дадим права на управление базой данных нашему новому пользователю.

   
   grant all privileges on database test_db to info_comp;

Все готово, выходим из консоли.

   
    \q

Для проверки давайте подключимся к PostgreSQL от имени нового пользователя, на предложение о вводе пароля вводим пароль от новой учетной записи.

   
    psql -h localhost test_db info_comp

Все работает, я подключился. Для выхода снова набираем \q.

   
    \q

Для переключения обратно на root вводим exit.

   
    exit

Разрешаем подключение к PostgreSQL по сети

По умолчанию PostgreSQL прослушивает только адрес localhost, поэтому, для того чтобы мы могли подключаться по сети, нам нужно указать, какие сетевые интерфейсы будет просушивать PostgreSQL. Я для примера укажу, что прослушивать нужно все доступные интерфейсы. Если у Вас несколько сетевых интерфейсов, и Вы хотите, чтобы PostgreSQL использовал только один конкретный, то Вы его можете указать именно здесь.

Чтобы это сделать, открываем файл postgresql.conf, например, редактором nano.

   
    nano /etc/postgresql/13/main/postgresql.conf

Находим следующую строку.

   
     #listen_addresses = 'localhost'

и вносим следующие изменения (вместо звездочки Вы в случае необходимости указываете IP адрес нужного интерфейса).

   
    listen_addresses = '*'

Сохраняем изменения сочетанием клавиш CTRL+O и подтверждаем нажатием Enter, затем просто закрываем редактор nano сочетанием клавиш CTRL+X.

Теперь давайте разрешим подключение из сети, я для примера разрешу подключаться из сети 192.168.0.0/24 с методом аутентификации md5.

Для этого открываем файл pg_hba.conf

   
    nano /etc/postgresql/13/main/pg_hba.conf

Ищем следующие строки.

И указываем нужную нам сеть (если IPv6 Вы не будете использовать, то можете закомментировать соответствующие строки знаком #).

Далее точно так же сохраняем изменения сочетанием клавиш CTRL+O, подтверждаем нажатием Enter и закрываем редактор nano сочетанием клавиш CTRL+X.

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

   
    systemctl restart postgresql

Теперь можно подключаться к нашему серверу PostgreSQL удаленно по сети.

Таким образом, мы установили и настроили систему управления базами данных PostgreSQL 13 на операционной системе Ubuntu Server 20.04.

В следующем материале мы рассмотрим процесс установки на клиентский компьютер инструментов для работы с базами данных PostgreSQL и настроим удаленное подключение к PostgreSQL 13.

4 ответа

Лучший ответ

Во-первых, последовательность, которая создается автоматически для последовательного столбца, автоматически удаляется при удалении столбца (или таблицы, в которой он находится). Проблема, которую вы описываете, не должна существовать с самого начала. Только очень старые версии PostgreSQL этого не сделали. 7.4 или старше?

Решение проблемы:

Этот запрос сгенерирует команды DDL для удаления всех «несвязанных» последовательностей в базе данных, в которой он выполняется:

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

  • Как проверить, существует ли таблица в данной схеме
  • Как search_path влияет на разрешение идентификатора и «текущую схему»

Результат:

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

Осторожно ! Это не означает, что в противном случае эти последовательности не используются. Есть несколько вариантов использования, когда последовательности создаются как автономные объекты

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

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

Результат:

16

Community
20 Июн 2020 в 09:12

Если вы используете pgAdmin, вы можете выбрать последовательность и отметить вкладку «зависит от». Он перечислит любой объект, который полагается на последовательность.

Другой способ — ПОПРОБОВАТЬ удалить последовательность. Если таблица ссылается на нее, pgAdmin выдаст ошибку, сообщающую, что что-то зависит от этой последовательности. Если вы можете удалить последовательность без ошибок, то зависимости нет.

Обязательно где-нибудь это протестируйте.

DrColossos
25 Ноя 2011 в 08:00

Что я делаю, это сначала я получил все последовательности, а затем сохранил эти результаты в файл, затем я запускаю файл в psql: содержимое ниже было сохранено с именем файла del_seq_all.sql , а затем перечисляю последовательности в test1.sql . я не знаю, это правильное решение или нет. Но результат идет, как и ожидалось.

user1023877
26 Ноя 2011 в 09:45

Соблюдайте осторожность, «drop sequence_name_here» успешно отбрасывает последовательность, даже если она присоединена как значение nextval () по умолчанию для столбца таблицы. Кажется, здесь есть некоторая несогласованность, особенно если последовательность была создана отдельно

Я также ищу идеальный лайнер для очистки 100% неиспользуемых последовательностей.

soyayix
12 Фев 2014 в 19:56

Установка RedHat Codeready Studio на ОС RedHat Enterprise Linux 8.4 (RHEL 8.4)

Red Hat CodeReady Studio — это бесплатная для участников программы RedHat Developer open source интегрированная среда (IDE), предоставляет широкий набор функционала разработки для нескольких платформ Red Hat, которые включают контейнеры CodeReady (развертывание через OpenShift4), Quarkus, JAX-RS, внедрение зависимостей контекстов (CDI) и инструменты Red Hat Fuse. Студия включает последние версии Eclipse и Web Tools Project (WTP), предоставляет инструменты для JEE и веб-разработки, такие как: инструменты Java EE, JSF и JSP; инструменты JPA; серверные инструменты; веб-сервисы и инструменты WSDL; инструменты HTML , CSS и JavaScript; инструменты XML , XML Schema и DTD. Студия Code Ready Studio также поддерживает популярные технологии, такие как Enterprise Application Platform (EAP 7.3) — платформа корпоративных приложений Red Hat, Hibernate и Wildfly 21, и обеспечивает встроенное усиление для Kubernetes, OpenShift (включая S2i), docker и клиента REST для микропрофайлов.

Резевное копирование и восстановление БД в PostgreSQL

Создать резервную копию в PostgreSQL БД можно несколькими способами. Рассмотрим самый простой вариант.

Для начала проверим, какие БД запущены на сервере:

У нас имеются 4 базы данных, 3 из которых системные (postgres и template).

Ранее мы создавали БД с именем “mydbtest”, на ее примере и выполним резервное копирование.

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

sudo -u postgres pg_dump mydbtest > /root/dupm.sql — выполняем запрос от пользователя postgres, указываем нужную БД и путь до файла в который нужно сохранить дамп базы. Дамп базы может забрать ваша система резевного копирования, или в случае использования веб сервера, вы можете отправить его в ваше облачное хранилище.

Чтобы восстановить указанный дамп в нужную БД, можно воспользоваться утилитой psql:

sudo -u postgres psql mydbtest

Так же можно создать бэкап в специальном формате дампа и сжатом с применением gzip:

sudo -u postgres pg_dump -Fc mydbtest > /root/dumptest.sql

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

sudo -u postgres pg_restore -d mydbtest /root/dumptest.sql

Более расширенные настройки можно посмотреть в справке по данным утилитам:

man psqlman pg_dumpman pg_restore

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

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

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. На этом все! 

Параметры и конфигурационные файлы

Узнать расположение конфигурационного файла (как правило, размещается по пути: ) можно с помощью:

SHOW config_file;

Узнать значение какого-либо параметра Postgres:

SHOW параметр;

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

SELECT * FROM pg_settings WHERE name = 'параметр';
 
# Например:
SELECT * FROM pg_settings WHERE name = 'max_connections';

Чтобы вывести информацию в удобном для восприятия формате, можно сменить представление командой \x:

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: