Re: How to reference a DB with a period in its name ?

From: negora <public(at)negora(dot)com>
To: David Gauthier <dfgpostgres(at)gmail(dot)com>
Cc: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: How to reference a DB with a period in its name ?
Date: 2024-03-29 21:50:52
Message-ID: 36cef37d-32cf-45f4-a4ce-01dc29cad5e1@negora.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi:

I think your problem is in the Perl side more than in PostgreSQL's. When
you said you tried escaping with \, Did you mean *exactly* this?

"delete from \"thedb.v1\".theschem.thetab where col1 = 1"

I think this should work.

Or you can use single quotes to enclose the query, so that you don't
need to escape the double quotes:

'delete from "thedb.v1".theschem.thetab where col1 = 1'

Best regards.

On 29/03/2024 22:16, David Gauthier wrote:
> Hi:
>
> I have a DB named "thedb", which has a schema called "theschem" which
> has a table called "thetab".  In a perl/DBI script, I am able to work
> with the table by referencing it as... "thedb.theschem.thetab" as
> in... "delete from thedb.theschem.thetab where col1=1"
>
> No problem (so far...)
>
> New DB now has a name "thedb.v1" (notice the "."), the schem and table
> are the same as above.  But now I'm getting a syntax error presumably
> because of that "." introduced in the DB name.
>
> I tried encapsulating the DB name in double quotes (no good), single
> quotes (still no good) escaping with '\' (no good), escaping with ".."
> (no good).
>
> Is there a way I can reference the DB which has the "." in it's name ?
>
> v11.5 on linux (I know, way past time to upgrade)
>
> Thanks in Advance !

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Flavious Kumfa 2024-03-29 22:04:34 Re: PostgreSQL hardening best practice
Previous Message David Gauthier 2024-03-29 21:36:03 Re: How to reference a DB with a period in its name ?