Re: proposal: possibility to read dumped table's name from file
От | Justin Pryzby |
---|---|
Тема | Re: proposal: possibility to read dumped table's name from file |
Дата | |
Msg-id | 20201117215321.GF24784@telsasoft.com обсуждение исходный текст |
Ответ на | Re: proposal: possibility to read dumped table's name from file (Pavel Stehule <pavel.stehule@gmail.com>) |
Ответы |
Re: proposal: possibility to read dumped table's name from file
Re: proposal: possibility to read dumped table's name from file |
Список | pgsql-hackers |
On Wed, Nov 11, 2020 at 06:49:43AM +0100, Pavel Stehule wrote: > Perhaps this feature could co-exist with a full blown configuration for > >> pg_dump, but even then there's certainly issues with what's proposed- > >> how would you handle explicitly asking for a table which is named > >> " mytable" to be included or excluded? Or a table which has a newline > >> in it? Using a standardized format which supports the full range of > >> what we do in a table name, explicitly and clearly, would address these > >> issues and also give us the flexibility to extend the options which > >> could be used through the configuration file beyond just the filters in > >> the future. I think it's a reasonable question - why would a new configuration file option include support for only a handful of existing arguments but not the rest. > > This is the correct argument - I will check a possibility to use strange > > names, but there is the same possibility and functionality like we allow > > from the command line. So you can use double quoted names. I'll check it. > > I checked > echo "+t \"bad Name\"" | /usr/local/pgsql/master/bin/pg_dump --filter=/dev/stdin > It is working without any problem I think it couldn't possibly work with newlines, since you call pg_get_line(). I realize that entering a newline into the shell would also be a PITA, but that could be one *more* reason to support a config file - to allow terrible table names to be in a file and avoid writing dash tee quote something enter else quote in a pg_dump command, or shell script. I fooled with argument parsing to handle reading from a file in the quickest way. As written, this fails to handle multiple config files, and special table names, which need to support arbitrary, logical lines, with quotes surrounding newlines or other special chars. As written, the --config file is parsed *after* all other arguments, so it could override previous args (like --no-blobs --no-blogs, --file, --format, --compress, --lock-wait), which I guess is bad, so the config file should be processed *during* argument parsing. Unfortunately, I think that suggests duplicating parsing of all/most the argument parsing for config file support - I'd be happy if someone suggested a better way. BTW, in your most recent patch: s/empty rows/empty lines/ unbalanced parens: "invalid option type (use [+-]" @cfbot: I renamed the patch so please ignore it. -- Justin
Вложения
В списке pgsql-hackers по дате отправления: