|
<<<<<<MINI-FAQ по форуму>>>>>>>
|
|||
---|---|---|---|
#18+
В этом топике будем коллекционировать Q-A нашего форума. Cначала я выполню то, что хотелось еще в 2005 - важные для читателя FAQ ссылки. прим. мод. : выложил , но сам по привычке читаю оригинал, что и вам советую. Дока по 8.4 собранная в CHM 1. Русский перевод официального FAQ 2.Неофициальный перевод FAQ по Win32 порту PostgreSQL 3. PostgreSQL General Bits - как-бы подбитые Elein Mustain итоги обсуждений в рассылке PostgreSQL ). FAQ по установке Постгреса под Win32 и другие документы Как настроить полнотекстовый поиск (contrib/tsearch2) c поддержкой cp1251 " Предложил aTz (msk)" - инфа касается в основном тех кто вынужден пользоваться PG 7.x. Правильность ответов не гарантирована ,а большинство ответов ориентирована на версии >8.1.2 Дополнения и поправки приветствуются. ----------------------------------------Приступим--------------------------------------------------- Прежде всего переменные окружения $PGDATA="/usr/mnt/ata04/pgsqldata"; это путь к кластеру с данными , постгрес там же хранит файлы postgresql.conf и pg_hba.conf $PGBIN="/usr/local/pgsql/bin" - каталог исполняемых файлов постгреса. В Вашем случае это могут быть скажем "С:\\Program Files\\PostgreSQL\\data" и "С:\\Program Files\\PostgreSQL\\bin" соответственно. 1. Q: Как избавиться от "иероглифов" в окне терминала постгреса под Win32 A: Просто запишите в файл c:\\Documents and Settings\\<имяпользователя>\\Application Data\\postgresql\\psqlrc.conf строчку \\! chcp 1251 2. Q: Немогу присоединиться к постгресу по tcp_ip A. Для версий >=8.0 Для версий <8.0 вместо listen_addresses нужно установить переменную tcpip_socket = true Формат pg_hba тоже изменился в 8.0 Внимательно читаем комментарии в этом файле. 3. Q: А я вот для Oracle/MS/My/... использовал классный инструмент XXX, а есть ли такое же но под PostgreSQL? A: Под PostgreSQL есть следующий инструментарий: a. PgAdminIII - лучше всего для администрирования. b. EMS - самый лучший для программирования, и базового администрирования. c. phpPgAdmin - как они себя определяют, подходит для DBA, ньюбов и хостеров. d. Очередной коммерческий вариант админской тулзы триален ,сыроват и интересен пока что разве что возможностью онлайн мониторинга стата f. Aqua Data Studio - админская тулза поддерживает в также PostgresSQL. Ранние версии доступны бесплатно. 5. Q: Как поставить PostgreSQL на fat32? A: Оно Вам нужно? Точно? А глюков не боитесь? А потери данных? Лучше - не ставить. Или найти раздел с NTFS и поставить туда. Или сконвертить раздел под NTFS. 6. Q: Как поставить PostgreSQL на другой раздел? A: При установке инсталлятором, в окне выбора компонент указать директорию с данными на другом диске. 7. Q: Да мне плевать на данные, но очень нужно поставить PostgreSQL на fat32! Как? A: Ну, если очень нужно, то: 1. Поставить PostgreSQL или инсталлятором или просто бинарники. 2. Должен быть пользователь от имени которого будет работать серверный процесс PostgreSQL (далее имя пользователя - postgres). Этого пользователя может создать и инсталлятор, можно его создать и руками. Пользователь не должен входить в группу администраторов и ИМХО даже не опытных пользователей. 3. Дать полные права на папку с данными пользователю PostgreSQL (postgresql). 3. Создать базу с помощью initdb . 4. Зарегистрировать сервис c помощью pg_ctl , например: Код: plaintext
Есть более простой путь. При SilentInstall PostgreSQL не ругается на FAT32. Соответсвенно читаем и ставим. 8. Q. У меня МЕГАСЕРВЕР, но PostgresSQL работает ужасно! Тормоза жуткие! Сделал все что мог, но не помогло! В чем грабли? A. Хотете получить ответ - заполните форму: 1. Версия PG? ОС? 2. Какие настройки? Особенно интересуют изменения в файле postgresql.conf 3. Есть ли еще что-то активно работающее на этой машине? 4. Тормоза на каких запросах? Каков объем данных? 5. А что с дисковой подсистемой? 6. А с CPU? 7. И к тормозящим запросам EXPLAIN ANALYZE? 8. Когда последний раз делался VACUUM FULL ANALYZE? 9. Q Я создал таблицу, поле, представление... пытаюсь из него выбрать, а оно мне говорит что не найдено! A В PostgreSQL важно наличие кавычек при указании имен сущностей и полей. Есть два правила: 1. Все что указывается в кавычках - считается регистрозависимым и соответсвенно создается, выбирается и т.д. 2. Все что не указывается в кавычках считается написанным в нижнем регистре. И еще PostgreSQL в части имен является регистрозависимой СУБД. Примеры: "Table"<>Table, потому, что Table=table (правило 2), а "Table"<>table (правило 1). TaBlE=tAblE, потому что и то и другое равно table (правило 2). Отсюда вывод: "если при создании имена указаны в кавычках, и используются большие буквы - не удивляйтесь" "Andrey Daeron" 10. Q. Как мне переключиться с одной базы на другую? Существует ли аналог "use dbname" A. В PG после установки коннекта нельзя сменить БД. нужно коннект разорвать, а потом соединиться с новой БД. или (если в запросе) использовать dblink 11. Q. Как посмотреть план запроса внутри функции? A. На сегодняшний момент способов посмотреть план выполнения функции нет. 12. Q. Delphi + PostgreSQL Что есть для работы? A Рекомендую компоненты прямого доступа (обе библиотеки используют только libpq.dll) 1) PostgresDAC 2) ZeosLib 13. Q А что вообще есть кроме каталога дополнений contrib? A Прежде всего замечательные ресурсы PgFoundry Gborg 14. Q Правда ли что в PostgreSQL скорость выполнения транзакции (множество операций INSERT) не зависит от размеров транзакции? A (с)tadmin: На практике размер транзакции сложно влияет на скорость исполнения и зависит многих факторов: 1) помещается ли размер транзакции в ОЗУ? 2) помещается ли размер транзакции в кеш процессора (1-2-6 мб)? 3) нет ли плохого кода в самом постгресе, который приводит к скорости исполнения порядка O(N^2)? На обычных задачах, ограничением является п 2). Как только транзакция (изоляция индексов и таблиц) начинается вытеснятся из кеша процессора, тут же появляется зависимость хуже чем O(N) На моей практике (импорт больших объемов данных со сложными вставками во множество таблиц), есть оптимальный размер транзакции. При переходе с 7ки на 8ку на одном железе оптимальный размерм транзакции вместо 20 записей стал 50. При переходе со старого Xeon на Opteron 852 опт. размер стал 80-90. 15. Q Как установить pl/Perl(win 32)? A (с)ОКТОГЕН 1) Надо установить сам перл. Например, вот этот 2) Прописать "переменную среды path" , например, у меня так C:\\Perl\\site\\bin;C:\\Perl\\bin;C:\\Program Files\\PostgreSQL\\8.4\\lib; 3) Устанавливаем перл в базе Код: plaintext
Q Я перешёл из MySQL, есть ли переменные сессии и как их применить? A (с)ОКТОГЕН Если postgresql.conf в самом конце в секции #--------------------------------------------------------------------------- # CUSTOMIZED OPTIONS #--------------------------------------------------------------------------- custom_variable_classes = \'\' # list of custom variable class names заменить к примеру на custom_variable_classes = \'something\' И перегрузить постгрес то Потом можно определять свои переменные уровня сессии ( соединения с БД) Например так : set something.hernya=\'lalala\'; show something.hernya; или тоже самое в SQL select set_config(\'something.hernya\',\'lalala\',false) select current_setting(\'something.hernya\') Важно :в переменной такого рода можно хранить только текст- но при этом всегда можно текстовое значение привести к нужному типу.. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2007, 15:59 |
|
<<<<<<MINI-FAQ по форуму>>>>>>>
|
|||
---|---|---|---|
#18+
ShweikСорри - дальнейшие посты буду мувать в FAQ сохраняя автора Да ничего, я еще напишу. Главное что бы таки помагало людям ЗЫ Если бы кто взялся толково расписать вопросы по: 1. Партиционирование 2. Значения и их анализ в EXPLAIN ANALYZE 3. Использование индексов (легендарный вопрос про "неиспользовние индексов в 7.х") 4. Использование SET bitmap_scan , SET seq_scan и прочих для исследования запросов. 5. Настройка и ведение профайлинги (через лог и включение опций). ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2007, 21:14 |
|
<<<<<<MINI-FAQ по форуму>>>>>>>
|
|||
---|---|---|---|
#18+
Мда, чет-то сегодня как не вопрос, так ФАК Q: А где бы мне найти доки по PostgreSQL? A: Тут все просто: 1. EN Главная дока по PostgreSQL 2. RU http://www.computerbooks.ru/books/Programming/Book-SQL/Vved/Index0.htm 3. ? Sams.PostgreSQL.2nd.Edition.Jul.2005.chm . Напрямую не качается, но догадаться несложно. 4. RU Дока на русском 5. EN http://www.postgresql.org/files/documentation/books/aw_pgsql/index.html 6. EN http://www.commandprompt.com/ppbook 7. RU http://predpinimatel-cd.com.ru/book/Programming/SQL/Menu.html 8. Бумага: 1. PostgreSQL. Руководство разработчика и администратора. Э. Гешвинде, Г-Ю. Шениг. 2. Ну, и еще, тех же авторов: Разработка Web-приложений на PHP и PostgreSQL. Издательство Diasoft, 2002 & 2003 гг. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2007, 18:34 |
|
<<<<<<MINI-FAQ по форуму>>>>>>>
|
|||
---|---|---|---|
#18+
ArpanxКак вернуть из Хранимой Процедуры (она же функция) набор записей с произвольным количеством полей? Как принято делать? (неужели на каждый запрос надо описывать свой тип?) Гуру покажите как и добавить вопрос в FAQ, как-то так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2007, 07:47 |
|
<<<<<<MINI-FAQ по форуму>>>>>>>
|
|||
---|---|---|---|
#18+
Настройка PG за 5 минут ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2008, 08:44 |
|
<<<<<<MINI-FAQ по форуму>>>>>>>
|
|||
---|---|---|---|
#18+
FaderТ.к. классического бэкапа стало нехватать, возникла необходимость настроить PITR. Почитал документацию на офф.сайте, потыкался, но ничего толком не получилось. Кто сумел поднять WAL и настроить таки PITR под винду просьба написать пошаговый "how-to" - решите сразу проблемы многих. Вот примерный сценарий простейшего бекапа, однако не советую использовать простейший вариант в продакшене. Неплохо было бы команду для архивирования/восстановления логов, сделать более умной. Да и некоторые caveats надо обходить (напр. создание новых табличных пространств), вобщем документацию все равно прочитать надо :) 2модератор, честно говоря не знаю подходит мой пост под faq иль нет, так что прошу прощения на всякий случай Строки начинающиеся с символа # (решетка) - мои комментарии Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2008, 17:49 |
|
<<<<<<MINI-FAQ по форуму>>>>>>>
|
|||
---|---|---|---|
#18+
Самый главный FAQ по установке: Не забыть дать пользователю Postgres право на запись каталога где будут храниться базы. А то по ошибке которую он выдаёт понять это невозможно. Я видимо очень талантлив, догадался менее чем за час. Другим может больше времени понадобится. Было бы не плохо конечно что бы он сам при установке об этом предупреждал. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2011, 13:55 |
|
<<<<<<MINI-FAQ по форуму>>>>>>>
|
|||
---|---|---|---|
#18+
Как подсчитать количество секунд между двумя полями типа timestamp ? gray hemp так Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2011, 19:06 |
|
<<<<<<MINI-FAQ по форуму>>>>>>>
|
|||
---|---|---|---|
#18+
авторЕсть LIKE %сложный%шаблон%. Можно ли сделать так, чтоб для этой операции использовался индекс? Можно. В 9.1 это можно будет сделать в лоб. Для 8.4 тоже можно, но чуть сложнее, надо установить дополнения, функционал, связанный с триграммами и выполнить скрипт pg_trgm.sql. Далее, пусть есть таблица Код: plaintext 1. 2. 3. 4.
Необходимо создать индекс Код: plaintext 1.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Код: plaintext 1. 2.
и в данном примере выигрыша в производительности не наблюдалось до 700-900 тысяч записей. Если у вас небольшая таблица - смысла использовать инструмент нет.(Хотя вроде как оптимизацию обещают) И ещё, чем длиннее текст - тем больше набор триграм для него, соответственно, жирнее индекс. Поэтому, нужно иметь маленькое текстовое поле с набором ключевых слов. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2011, 11:08 |
|
<<<<<<MINI-FAQ по форуму>>>>>>>
|
|||
---|---|---|---|
#18+
Индекс может быть и gin и gist типов. Можно создать Код: plaintext 1. 2.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2011, 12:00 |
|
<<<<<<MINI-FAQ по форуму>>>>>>>
|
|||
---|---|---|---|
#18+
ОКТОГЕНИндекс может быть и gin и gist типов. Можно создать Код: plaintext 1. 2.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
По результатам проверки на 9.1 оба индекса прошли проверку на 4500000 записей. Полёт нормальный. Да, и всё-таки для подключения расширения триграмм надо сказать CREATE EXTENSION pg_trgm; ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2011, 16:23 |
|
<<<<<<MINI-FAQ по форуму>>>>>>>
|
|||
---|---|---|---|
#18+
У меня одного в этой доке не работают ссылки на эти страницы? Сижу с Фаерфокса. Поиск по сайту не помог найти эти страницы( http://postgresql.ru.net/docs/FAQ_russian.html#q2 2. Вопросы специфичные для платформы http://postgresql.org/wiki/Running & Installing PostgreSQL On Native Windows http://postgresql.org/wiki/Frequently Asked Questions#Platform FAQs ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2014, 12:24 |
|
<<<<<<MINI-FAQ по форуму>>>>>>>
|
|||
---|---|---|---|
#18+
PAPA_RimskY, Эти ссылки ведут на официальный сайт postgresql.org, а там у этих страничек немного поменялся адрес, вот и не находит. Можно попросить админа сайта обновить ссылки или пойти на англоизычный FAQ , там ссылки работают. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2014, 10:34 |
|
<<<<<<MINI-FAQ по форуму>>>>>>>
|
|||
---|---|---|---|
#18+
По ссылке лежат два pdf с краткими инструкциями для маководов и виндузятников по созданию дампов и восстановлению из них. Вдруг кому понадобятся. http://help.theatremanager.com/book/export/html/1666 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2014, 17:48 |
|
<<<<<<MINI-FAQ по форуму>>>>>>>
|
|||
---|---|---|---|
#18+
Есть CSV. Как подключить его на чтение к моей базе, чтобы не экспортировать? Просто! На примере кладра(база адресов РФ). Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53.
Комментарии: 1)Версия должна pg быть не древнее 9.1 2)Файл *.csv должен лежать на самом сервере, на него и на путь к нему должны быть права владельца сервиса СУБД, обычно это postgres 3)Пользуясь аналогичными источниками данных, можно подрубать таблицы и представления любых внешних СУБД, на которые доступны расширения. См. EXTENSION ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2017, 10:56 |
|
<<<<<<MINI-FAQ по форуму>>>>>>>
|
|||
---|---|---|---|
#18+
Где скачать хорошую книгу по СУБД на русском языке, желательно, актуальной версии? Переводы актуальных версий документации находятся здесь . ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2017, 10:50 |
|
|
start [/forum/topic.php?fid=53&fpage=74&tid=1996539]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
24ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
110ms |
get tp. blocked users: |
2ms |
others: | 38ms |
total: | 215ms |
0 / 0 |