Привет, Я DocuDroid!
Оценка ИИ поиска
Спасибо за оценку нашего ИИ поиска!
Мы будем признательны, если вы поделитесь своими впечатлениями, чтобы мы могли улучшить наш ИИ поиск для вас и других читателей.
GitHub

pg_dump

Выгружает базу данных в виде скрипта или в архивном формате.

Синтаксис

pg_dump [<connection-option> ...] [<dump_option> ...] [<dbname>]

pg_dump -? | --help

pg_dump -V | --version

Описание

pg_dump — стандартная утилита PostgreSQL для резервного копирования базы данных, которая также поддерживается в Greengage DB. Она создает один (непараллельный) дамп. Для регулярных бэкапов Greengage DB рекомендуется использовать утилиты резервного копирования Greengage DB.

Используйте pg_dump, если переносите данные в другую СУБД или в другой кластер Greengage DB с отличающейся конфигурацией сегментов (например, если целевая система имеет большее или меньшее количество сегментов). Для восстановления используйте утилиту pg_restore (если дамп в архивном формате) или клиентскую программу, такую как psql (если дамп в текстовом формате).

Поскольку pg_dump совместима с PostgreSQL, она может использоваться для миграции данных в Greengage DB. Утилита pg_dump в Greengage DB очень похожа на утилиту pg_dump PostgreSQL, но имеет следующие особенности и ограничения:

  • Если вы используете pg_dump для создания резервной копии базы данных Greengage DB, учитывайте, что операция выгрузки может занимать значительное время (несколько часов) для очень больших баз данных. Также убедитесь, что на диске достаточно свободного места для создания файла выгрузки.

  • Если вы переносите данные из одного кластера Greengage DB в другой, используйте параметр командной строки --gp-syntax, чтобы включить выражение DISTRIBUTED BY в команды CREATE TABLE. Это обеспечит корректное распределение данных таблиц Greengage DB по соответствующим столбцам ключа распределения при восстановлении.

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

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

Наиболее гибкими форматами выходных файлов являются специальный формат (-Fc) и формат каталога (-Fd). Они позволяют выбирать и изменять порядок всех архивных объектов, поддерживают параллельное восстановление и по умолчанию используют сжатие. Формат каталога является единственным форматом, поддерживающим параллельные выгрузки.

Параметры

<dbname>

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

Параметры выгрузки

-a | --data-only

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

Этот параметр аналогичен указанию --section=data, но по историческим причинам не полностью эквивалентен ему.

-b | --blobs

Включает большие объекты в выгрузку. Это поведение используется по умолчанию, за исключением случаев, когда указаны параметры --schema, --table или --schema-only. Параметр -b имеет смысл только для добавления больших объектов в выгрузки, в которых запрошена конкретная схема или таблица. Обратите внимание, что большие объекты считаются данными и включаются при использовании --data-only, но не включаются при использовании --schema-only.

ПРИМЕЧАНИЕ

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

-c | --clean

Добавляет в текстовый выходной файл команды удаления объектов базы данных перед выводом команд их создания. При восстановлении могут появляться безвредные сообщения об ошибках, если какие-либо объекты отсутствуют в целевой базе данных. Обратите внимание, что объекты не удаляются до начала выгрузки, однако команды DROP включаются в выходной DDL-файл и при восстановлении выполняются перед соответствующими командами CREATE. Параметр имеет смысл только для формата обычного текста. Для архивных форматов его следует указывать при вызове pg_restore.

-C | --create

Начинает вывод с команды создания базы данных и переподключения к только что созданной базе. При использовании скрипта не имеет значения, к какой базе данных вы подключены в целевой системе перед запуском. Если также указан параметр --clean, скрипт сначала удаляет целевую базу данных, а затем создает ее заново перед переподключением. Параметр имеет смысл только для формата обычного текста. Для архивных форматов его можно указать при вызове pg_restore.

-E <encoding> | --encoding=<encoding>

Создает выгрузку в указанной кодировке символов. По умолчанию используется кодировка базы данных. Альтернативный способ получить тот же результат — установить переменную окружения PGCLIENTENCODING в требуемую кодировку выгрузки.

-f <file> | --file=<file>

Направляет вывод в указанный файл. Для файловых форматов этот параметр можно опустить — тогда используется стандартный вывод. Для формата вывода в виде каталога параметр обязателен: он задает целевой каталог, а не отдельный файл. Каталог создается утилитой pg_dump и не должен существовать заранее.

-F p|c|d|t | --format=plain|custom|directory|tar

Выбирает формат вывода. format может быть одним из следующих:

p | plain

Создает SQL-скрипт в текстовом формате (по умолчанию).

c | custom

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

d | directory

Создает архив в формате каталога, пригодный для использования с pg_restore. Формируется каталог с отдельным файлом для каждой выгружаемой таблицы и большого объекта, а также файл оглавления, описывающий содержимое архива в машиночитаемом формате, который может прочитать pg_restore. Файлы архива в формате каталога можно обрабатывать стандартными инструментами Unix; например, несжатые файлы можно сжать с помощью gzip. По умолчанию архив сжат.

t | tar

Создает архив в формате tar, пригодный для использования с pg_restore. Формат tar совместим с форматом каталога; извлечение архива в формате tar создает архив в формате каталога. Однако формат tar не поддерживает сжатие. Кроме того, при использовании формата tar относительный порядок элементов данных таблиц нельзя изменить во время восстановления.

-j <njobs> | --jobs=<njobs>

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

ПРИМЕЧАНИЕ

Параллельные выгрузки с использованием pg_dump выполняются только на узле диспетчера запросов (мастер), а не на узлах исполнителей (сегментах), как это происходит при использовании gpbackup.

pg_dump откроет njobs + 1 подключений к базе данных, поэтому убедитесь, что значение параметра max_connections достаточно для всех подключений.

Запрос эксклюзивных блокировок объектов базы данных во время параллельной выгрузки может привести к сбою операции. Главный процесс pg_dump запрашивает разделяемые блокировки объектов, которые позже будут выгружать процессы-обработчики, чтобы гарантировать, что объекты не будут удалены или изменены во время выгрузки. Если другой клиент запрашивает эксклюзивную блокировку таблицы, она помещается в очередь до освобождения разделяемой блокировки главного процесса. В результате любые другие запросы к таблице также блокируются и помещаются в очередь после запроса на эксклюзивную блокировку. Это касается и процесса-обработчика, пытающегося выгрузить таблицу, что без мер предосторожности может привести к классической ситуации взаимоблокировки. Чтобы выявить такой конфликт, процесс-обработчик pg_dump запрашивает дополнительную разделяемую блокировку с параметром NOWAIT. Если блокировка не предоставляется, значит, другой клиент запросил эксклюзивную блокировку, и продолжить выгрузку невозможно, поэтому pg_dump отменяет операцию.

Для согласованного создания бэкапа сервер баз данных должен поддерживать синхронизированные снепшоты. С их помощью клиенты базы данных могут быть уверены, что видят один и тот же набор данных, даже при использовании разных подключений. При использовании pg_dump -j создается несколько подключений: одно — для главного процесса, и по одному для каждого процесса-обработчика. Без синхронизированных снепшотов процессам-обработчикам не гарантируется, что они будут видеть одинаковые данные на всех подключениях, что может привести к несогласованному бэкапу.

-n <schema> | --schema=<schema>

Выгружает только схемы, соответствующие указанному шаблону, включая все объекты внутри них. Если параметр не указан, выгружаются все несистемные схемы целевой базы данных. Для выбора нескольких схем можно использовать несколько параметров -n. Параметр также интерпретируется как шаблон по тем же правилам, что применяются в командах \d в psql, поэтому можно указать несколько схем с помощью символов подстановки. При использовании символов подстановки заключайте шаблон в кавычки, чтобы предотвратить их раскрытие оболочкой.

ПРИМЕЧАНИЕ

При указании -n pg_dump не выгружает объекты базы данных, от которых могут зависеть выбранные схемы. Поэтому нет гарантии, что выгрузку конкретной схемы можно будет успешно восстановить в пустую базу данных.

-N <schema> | --exclude-schema=<schema>

Исключает из выгрузки схемы, соответствующие указанному шаблону. Шаблон интерпретируется по тем же правилам, что и для -n. Параметр -N можно использовать несколько раз для исключения схем, соответствующих любому из нескольких шаблонов. Если указаны оба параметра -n и -N, выгружаются только схемы, которые соответствуют хотя бы одному -n, но не соответствуют ни одному -N. Если -N используется без -n, схемы, соответствующие -N, исключаются из стандартной выгрузки.

-o | --oids

Включает идентификаторы объектов (OID) в данные каждой таблицы при выгрузке. Использование этого параметра не рекомендуется для файлов, которые планируется восстанавливать в Greengage DB.

-O | --no-owner

Не включает команды для установки владельца объектов в соответствии с исходной базой данных. По умолчанию pg_dump добавляет операторы ALTER OWNER или SET SESSION AUTHORIZATION, чтобы установить владельца созданных объектов. Эти команды вызовут ошибку при запуске скрипта, если он выполняется не суперпользователем или не пользователем, который владеет всеми объектами в скрипте. Чтобы создать скрипт, который может быть восстановлен любым пользователем и при этом назначит этому пользователю владение всеми объектами, используйте -O. Параметр имеет смысл только для формата обычного текста. Для архивных форматов его можно указать при вызове pg_restore.

-s | --schema-only

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

Этот параметр противоположен --data-only. Он похож на указание --section=pre-data --section=post-data, но по историческим причинам не идентичен ему.

Не путать с параметром --schema, который использует "схема" в другом значении.

Чтобы исключить данные только для определенных таблиц в базе данных, используйте --exclude-table-data.

-S <username> | --superuser=<username>

Задает имя суперпользователя для использования при деактивации триггеров. Актуально только при использовании параметра --disable-triggers. Рекомендуется не указывать этот параметр и вместо этого запускать полученный скрипт от имени суперпользователя.

ПРИМЕЧАНИЕ

Greengage DB не поддерживает пользовательские триггеры.

-t <table> | --table=<table>

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

Можно выбрать несколько таблиц, указав несколько параметров -t. Параметр интерпретируется как шаблон по тем же правилам, что и команды \d в psql, поэтому для выбора нескольких таблиц можно использовать символы подстановки. При использовании символов подстановки заключайте шаблон в кавычки, чтобы избежать их раскрытия оболочкой. Переключатели -n и -N не влияют на выборку таблиц с помощью -t, так как только указанные таблицы будут выгружены, а остальные объекты базы данных — нет.

ПРИМЕЧАНИЕ

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

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

-T <table> | --exclude-table=<table>

Исключает из выгрузки все таблицы, соответствующие указанному шаблону. Шаблон интерпретируется так же, как для параметра -t. Параметр -T можно указать несколько раз, чтобы исключить таблицы, соответствующие любому из шаблонов.

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

-v | --verbose

Включает подробный режим вывода. В этом режиме pg_dump выводит детальные комментарии к объектам и время начала/окончания в дампе, а сообщения о ходе выполнения — в стандартный поток ошибок.

-V | --version

Выводит версию pg_dump и завершает работу.

-x | --no-privileges | --no-acl

Не включает в выгрузку привилегии доступа (команды GRANT/REVOKE).

-Z 0..9 | --compress=0..9

Задает уровень сжатия для выгрузки. Значение 0 означает отсутствие сжатия.

Для специального архивного формата управляет сжатием отдельных сегментов данных таблиц; по умолчанию используется средний уровень сжатия. При выводе в обычный текст ненулевой уровень сжатия приводит к сжатию всего файла, как если бы он был пропущен через gzip; по умолчанию сжатие не выполняется. Архивный формат tar в настоящее время не поддерживает сжатие.

--binary-upgrade

Параметр предназначен для использования утилитами обновления на месте. Использование его для других целей не рекомендуется и не поддерживается.

--column-inserts | --attribute-inserts

Выгружает данные в виде команд INSERT с явным указанием имен столбцов (INSERT INTO <table> (<column>, …​) VALUES …​). Это делает восстановление значительно медленнее и в основном полезно для выгрузок, предназначенных для баз данных, несовместимых с PostgreSQL. При этом каждая строка создается отдельной командой, поэтому ошибка при загрузке затронет только эту строку, а не всю таблицу.

--disable-dollar-quoting

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

--disable-triggers

Применяется только при выгрузке данных (--data-only). Указывает pg_dump включить команды для временной деактивации триггеров в целевых таблицах при перезагрузке данных. Используется, если в таблицах есть триггеры, которые не должны срабатывать во время загрузки. Команды для --disable-triggers должны выполняться от имени суперпользователя. Либо укажите имя суперпользователя через -S, либо предпочтительнее запустите скрипт напрямую от имени суперпользователя. Параметр применим только для обычного текстового формата. Для архивных форматов его можно указать при вызове pg_restore.

ПРИМЕЧАНИЕ

Greengage DB не поддерживает пользовательские триггеры.

--exclude-table-data=<table>

Исключает данные из выгрузки для всех таблиц, соответствующих указанному шаблону. Шаблон интерпретируется так же, как для параметра -t. Параметр можно указать несколько раз, чтобы исключить таблицы по разным шаблонам. Это полезно, когда требуется сохранить определения таблиц, но не их данные.

Для исключения данных всех таблиц в базе используйте --schema-only.

--if-exists

Добавляет выражение IF EXISTS к командам удаления объектов базы данных. Применяется только вместе с параметром --clean.

--inserts

Выгружает данные в виде команд INSERT вместо COPY. Это замедляет восстановление, но полезно для выгрузок, которые необходимо загрузить в СУБД, отличную от PostgreSQL. Так как для каждой строки создается отдельная команда, ошибка при восстановлении затронет только эту строку, а не всю таблицу. Обратите внимание: восстановление может полностью не выполниться при изменении порядка столбцов. Параметр --column-inserts безопасен относительно изменения порядка столбцов, но еще медленнее.

--lock-wait-timeout=<timeout>

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

--no-security-labels

Не выгружает метки безопасности.

--no-tablespaces

Не выводит команды для выбора табличных пространств. С этим параметром все объекты будут созданы в том табличном пространстве, которое используется по умолчанию во время восстановления.

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

--no-unlogged-table-data

Не выгружает данные из нежурналируемых таблиц. Определения таблиц (схема) выгружаются как обычно; содержимое таблиц при этом не экспортируется. При выгрузке с резервного сервера данные из нежурналируемых таблиц всегда исключаются.

--quote-all-identifiers

Принудительно заключает все идентификаторы в кавычки. Рекомендуется использовать при выгрузке базы данных с сервера, основная версия Greengage DB которого отличается от версии pg_dump, или если выгрузка предназначена для загрузки на сервер другой основной версии. По умолчанию pg_dump заключает в кавычки только идентификаторы, являющиеся зарезервированными словами в его текущей версии. Это может вызвать проблемы совместимости с серверами других версий, у которых набор зарезервированных слов отличается. Использование --quote-all-identifiers предотвращает такие проблемы, хотя делает скрипт выгрузки менее читаемым.

--section=<sectionname>

Выгружает только указанную секцию. Имя секции может быть pre-data, data или post-data. Этот параметр можно указать более одного раза для выбора нескольких секций. По умолчанию выгружаются все секции.

Секция data содержит фактические данные таблиц и значения последовательностей. Секция post-data включает определения индексов, триггеров, правил и ограничений, кроме проверок CHECK. Секция pre-data включает все остальные элементы определения объектов базы данных.

--serializable-deferrable

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

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

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

ПРИМЕЧАНИЕ

Поскольку Greengage DB не поддерживает сериализуемые транзакции, параметр --serializable-deferrable не имеет эффекта в Greengage DB.

--use-set-session-authorization

Выводит команды SQL-стандарта SET SESSION AUTHORIZATION вместо ALTER OWNER для установки владения объектами. Это повышает совместимость со стандартами, но может привести к некорректному восстановлению в зависимости от истории объектов. Выгрузка с SET SESSION AUTHORIZATION потребует привилегий суперпользователя для корректного восстановления, тогда как ALTER OWNER требует меньших привилегий.

--gp-syntax | --no-gp-syntax

Используйте --gp-syntax для включения синтаксиса Greengage DB в операторах CREATE TABLE. Это позволяет экспортировать политику распределения (выражения DISTRIBUTED BY или DISTRIBUTED RANDOMLY) таблиц Greengage DB, что важно при восстановлении в других кластерах Greengage DB. По умолчанию синтаксис Greengage DB включается при подключении к кластеру Greengage DB и исключается при подключении к PostgreSQL.

--function-oids <oids>

Выгружает функции, указанные списком идентификаторов объектов (OIDs).

ПРИМЕЧАНИЕ

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

--relation-oids <oids>

Выгружает отношения, указанные списком идентификаторов объектов (OIDs).

ПРИМЕЧАНИЕ

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

-? | --help

Отображает справку по аргументам командной строки pg_dump и завершает работу.

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

-d <dbname> | --dbname=<dbname>

Указывает имя базы данных для подключения. Это эквивалентно указанию dbname в качестве первого позиционного аргумента в командной строке.

Если параметр содержит знак = или начинается с URI-префикса (postgresql:// или postgres://), он обрабатывается как строка conninfo. Дополнительную информацию см. в разделе Connection Strings документации PostgreSQL.

-h <host> | --host=<host>

Имя хоста, на котором работает мастер Greengage DB. Если параметр не указан, читается из переменной окружения PGHOST; по умолчанию используется localhost.

-p <port> | --port=<port>

TCP-порт, на котором мастер Greengage DB прослушивает подключения. Если параметр не указан, читается из переменной окружения PGPORT; по умолчанию используется порт 5432.

-U <username> | --username=<username>

Имя роли базы данных для подключения. Если параметр не указан, читается из переменной окружения PGUSER; по умолчанию используется имя текущей системной роли.

-W | --password

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

-w | --no-password

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

--role=<rolename>

Указывает роль, которая будет использоваться для создания выгрузки. После подключения к базе данных pg_dump выполнит команду SET ROLE rolename. Это полезно, когда аутентифицированному пользователю (через -U) не хватает прав, необходимых pg_dump, но он может переключиться на роль с нужными привилегиями. Некоторые инсталляции ограничивают прямой вход от имени суперпользователя; использование этого параметра позволяет создавать выгрузки, соблюдая политику безопасности.

Примечания

При выгрузке только данных с использованием параметра --disable-triggers pg_dump генерирует команды для временной деактивации триггеров в пользовательских таблицах перед вставкой данных и команды для их повторной активации после вставки. Если восстановление прервется на середине, системные каталоги могут остаться в несогласованном состоянии.

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

Активность pg_dump обычно отслеживается сборщиком статистики. Если это нежелательно, можно установить параметр track_counts в false через PGOPTIONS или команду ALTER USER.

Так как pg_dump может использоваться для переноса данных в более новые версии Greengage DB, вывод pg_dump можно загружать в версии Greengage DB, новее версии самой утилиты. pg_dump также поддерживает выгрузку из более старых версий Greengage DB. Однако утилита не позволяет выгружать из версий, новее своей основной версии — она откажется выполнять операцию, чтобы не создавать недействительную выгрузку. Кроме того, нет гарантии, что выгрузка будет корректно загружена на сервер более ранней версии. Загрузка файла выгрузки на сервер с более ранней версией Greengage DB может потребовать ручного редактирования для удаления синтаксиса, не поддерживаемого этой версией. Использование параметра --quote-all-identifiers рекомендуется при переносе между версиями, так как оно предотвращает проблемы, связанные с различиями в списках зарезервированных слов в разных версиях Greengage DB.

Примеры

Выгрузить базу данных с именем mydb в файл SQL-скрипта:

$ pg_dump mydb > db.sql

Восстановить такой скрипт в только что созданную базу данных newdb:

$ psql -d newdb -f db.sql

Выгрузить Greengage DB в формате tar с информацией о политике распределения:

$ pg_dump -Ft --gp-syntax mydb > db.tar

Выгрузить базу данных в архив специального формата:

$ pg_dump -Fc mydb > db.dump

Выгрузить базу данных в архив в формате каталога:

$ pg_dump -Fd mydb -f dumpdir

Выгрузить базу данных в архив в формате каталога параллельно с 5 процессами:

$ pg_dump -Fd mydb -j 5 -f dumpdir

Восстановить архивный файл в (только что созданную) базу данных newdb:

$ pg_restore -d newdb db.dump

Выгрузить одну таблицу mytab:

$ pg_dump -t mytab mydb > db.sql

Чтобы указать имя в верхнем или смешанном регистре в -t и связанных переключателях, заключайте его в двойные кавычки. Но двойные кавычки являются специальными для оболочки, поэтому в свою очередь они должны быть заключены в одинарные кавычки. Например, для таблицы с именем в смешанном регистре:

$ pg_dump -t '"MixedCaseName"' mydb > mytab.sql

См. также