in LOG

2024-09-16 12:55:37.295 EDT [428] ERROR:  invalid byte sequence for
encoding "UTF8": 0x00
2024-09-16 12:55:37.295 EDT [428] CONTEXT:  COPY
image_classification_master, line 1, column spoolstarttime

On Mon, Sep 16, 2024 at 12:56 PM Adrian Klaver <adrian.kla...@aklaver.com>
wrote:

> On 9/16/24 09:46, Andy Hartman wrote:
> >
> > It Looks correct.
> >
> > $pgTable = "image_classification_master"
>
> Connect to the database with psql and look at the table name. I'm
> betting it is not image_classification_master. Instead some mixed or all
> upper case version of the name.
>
> I don't use PowerShell or Windows for that matter these days so I can't
> be of much use on the script. I do suspect you will need to some
> escaping to get the table name properly quoted in the script. To work
> through this you need to try what I call the crawl/walk/run process. In
> this case that is:
>
> 1) Crawl. Connect using psql and run the \copy in it with hard coded
> values.
>
> 2) Walk. Use psql with the -c argument and supply the command again with
> hard coded values
>
> 3) Run. Then use PowerShell and do the variable substitution.
>
> >
> >
> >
> >
> > On Mon, Sep 16, 2024 at 12:17 PM Adrian Klaver
> > <adrian.kla...@aklaver.com <mailto:adrian.kla...@aklaver.com>> wrote:
> >
> >     On 9/16/24 09:12, Andy Hartman wrote:
> >      > 2024-09-16 12:06:00.968 EDT [4968] ERROR:  relation
> >      > "image_classification_master" does not exist
> >      > 2024-09-16 12:06:00.968 EDT [4968] STATEMENT:  COPY
> >      > Image_Classification_Master FROM STDIN DELIMITER ',' CSV HEADER;
> >
> >     I'm assuming this is from the Postgres log.
> >
> >     Best guess is the table name in the database is mixed case and needs
> to
> >     be double quoted in the command to preserve the casing.
> >
> >     See:
> >
> >
> https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS
> <
> https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS
> >
> >
> >     for why.
> >
> >      >
> >      > On Mon, Sep 16, 2024 at 11:52 AM Francisco Olarte
> >      > <fola...@peoplecall.com <mailto:fola...@peoplecall.com>
> >     <mailto:fola...@peoplecall.com <mailto:fola...@peoplecall.com>>>
> wrote:
> >      >
> >      >
> >      >
> >      >     On Mon, 16 Sept 2024 at 17:36, Andy Hartman
> >     <hartman60h...@gmail.com <mailto:hartman60h...@gmail.com>
> >      >     <mailto:hartman60h...@gmail.com
> >     <mailto:hartman60h...@gmail.com>>> wrote:
> >      >
> >      >         I'm trying to run this piece of code from Powershell and
> >     it just
> >      >         sits there and never comes back. There are only 131
> >     records in
> >      >         the csv.
> >      >         $connectionString =
> >      >
> >
>  "Host=$pgServer;Database=$pgDatabase;Username=$pgUser;Password=$pgPassword"
> >      >         $copyCommand = "\COPY $pgTable FROM '$csvPath' DELIMITER
> >     ',' CSV
> >      >         HEADER;"
> >      >         psql -h $pgServer -d $pgDatabase -U $pgUser -c
> $copyCommand
> >      >         how can I debug this?
> >      >
> >      >
> >      >     I would start by adding -a and -e after "psql".
> >      >
> >      >     IIRC Powershell is windows, and in windows shell do not pass
> >     command
> >      >     words preparsed as in *ix to the executable, but a single
> command
> >      >     line with the executable must parse. Given the amount of
> >     quoting, -a
> >      >     and -e will let you see the commands are properly sent, and
> >     if it is
> >      >     trying to read something what it is.
> >      >
> >      >     I will also try to substitute the -c with a pipe. If it
> >     heals, it is
> >      >     probably a quoting issue.
> >      >
> >      >     Also, I just caught Ron's message, and psql might be waiting
> >     for a
> >      >     password.
> >      >
> >      >     Francisco Olarte.
> >      >
> >
> >     --
> >     Adrian Klaver
> >     adrian.kla...@aklaver.com <mailto:adrian.kla...@aklaver.com>
> >
>
> --
> Adrian Klaver
> adrian.kla...@aklaver.com
>
>

Reply via email to