Разное

Postgresql удалить: Как удалить PostgreSQL

Содержание

Как удалить PostgreSQL

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

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

Между тем, установить новую PostgreSQL на старую — невозможно (точнее это не поможет избавиться от проблем).

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

Удаление PostgreSQL из OS Windows 7 и Vista

  1. Для начала делаем видимыми все скрытые и системные файлы (Пуск/Панель управления/Свойства папки/Вид)
  2. Идем Пуск/Панель управления/Программы и компоненты/Postgres, кликаем правой кнопкой мыши, и выбираем Удалить/изменить.
  3. Нажимаем Пуск и в поле писка вводим cmd. Кликаем по результату поиска правой кнопкой мыши и запускаем от имени администратора.
  4. В черненьком окне DOS набираем
  5. net user postgres /del
  6. Вручную удаляем папку с Postgres (пример адреса, C:/Program File/Postgres)
  7. Чистим корзину.
  8. Перезагружаем компьютер.

Удаление PostgreSQL из OS Windows XP

  1. Стандартным способом удаляем PostgreSQL (Панель управления/программы).
  2. Вручную удаляем файлы с базой данных (пример адреса C:/Program Files/PostgreSQL 8.4/Data)
  3. Вручную удаляем учетную запись пользователя Windows (Пуск/Панель управления/Управление компьютером/Локальные пользователи и группы/Пользователь), которая по умолчанию называется Postgres (возможно вы задавали другое имя при установке).
  4. Чистим корзину.
  5. Перезагружаем компьютер

Как тщательно очистить и переустановить postgresql на ubuntu? [закрытый]

Как-то мне удалось полностью испортить установку postgresql на Ubuntu karmic. Я хочу начать с нуля, но когда я «очищаю» пакет с apt-get, он все еще оставляет следы, так что конфигурация переустановки не работает должным образом.

после того, как я сделал:

apt-get purge postgresql
apt-get install postgresql

Он сказал

Setting up postgresql-8.4 (8.4.3-0ubuntu9.10.1) ...
Configuring already existing cluster (configuration: /etc/postgresql/8.4/main, data: /var/lib/postgresql/8.4/main, owner: 108:112)
Error: move_conffile: required configuration file     /var/lib/postgresql/8.4/main/postgresql.conf does not exist
Error: could not create default cluster. Please create it manually with

  pg_createcluster 8.4 main --start

or a similar command (see 'man pg_createcluster').
update-alternatives: using /usr/share/postgresql/8.4/man/man1/postmaster.1.gz to provide /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in auto mode.

Setting up postgresql (8.4.3-0ubuntu9.10.1) ...

у меня есть «/etc/postgresql» с ничем в нем и «/etc/ postgresql-common / «имеет» pg_upgradecluser.д’ каталог и корневой.ЭЛТ и user_clusters файлы.

в /etc / passwd есть пользователь postgres; сценарий очистки, похоже, не касается его. Там была куча симптомов, которые я работаю только для того, чтобы разоблачить следующий.

прямо сейчас, когда я запускаю эту команду » pg_createcluster…»он жалуется, что’ /var/lib/postgresql/8.4/main / postgresql.conf не существует», поэтому я найду один из них, но я уверен, что это не конец.

есть ли какой-то простой однострочный (или два) который сожжет его полностью и позволит мне начать все сначала?

203

автор: Mithun Sreedharan

9 ответов


во-первых: если ваша установка еще не повреждена, вы можете удалить нежелательные серверы PostgreSQL («кластеры») в Ubuntu с помощью pg_dropcluster. Используйте это вместо полной очистки и переустановки, если вы просто хотите начать с свежего initdb‘д’экземпляр PostgreSQL.

Если вам действительно нужно выполнить полную очистку и переустановку, сначала убедитесь, что PostgreSQL не запущен. ps -C postgres не должно показывать никаких результатов.

Теперь запустите:

apt-get --purge remove postgresql\*

чтобы удалить все PostgreSQL из ваша система. Просто очистка postgres пакета недостаточно, так как это просто пустой мета-пакет.

после удаления всех пакетов PostgreSQL запустите:

rm -r /etc/postgresql/
rm -r /etc/postgresql-common/
rm -r /var/lib/postgresql/
userdel -r postgres
groupdel postgres

теперь вы должны быть в состоянии:

apt-get install postgresql

или для полной инсталляции:

apt-get install postgresql-8.4 postgresql-contrib-8.4 postgresql-doc-8.4

у меня была аналогичная ситуация: мне нужно было очистить postgresql 9.1 на debian wheezy ( я ранее мигрировал из 8.4, и я получал ошибки ).

что я сделал:

во-первых, я удалил config и database

$ sudo pg_dropcluster --stop 9.1 main

затем удален postgresql

$ sudo apt-get remove --purge postgresql postgresql-9.1 

и повторно

$ sudo apt-get install postgresql postgresql-9.1

в моем случае я заметил, что /etc/postgresql / 9.1 пуст, и работает service postgresql start ничего не возвращено

Итак, после более googling я добрался до этой команды:

$ sudo pg_createcluster 9.1 main

С этим я мог бы запустить сервер, но теперь я получал ошибки, связанные с журналом. После дополнительного поиска я изменил разрешения на каталог/var/log / postgresql

$ sudo chown root.postgres /var/log/postgresql
$ sudo chmod g+wx /var/log/postgresql

это исправило проблему, надеюсь, это поможет


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

# search postgr  | grep ^i
i   postgresql                      - object-relational SQL database (supported 
i A postgresql-8.4                  - object-relational SQL database, version 8.
i A postgresql-client-8.4           - front-end programs for PostgreSQL 8.4     
i A postgresql-client-common        - manager for multiple PostgreSQL client ver
i A postgresql-common               - PostgreSQL database-cluster manager       

# aptitude purge postgresql-8.4 postgresql-client-8.4 postgresql-client-common postgresql-common postgresql

rm -r /etc/postgresql/
rm -r /etc/postgresql-common/
rm -r /var/lib/postgresql/

наконец, редактирование /etc /passwd и/etc / group

11

автор: Klaas van Schelven


шагов, которые работали для меня Ubuntu 8.04.2 удалить postgres 8.3

  1. Список всех Postgres связанных пакетов

    dpkg -l | grep postgres
    
    ii  postgresql                            8.3.17-0ubuntu0.8.04.1           object-relational SQL database (latest versi
    ii  postgresql-8.3                        8.3.9-0ubuntu8.04                object-relational SQL database, version 8.3
    ii  postgresql-client                     8.3.9-0ubuntu8.04                front-end programs for PostgreSQL (latest ve
    ii  postgresql-client-8.3                 8.3.9-0ubuntu8.04                front-end programs for PostgreSQL 8.3
    ii  postgresql-client-common              87ubuntu2                        manager for multiple PostgreSQL client versi
    ii  postgresql-common                     87ubuntu2                        PostgreSQL database-cluster manager
    ii  postgresql-contrib                    8.3.9-0ubuntu8.04                additional facilities for PostgreSQL (latest
    ii  postgresql-contrib-8.3                8.3.9-0ubuntu8.04                additional facilities for PostgreSQL
    
  2. удалить все перечисленные выше

    sudo apt-get --purge remove postgresql postgresql-8.3  postgresql-client  postgresql-client-8.3 postgresql-client-common postgresql-common  postgresql-contrib postgresql-contrib-8.3
    
  3. удалите следующие папки

    sudo rm -rf /var/lib/postgresql/
    sudo rm -rf /var/log/postgresql/
    sudo rm -rf /etc/postgresql/
    

11

автор: Mithun Sreedharan


apt-get purge postgresql*

достаточно.

10

автор: Anish Menon


после ae шаги, которые я выполнил для удаления и переустановки. Что сработало для меня.

Сначала удалите установленные postgres : —

sudo apt-получить чистку postgr*

sudo apt-get autoremove

затем установите ‘synaptic’:

sudo apt-get install synaptic

sudo apt-получить обновление

затем установить postgres

sudo apt-get install postgresql postgresql-contrib

7

автор: Gurudath BN


Я просто столкнулся с той же проблемой для Ubuntu 13.04. Эти команды удалили Postgres 9.1:

sudo apt-get purge postgresql
sudo apt-get autoremove postgresql

мне приходит в голову, что, возможно, нужна только вторая команда, но оттуда я смог установить Postgres 9.2 (sudo apt-get install postgresql-9.2).

2

автор: Jeromy French


Я следил за ответы,
При редактировании /etc / group я также удалил эту строку:

ssl-cert:x:112:postgres

затем, при попытке установить postgresql, я получил эту ошибку

Preconfiguring packages ...
dpkg: unrecoverable fatal error, aborting:
 syntax error: unknown group 'ssl-cert' in statoverride file
E: Sub-process /usr/bin/dpkg returned an error code (2)

установка строки «ssl-cert:x: 112: postgres» обратно в /etc / group, похоже, исправляет это (поэтому я смог установить postgresql)


я столкнулся с той же проблемой в моем ubuntu 16.04

но я исправил эту проблему, и это очень просто, просто следуйте этим шагам, и вы сможете установить postgresql 10 в своей системе:

добавьте это в свои источники.список:

sudo vim /etc/apt/sources.list

deb http://ftp.de.debian.org/debian/ wheezy main non-free contrib

deb-src http://ftp.de.debian.org/debian/ wheezy main non-free contrib

после этого добавьте эту ссылку в свой pgdg.список файлов, если его нет, вам нужно создать & & добавить ссылку & & Сохранить его.

sudo vim /etc/apt/sources.list.d/pgdg.list

deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main

deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main

затем обновите свою систему

sudo apt-get update

sudo apt-get upgrade

и установите это unmet зависимости :

apt-get install ssl-cert

вот именно. теперь установите postgresql с помощью этой команды

sudo apt-get install postgresql-10

-1

автор: John Toppo


деинсталляция PostgreSQL | PostgreSQL

Как полностью удалить программу?
Делал по этому руководству:

Руководство по деинсталляции PostgreSQL
Если при создании базы данных программа не может подсоединиться к «Localhost», установлена старая версия PostgreSQL (8.3, например) или возникает какая-либо другая проблема, лучшим решением часто будет полное удаление текущей версии программы PostgreSQL из системы с последующей переустановкой заново вместе с Elephant’ом.

Пожалуйста, постарайтесь на 100% придерживаться данного руководства по деинсталляции для обеих операционных систем (Vista, XP)!

Для операционной системы Vista:

Условия: убедитесь в том, что функции вида папок позволяют вам видеть скрытые файлы (см. окончание руководства для Vista), Postgres установлена в C:/Program Files/Postgres, и учётная запись пользователя называется «postgres».

1) Пуск -> Панель управления -> Программы и компоненты -> Postgres / клик правой кнопкой мыши -> Удалить/изменить

2) Нажмите «Пуск», в поле для поиска введите «cmd». Поиск должен вывести один результат, кликните по нему правой кнопкой мыши, выберите «Запуск от имени администратора»

В диалоговом окне DOS введите:

«net user postgres /del»

3) В папке C:/Documents and Settings полностью удалите папку Postgres

4) Полностью удалите папку C:/Program File/Postgres

Очистите корзину, перезагрузите компьютер, готово.

Как сделать скрытые файлы и папки видимыми:

Зайдите в Пуск -> Панель управления > «Свойства папки». Кликните по вкладке «Вид».

Уберите галочку с опций «Скрывать защищённые системные файлы» и «Скрывать расширения для зарегистрированных типов файлов».

Поставьте галочку рядом с опцией «Показывать скрытые файлы и папки»

Но у меня В папке C:/Documents and Settings полностью удалите папку Postgres
Нет такой папки!!!

В итоге не могу полностью удалить старую программу что бы поставить Холдем Менеджер

PostgreSQL — DROP база данных

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

  • Используя DROP DATABASE, команду SQL.
  • Используя dropdb исполняемый файл командной строки.

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

Использование DROP DATABASE

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

Синтаксис

Синтаксис для DROP DATABASE приведен ниже —

DROP DATABASE [ IF EXISTS ] name

параметры

В таблице приведены параметры с их описаниями.

С. Нет. Параметр и описание
1

ЕСЛИ СУЩЕСТВУЕТ

Не выдавайте ошибку, если база данных не существует. В этом случае выдается уведомление.

2

название

Имя базы данных для удаления.

ЕСЛИ СУЩЕСТВУЕТ

Не выдавайте ошибку, если база данных не существует. В этом случае выдается уведомление.

название

Имя базы данных для удаления.

Мы не можем удалить базу данных, которая имеет какие-либо открытые соединения, включая наше собственное соединение с psql или pgAdmin III . Мы должны переключиться на другую базу данных или шаблон1, если мы хотим удалить базу данных, к которой мы сейчас подключены. Таким образом, может быть удобнее использовать программу dropdb , которая является оберткой для этой команды.

пример

Ниже приведен простой пример, который удалит testdb из вашей схемы PostgreSQL:

postgres=# DROP DATABASE testdb;
postgres-# 

Использование команды dropdb

Исполняемый файл командной строки PostgresSQL dropdb — это оболочка командной строки для команды SQL DROP DATABASE . Нет эффективной разницы между удалением баз данных с помощью этой утилиты и других методов доступа к серверу. dropdb уничтожает существующую базу данных PostgreSQL. Пользователь, который выполняет эту команду, должен быть суперпользователем базы данных или владельцем базы данных.

Синтаксис

Синтаксис для dropdb , как показано ниже —

dropdb  [option...] dbname

параметры

В следующей таблице перечислены параметры с их описаниями

С. Нет. Параметр и описание
1

имя_бд

Имя базы данных, которая будет удалена.

2

вариант

аргументы командной строки, которые принимает dropdb.

имя_бд

Имя базы данных, которая будет удалена.

вариант

аргументы командной строки, которые принимает dropdb.

Опции

В следующей таблице перечислены аргументы командной строки, которые принимает dropdb —

С. Нет. Вариант и описание
1

-e

Показывает команды, отправляемые на сервер.

2

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

3

-V

Распечатайте версию dropdb и выйдите.

4

—Если-существует

Не выдавайте ошибку, если база данных не существует. В этом случае выдается уведомление.

5

—Помогите

Показать справку об аргументах командной строки dropdb и завершиться.

6

-х хозяин

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

7

порт

Указывает порт TCP или расширение файла локального сокета домена UNIX, на котором сервер прослушивает соединения.

8

-U имя пользователя

Имя пользователя для подключения как.

9

-w

Никогда не выдавайте запрос пароля.

10

-W

Заставьте dropdb запрашивать пароль перед подключением к базе данных.

11

—maintenance-DB = имя_бд

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

-e

Показывает команды, отправляемые на сервер.

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

-V

Распечатайте версию dropdb и выйдите.

—Если-существует

Не выдавайте ошибку, если база данных не существует. В этом случае выдается уведомление.

—Помогите

Показать справку об аргументах командной строки dropdb и завершиться.

-х хозяин

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

порт

Указывает порт TCP или расширение файла локального сокета домена UNIX, на котором сервер прослушивает соединения.

-U имя пользователя

Имя пользователя для подключения как.

-w

Никогда не выдавайте запрос пароля.

-W

Заставьте dropdb запрашивать пароль перед подключением к базе данных.

—maintenance-DB = имя_бд

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

пример

В следующем примере демонстрируется удаление базы данных из командной строки ОС —

dropdb -h localhost -p 5432 -U postgress testdb
Password for user postgress: ****

Приведенная выше команда удаляет базу данных testdb . Здесь я использовал имя пользователя postgres (находится в pg_roles шаблона template1) для удаления базы данных.

PostgreSQL : Документация: 10: dropuser : Компания Postgres Professional

dropuser

dropuser — удалить учётную запись пользователя PostgreSQL

Синтаксис

dropuser [параметр-подключения…] [параметр…] [имя_пользователя]

Описание

dropuser удаляет ранее созданного пользователя PostgreSQL. Лишь суперпользователь или пользователь с привилегией CREATEROLE могут удалять пользователей PostgreSQL. Необходимо быть суперпользователем, чтобы удалить учётную запись другого суперпользователя.

dropuser это обёртка для SQL-команды DROP ROLE. Удаление пользователей с её помощью по сути не отличается от выполнения того же действия при обращении к серверу другими способами.

Параметры

dropuser принимает в качестве аргументов:

имя_пользователя

Указывает имя удаляемой роли PostgreSQL. Если передан флаг -i/--interactive, а имя не указано в параметрах команды, его необходимо будет ввести интерактивно.

-e
--echo

Вывести команды к серверу, генерируемые при выполнении dropuser.

-i
--interactive

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

-V
--version

Вывести версию dropuser.

--if-exists

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

-?
--help

Вывести справку по команде dropuser.

dropuser также принимает из командной строки параметры подключения:

-h сервер
--host=сервер

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

-p порт
--port=порт

Указывает TCP-порт или расширение файла локального Unix-сокета, через который сервер принимает подключения.

-U имя_пользователя
--username=имя_пользователя

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

-w
--no-password

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

-W
--password

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

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

Переменные окружения

PGHOST
PGPORT
PGUSER

Параметры подключения по умолчанию

Эта утилита, как и большинство других утилит PostgreSQL, также использует переменные среды, поддерживаемые libpq (см. Раздел 33.14).

Диагностика

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

Примеры

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

$ dropuser joe

Чтобы удалить роль joe на сервере eden, слушающем подключения на порту 5000, в интерактивном режиме и с выводом выполняемых команд:

$ dropuser -p 5000 -h eden -i -e joe
Роль "joe" будет удалена навсегда.
Продолжить? (y/n) y
DROP ROLE joe;

PostgreSQL : Документация: 9.5: 20.4. Удаление ролей : Компания Postgres Professional

20.4. Удаление ролей

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

Владение объектами можно передавать в индивидуальном порядке, применяя команду ALTER, например:

ALTER TABLE bobs_table OWNER TO alice;

Кроме того, для переназначения какой-либо другой роли владения сразу всеми объектами, принадлежащих удаляемой роли, можно применить команду REASSIGN OWNED. Так как REASSIGN OWNED не может обращаться к объектам в других базах данных, её необходимо выполнить в каждой базе, которая содержит объекты, принадлежащие этой роли. (Заметьте, что первая такая команда REASSIGN OWNED изменит владельца для всех разделяемых между базами объектов, то есть для баз данных или табличных пространств, принадлежащих удаляемой роли.)

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

DROP OWNED также удаляет все права, которые даны целевой роли для объектов, не принадлежащих ей. Так как REASSIGN OWNED такие объекты не затрагивает, обычно необходимо запустить и REASSIGN OWNED, и DROP OWNED (в этом порядке!), чтобы полностью ликвидировать зависимости удаляемой роли.

С учётом этого, общий рецепт удаления роли, которая владела объектами, вкратце таков:

REASSIGN OWNED BY doomed_role TO successor_role;
DROP OWNED BY doomed_role;
-- повторить предыдущие команды для каждой базы в кластере
DROP ROLE doomed_role;

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

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

Как удалить все лишние процессы Postgresql? — Хабр Q&A

Стояла 9 версия psql , удалил её, поставил 11.1, видимо 9 удалилась не корректно или до конца но у меня теперь такие ошибки

текущий pg_hba.conf

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
host    replication     all             127.0.0.1/32            trust
host    replication     all             ::1/128                 trust

postgresql.conf

listen_addresses = 'localhost'		# what IP address(es) to listen on;
					# comma-separated list of addresses;
					# defaults to 'localhost'; use '*' for all
					# (change requires restart)
port = 5432			# (change requires restart)
max_connections = 100			# (change requires restart)

log:

2019-02-02 09:23:45.784 GMT [5252] СООБЩЕНИЕ: работа системы БД была прервана; последний момент работы: 2019-02-02 09:09:57 GMT
2019-02-02 09:23:47.194 GMT [5252] СООБЩЕНИЕ: система БД была остановлена нештатно; производится автоматическое восстановление
2019-02-02 09:23:47.206 GMT [5252] СООБЩЕНИЕ: запись REDO начинается со смещения 0/1670060
2019-02-02 09:23:47.206 GMT [5252] СООБЩЕНИЕ: неверная длина записи по смещению 0/1670098: ожидалось 24, получено 0
2019-02-02 09:23:47.206 GMT [5252] СООБЩЕНИЕ: записи REDO обработаны до смещения 0/1670060
2019-02-02 09:23:47.262 GMT [4796] СООБЩЕНИЕ: система БД готова принимать подключения

переменная среды PATH проставлена C:\Program Files\PostgreSQL\11\bin

netstat вроде не показывает ничего на 5432 порту, что еще можно попробвать ? больше ли граблей если ставить через терминал ubuntu psql ?( который в win, на самой ubuntu — все ок)

plpgsql — Как удалить таблицу * или * представление из базы данных PostgreSQL?

Переполнение стека

  1. Около
  2. Продукты

  3. Для команд
  1. Переполнение стека
    Общественные вопросы и ответы

  2. Переполнение стека для команд
    Где разработчики и технологи делятся частными знаниями с коллегами

  3. Вакансии
    Программирование и связанные с ним технические возможности карьерного роста

  4. Талант
    Нанимайте технических специалистов и создавайте свой бренд работодателя

  5. Реклама
    Обратитесь к разработчикам и технологам со всего мира

  6. О компании

Загрузка…

    .

    PostgreSQL DELETE Строка соответствует 1/2 Условие, пример выхода

    • Home
    • Testing

        • Back
        • Agile Testing
        • BugZilla
        • Cucumber
        • A 9000 JR 9000 Testing 9000
        • Назад
        • JUnit
        • LoadRunner
        • Ручное тестирование
        • Мобильное тестирование
        • Mantis
        • Почтальон
        • QTP
        • Назад
        • 00030003 Центр контроля качества
        • 0003 Центр контроля качества
        • SoapUI
        • Управление тестированием
        • TestLink
    • SAP

        • Назад
        • ABAP
        • APO
        • Начинающий
        • Basis
        • BODS
        • BI
        • BPC
        • CO
        • Назад
        • CRM
        • Crystal Reports
        • MMO
        • Crystal Reports
        • Заработная плата
        • Назад
        • PI / PO
        • PP
        • SD
        • SAPUI5
        • Безопасность
        • Менеджер решений
        • Successfactors
        • SAP Back Tutorials
        • 9007
            • Apache
            • AngularJS
            • ASP.Net
            • C
            • C #
            • C ++
            • CodeIgniter
            • СУБД
            • JavaScript
            • Назад
            • Java
            • JSP
            • Kotlin
            • Linux
            • Linux
            • Kotlin
            • Linux
            • js

            • Perl
            • Назад
            • PHP
            • PL / SQL
            • PostgreSQL
            • Python
            • ReactJS
            • Ruby & Rails
            • Scala
            • SQL
            • 000

            • SQL
            • 000

              0003 SQL

              000

              0003 SQL

              000

            • UML
            • VB.Net
            • VBScript
            • Веб-службы
            • WPF
        • Обязательно учите!

            • Назад
            • Бухгалтерский учет
            • Алгоритмы
            • Android
            • Блокчейн
            • Business Analyst
            • Создание веб-сайта
            • CCNA
            • Облачные вычисления
            • 00030003 COBOL 9000 Compiler
                9000 Встроенные системы

              • 00030002 9000 Compiler 9000
              • Ethical Hacking
              • Учебники по Excel
              • Программирование на Go
              • IoT
              • ITIL
              • Jenkins
              • MIS
              • Сеть
              • Операционная система
              • Назад
              • Управление проектами Обзоры
              • Salesforce
              • SEO
              • Разработка программного обеспечения
              • VB A
          • Big Data

              • Назад
              • AWS
              • BigData
              • Cassandra
              • Cognos
              • Хранилище данных
              • 0003

              • HBOps
              • 0003

              • HBOps
              • 0003

              • MicroStrategy

          .

          Использование Psql для удаления таблицы в базе данных PostgreSQL

          Введение

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

          Предварительные требования

          Для того, чтобы следовать этому руководству, необходимо выполнить несколько ключевых требований:

          • На вашем компьютере должен быть установлен кластер базы данных PostgreSQL.Если вы используете дистрибутив Linux, в котором используется systemd , вы можете использовать команду systemctl status postgresql , чтобы убедиться, что у вас установлен Postgres.

          • Вам необходимо знать некоторые основные команды терминала или командной строки

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

          Подключиться к psql

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

          Чтобы подключиться к psql , вам сначала нужно переключиться на postgres user:

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

          Создать базу данных для Postgres

          После подключения к psql вы можете создать базу данных PostgreSQL для использования в этом руководстве:

          Если вы хотите увидеть список всех баз данных, введите команду \ l в psql . Затем вы можете выбрать, какую базу данных вы хотите использовать.

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

          Создать таблицу для Postgres

          Затем мы создадим таблицу в PostgreSQL. Базовый синтаксис для создания таблицы выглядит так:

          1
          2
          3
          4
          5
          6

          CREATE TABLE player (
          ID INT PRIMARY KEY NOT NULL,
          имя VARCHAR (30),
          Age INT,
          Address VARCHAR (50)
          );

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

          1
          2

          СОЗДАТЬ ТАБЛИЦУ sport
          (sports_name TEXT, country TEXT, score INT);

          Вы получите ответ CREATE TABLE , который означает, что ваша таблица была создана успешно.

          ПРИМЕЧАНИЕ: Вы можете использовать команду \ dt , чтобы отобразить список всех таблиц, которые вы создали в данной базе данных.

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

          1
          2
          3
          4
          5
          6

          Список отношений
          Схема | Имя | ТИП | Владелец
          ——— + ——— + ——- + ———-
          общественность | игрок | ТАБЛИЦА | postgres
          публичный | спорт | ТАБЛИЦА | postgres
          (2 РЯДА)

          Используйте Postgres для удаления таблицы с «DROP»

          В PostgreSQL оператор DROP используется для удаления или удаления таблицы PostgreSQL.

          Ниже показан базовый синтаксис оператора DROP :

          Вот полный синтаксис, который содержит некоторые дополнительные пункты и параметры:

          1
          2

          DROP TABLE [ЕСЛИ СУЩЕСТВУЕТ] tb_name1,
          tb_name2 …, [CASCADE | ОГРАНИЧЕНИЕ];

          Давайте подробнее рассмотрим этот синтаксис:

          • Имя таблицы идет после предложения DROP TABLE .

          • Предложение IF EXISTS может быть добавлено после оператора DROP TABLE . Это предложение предотвратит возникновение ошибки, если рассматриваемая таблица не существует.

          • tb_name1 представляет имя таблицы, которую нужно удалить с помощью оператора DROP .

          • tb_name1, tb_name2 представляют имена таблиц, которые нужно удалить, если вы хотите удалить более одной таблицы.

          • Ограничения CASCADE и RESTRICT не являются обязательными.При использовании CASCADE объекты, зависящие от таблицы, будут отброшены при удалении таблицы. С другой стороны, ограничение RESTRICT отбрасывает таблицу PostgreSQL только в том случае, если от нее не зависят другие объекты.

          Теперь, когда мы понимаем, как работает оператор DROP , давайте попробуем использовать его на нескольких примерах:

          Удалить одну таблицу в PostgreSQL

          Для DROP только одна таблица в PostgreSQL, все, что вам нужно сделать, это передать имя таблицы в оператор DROP TABLE SQL:

          Таблица с именем player была удалена с помощью этого оператора.Вы можете убедиться, что таблица действительно была отброшена, используя команду Postgres \ dt для вывода списка всех таблиц базы данных.

          Удалить несколько таблиц в PostgreSQL

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

          1

          DROP TABLE игрок, спорт;

          Этот оператор удалит две таблицы с именами player и sport .

          Давайте представим, что мы не совсем уверены, что обе эти таблицы существуют в нашей базе данных. Мы можем изменить наш оператор DROP , чтобы использовать предложение IF EXISTS :

          1

          DROP TABLE IF EXISTS player, sport;

          Если одна из этих таблиц не существует, PostgreSQL не выдаст ошибку.

          Используйте psql для удаления таблицы

          Вы также можете выполнять команды и операторы SQL вне psql , используя терминал или терминал командной строки.Это делается путем передачи флага -c команде psql .

          В следующем примере команда psql -c запускается вне интерфейса командной строки PostgreSQL. Вы можете указать Postgres на DROP таблицы, передав оператор SQL в виде строки команде:

          1

          psql -c ‘УДАЛИТЬ ТАБЛИЦУ, ЕСЛИ СУЩЕСТВУЕТ sport;’

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

          1

          psql -U postgres -d template1 -c ‘УДАЛИТЬ ТАБЛИЦУ, ЕСЛИ СУЩЕСТВУЕТ sport;’

          ПРИМЕЧАНИЕ. template1 — это встроенная база данных Postgres по умолчанию.

          Если удаление прошло успешно, Postgres вернет ответ DROP TABLE в терминал или окно командной строки.

          Заключение

          Если вам нужно удалить таблицу в PostgreSQL, важно знать, как это сделать правильно, поскольку операция удаления является постоянной и не может быть отменена.В этой статье мы объяснили, как использовать psql для удаления таблицы в PostgreSQL. С помощью наших инструкций и примеров вы сможете удалить одну или несколько таблиц из собственной базы данных PostgreSQL.

          .

          PostgreSQL DROP DATABASE — Удаление баз данных PostgreSQL

          Резюме : в этом руководстве вы узнаете, как использовать оператор PostgreSQL DROP DATABASE для удаления базы данных.

          Введение в оператор PostgreSQL DROP DATABASE

          Когда база данных больше не нужна, вы можете удалить ее с помощью оператора DROP DATABASE .

          Ниже показан синтаксис оператора DROP DATABASE :

           

          DROP DATABASE [IF EXISTS] имя_базы_данных;

          Чтобы удалить базу данных:

          • Укажите имя базы данных, которую вы хотите удалить, после предложения DROP DATABASE .
          • Используйте IF EXISTS , чтобы предотвратить ошибку при удалении несуществующей базы данных. Вместо этого PostgreSQL выдаст уведомление.

          Оператор DROP DATABASE навсегда удаляет записи каталога и каталог данных. Это действие нельзя отменить, поэтому используйте его с осторожностью.

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

          PostgreSQL также предоставляет служебную программу с именем dropdb , которая позволяет удалить базу данных. Программа dropdb выполняет оператор DROP DATABASE за кулисами.

          1) Отбросьте базу данных с активными соединениями

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

          Сначала найдите действия, связанные с базой данных, запросив представление pg_stat_activity :

           

          ВЫБРАТЬ * ОТ pg_stat_activity ГДЕ имя_данных = '<имя_базы_данных>';

          Во-вторых, завершите активные соединения, выполнив следующий запрос:

           

          SELECT pg_terminate_backend (pid) ОТ pg_stat_activity ГДЕ pg_stat_activity.datname = '';

          Обратите внимание, что если вы используете PostgreSQL версии 9.1 или более ранней, используйте столбец procpid вместо столбца pid , потому что PostgreSQL изменил столбец procid на столбец pid с версии 9.2

          В-третьих, выполните Оператор DROP DATABASE :

           

          DROP DATABASE ;

          Примеры PostgreSQL DROP DATABASE

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

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

           

          CREATE DATABASE hrdb; СОЗДАТЬ БАЗУ ДАННЫХ testdb1;

          1) Удалите базу данных, у которой нет активного соединения. Пример

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

           

          DROP DATABASE hrdb;

          PostgreSQL удалил базу данных hrdb .

          2) Удаление базы данных с активными соединениями. Пример

          Следующий оператор удаляет базу данных testdb1 :

           

          DROP DATABASE testdb1;

          Однако PostgreSQL выдал следующую ошибку:

           

          ОШИБКА: к базе данных "testdb1" обращаются другие пользователи. Состояние SQL: 55006 Подробно: существует еще 1 сеанс, использующий базу данных.

          Чтобы удалить базу данных testdb1 , необходимо разорвать активное соединение и сбросить базу данных.

          Сначала запросите представление pg_stat_activity , чтобы узнать, какие действия происходят в базе данных testdb1 :

           

          SELECT * ОТ pg_stat_activity ГДЕ datname = 'testdb1';

          База данных testdb1 имеет одно соединение с localhost , поэтому можно безопасно разорвать это соединение и удалить базу данных.

          Во-вторых, завершите соединение с базой данных testdb1 , используя следующий оператор:

           

          SELECT pg_terminate_backend (pg_stat_activity.pid) ОТ pg_stat_activity ГДЕ pg_stat_activity.datname = 'testdb1';

          В-третьих, выполните команду DROP DATABASE , чтобы удалить базу данных testdb1 :

           

          DROP DATABASE testdb1;

          PostgreSQL навсегда отбрасывает testdb1 .

          В этом руководстве вы узнали, как использовать оператор PostgreSQL DROP DATABASE для удаления базы данных. Кроме того, вы также узнали, как удалить базу данных с активными соединениями.

          • Было ли это руководство полезным?
          • Да Нет

          .

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

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