powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Несколько вопросов новичка
18 сообщений из 18, страница 1 из 1
Несколько вопросов новичка
    #35205522
Ega
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ранее с Postgres никогда не работал (только слышал).
Работаю из-под Windows. Скачал релиз 8.3.1 для win.
Установил, подсоединился, создал несколько пользователей, таблиц, etc.
Интерфейс более-менее понятен.

Теперь, собственно, вопросы:
1. Дизайнер модели. Ранее для проектирования использовал PowerDesigner 9.5, но для него не хватает типов данных (в частности - GUID). Скачал pgsql8.xdb, но в нём тоже нет нужных типов. Из родного интерфейса, однако, я вижу, что могу создать колонку с типом uuid. Собственно, есть ли для postgres встроенные графический редактор модели (a-la Entreprise Manager для MSSQL)?
2. Утилита командной строки. Для того же MSSQL всегда можно было подключиться к серверу, используя isql (osql). Есть ли что-то подобное для Postgres?
3. Тип "счётчик". В MSSQL это Identity, для IB\FB - Генератор. Что в Postgres?
4. Как проверить существование таблицы (поля в таблице, индекса, констрейнта и т.п.)? В общем, аналог для MSSQL-евского
Код: plaintext
1.
if exists (select  1  from  sysobjects where  id = object_id('TestTable')                and   type = 'U')

Для начального старта, я думаю, мне этих ответов пока хватит.
...
Рейтинг: 0 / 0
Несколько вопросов новичка
    #35205581
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы главное зобыли спросить: есь ли для ПГ TFM , который надо R . Так вот, сообщаем по секрету: он есь, и его таки можно RTFM .

Ps. на данном форуме такоже работает поиск. Ничуть не хуже чем на мсскл-ном. В верху странички есь минифак, с некоторыми ссылками
...
Рейтинг: 0 / 0
Несколько вопросов новичка
    #35205662
ChameLe0n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Читается на одном дыхании за пару дней. Imho хорошо структурированная и понятная документация.

Кстати в папке с постгрессом под виндой есть doc/postgresql.chm - тоже самое...
...
Рейтинг: 0 / 0
Несколько вопросов новичка
    #35205673
Ega
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4321вы главное зобыли спросить: есь ли для ПГ TFM , который надо R . Так вот, сообщаем по секрету: он есь, и его таки можно RTFM .

Ps. на данном форуме такоже работает поиск. Ничуть не хуже чем на мсскл-ном. В верху странички есь минифак, с некоторыми ссылками

Ну, начал-то я, безусловно с miniFAQ. Большинство вопросов в ходе его прочтения уже отпали.
Поиск - да, вещь хорошая (как и help). Но только в том случае, когда знаешь, что ищешь.

Теперь касаемо моих вопросов:
1. Вопрос по дизайнеру, можно сказать, отпал. Порекомендовали Maestro. С GUID-ом тоже разобрался.
3. С счётчиком тоже более-менее понятно - SEQUENCE, дальше сам по хелпу разберусь.
4. С системными таблицами несколько сложнее. То, что это те, которые с pg_ начинаются - это я понял. Вопрос переформулирую: ткните носом в соответствующий раздел документации, где идёт описание этих служебных таблиц (для чего предназначены) с описанием полей.

З.Ы. Документацию читать никогда не боялся и не боюсь, но нужен очень быстрый старт, на полное и вдумчивое прочтение всего в данный момент тупо нет времени (что не означает, что я его в будущем не прочитаю).
Если есть подробная документация в виде chm или html, но для локального использования - буду очень рад ссылке, ибо трафик несколько ограничен...
...
Рейтинг: 0 / 0
Несколько вопросов новичка
    #35205679
Ega
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChameLe0n Читается на одном дыхании за пару дней. Imho хорошо структурированная и понятная документация.

Кстати в папке с постгрессом под виндой есть doc/postgresql.chm - тоже самое...

Во, а я на офицальном сайте доки читаю... Спасибо!
...
Рейтинг: 0 / 0
Несколько вопросов новичка
    #35205718
Ega
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так, практически все вопросы сняты. Большое спасибо ChameLe0n за ссылку на доку.
Пока один вопрос остаётся - утилита командной строки. Хотя бы её название, чтобы было за что зацепиться при поиске, дальше сам разберусь.
...
Рейтинг: 0 / 0
Несколько вопросов новичка
    #35205739
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EgaТак, практически все вопросы сняты. Большое спасибо ChameLe0n за ссылку на доку.
Пока один вопрос остаётся - утилита командной строки. Хотя бы её название, чтобы было за что зацепиться при поиске, дальше сам разберусь.
psql
...
Рейтинг: 0 / 0
Несколько вопросов новичка
    #35205765
Ega
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey Daeron EgaТак, практически все вопросы сняты. Большое спасибо ChameLe0n за ссылку на доку.
Пока один вопрос остаётся - утилита командной строки. Хотя бы её название, чтобы было за что зацепиться при поиске, дальше сам разберусь.
psql

Спасибо, то что нужно.
Вопрос: если я подсоединился к базе через psql, disconnect обязательно надо делать? В том смысле, что если я закрыл cmd-окно, соединение сервером также будет разорвано, или какие-нибудь "хвосты" на сервере висеть будут?
...
Рейтинг: 0 / 0
Несколько вопросов новичка
    #35205784
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ega
Спасибо, то что нужно.
Вопрос: если я подсоединился к базе через psql, disconnect обязательно надо делать? В том смысле, что если я закрыл cmd-окно, соединение сервером также будет разорвано, или какие-нибудь "хвосты" на сервере висеть будут?
Думаю стандартная политика tcp/ip. Т.е. с alive и timeount. Если не в кусре, то в кратце и не совсем честно: при хорошем отключении дохнет tcp/ip канал и дохнет соединение в PG, при плохом есть таймауты, после кототрых соединеие tcp/ip дохнет. Под виндой около 2-х часов что ли.
...
Рейтинг: 0 / 0
Несколько вопросов новичка
    #35205849
Ega
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И ещё один вопрос по psql (надеюсь, на сегодня последний): возможно ли в строке подключения сразу указать пароль и файл на исполнение? В справке к psql я не нашёл (может проглядел?).
Пример (для MSSQL):
Код: plaintext
isql /n /b /m0 /Smy_srv /Usa /Psa_pwd /dmy_db /ic:\test.sql >>c:\result.txt  
Аналог для psql может быть сделан? Так, чтобы выполнил и забыл?
...
Рейтинг: 0 / 0
Несколько вопросов новичка
    #35205856
Ega
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey Daeron Ega
Спасибо, то что нужно.
Вопрос: если я подсоединился к базе через psql, disconnect обязательно надо делать? В том смысле, что если я закрыл cmd-окно, соединение сервером также будет разорвано, или какие-нибудь "хвосты" на сервере висеть будут?
Думаю стандартная политика tcp/ip. Т.е. с alive и timeount. Если не в кусре, то в кратце и не совсем честно: при хорошем отключении дохнет tcp/ip канал и дохнет соединение в PG, при плохом есть таймауты, после кототрых соединеие tcp/ip дохнет. Под виндой около 2-х часов что ли.

Ясно, буду иметь ввиду.
...
Рейтинг: 0 / 0
Несколько вопросов новичка
    #35205949
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EgaИ ещё один вопрос по psql (надеюсь, на сегодня последний): возможно ли в строке подключения сразу указать пароль и файл на исполнение? В справке к psql я не нашёл (может проглядел?).
Пример (для MSSQL):
Код: plaintext
isql /n /b /m0 /Smy_srv /Usa /Psa_pwd /dmy_db /ic:\test.sql >>c:\result.txt  
Аналог для psql может быть сделан? Так, чтобы выполнил и забыл?
psql --help или дока.
По паролю - точно дока спасёт. Там всё хытромудро, с озданием файла и прочих радостей жизни. можно пароль для определённых хостов убрать указанием trus в pg_conf.hba
По файлу - точно можно.
...
Рейтинг: 0 / 0
Несколько вопросов новичка
    #35206072
Serik Akhmetov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EgaИ ещё один вопрос по psql (надеюсь, на сегодня последний): возможно ли в строке подключения сразу указать пароль и файл на исполнение? В справке к psql я не нашёл (может проглядел?).
Пример (для MSSQL):
Код: plaintext
isql /n /b /m0 /Smy_srv /Usa /Psa_pwd /dmy_db /ic:\test.sql >>c:\result.txt  
Аналог для psql может быть сделан? Так, чтобы выполнил и забыл?
пароль можно задать через переменную окружения $PGPASSWORD,
опции psql
Код: plaintext
1.
2.
3.
4.
> psql --help | grep "файл"
  -f FILENAME     выполнить команды из файла и выйти
  -X              не читать файл настроек при старте (~/.psqlrc)
  -o FILENAME     направить результаты запроса в файл (или |канал)
...
Рейтинг: 0 / 0
Несколько вопросов новичка
    #35206084
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ega4. С системными таблицами несколько сложнее. То, что это те, которые с pg_ начинаются - это я понял. Вопрос переформулирую: ткните носом в соответствующий раздел документации, где идёт описание этих служебных таблиц (для чего предназначены) с описанием полей.ещё в стандарте на SQL есть определение что должна существовать схема с именем information_schema где представлена информация о структуре базы и т.д. и она существует и поддерживается многими субд, лучше имхо почитать про неё.

http://www.postgresql.org/docs/current/static/information-schema.html

если же Вам всёж таки нужно именно внутренний каталог pg (он кстати меняется от версии к версии иногда) http://www.postgresql.org/docs/current/static/catalogs.html
...
Рейтинг: 0 / 0
Несколько вопросов новичка
    #35206137
Ega
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ёш Ega4. С системными таблицами несколько сложнее. То, что это те, которые с pg_ начинаются - это я понял. Вопрос переформулирую: ткните носом в соответствующий раздел документации, где идёт описание этих служебных таблиц (для чего предназначены) с описанием полей.ещё в стандарте на SQL есть определение что должна существовать схема с именем information_schema где представлена информация о структуре базы и т.д. и она существует и поддерживается многими субд, лучше имхо почитать про неё.

http://www.postgresql.org/docs/current/static/information-schema.html

если же Вам всёж таки нужно именно внутренний каталог pg (он кстати меняется от версии к версии иногда) http://www.postgresql.org/docs/current/static/catalogs.html

Спасибо, с этим делом я уже разобрался.
...
Рейтинг: 0 / 0
Несколько вопросов новичка
    #35206189
Ega
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serik Akhmetov EgaИ ещё один вопрос по psql (надеюсь, на сегодня последний): возможно ли в строке подключения сразу указать пароль и файл на исполнение? В справке к psql я не нашёл (может проглядел?).
Пример (для MSSQL):
Код: plaintext
isql /n /b /m0 /Smy_srv /Usa /Psa_pwd /dmy_db /ic:\test.sql >>c:\result.txt  
Аналог для psql может быть сделан? Так, чтобы выполнил и забыл?
пароль можно задать через переменную окружения $PGPASSWORD,
опции psql
Код: plaintext
1.
2.
3.
4.
> psql --help | grep "файл"
  -f FILENAME     выполнить команды из файла и выйти
  -X              не читать файл настроек при старте (~/.psqlrc)
  -o FILENAME     направить результаты запроса в файл (или |канал)


Спасибо, с файлами я сам разобрался по хелпу, за подсказку с паролем - спасибо, ясно куда "копать".
...
Рейтинг: 0 / 0
Несколько вопросов новичка
    #35218925
Ega
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос глобальный.

Использую Postgres 8.3 для Windows.

Стоит задача разработки механизма обновления структуры БД (таблицы, виды, ХП и т.п.)
Обновление должно делаться запуском одного батника. (в идеале).
Для MSSQL эта задача была решена следующим образом:
1. Один файл patch_db.sql в котором шли проверки на существование таблиц, если нет - создавалась (if not exists (select 1 from ...) create table ....). Также с ключами, столбцами и т.п.
2. N файлов хранимых процедур (одна процедура - один файл), где вначале процедура дропалась (если существовала), потом создавалась.

Хотелось бы некий похожий механизм для Postgres.

В ходе игр с Postgres были выявлены следующие тонкие моменты.

1. Create or Replace function не срабатывает, если меняется возвращаемый тип данных. Надо явным образом прописывать Drop function. Так и не нашёл, каким образом можно проверить существовании функции в БД? (с таблицами понятно, Select from pg_tables)
2. Как быть с зависимостями функций от таблиц и друг-от-друга? Всегда Cascade перед дропом ставить? Или пытаться удалять их в трогом порядке (но это зачастую очень тяжело, т.к. "топология" может быть крайне запутанной).
3. Абсолютно непонятен механизм вывода результата запроса в файл. Привожу пример: из командной строки соединился с БД, прошу выполнить
Код: plaintext
select now(); \o d:/ 1 .txt
Насколько я понял описание, результат данного запроса должен попасть в файл d:\1.txt
Но я его прям в окне командной строки вижу. А в файл иногда что-то попадает, но, такое ощущение, что с большой задержкой (сейчас пытаюсь повторить ситуацию).

Собственно, вопрос: каким механизмом вы пользуетесь для обновления БД до очередной версии?
И где можно почитать об особенностях поведении командной строки с psql?
...
Рейтинг: 0 / 0
Несколько вопросов новичка
    #35219021
Ega
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторТак и не нашёл, каким образом можно проверить существовании функции в БД? (с таблицами понятно, Select from pg_tables)

Нашёл. Это pg_proc.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Несколько вопросов новичка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]