как узнать через пхп сколько таблиц и их название в определенной БД. в Postgre SQL
>как узнать через пхп сколько таблиц и их название в определенной БД.
>в Postgre SQLСмотри описание системных таблиц pg_*:
pg_aggregate pg_database pg_language pg_rewrite
pg_am pg_description pg_largeobject pg_shadow
pg_amop pg_group pg_listener pg_statistic
pg_amproc pg_index pg_opclass pg_trigger
pg_attrdef pg_inheritproc pg_operator pg_type
pg_attribute pg_inherits pg_proc
pg_class pg_ipl pg_relcheckTable "pg_database"
Attribute | Type | Modifier
---------------+---------+----------
datname | name |
datdba | integer |
encoding | integer |
datistemplate | boolean |
datallowconn | boolean |
datlastsysoid | oid |
datpath | text |
>>как узнать через пхп сколько таблиц и их название в определенной БД.
>>в Postgre SQL
>
>Смотри описание системных таблиц pg_*:
>pg_aggregate pg_database pg_language
> pg_rewrite
>pg_am pg_description
> pg_largeobject pg_shadow
>pg_amop pg_group
> pg_listener pg_statistic
>
>pg_amproc pg_index
> pg_opclass pg_trigger
>pg_attrdef pg_inheritproc pg_operator
> pg_type
>pg_attribute pg_inherits pg_proc
>pg_class pg_ipl
> pg_relcheck
>
>Table "pg_database"
> Attribute | Type |
>Modifier
>---------------+---------+----------
> datname | name
> |
> datdba | integer |
>
> encoding | integer |
> datistemplate | boolean |
> datallowconn | boolean |
> datlastsysoid | oid |
> datpath | text
> |
Так это базы, а мне нужно из определнной базы вытянуть все названия таблиц и тд.
>Так это базы, а мне нужно из определнной базы вытянуть все названия
>таблиц и тд.Вот и вытягивай "select * from pg_class;" В чем проблема ?
>>Так это базы, а мне нужно из определнной базы вытянуть все названия
>>таблиц и тд.
>
>Вот и вытягивай "select * from pg_class;" В чем проблема ?
Но у меня нет pg_class и много того что у тебя выдает pg_ - tab
система АСП постгре с пакетов.
>как узнать через пхп сколько таблиц и их название в определенной БД.
>в Postgre SQL
select * from pg_tables
>>как узнать через пхп сколько таблиц и их название в определенной БД.
>>в Postgre SQL
>
>
>select * from pg_tables
Так ведь нет у меня этого. Не pg_tables , не pg_database и тд.
Только типа pg_dump, -//-lo и ничего такого.
>>>как узнать через пхп сколько таблиц и их название в определенной БД.
>>>в Postgre SQL
>>
>>
>>select * from pg_tables
>Так ведь нет у меня этого. Не pg_tables , не pg_database
>и тд.
>Только типа pg_dump, -//-lo и ничего такого.
раз нет значит и нельзя тебе знать всего этого
>>>>как узнать через пхп сколько таблиц и их название в определенной БД.
>>>>в Postgre SQL
>>>
>>>
>>>select * from pg_tables
>>Так ведь нет у меня этого. Не pg_tables , не pg_database
>>и тд.
>>Только типа pg_dump, -//-lo и ничего такого.
>
>
>раз нет значит и нельзя тебе знать всего этогоЧто это значит и ненадо занть, на своей машине у меня права РУТА и прова Postgres. Так что это как раз я и должен знать.
Просто у когото терпения не хватило !!!!Проще:
select * from pg_tables
Это значит взять всё из pg_tablesЗамени pg_tables на название своей таблици или базы данных что там у тебя !!!!
А насчёт пхп читай доки !!!
Я работал только MySql в пхп так что как там с Postgre SQL незнаю но думаю что близко они лежат !!!
Это для MySql, но как здесь уже заметили должно работать и под Postgre,
либо нейкий аналогmysql> SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| menagerie |
+------------+mysql> SHOW TABLES;
+---------------------+
| Tables in menagerie |
+---------------------+
| event |
| pet |
+---------------------+mysql> DESCRIBE pet;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| owner | varchar(20) | YES | | NULL | |
| species | varchar(20) | YES | | NULL | |
| sex | char(1) | YES | | NULL | |
| birth | date | YES | | NULL | |
| death | date | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
>Это для MySql, но как здесь уже заметили должно работать и под
>Postgre,
>либо нейкий аналог
>
>mysql> SELECT DATABASE();
>+------------+
>| DATABASE() |
>+------------+
>| menagerie |
>+------------+
>
>mysql> SHOW TABLES;
>+---------------------+
>| Tables in menagerie |
>+---------------------+
>| event
> |
>| pet
> |
>+---------------------+
>
>mysql> DESCRIBE pet;
>+---------+-------------+------+-----+---------+-------+
>| Field | Type
> | Null | Key | Default | Extra |
>+---------+-------------+------+-----+---------+-------+
>| name | varchar(20) | YES |
> | NULL |
> |
>| owner | varchar(20) | YES |
> | NULL |
> |
>| species | varchar(20) | YES |
>| NULL |
> |
>| sex | char(1)
>| YES | | NULL
> | |
>| birth | date
> | YES | | NULL
> | |
>
>| death | date
> | YES | | NULL
> | |
>
>+---------+-------------+------+-----+---------+-------+неработает это в постгре покрайне мере у меня (АСП 7.3 Постгре 7.2.Х - из пакетов).
И поповоду предыдущего сообщения мне нужно имена таблиц базы данных, а не поля таблицы выдающей при помощи select * from tables
>>Это для MySql, но как здесь уже заметили должно работать и под
>>Postgre,
>>либо нейкий аналог
>>
>>mysql> SELECT DATABASE();
>>+------------+
>>| DATABASE() |
>>+------------+
>>| menagerie |
>>+------------+
>>
>>mysql> SHOW TABLES;
>>+---------------------+
>>| Tables in menagerie |
>>+---------------------+
>>| event
>> |
>>| pet
>> |
>>+---------------------+
>>
>>mysql> DESCRIBE pet;
>>+---------+-------------+------+-----+---------+-------+
>>| Field | Type
>> | Null | Key | Default | Extra |
>>+---------+-------------+------+-----+---------+-------+
>>| name | varchar(20) | YES |
>> | NULL |
>> |
>>| owner | varchar(20) | YES |
>> | NULL |
>> |
>>| species | varchar(20) | YES |
>>| NULL |
>> |
>>| sex | char(1)
>>| YES | | NULL
>> | |
>>| birth | date
>> | YES | | NULL
>> | |
>>
>>| death | date
>> | YES | | NULL
>> | |
>>
>>+---------+-------------+------+-----+---------+-------+
>
>неработает это в постгре покрайне мере у меня (АСП 7.3 Постгре 7.2.Х
>- из пакетов).
>И поповоду предыдущего сообщения мне нужно имена таблиц базы данных, а не
>поля таблицы выдающей при помощи select * from tables
В mysql есть команда mysqlshow онато как раз и показывает то что тебе надо !!! Читай доки про свою базу думаю найдёш !!!