powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / pg_dump странное поведение
12 сообщений из 12, страница 1 из 1
pg_dump странное поведение
    #39740926
Tester666
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Необходимо выгрузить схему public из базы, но почему-то в дампе после выгрузки не видно никаких таблиц. Пробовал разные способы, результат один - никакие объекты схемы не выгружаются. Например:
Код: plsql
1.
pg_dump.exe -d Test -n public -U postgres -f Test.dump.


Владельцем схемы public является суперпользователь postgres.
До этого делал дамп всех схем данной базы и заметил следующее: все схемы, владельцем которых был postgres не выгрузились. Ошибок во время дампа не было. Что может быть не так? В просторах интернета нашел похожую ситуацию:
https://dba.stackexchange.com/questions/194098/pg-dump-issue-while-dumping-single-schema

В моем случае дамп вот такой на выходе:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
--
-- PostgreSQL database dump
--

-- Dumped from database version 10.5
-- Dumped by pg_dump version 10.6

SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
SET client_min_messages = warning;
SET row_security = off;

--
-- PostgreSQL database dump complete
--



Версия постгреса - PostgreSQL 10.6, compiled by Visual C++ build 1800, 64-bit
...
Рейтинг: 0 / 0
pg_dump странное поведение
    #39741017
grgdvo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tester666,

Код: plaintext
1.
-- Dumped from database version 10.5
-- Dumped by pg_dump version 10.6

У вас там случайно две версии сервера не запущено??
А то клиент у вас от 10.6, а сервер от 10.5
...
Рейтинг: 0 / 0
pg_dump странное поведение
    #39741821
Tester666
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
grgdvo,
нет, сервер один.
...
Рейтинг: 0 / 0
pg_dump странное поведение
    #39741859
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Покажите вывод этих двух команд. Только целиком, ничего не обрезайте.
Код: sql
1.
2.
pg_dump.exe -d Test -n public -U postgres
psql.exe -d Test -U postgres -c '\dt public.*'
...
Рейтинг: 0 / 0
pg_dump странное поведение
    #39741948
Tester666
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поправка, на компьютере действительно 2 сервера, сразу не заметил. Теперь прописываю нужный мне хоcт (
Код: sql
1.
pg_dump.exe -d Test -n public -U postgres -p 1234 -f "Test.dump"

) и получаю дамп в таком виде:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
--
-- PostgreSQL database dump
--

-- Dumped from database version 10.6
-- Dumped by pg_dump version 10.6

SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
SET client_min_messages = warning;
SET row_security = off;

--
-- PostgreSQL database dump complete
--



Однако схемы паблик как не было так и нет.

Пробую следующий вариант:
Код: sql
1.
psql.exe -d Test -U postgres -p 1234 -c \dt public.*


В результате выводится список таблиц паблика:

Список отношений
Схема | Имя | Тип | Владелец
--------+-----------------------------+-----+----------
public | table1 | таблица | postgres
public | table2 | таблица | postgres
(2 строки)
...
Рейтинг: 0 / 0
pg_dump странное поведение
    #39741987
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tester666,

Всё-таки есть ощущение, что pg_dump и psql к разным базам подключаются.
...
Рейтинг: 0 / 0
pg_dump странное поведение
    #39742732
Visermoz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Посмотрите список баз: может быть у вас есть test и "Test" с первой буковой в верхнем регистре?
...
Рейтинг: 0 / 0
pg_dump странное поведение
    #39743440
Tester666
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, база на этом порту одна - и называется так как написано (Test).
...
Рейтинг: 0 / 0
pg_dump странное поведение
    #39759908
Alex__kK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tester666,

У меня похожая ситуация:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
bash-4.2$ psql mydb
psql (10.4)
Введите "help", чтобы получить справку.

mydb=# select * from amqp.broker;
 broker_id |   host    | port | vhost | username | password
-----------+-----------+------+-------+----------+----------
         1 | localhost | 5672 |       |          |
(1 строка)

mydb=# \dt amqp.*
          Список отношений
 Схема |  Имя   |   Тип   | Владелец
-------+--------+---------+----------
 amqp  | broker | таблица | postgres
(1 строка)

mydb=# \q

bash-4.2$ pg_dump --format=plain -d mydb -n amqp
--
-- PostgreSQL database dump
--

-- Dumped from database version 10.4
-- Dumped by pg_dump version 10.4

SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
SET client_min_messages = warning;
SET row_security = off;

--
-- Name: amqp; Type: SCHEMA; Schema: -; Owner: postgres
--

CREATE SCHEMA amqp;


ALTER SCHEMA amqp OWNER TO postgres;

--
-- Name: SCHEMA amqp; Type: ACL; Schema: -; Owner: postgres
--

GRANT USAGE ON SCHEMA amqp TO testuser;


--
-- PostgreSQL database dump complete
--

bash-4.2$



pg_dump содержимое таблицы почему-то не выводит.
Следует отметить, что данная схема часть расширения. Я пробовал это расширение переустановить, но ситуацию это не изменило.
Незнаю что и думать.

ЗЫ. На сервере сервер один.
...
Рейтинг: 0 / 0
pg_dump странное поведение
    #39759910
Alex__kK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Причем на другом сервере данное поведение не воспроизводится и содержимое таблицы в дамп попадает
...
Рейтинг: 0 / 0
pg_dump странное поведение
    #39759932
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex__kK,

Для того чтобы содержимое таблицы, которая является частью расширения, попадало в вывод pg_dump в скрипте расширения должен быть вызов функции типа:
Код: sql
1.
SELECT pg_extension_config_dump('amqp.broker'::regclass);


Причем этот вызов нельзя сделать вне скрипта расширения.

Если на другом сервере у вас содержимое этой таблицы выгружается, то
* либо она там не является частью расширения, проверьте через \dx+
* там другая версия расширения, где вызов функции добавлен. Сверьте версии.
...
Рейтинг: 0 / 0
pg_dump странное поведение
    #39760094
Alex__kK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Лузанов,

Вы были абсолютно правы, на той машине, где содержимое попадает в дамп, версия расширения чуть более новое, и там присутствует строка:
Код: sql
1.
SELECT pg_catalog.pg_extension_config_dump('broker', '');



Спасибо!
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / pg_dump странное поведение
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]