PostgreSQL: table niet zichtbaar in query, wel in du

Pagina: 1
Acties:

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

Topicstarter
Hoihoi


Ik ben aan een applicatie van iemand aan het werken waarin een tabel gemaakt is genaamd 'User' en deze is niet te zien als ik een select-query draai op die db:

code:
1
2
3
4
5
geofiber=# select * from User;
 current_user
--------------
 fiberdb
(1 row)

Ik gok dat dit een postgresql interne tabel is ... (motivatie komt hieronder).

Als ik nu echter de DB dump bekijk:

code:
1
COPY "User" ("Username", "Password", "Fullname", "Email", "AdminRight", "EditWebRight", "GeoRight", "EditGeoRight", "SoapRight", "WebRight", last_updated, last_updated_by) FROM stdin;


Vervolgens staat daar keurig netjes een zooi usernames en passwords onder.

Ik gok (ook vwg de naam) dat 'User' een interne pgsql tabel is, ook omdat deze zowel qua definitie als qua inhoud compleet verschilt van de tabel die ik heb aangemaakt.


Mijn dumpje is btw 'vers', ongeveer 30 secs oud en sindsdien is er niemand aan die DB geweest.

Kan iemand mij vertellen hoe ik die tabel kan benaderen in de CLI?
Ik heb al databasenaam.User geprobeerd, maar dat werkt niet.


NOS is maybe niet de ideale plek voor zo'n topic, maar ik weet geen betere hier.

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 29-01 23:23

deadinspace

The what goes where now?

Geef eens letterlijk wat je probeert en wat er niet aan lukt?

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

Topicstarter
Wel : ik doe een select * from User en dat levert een andere tabel op dan in mijn dump te zien is.
Die select doe ik uiteraard in dezelfde DB als die gedumpt wordt.

Vb:

code:
1
2
COPY "User" ("Username", "Password", "Fullname", "Email", "AdminRight", "EditWebRight", "GeoRight", "EditGeoRight", "SoapRight", "WebRight", last_updated, last_updated_by) FROM stdin;
X   Y z    a@a.nl 1       1       1       1       1       1       2007-07-12 12:43:15.661565+02   admin


Dit staat er in mijn dump.

Dan verwacht ik dit ook terug als ik een SELECT query run (Domweg omdat die dump net van diezelfde DB is gemaakt).


Ik krijg echter:

code:
1
2
3
4
5
geofiber=# select * from User;
 current_user
--------------
 fiberdb
(1 row)

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 29-01 23:23

deadinspace

The what goes where now?

En dit gedeelte?
Boudewijn schreef op maandag 26 mei 2008 @ 16:41:
Ik heb al databasenaam.User geprobeerd, maar dat werkt niet.
Ik vermoed namelijk dat je de tabelnaam niet juist quote (databasenaam."User" dus).

  • user109731
  • Registratie: Maart 2004
  • Niet online
User is een SQL keyword en een ingebouwde functie. System tables beginnen met pg_.

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

Topicstarter
@jandm: Ja dat weet ik; daarom ben ik ook zo blij met degene die het systeem zo bedacht heeft ;).

Hmm, spelen met quoting is mischien wel een idee ja.

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

Topicstarter
Ja dat is het dus met quoting kun je het oplossen.

Bedankt voor de tip, deadinspace.
Pagina: 1