[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Кто ставил себе PostgreSQL ?
WhiteKnight
У меня не работает PostgreSQL
проверяю я его так

PHP
<?
   
php pg_connect(""); 


Ошибка в браузере

Fatal error: Call to undefined function pg_connect() in D:\Webserver\htdocs\pg.php on line 1

В php.ini открыт
extension=php_pgsql.dll


Почему не работает PostgreSQL ?




Спустя 11 минут, 33 секунды (30.09.2009 - 22:24) Gabriel написал(а):
а ты еррор перевел??

Спустя 36 минут, 5 секунд (30.09.2009 - 23:00) WhiteKnight написал(а):
угу, оно много обещающие. И не содержит в себе пути решение этой проблемы.

Спустя 1 час, 15 минут, 12 секунд (1.10.2009 - 00:16) sergeiss написал(а):
Кроме "открытия" экстеншена в ини-файле, надо еще переписать саму библиотеку в другой каталог. Из каталога ext на один уровень выше, туда, где находится php.exe.

Спустя 29 минут, 48 секунд (1.10.2009 - 00:45) WhiteKnight написал(а):
нет, не работает
пишу phpinfo и нет никакого упоминания про PostgreSQL

Спустя 2 минуты, 43 секунды (1.10.2009 - 00:48) sergeiss написал(а):
Вопрос, может, и глупый... А сервер ты рестартовал после того, как снял эти кАменты в ини-файле и переписал библиотеку?
Далее. У тебя вообще какой сервер установлен? Апач или что-то другое?

Спустя 7 минут, 47 секунд (1.10.2009 - 00:56) WhiteKnight написал(а):
Да и комп я сколько уже раз рестартовал. PostgreSQL 8.3.0-1

Сам связывал
Apache 2.2.11 + MySQL 5.0.67 + PHP 5.2.10

Это все работает, правда кроме того, что мой сервер почему то ни кто не видит из интернета. Видят пустую страницу.

Но у меня он норм работает. Я вижу его и и MySQL тоже работает нормально

Спустя 8 минут, 58 секунд (1.10.2009 - 01:05) sergeiss написал(а):
Тогда другой вопрос... Где находится ини-файл от ПХП, который ты редактируешь, в каком месте (каталоге)?

Спустя 5 минут, 42 секунды (1.10.2009 - 01:11) WhiteKnight написал(а):
там же где и php.exe в папке php

Спустя 10 минут, 23 секунды (1.10.2009 - 01:21) sergeiss написал(а):
Вот и проблема в том, что ты не то редактируешь, скорее всего smile.gif Для Винды надо поместить этот ини-файл в коневой каталог Винды. Для юникса не знаю.

Проверь - возможно, у тебя уже есть нужный ини-файл в нужном месте. Если есть - редактируй его. Если нет - перепиши туда тот, который ты редактировал.

Спустя 9 минут, 8 секунд (1.10.2009 - 01:30) WhiteKnight написал(а):
Поиск файлов и папок. php.ini на диске C там где Винда php.ini там не найдено.
Скопировал туда php.ini из папки php. Cервера перезагрузил. 0 результата.

Да и вообще разве это нормально в Виндовс паки сувать библиотеки и конфиги от php и прочего.

p.s.
Еще немного и мое терпение лопнит. Снесу все то, что я поставил и поставлю XAMPP mad.gif , правда это не решит проблему с PostgreSQL sad.gif

p.s.2
Я уже третий день ставлю сервер *WALL*

Спустя 1 минута, 34 секунды (1.10.2009 - 01:32) sergeiss написал(а):
Не библиотеку, а только ини-файл!!! Библиотека должна быть в "корневом" каталоге ПХП.

Спустя 5 минут, 45 секунд (1.10.2009 - 01:37) WhiteKnight написал(а):
Какую именно библиотеку не надо было туда сувать ?)

Спустя 13 минут, 20 секунд (1.10.2009 - 01:51) sergeiss написал(а):
Никакую библиотеку не надо smile.gif

Вот смотри. Я опишу всё в терминах своего ноута, где у меня установлен Апач с Постгре.

Каталог ПХП: "c:/php"
Изначально библиотеки находятся в "C:/php/ext". Я их там все оставляю, но нужную библиотеку (в данном случае php_pgsql.dll) переписываю (делаю копию) в "c:/php"
Каталог Винды "c:/windows", там находится php.ini.

ПХП прописан в Апаче как модуль.

Спустя 10 минут, 30 секунд (1.10.2009 - 02:01) WhiteKnight написал(а):
И у меня почти так же но только на D:\

и в конфиге Апаче прописано в самом конце

PHPIniDir "D:/Webserver/PHP/"
LoadModule php5_module "D:/Webserver/PHP/php5apache2_2.dll"



PHPIniDir "С:/Windows" - тоже пробовал

Спустя 8 минут, 11 секунд (1.10.2009 - 02:10) sergeiss написал(а):
В апачском конфиге у меня:

LoadModule php5_module "c:/php/php5apache2_2.dll"

<Directory "C:/PHP">

Options Indexes Includes
AllowOverride All
Order allow,deny
Allow from all

</Directory>


А вот PHPIniDir вообще закомментирован! Т.е. выключен.

Что касается Постгре - я чуть ранее в этой теме писал.

Почему это всё так - не спрашивай smile.gif Я настраивал эту фигню 1,5 года тому назад, уже не помню детали.

Спустя 38 минут, 4 секунды (1.10.2009 - 02:48) WhiteKnight написал(а):
Не думаю что проблема в том как у меня установлен Apache+MySQL+PHP
Они то работают.

Проблема в установке PostgreSQL, вернее его привязке ко всему этому.

Сомневаюсь что, если даже установлю XAMPP, то и PostgreSQL можно будет нормально привязать.

Спустя 30 минут, 4 секунды (1.10.2009 - 03:18) sergeiss написал(а):
В таком случае совершенно идиотский вопрос: а ты уверен, что Постгре запускается? Попробуй его выключить, а потом включить вручную. У него есть такие возможности.
В меню Постгре называются "Запустить сервис" и "Остановить сервис".

Спустя 6 часов, 38 минут, 53 секунды (1.10.2009 - 09:57) WhiteKnight написал(а):
sergeiss думаю перезапуск компа это равносильно перезапуску сервесу.
Так что да.

Может PostgreSQL 8.3.0-1 слишком новый и моя сборка с ним не знакома
Apache 2.2.11 + MySQL 5.0.67 + PHP 5.2.10

Спустя 19 минут, 29 секунд (1.10.2009 - 10:16) Mozzi написал(а):
Цитата
Fatal error: Call to undefined function pg_connect() in D:\Webserver\htdocs\pg.php on line 1


Если выходит такая ошибка PostgreSQL абсолютно не причём.

Посмотрите вывод функции phpinfo(); и обратите внимание на строку
Цитата
Configuration File (php.ini) Path:

убедитесь в том что вы именно в этом файле включали модуль.

Спустя 1 час, 12 минут, 28 секунд (1.10.2009 - 11:28) sergeiss написал(а):
Цитата (WhiteKnight @ 1.10.2009 - 10:57)
думаю перезапуск компа это равносильно перезапуску сервесу.

Вот это вовсе не обязательно. Если ты где-то что-то указал, что не надо запускать на автомате... То тогда он и не будет запускаться на автомате.
У меня на компе есть меню "Программы"->"Postgre 8.3", где и находятся команды для ручного запуска и остановки сервиса. И много чего другого.

Плюс к этому, проверь то, что сказал Mozzi smile.gif

Спустя 3 часа, 55 минут, 3 секунды (1.10.2009 - 15:24) WhiteKnight написал(а):
Mozzi
Вот весь мой phpinfo
http://rghost.ru/498211
там путь в виндовс. а php.ini там есть

sergeiss
Да я к тому говорю, что делал что хочешь но безрезультатно.
Осталось что ли с бубном вокруг компа танцевать.

Спустя 18 минут, 15 секунд (1.10.2009 - 15:42) Mozzi написал(а):
WhiteKnight,
Давайте пойдём методом исключения.
Другие расширения подключаются нормально?
Винда у вас серверная? Если серверная то какие права выставлены на dll-ку?

Спустя 1 минута, 31 секунда (1.10.2009 - 15:43) Michael написал(а):
WhiteKnight, можно спросить: а зачем тебе PostgreSQL - по воробьям из пушки? rolleyes.gif

Спустя 25 минут, 41 секунда (1.10.2009 - 16:09) WhiteKnight написал(а):
ОC WindowsXP SP3

в php.ini включен MYSQL

Код
[PHP_MYSQL]
extension=php_mysql.dll



Код
[MySQL]
; Allow or prevent persistent links.
mysql.allow_persistent = On

; Maximum number of persistent links.  -1 means no limit.
mysql.max_persistent = -1

; Maximum number of links (persistent + non-persistent).  -1 means no limit.
mysql.max_links = -1

; Default port number for mysql_connect().  If unset, mysql_connect() will use
; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look
; at MYSQL_PORT.
mysql.default_port =

; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
mysql.default_socket =

; Default host for mysql_connect() (doesn't apply in safe mode).
mysql.default_host =

; Default user for mysql_connect() (doesn't apply in safe mode).
mysql.default_user =

; Default password for mysql_connect() (doesn't apply in safe mode).
; Note that this is generally a *bad* idea to store passwords in this file.
; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
; and reveal this password!  And of course, any users with read access to this
; file will be able to reveal the password as well.
mysql.default_password =

; Maximum time (in seconds) for connect timeout. -1 means no limit
mysql.connect_timeout = 60

; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
; SQL-Errors will be displayed.
mysql.trace_mode = Off


MySQL работает. Я проверял.

Мой php.ini
http://rghost.ru/498294

Cам PostgreSQL вроде как работает. Я могу зайти через PgAdmin и просмотреть БД

Цитата
Если серверная то какие права выставлены на dll-ку?

Какая dll-ка ?

Спустя 28 минут, 34 секунды (1.10.2009 - 16:38) Mozzi написал(а):
Блин, очевидное невероятное прям.... dry.gif

Больше ничем помочь не могу. Я PostgreSQL на никсах юзаю, года два как, никаких проблем ни с ним ни с его поддержкой в PHP не возникало.

Может php_pgsql.dll битый файл?

Спустя 4 минуты, 57 секунд (1.10.2009 - 16:42) WhiteKnight написал(а):
Ладно. Если до вечера проблему не решу, то на некоторые время оставлю эту идею с самодельным сервером и связкой его, пока опыта не будет по больше.
Поставлю XAMPP и буду пользоваться пока MySQL

Спустя 34 минуты, 59 секунд (1.10.2009 - 17:17) glock18 написал(а):
Цитата
Может php_pgsql.dll битый файл?

Цитата
Какая dll-ка ?

Цитата
в php.ini включен MYSQL


а Postgre? smile.gif

Спустя 9 минут, 52 секунды (1.10.2009 - 17:27) sergeiss написал(а):
Цитата (Michael @ 1.10.2009 - 16:43)
WhiteKnight, можно спросить: а зачем тебе PostgreSQL - по воробьям из пушки?

Ты знаешь... А я вот тоже Постгре использую, очень даже не по воробъям получается... А очень даже по дракончикам smile.gif Большим, толстым smile.gif
У меня на ноуте стоит Постгре, потому что я на этом ноуте работаю с отладкой программы. А уж потом выкладываю на сервер, когда всё отработано и "вылизано".

Спустя 1 минута, 39 секунд (1.10.2009 - 17:29) WhiteKnight написал(а):
Цитата (glock18 @ 1.10.2009 - 14:17)
Цитата
Может php_pgsql.dll битый файл?

Цитата
Какая dll-ка ?

Цитата
в php.ini включен MYSQL


а Postgre? smile.gif

непонял huh.gif вы про что ?


[PHP_PGSQL]
extension=php_pgsql.dll

Другой магической строки я не знаю

Спустя 25 минут, 33 секунды (1.10.2009 - 17:55) glock18 написал(а):
бмблиотека в php.ini подключена?

Спустя 7 минут, 40 секунд (1.10.2009 - 18:02) sergeiss написал(а):
Цитата (glock18 @ 1.10.2009 - 18:55)
бмблиотека в php.ini подключена?

Об этом была речь на 1-й странице темы...

Спустя 21 минута, 20 секунд (1.10.2009 - 18:24) glock18 написал(а):
да, похоже на мистику. вероятно, нужно другую библиотеку искать. возможно, эта не совместима с установленной версией сервера постгре.

Спустя 2 часа, 26 минут, 6 секунд (1.10.2009 - 20:50) WhiteKnight написал(а):
А это уже лучше ?

Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: fe_sendauth: no password supplied in D:\Webserver\xampp\htdocs\pg.php on line 2

работает он или нет.

Я так проверил

<?php
pg_connect("");
?>


p.s.
поставил XAMPP и потом PostgreSQL

Спустя 5 минут, 29 секунд (1.10.2009 - 20:55) WhiteKnight написал(а):
если так пишу


<?php
pg_connect("localhost","user","pass");
?>


то такая ошибка


Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: could not connect to server: Cannot assign requested address (0x00002741/10049) Is the server running on host "localhost" and accepting TCP/IP connections on port user? in D:\Webserver\xampp\htdocs\pg.php on line 2

Спустя 37 минут, 26 секунд (1.10.2009 - 21:33) sergeiss написал(а):
Так - лучше намного smile.gif Потому что уже видит функцию, но только ты ей даешь неправильные параметры.
Формат функции:
PHP
resource pg_connect ( string $connection_string [, int $connect_type ] )

а ты даешь параметры в старом виде, который не поддерживается.

Примеры из хэлпа:
PHP
$dbconn = pg_connect("dbname=mary");
//connect to a database named "mary"

$dbconn2 = pg_connect("host=localhost port=5432 dbname=mary");
// connect to a database named "mary" on "localhost" at port "5432"

$dbconn3 = pg_connect("host=sheep port=5432 dbname=mary user=lamb password=foo");
//connect to a database named "mary" on the host "sheep" with a username and password

то есть, все параметры должны быть в одной строке. И не обязательно указывать все параметры.

PS. А у тебя создана уже БД?

Спустя 23 минуты, 34 секунды (1.10.2009 - 21:56) WhiteKnight написал(а):
pg_connect("host=localhost port=5432 dbname=user password=pass");

Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: FATAL: password authentication failed for user "SYSTEM" in D:\Webserver\htdocs\pg.php on line 2

Это, что я не правильно пароль что ли ввожу wink.gif ?


user posted image

Спустя 14 минут, 55 секунд (1.10.2009 - 22:11) sergeiss написал(а):
Дык... А ты вводишь именно то имя БД, что ты создал, и именно ее пароль?

Спустя 2 минуты, 2 секунды (1.10.2009 - 22:13) WhiteKnight написал(а):
Попробовал создать новую
user posted image

Спустя 3 минуты, 24 секунды (1.10.2009 - 22:16) WhiteKnight написал(а):
sergeiss
ага wink.gif

На счет пароля начал сомневаться. wink.gif Да вроде тот

Спустя 11 минут, 34 секунды (1.10.2009 - 22:28) WhiteKnight написал(а):
похоже что такого пользователя нету

пытаюсь создать нового

user posted image

Пароль не могу ввести
user posted image

Спустя 10 минут, 32 секунды (1.10.2009 - 22:39) WhiteKnight написал(а):
О! теперь нет ошибки а белый экран просто. значит подключение свершилось ? smile.gif

Спустя 30 минут, 2 секунды (1.10.2009 - 23:09) sergeiss написал(а):
Проверь smile.gif

PHP
$link=pg_connect(..... ); // тут все твои параметры надо указать
if( $link )
  echo 
'Connected';
else
  echo 
'Чёрта с два!';

Спустя 20 минут, 12 секунд (1.10.2009 - 23:29) WhiteKnight написал(а):
sergeiss Connected

Похоже, что когда я сам собирал версии не соответствовали, а в XAMPP все самое последнее и PostgreSQL к нему подошел

Спустя 9 минут, 12 секунд (1.10.2009 - 23:38) sergeiss написал(а):
Ну, тогда "дзыньк" smile.gif
Пойду по этому поводу пЫва приму.

Добро пожаловать в клуб любителей Постгре wink.gif

Спустя 2 минуты, 4 секунды (1.10.2009 - 23:40) WhiteKnight написал(а):
Ага, буду его любить теперь)))

Правда пока не нашел ни одной книги про php+postgresql

по хелпу что ли придется учить...

Спустя 11 минут, 49 секунд (1.10.2009 - 23:52) sergeiss написал(а):
Хэлп по Постгре такой, что никаких книг не надо. Правда, при условии, что по-английски понимаешь технический текст.

Собственно говоря, базовые возможности такие же, как и у многих СУБД, т.к. Постгре соответствует общему стандарту. Но есть и специфика, идущая от дополнений к стандарту, сделанных именно внутри Постгре.

Если ты ранее работал в MySQL, то в основном будет то же самое, но будут и отличия. Чаще - в лучшую сторону wink.gif

Спустя 8 минут, 18 секунд (2.10.2009 - 00:00) WhiteKnight написал(а):
Спасибо за помощь. smile.gif

Просто я подумал делать так:

Пишу под MySQL и сразу это же написать под PostgreSQL,
что бы так по немногу изучить их обое на одних и тех же примерах.

Спустя 14 минут, 58 секунд (2.10.2009 - 00:15) sergeiss написал(а):
Цитата (WhiteKnight @ 2.10.2009 - 01:00)
Пишу под MySQL и сразу это же написать под PostgreSQL,

я не уверен, что это будет правильно. Потому что тогда ты не будешь находить особенности Постгре, а будешь стараться сделать всё так, как в MySQL.

Пример отличий между этими двумя СУБД (далеко не единственный).
В Постгре есть FULL JOIN, коего нету в MySQL (там надо "на уши встать", чтобы сделать аналогичный функционал). А этот джойн иногда ну очень полезен smile.gif

Пример 2-й. Если ты делаешь триггеры и/или свои функции внутри СУБД, то можешь создавать свои типы данных (нечто типа struct в языке Си - если это тебе что-то говорит).

И есть много-много других различий.

Спустя 53 минуты, 37 секунд (2.10.2009 - 01:09) Gabriel написал(а):
sergeiss
сижу читаю и начинаю думать что mysql ето позапрошлый век blink.gif

Спустя 10 минут, 51 секунда (2.10.2009 - 01:20) WhiteKnight написал(а):
Я читал вот эту статью.
http://postgresmen.ru/articles/view/57

Получается что MySQL это позапрошлый век.

Я не спец. Я новичок и много мне не понятно.
Но в приведенной таблице "сравнения СУБД" написано возможности MySQL ,PostgreSQL и других СУБД. PostgreSQL почти такая же как коммерческая СУБД Oracle, а MySQL отстает получается..

Так что как ни крути, а надо будет все таки и PostgreSQL поучить

Спустя 6 часов, 35 минут, 38 секунд (2.10.2009 - 07:55) Michael написал(а):
Цитата (sergeiss @ 1.10.2009 - 14:27)
Цитата (Michael @ 1.10.2009 - 16:43)
WhiteKnight, можно спросить: а зачем тебе PostgreSQL - по воробьям из пушки?

Ты знаешь... А я вот тоже Постгре использую, очень даже не по воробъям получается... А очень даже по дракончикам smile.gif Большим, толстым smile.gif

Ну, sergeiss, про вас я и не сомневался, что по дракончикам. А для обычных проектов Postgre мощновата как читал. Хотя сам мечтаю познакомиться.

P.S. Хорошие в русской деревне еще водятся самогончики дракончики. smile.gif

Спустя 49 минут, 1 секунда (2.10.2009 - 08:44) glock18 написал(а):
sergeiss
переманил на свою сторону еще одного человека smile.gif поздравляем-с rolleyes.gif

Спустя 54 минуты, 56 секунд (2.10.2009 - 09:39) Mozzi написал(а):
2 года сижу на PostgreSQL, и постепенно совращаю народ им, даже тех кто работает с MS SQL. И представьте себе народ с SQL Studio пересаживается на psql, медленно, но верно. tongue.gif

На самом деле не стоит сравнивать MySQL и PostgreSQL, они разные, и этим сравнение должно заканчиваться.

Спустя 20 минут, 14 секунд (2.10.2009 - 09:59) glock18 написал(а):
Цитата
постепенно совращаю народ им, даже тех кто работает с MS SQL

это впечатляет. что-что, а у MS среда разработки и утилиты для работы с дбмс самый хорошие считаются. переезжают, значит чем-то другим берёт smile.gif

Спустя 30 минут, 11 секунд (2.10.2009 - 10:30) Mozzi написал(а):
Цитата (glock18 @ 2.10.2009 - 06:59)
...у MS среда разработки и утилиты для работы с дбмс самый хорошие считаются...

Да с этим можно согласиться, и это основной камень преткновения. Второй шок, это хранимые процедуры, которых в том понимании которое сложилось у людей работающих на MSSQL в PostgreSQL нет. И третье добивает полностью - отсутствие профайлера, а при командной разработке, отсутствие сиего средства трудно компенсировать biggrin.gif

Но как только человек хоть немного начинает понимать преимущество консоли, и хранения бизнес процессов описанных в хранимых процедурах, не в единичном экземпляре текущего выполнения в базе данных, а в версионном в SVN, удобство мелкомягких приблуд тускнеет ("если не видно разницы, зачем платить больше"). Второй шок гораздо проще преодолеть, как только понимаешь связь строго типизированных функций и мощнейшего языка PL/pgSQL (Привет Ораклу wink.gif ). Ну отсутствие профайлера минус, но это если вы разработки в живой БД ведёте (не поверите но мелгомякие прогеры часто этим грешат), если же у вас всё как у людей и православных программистов, то SysLog вам в помощь!

Спустя 5 часов, 3 минуты (2.10.2009 - 15:33) sergeiss написал(а):
Цитата (glock18 @ 2.10.2009 - 09:44)
переманил на свою сторону еще одного человека

Я? Нет, он сам, невиноватый я smile.gif Я только помогал, в меру возможностей, с начальным запуском.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.