Thread: Problems Pgdump
I trying to get the next one : <br /><br />pg_dump -h 192.170.1.3 -U User --format custom --inserts --verbose --file \"/root/Desktop/$name.backup\" --table "$ESQUEMA.$Nametable" DB"<br /><br />my Name table is <font class="TextReadOnly">detalle_Inegra, and the problem is that it table alwals sent me a message like i COULD NOT FIND THENAME OF TABLE <br /></font>
sorry I cound finish my problem.<br /><br />I trying to get the next one : <br /><br />pg_dump -h 192.170.1.3 -U User --formatcustom --inserts --verbose --file \"/root/Desktop/$name .backup\" --table "$ESQUEMA.$Nametable" DB"<br /><br />myName table is <font>detalle_Inegra , and the problem is that it table alwals sent me a message like i COULD NOT FINDTHE NAME OF TABLE but the table exist and <br /><br />I use the logic for other tables and works fine .<br /><br />Whatcould be the problem?<br /><br />thnks<br /><br /></font><br /><div class="gmail_quote">2011/5/24 manuel antonio ochoa<span dir="ltr"><<a href="mailto:manuel8aalfaro@gmail.com">manuel8aalfaro@gmail.com</a>></span><br /><blockquoteclass="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left:1ex;">I trying to get the next one : <br /><br />pg_dump -h 192.170.1.3 -U User --format custom --inserts --verbose--file \"/root/Desktop/$name .backup\" --table "$ESQUEMA.$Nametable" DB"<br /><br />my Name table is <font>detalle_Inegra, and the problem is that it table alwals sent me a message like i COULD NOT FIND THE NAME OF TABLE<br /></font></blockquote></div><br />
On 25/05/11 03:26, manuel antonio ochoa wrote: > sorry I cound finish my problem. > > I trying to get the next one : > > pg_dump -h 192.170.1.3 -U User --format custom --inserts --verbose > --file \"/root/Desktop/$name .backup\" --table "$ESQUEMA.$Nametable" DB" > > my Name table is detalle_Inegra , and the problem is that it table > alwals sent me a message like i COULD NOT FIND THE NAME OF TABLE but > the table exist and It's almost certainly a case-folding issue. It'd help if you posted the output of: \d in the database of interest. At a guess, what's happening is that you have a mixed-case table name. Let's say it's called "Fred". You're trying to run: pg_dump --table "Fred" dbname The shell consumes the double-quotes during argument processing, so what pg_dump actually sees is three arguments: --table Fred dbname Because of case-folding rules, table names that are not double-quoted are folded to lower-case. This means that the table names: Fred FRED fred FrEd are all interpreted as meaning the table "fred" (lower case). If you need to preserve case, you need to protect the double quotes from consumption by the shell, so you send the argument "Fred" to pg_dump. In your command line above, you would change --table "$ESQUEMA.$Nametable" to --table "\"$ESQUEMA\".\"$Nametable\"" ... adding a pair of escaped double-quotes around both the table and schema names that the shell does NOT consume. The outer double-quotes need to be retained in case the table or schema names contain shell meta-characters and/or spaces. To learn more about postgresql's case folding, see: http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS http://sql-info.de/postgresql/postgres-gotchas.html http://archives.postgresql.org/pgsql-hackers/2004-04/msg00818.php -- Craig Ringer