Создание копии базы данных в PostgreSQL

enter image description here [/g0]

import Tix

class View(object):
    def __init__(self, root):
        self.root = root
        self.makeCheckList()

    def makeCheckList(self):
        self.cl = Tix.CheckList(self.root, browsecmd=self.selectItem)
        self.cl.pack()
        self.cl.hlist.add("CL1", text="checklist1")
        self.cl.hlist.add("CL1.Item1", text="subitem1")
        self.cl.hlist.add("CL2", text="checklist2")
        self.cl.hlist.add("CL2.Item1", text="subitem1")
        self.cl.setstatus("CL2", "on")
        self.cl.setstatus("CL2.Item1", "on")
        self.cl.setstatus("CL1", "off")
        self.cl.setstatus("CL1.Item1", "off")
        self.cl.autosetmode()

    def selectItem(self, item):
        print item, self.cl.getstatus(item)

def main():
    root = Tix.Tk()
    view = View(root)
    root.update()
    root.mainloop()

if __name__ == '__main__':
    main()
667
задан frlan 11 January 2015 в 21:17
поделиться

4 ответа

Postgres allows the use of any existing database on the server as a template when creating a new database. I'm not sure whether pgAdmin gives you the option on the create database dialog but you should be able to execute the following in a query window if it doesn't:

CREATE DATABASE newdb WITH TEMPLATE originaldb OWNER dbuser;

Still, you may get:

ERROR:  source database "originaldb" is being accessed by other users

To disconnect all other users from the database, you can use this query:

SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity 
WHERE pg_stat_activity.datname = 'originaldb' AND pid <> pg_backend_pid();
1065
ответ дан 22 November 2019 в 21:40
поделиться

Вот целый процесс создания копирования по базе данных с помощью только pgadmin4 GUI (через резервное копирование и восстановление)

, Пост-ГРЭС идет с Pgadmin4. При использовании macOS, можно нажать CMD + SPACE и тип pgadmin4 для выполнения его. Это откроет вкладку браузера в хроме.

<час>

Шаги для копирования

1. Создайте резервное копирование

, Делают это путем щелчка правой кнопкой по базе данных-> "резервное копирование"

enter image description here

2. Дайте файлу имя.

Как test12345. Нажмите резервное копирование. Это создает дамп двоичного файла, это не находится в .sql формат

enter image description here

3. Посмотрите, где это загрузило

должно быть всплывающее окно в нижней правой части Вашего экрана. Нажмите страницу "more details" для наблюдения, где резервное копирование загрузило на [1 144]

enter image description here

4. Find местоположение загруженного файла

В этом случае, это /users/vincenttang

enter image description here

5. Восстановите резервное копирование от pgadmin

, Принимающего Вас, сделал шаги 1 - 4 правильно, у Вас будет двоичный файл восстановления. Там мог бы прибыть время, Ваш коллега хочет использовать Ваш файл восстановления на их локальной машине. Сказали, что человек переходит к pgadmin и восстанавливает

, Делают это путем щелчка правой кнопкой по базе данных-> "восстановление"

enter image description here

6. Выберите средство поиска файла

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

enter image description here

7. Find сказал, что файл

Вам, возможно, придется изменить фильтр в нижней правой части во "Все файлы". Find файл после этого, от шага 4. Теперь нажмите нижнюю правую кнопку "Select" для подтверждения

enter image description here

8. Восстановление сказало файл

наблюдение этой страницы снова с местоположением выбранного файла. Разрешение и восстановление это

enter image description here

9. Успех

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

10. Если это не было успешно:

Должен ступить 9 сбоев, попытаться удалить Вашу старую общедоступную схему на Вашей базе данных. Перейдите к "Инструментальному средству формирования запросов"

enter image description here

, Выполняют этот блок кода:

DROP SCHEMA public CASCADE; CREATE SCHEMA public;

enter image description here

Теперь шаги 5 - 9 попытки снова, это должно удаться

0
ответ дан 22 November 2019 в 21:40
поделиться

Don't know about pgAdmin, but pgdump gives you a dump of the database in SQL. You only need to create a database by the same name and do

psql mydatabase < my dump

to restore all of the tables and their data and all access privileges.

48
ответ дан 22 November 2019 в 21:40
поделиться

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

  1. Щелкните правой кнопкой мыши исходную базу данных, Резервное копирование ... и сделайте дамп в файл.
  2. Щелкните правой кнопкой мыши, выберите «Новый объект», «Новая база данных» ... и назовите место назначения.
  3. Щелкните правой кнопкой мыши новую базу данных, Восстановить ... и выберите файл.
13
ответ дан 22 November 2019 в 21:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: