I'm running postgres 8.0.3 (Solaris) and PgAdmin III 1.8.0

I created a schema in my prod DB that is named pgmacdon, however it appears that pgAdmin III is not displaying this schema as existing in the prod DB.

It would appear that you are using the wrong query to exclude the pg_* internal schemas

PgAdmin III appears to be doing a query similar to the following to retrieve the list of schemas to display:

SELECT
 nspname,
 CASE WHEN nspname LIKE 'pg\_tmp\_%%' THEN 1
      WHEN (nspname LIKE 'pg\_%') THEN 0
      ELSE 3 END AS nsptyp
FROM
 pg_namespace


      nspname       | nsptyp
--------------------+--------
 pg_toast           |      0
 pheller            |      3
 pg_temp_1          |      0
 pg_catalog         |      0
 public             |      3
 mdpeters           |      3
 information_schema |      3
 dfonda             |      3
 msessums           |      3
 adbrown            |      3
 philmacdonald      |      3
 pgmacdon           |      0  <===== FALSELY being set to 0 (don't display)


It would appear that in order to match pg_*, postgres requires:

LIKE 'pg\\_%'
_rather than_
LIKE 'pg\_%'

Not sure if this was a bug in 8.0.3 that was later fixed or the syntax for a literal underbar MUST BE '\\_'


Thank you for your time and attention
  Derek Fonda





---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to