Импорт / експорт на база данни през phpPgAdmin

За управление на PostgreSQL базите данни, в хостинг акаунта, е препоръчително да се използва допълнително инсталиран phpPgAdmin.

Експорт на данни в .sql файл

Експорт на данните от избрана база данни или схема

През phpPgAdmin може да се извърши експорт на данни от цялата база данни или за отделна схема.

Експорт на данни

В зависимост от това кои данни искате да експортирате, маркирайте съответно или името на базата данни или името на схемата и кликнете на Export.

За да се извлекат всички данни, заедно със структурата на базата/схемата, маркирайте Structure and data (1) и за Format изберете SQL (2).

От опциите маркирайте Download (3) и завършете с Export (4). Ще можете да изберете къде да се запише генерираният .sql файл, локално на вашия компютър.

Ако изберете опцията Show, вместо да се свали .sql файла, в следващ прозорец ще видите съдържанието му. Опцията Download compressed with gzip също ще генерира .sql файл с данните, но ще приложи върху него и компресиране (dump.sql.gz).

Импорт на данни от .sql файл

Импорт на данни от .sql файл

За да направите импорт на данни през phpPgAdmin, кликнете върху името на базата, вляво в списъка с бази.

От панела вдясно, показващ списък със схемите, кликнете на SQL и след това на Browse.

След като изберете .sql файла за импорт, завършете с Execute.

Важно: За да извършите импорт на данни, в PostgreSQL база данни, е необходимо да използвате допълнително инсталиран в хостинг акаунта phpPgAdmin. Също така трябва да сте се логнали с потребителя, който е зададен за базата данни.

Важно: За успешен импорт на данни в PostgreSQL база данни, първо проверете дали:

  1. Схемата съществува.
    Ако схемата, в която ще се извършва импорта, вече съществува, в .sql файла не трябва да има заявка за създаването й. Примерен код за създаване на схема, който може да се премахне от .sql файла:
    CREATE SCHEMA wolf;
    ALTER SCHEMA wolf OWNER TO cpuser_mypgusr;
    COMMENT ON SCHEMA wolf IS ‘-‘;
  2. В .sql файла е указан вашият потребител за базата данни, с който реално извършвате импорта. Навсякъде, където е зададено името на потребителя, трябва да е посочен вашия потребител. Например „Owner: cpuser_mypgusr
  3. В .sql файла е указана правилната схема. По същия начин като с потребителя, навсякъде трябва да е зададено точното име на схемата, в която ще се извършва импорта. Задължително в реда:
    SET search_path = wolf, pg_catalog;
    първата схема трябва да е тази, в която ще се извърши импорта.
    Всички записи от вида Schema: wolf; трябва да съдържат името на правилната схема.

Възможни съобщения за грешка при импорт

ERROR: schema „wolf“ already exists

Схемата wolf вече съществува, но в .sql файла е указано да се създаде. В този случай импорта ще се осъществи, въпреки това съобщение (точка 1).

ERROR: role „cpuser_pguser“ does not exist

Това означава, че в .sql файла трябва да промените потребителя cpuser_pguser с този, който използвате в момента за импорт на данните (точка 2).

ERROR: must be owner of extension plpgsql

Разширението plpgsql е инсталирано на сървъра и вие се опитвате да промените коментара му. Чрез това разширение се добавя възможността за ползване на процедурния/програмния език plpgsql. Този език се ползва за създаване на функции, вложени процедури и други в базата данни.

Проверете отново .sql файла и ако откриете следните редове – премахнете ги:
CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
COMMENT ON EXTENSION plpgsql IS ‘PL/pgSQL procedural language’;

ERROR: relation „users“ already exists
ERROR: function „date_format“ already exists with same argument types
ERROR: relation „wolf_cron“ already exists

Съобщения за грешка, в които има текст „already exists„, означават, че посочения елемент вече е наличен в базата данни. Уверете се, преди импорта, че базата/схемата е чиста, тоест в нея няма вече създадени със същите имена – схеми (schemas), таблици (tables), ограничения (constraints); броячи (sequences), функции (functions) и други.

Обновена: 17.03.2022

Беше ли Ви полезна тази статия?

Вижте още