по мануалу сделал:
в /etc/rc.conf написал:
postgresql_enable="YES"
postgresql_class="postgres"
в /etc/login.conf
postgres:\
:lang=ru_RU.utf-8:\
:setenv=LC_COLLATE=C:\
:tc=default:
далее запустил /usr/local/etc/rc.d/postgresql intdb
Файлы, сопутствующие этой системе баз данных, будут
принадлежать пользователю "pgsql". Этот пользователь
также должен быть владельцем процесса сервера.
Кластер баз данных будет инициализирован с локалью C.
база каталог /usr/local/pgsql/data создался.
конфиг pg_hba.conf настроил:
host all all 0.0.0.0/0 md5
конфиг posgresql.conf тоже настроил:
data_directory = '/usr/local/pgsql/data'
hba_file = '/usr/local/pgsql/data/pg_hba.conf'
listen_addresses = '*'
max_connections = 40
shared_buffers = 1MB
temp_buffers = 16MB
max_prepared_transactions = 5
work_mem = 96MB
maintenance_work_mem = 512MB
max_stack_depth = 4MB
max_fsm_pages = 179200
wal_buffers = 512kB
effective_cache_size = 1024MB
default_statistics_target = 100
log_destination = 'syslog'
log_directory = '/var/log/pgsql'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_rotation_age = 1d
log_rotation_size = 10MB
silent_mode = on
stats_start_collecor = on
stats_row_level = on
autovacuum = on
datestyle = 'iso, mdy'
lc_messages = 'C' # locale for system error message
# strings
lc_monetary = 'C' # locale for monetary formatting
lc_numeric = 'C' # locale for number formatting
lc_time = 'C' # locale for time formatting
max_locks_per_transaction = 150
при попытке запуска, он выдает что не запустилось
[f0s@fileserver] /usr/local/etc/rc.d/> ./postgresql start
could not start server
однако:
[f0s@fileserver] /usr/local/pgsql/data/> ps -axj | grep pos
pgsql 12820 1 12820 12820 0 Ss ?? 0:00,06
/usr/local/bin/postgres -D /usr/local/pgsql/data
pgsql 12822 12820 12822 12822 0 Ss ?? 0:00,00
postgres: writer process (postgres)
pgsql 12823 12820 12823 12823 0 Ss ?? 0:00,00
postgres: stats collector process (postgres)
root 12805 12141 12805 12137 1 S p2 0:00,01 /bin/sh
./postgresql start
[f0s@fileserver] /usr/local/pgsql/data/>
но в /var/log/messages сыпется это:
Aug 20 14:42:35 fileserver postgres[12750]: [3-1] FATAL: no
pg_hba.conf entry for host "[local]", user "pgsql", database "postgres",
SSL off
Aug 20 14:42:36 fileserver postgres[12751]: [3-1] FATAL: no
pg_hba.conf entry for host "[local]", user "pgsql", database "postgres",
SSL off
Aug 20 14:42:37 fileserver postgres[12752]: [3-1] FATAL: no
pg_hba.conf entry for host "[local]", user "pgsql", database "postgres",
SSL off
Aug 20 14:42:38 fileserver postgres[12753]: [3-1] FATAL: no
pg_hba.conf entry for host "[local]", user "pgsql", database "postgres",
SSL off
Aug 20 14:42:39 fileserver postgres[12754]: [3-1] FATAL: no
pg_hba.conf entry for host "[local]", user "pgsql", database "postgres",
SSL off
Aug 20 14:42:40 fileserver postgres[12755]: [3-1] FATAL: no
pg_hba.conf entry for host "[local]", user "pgsql", database "postgres",
SSL off
Aug 20 14:42:41 fileserver postgres[12756]: [3-1] FATAL: no
pg_hba.conf entry for host "[local]", user "pgsql", database "postgres",
SSL off
Aug 20 14:42:42 fileserver postgres[12757]: [3-1] FATAL: no
pg_hba.conf entry for host "[local]", user "pgsql", database "postgres",
SSL off
Aug 20 14:42:43 fileserver postgres[12759]: [3-1] FATAL: no
pg_hba.conf entry for host "[local]", user "pgsql", database "postgres",
SSL off
Aug 20 14:42:44 fileserver postgres[12762]: [3-1] FATAL: no
pg_hba.conf entry for host "[local]", user "pgsql", database "postgres",
SSL off
и при попытке получить доступ к базе, спрашивает пароль.. не знаю какой
он...
[f0s@fileserver] /usr/local/pgsql/data/> psql -h localhost postgres
postgres
Password for user postgres:
psql: FATAL: password authentication failed for user "postgres"
система:
[f0s@fileserver] /usr/local/etc/rc.d/> uname -a
FreeBSD fileserver.artpaint 6.2-RELEASE-p8 FreeBSD 6.2-RELEASE-p8
#0: Fri Nov 16 11:36:47 MSK 2007
ro...@fileserver.artpaint:/usr/obj/usr/src/sys/fileserver.kern-2007-16-11
amd64
[f0s@fileserver] /usr/local/etc/rc.d/> pkg_info | grep postgre
postgresql-client-8.2.4 PostgreSQL database (client)
postgresql-server-8.2.4_1 The most advanced open-source database
available anywhere
ps. кстати не старшно что shared_buffers всего 1МБ? у меня при больших
значениях вот так ругается:
Aug 20 14:02:19 fileserver postgres[12172]: [1-1] FATAL: could not
create shared memory segment: Invalid argument
Aug 20 14:02:19 fileserver postgres[12172]: [1-2] DETAIL: Failed
system call was shmget(key=5432001, size=56483840, 03600).
Aug 20 14:02:19 fileserver postgres[12172]: [1-3] HINT: This error
usually means that PostgreSQL's request for a shared memory segment
exceeded your
Aug 20 14:02:19 fileserver postgres[12172]: [1-4] You can either
reduce the request size or reconfigure the kernel with larger SHMMAX.
To reduce th
Aug 20 14:02:19 fileserver postgres[12172]: [1-5] 56483840 bytes),
reduce PostgreSQL's shared_buffers parameter (currently 6144) and/or its
max_conn
Aug 20 14:02:19 fileserver postgres[12172]: [1-6] 40).
Aug 20 14:02:19 fileserver postgres[12172]: [1-7] If the
request size is already small, it's possible that it is less than your
kernel's SHMMIN
Aug 20 14:02:19 fileserver postgres[12172]: [1-8] the request size
or reconfiguring SHMMIN is called for.
Aug 20 14:02:19 fileserver postgres[12172]: [1-9] The
PostgreSQL documentation contains more information about shared memory
configuration.
--
dmitry a. frolov (f0s)
не надо так настраивать, верни дефолтный конфиг. об этом тебе и было
сказано в логах:
> Aug 20 14:42:35 fileserver postgres[12750]: [3-1] FATAL: no
> pg_hba.conf entry for host "[local]", user "pgsql", database "postgres",
> SSL off
> ps. кстати не старшно что shared_buffers всего 1МБ? у меня при больших
> значениях вот так ругается:
>
>
> Aug 20 14:02:19 fileserver postgres[12172]: [1-1] FATAL: could not
> create shared memory segment: Invalid argument
> Aug 20 14:02:19 fileserver postgres[12172]: [1-2] DETAIL: Failed
> system call was shmget(key=5432001, size=56483840, 03600).
> Aug 20 14:02:19 fileserver postgres[12172]: [1-3] HINT: This error
> usually means that PostgreSQL's request for a shared memory segment
> exceeded your
> Aug 20 14:02:19 fileserver postgres[12172]: [1-4] You can either
> reduce the request size or reconfigure the kernel with larger SHMMAX.
> To reduce th
> Aug 20 14:02:19 fileserver postgres[12172]: [1-5] 56483840 bytes),
> reduce PostgreSQL's shared_buffers parameter (currently 6144) and/or its
> max_conn
> Aug 20 14:02:19 fileserver postgres[12172]: [1-6] 40).
> Aug 20 14:02:19 fileserver postgres[12172]: [1-7] If the
> request size is already small, it's possible that it is less than your
> kernel's SHMMIN
> Aug 20 14:02:19 fileserver postgres[12172]: [1-8] the request size
> or reconfiguring SHMMIN is called for.
> Aug 20 14:02:19 fileserver postgres[12172]: [1-9] The
> PostgreSQL documentation contains more information about shared memory
> configuration.
переведи на русский и получишь ответ.
особенно много информации в последней строке.
--
your sweet isn't ready yet
:
For procedural languages and postgresql functions, please note that
you might have to update them when updating the server.
If you have many tables and many clients running, consider raising
kern.maxfiles using sysctl(8), or reconfigure your kernel
appropriately.
The port is set up to use autovacuum for new databases, but you might
also want to vacuum and perhaps backup your database regularly. There
is a periodic script, /usr/local/etc/periodic/daily/502.pgsql, that
you may find useful. You can use it to backup and perfom vacuum on all
databases nightly. Per default, it perfoms `vacuum analyze'. See the
script for instructions. For autovacuum settings, please review
~pgsql/data/postgresql.conf.
To allow many simultaneous connections to your PostgreSQL server, you
should raise the SystemV shared memory limits in your kernel. Here are
example values for allowing up to 180 clients (configurations in
postgresql.conf also needed, of course):
options SYSVSHM
options SYSVSEM
options SYSVMSG
options SHMMAXPGS=65536
options SEMMNI=40
options SEMMNS=240
options SEMUME=40
options SEMMNU=120
Убери из postgresql_flags ключ -w
> но в /var/log/messages сыпется это:
>
>
> Aug 20 14:42:35 fileserver postgres[12750]: [3-1] FATAL: no
> pg_hba.conf entry for host "[local]", user "pgsql", database "postgres",
> SSL off
Какое слово перевести?
Ты пытаешься подключиться через unix domain socket, а записи в
pg_hba.conf по этому поводу у тебя нет.
> и при попытке получить доступ к базе, спрашивает пароль.. не знаю какой
> он...
>
>
>
> [f0s@fileserver] /usr/local/pgsql/data/> psql -h localhost postgres
> postgres
> Password for user postgres:
> psql: FATAL: password authentication failed for user "postgres"
После initdb в системе есть только один пользователь с тем же именем,
что и системный пользователь, от которого запускается postgre (по
умолчанию pgsql). То есть надо вписать в pg_hba.conf что-то типа
local all all trust
подключиться к базе, установить пользователю pgsql какой-то пароль,
после чего строчку поменять на что-то типа
local all all md5
--
Mykola Dzham, LEFT-(UANIC|RIPE)
JID: lev...@jabber.net.ua
>> конфиг pg_hba.conf настроил:
>>
>>
>> host all all 0.0.0.0/0 md5
>
> не надо так настраивать, верни дефолтный конфиг. об этом тебе и было
> сказано в логах:
>
>> Aug 20 14:42:35 fileserver postgres[12750]: [3-1] FATAL: no
>> pg_hba.conf entry for host "[local]", user "pgsql", database "postgres",
>> SSL off
>
ответ неверный.
в общем вернул trust, затем
psql -h localhost postgres pgsql
ALTER USER pgsql ENCRYPTED PASSWORD 'pass';
потом обратно поменял trust на md5 в pg_hba.conf
>> при попытке запуска, он выдает что не запустилось
>> [f0s@fileserver] /usr/local/etc/rc.d/> ./postgresql start
>> could not start server
> Убери из postgresql_flags ключ -w
спасибо. помогло. теперь все ок, и в логах не ругается.
>> и при попытке получить доступ к базе, спрашивает пароль.. не знаю какой
>> он...
>>
>>
>>
>> [f0s@fileserver] /usr/local/pgsql/data/> psql -h localhost postgres
>> postgres
>> Password for user postgres:
>> psql: FATAL: password authentication failed for user "postgres"
>
> После initdb в системе есть только один пользователь с тем же именем,
> что и системный пользователь, от которого запускается postgre (по
> умолчанию pgsql). То есть надо вписать в pg_hba.conf что-то типа
> local all all trust
> подключиться к базе, установить пользователю pgsql какой-то пароль,
> после чего строчку поменять на что-то типа
> local all all md5
>
да. спасибо. до этого уже сам допер :)
теперь осталась проблема следующего. Создаю в 1с Предприятие8.1 новую
базу данных.
присваиваю ей имя test1c, выбираю "создать, в случае отсутсвия". 1с
выдает сообщение:
Ошибка создания информационной базы:
ошибка информационной базы
ошибка при выполнении операции с информационной базой
ошибка СУБД:
ERROR: invalid value for parameter "l_messages": "en_US"
при это в логе постгре появляется:
Aug 21 12:26:29 fileserver postgres[49059]: [3-1] ERROR: invalid value
for parameter "lc_messages": "en_US"
Aug 21 12:26:29 fileserver postgres[49059]: [3-2] STATEMENT: SET
lc_messages to 'en_US';
Aug 21 12:26:29 fileserver postgres[49059]: [4-1] WARNING: there is no
transaction in progress
в конфиге постгре написано:
cat /var/db/postgresql/postgresql.conf | grep lc_mess
lc_messages = 'C'
при этом в /etc/rc.conf:
postgresql_enable="YES"
postgresql_class="pgsql"
в /etc/login.conf
pgsql:\
:lang=ru_RU.utf-8:\
:setenv=LC_COLLATE=C:\
:tc=default:
если поменять в конфиге postgresql.conf на следующие параметры:
lc_messages = 'ru_RU.UTF-8'
lc_monetary = 'ru_RU.UTF-8'
lc_numeric = 'ru_RU.UTF-8'
lc_time = 'ru_RU.UTF-8'
то в 1с та же ошибка, а в логах опять тоже самое:
Aug 21 12:38:00 fileserver postgres[49186]: [3-1] ERROR:
п?п╣п╡п╣яM-^@п?пЎп╣ п?п?п╟яM-^Gп╣п?п╦п╣ п?п╩яM-^O
п©п╟яM-^@п╟п╪п╣яM-^BяM-^@п╟ "lc_messages": "en_US"
Aug 21 12:38:00 fileserver postgres[49186]: [3-2]
пM-^ZпM-^^пM-^\пM-^PпM-^]пM-^TпM-^P: SET lc_messages to 'en_US';
Aug 21 12:38:00 fileserver postgres[49186]: [4-1] WARNING: п?п╣яM-^B
яM-^BяM-^@п╟п?п?п╟п╨яM-^Fп╦п╦ п╡ п©яM-^@пЎяM-^Fп╣яM-^AяM-^Aп╣
п╡яM-^Kп©пЎп╩п?п╣п?п╦яM-^O
если на
lc_messages = 'en_US.UTF-8'
lc_monetary = 'en_US.UTF-8'
lc_numeric = 'en_US.UTF-8'
lc_time = 'en_US.UTF-8'
то в 1с та же ошибка, а в логах опять тоже самое:
Aug 21 12:40:10 fileserver postgres[49216]: [3-1] ERROR: invalid value
for parameter "lc_messages": "en_US"
Aug 21 12:40:10 fileserver postgres[49216]: [3-2] STATEMENT: SET
lc_messages to 'en_US';
Aug 21 12:40:10 fileserver postgres[49216]: [4-1] WARNING: there is no
transaction in progress
ну почему же неверный? очевидно, раз ты пароля не знаешь, настраивать
сразу md5 несколько преждевременно, ведь так? :)
> в общем вернул trust, затем
> psql -h localhost postgres pgsql
>
> ALTER USER pgsql ENCRYPTED PASSWORD 'pass';
>
> потом обратно поменял trust на md5 в pg_hba.conf
--
> теперь осталась проблема следующего. Создаю в 1с Предприятие8.1 новую
> базу данных. присваиваю ей имя test1c, выбираю "создать, в случае отсутсвия". 1с
> выдает сообщение:
>
> Ошибка создания информационной базы:
> ошибка информационной базы
> ошибка при выполнении операции с информационной базой
> ошибка СУБД:
> ERROR: invalid value for parameter "l_messages": "en_US"
>
> при это в логе постгре появляется:
>
> Aug 21 12:26:29 fileserver postgres[49059]: [3-1] ERROR: invalid value
> for parameter "lc_messages": "en_US"
> Aug 21 12:26:29 fileserver postgres[49059]: [3-2] STATEMENT: SET
> lc_messages to 'en_US';
видимо, 1с пытается создать беде с локалью 'en_US'. может, дело в том
что нет такой локали?
% cd /usr/local/share/locale/en_
en_AU/ en_CA/ en_GB/
% cd /usr/share/locale/en
en_AU.ISO8859-1/ en_AU.UTF-8/ en_CA.US-ASCII/
en_GB.ISO8859-15/ en_IE.UTF-8/ en_NZ.US-ASCII/ en_US.ISO8859-15/
en_AU.ISO8859-15/ en_CA.ISO8859-1/ en_CA.UTF-8/ en_GB.US-ASCII/
en_NZ.ISO8859-1/ en_NZ.UTF-8/ en_US.US-ASCII/
en_AU.US-ASCII/ en_CA.ISO8859-15/ en_GB.ISO8859-1/ en_GB.UTF-8/
en_NZ.ISO8859-15/ en_US.ISO8859-1/ en_US.UTF-8/
думаю, тут можно либо покрутить 1с, либо скопировать подходящую локаль в
'en_US'.
>> Aug 21 12:26:29 fileserver postgres[49059]: [3-1] ERROR: invalid value
>> for parameter "lc_messages": "en_US"
>> Aug 21 12:26:29 fileserver postgres[49059]: [3-2] STATEMENT: SET
>> lc_messages to 'en_US';
>
> видимо, 1с пытается создать беде с локалью 'en_US'. может, дело в том
> что нет такой локали?
>
> % cd /usr/local/share/locale/en_
> en_AU/ en_CA/ en_GB/
> % cd /usr/share/locale/en
> en_AU.ISO8859-1/ en_AU.UTF-8/ en_CA.US-ASCII/
> en_GB.ISO8859-15/ en_IE.UTF-8/ en_NZ.US-ASCII/ en_US.ISO8859-15/
> en_AU.ISO8859-15/ en_CA.ISO8859-1/ en_CA.UTF-8/ en_GB.US-ASCII/
> en_NZ.ISO8859-1/ en_NZ.UTF-8/ en_US.US-ASCII/
> en_AU.US-ASCII/ en_CA.ISO8859-15/ en_GB.ISO8859-1/ en_GB.UTF-8/
> en_NZ.ISO8859-15/ en_US.ISO8859-1/ en_US.UTF-8/
>
> думаю, тут можно либо покрутить 1с, либо скопировать подходящую локаль в
> 'en_US'.
вот что у меня в русской локали:
[f0s@fileserver] /usr/local/share/locale/ru/LC_MESSAGES/> ll
total 1344
-r--r--r-- 1 root wheel 85081 25 дек 2007 GConf2.mo
-r--r--r-- 1 root wheel 10879 24 дек 2007 atk10.mo
-r--r--r-- 1 root wheel 571 25 дек 2007 bison-runtime.mo
-r--r--r-- 1 root wheel 11428 25 дек 2007 bison.mo
-r--r--r-- 1 root wheel 6390 25 дек 2007 gail.mo
-r--r--r-- 1 root wheel 9129 15 ноя 2007 gettext-runtime.mo
-r--r--r-- 1 root wheel 90839 15 ноя 2007 gettext-tools.mo
-r--r--r-- 1 root wheel 29647 15 ноя 2007 glib20.mo
-r--r--r-- 1 root wheel 12094 25 дек 2007 gnome-keyring.mo
-r--r--r-- 1 root wheel 30807 25 дек 2007 gnome-mime-data.mo
-r--r--r-- 1 root wheel 190633 24 дек 2007 gtk20-properties.mo
-r--r--r-- 1 root wheel 82460 24 дек 2007 gtk20.mo
-r--r--r-- 1 root wheel 2172 25 дек 2007 hal.mo
-rw-r--r-- 1 root wheel 14672 21 авг 12:04 initdb.mo
-r--r--r-- 1 root wheel 53216 25 дек 2007 libexif-12.mo
-rw-r--r-- 1 root wheel 14410 19 авг 16:56 libpq.mo
-r--r--r-- 1 root wheel 125369 15 ноя 2007 lynx.mo
-r--r--r-- 1 root wheel 26918 15 ноя 2007 make.mo
-r--r--r-- 1 root wheel 67441 15 ноя 2007 mc.mo
-rw-r--r-- 1 root wheel 3692 19 авг 16:56 pg_config.mo
-rw-r--r-- 1 root wheel 5047 21 авг 12:04 pg_controldata.mo
-rw-r--r-- 1 root wheel 12234 21 авг 12:04 pg_ctl.mo
-rw-r--r-- 1 root wheel 43538 19 авг 16:56 pg_dump.mo
-rw-r--r-- 1 root wheel 7290 21 авг 12:04 pg_resetxlog.mo
-rw-r--r-- 1 root wheel 15350 19 авг 16:56 pgscripts.mo
-r--r--r-- 1 root wheel 1955 16 ноя 2007 popt.mo
-rw-r--r-- 1 root wheel 159835 21 авг 12:04 postgres.mo
-rw-r--r-- 1 root wheel 73522 19 авг 16:56 psql.mo
-r--r--r-- 1 root wheel 62343 27 ноя 2007 rpm.mo
-r--r--r-- 1 root wheel 71853 26 ноя 2007 sane-backends.mo
-r--r--r-- 1 root wheel 19289 24 дек 2007 shared-mime-info.mo
в en же пусто....
[f0s@fileserver] /usr/local/share/locale/en/LC_MESSAGES/> ll
total 0
туплю.. не очень понял что куда копировать...
> туплю.. не очень понял что куда копировать...
просто создай директорию /usr/local/share/locale/en_US/LC_MESSAGES
[f0s@fileserver] /usr/local/share/locale/> ll | grep en
drwxr-xr-x 3 root wheel 512 15 ноя 2007 en
drwxr-xr-x 3 root wheel 512 15 ноя 2007 en@boldquot
drwxr-xr-x 3 root wheel 512 15 ноя 2007 en@quot
drwxr-xr-x 3 root wheel 512 15 ноя 2007 en_AU
drwxr-xr-x 3 root wheel 512 15 ноя 2007 en_CA
drwxr-xr-x 3 root wheel 512 15 ноя 2007 en_GB
drwxr-xr-x 3 root wheel 512 21 авг 16:35 en_US
[f0s@fileserver] /usr/local/share/locale/> ll en_US
total 2
drwxr-xr-x 2 root wheel 512 21 авг 16:35 LC_MESSAGES
не помогло, в логах также:
Aug 21 16:35:54 fileserver postgres[51255]: [3-1] ERROR: invalid value
for parameter "lc_messages": "en_US"
Aug 21 16:35:54 fileserver postgres[51255]: [3-2] STATEMENT: SET
lc_messages to 'en_US';
Aug 21 16:35:54 fileserver postgres[51255]: [4-1] WARNING: there is no
transaction in progress
и 1с-ка также ругается:
Ошибка создания информационной базы:
ошибка информационной базы
ошибка при выполнении операции с информационной базой
ошибка СУБД:
ERROR: invalid value for parameter "l_messages": "en_US"
ну, значит тогда сделай
# ln -s /usr/share/locale/en_US.UTF-8 /usr/share/locale/en_US
>> Aug 21 16:35:54 fileserver postgres[51255]: [4-1] WARNING: there is no
>> transaction in progress
>
> ну, значит тогда сделай
>
> # ln -s /usr/share/locale/en_US.UTF-8 /usr/share/locale/en_US
сделал, спасибо. также выставил локалью юзеру pgsql en_US.UTF-8, и в
конфиге постгре тоже en_US.UTF-8
теперь немного другая ошибка.. 1с пишет:
Ошибка создания информационной базы:
ошибка информационной базы
ошибка при выполнении операции с информационной базой
ошибка СУБД:
ERROR: could not access file "$libdit/mchar": No such file or directory
в логах при этом (приведу только 1/5 из того что в логах):
Aug 22 10:37:27 fileserver postgres[56738]: [3-1] NOTICE: using
pg_pltemplate information instead of CREATE LANGUAGE parameters
Aug 22 10:37:27 fileserver postgres[56738]: [4-1] WARNING: nonstandard
use of \' in a string literal at character 97
Aug 22 10:37:27 fileserver postgres[56738]: [4-2] HINT: Use '' to write
quotes in strings, or use the escape string syntax (E'...').
Aug 22 10:37:27 fileserver postgres[56738]: [5-1] WARNING: nonstandard
use of escape in a string literal at character 1811
Aug 22 10:37:27 fileserver postgres[56738]: [5-2] HINT: Use the escape
string syntax for escapes, e.g., E'\r\n'.
Aug 22 10:37:27 fileserver postgres[56738]: [6-1] WARNING: nonstandard
use of \\ in a string literal at character 17
Aug 22 10:37:27 fileserver postgres[56738]: [6-2] HINT: Use the escape
string syntax for backslashes, e.g., E'\\'.
Aug 22 10:37:27 fileserver postgres[56738]: [6-3] QUERY: SELECT $1
|| '\\000'
Aug 22 10:37:27 fileserver postgres[56738]: [6-4] CONTEXT: SQL
statement in PL/PgSQL function "btrim" near line 10
Aug 22 10:37:27 fileserver postgres[56738]: [7-1] WARNING: nonstandard
use of \\ in a string literal at character 18
Aug 22 10:37:27 fileserver postgres[56738]: [7-2] HINT: Use the escape
string syntax for backslashes, e.g., E'\\'.
Aug 22 10:37:27 fileserver postgres[56738]: [7-3] QUERY: SELECT
SET_BYTE('\\000\\000\\000\\000\\000\\000\\000\\000'::bytea, 4, MOD( $1
/ 16777216, 256))
Aug 22 10:37:27 fileserver postgres[56738]: [7-4] CONTEXT: SQL
statement in PL/PgSQL function "binrowver" near line 4
Aug 22 10:37:27 fileserver postgres[56738]: [8-1] NOTICE: type "mchar"
is not yet defined
Aug 22 10:37:27 fileserver postgres[56738]: [8-2] DETAIL: Creating a
shell type definition.
Aug 22 10:37:27 fileserver postgres[56738]: [9-1] ERROR: could not
access file "$libdir/mchar": No such file or directory
Aug 22 10:37:27 fileserver postgres[56738]: [9-2] STATEMENT: CREATE
FUNCTION mchar_in(cstring)
Aug 22 10:37:27 fileserver postgres[56738]: [9-3] RETURNS mchar
Aug 22 10:37:27 fileserver postgres[56738]: [9-4] AS '$libdir/mchar'
Aug 22 10:37:27 fileserver postgres[56738]: [9-5] LANGUAGE C
IMMUTABLE RETURNS NULL ON NULL INPUT;
Aug 22 10:37:27 fileserver postgres[56738]: [9-6]
Aug 22 10:37:27 fileserver postgres[56738]: [9-7] CREATE FUNCTION
mchar_out(mchar)
Aug 22 10:37:27 fileserver postgres[56738]: [9-8] RETURNS cstring
Aug 22 10:37:27 fileserver postgres[56738]: [9-9] AS '$libdir/mchar'
Aug 22 10:37:27 fileserver postgres[56738]: [9-10] LANGUAGE C
IMMUTABLE RETURNS NULL ON NULL INPUT;
Aug 22 10:37:27 fileserver postgres[56738]: [9-11]
Aug 22 10:37:27 fileserver postgres[56738]: [9-12] CREATE FUNCTION
mchar_send(mchar)
Aug 22 10:37:27 fileserver postgres[56738]: [9-13] RETURNS bytea
Aug 22 10:37:27 fileserver postgres[56738]: [9-14] AS '$libdir/mchar'
Aug 22 10:37:27 fileserver postgres[56738]: [9-15] LANGUAGE C
IMMUTABLE RETURNS NULL ON NULL INPUT;
Aug 22 10:37:27 fileserver postgres[56738]: [9-16]
Aug 22 10:37:27 fileserver postgres[56738]: [9-17] CREATE FUNCTION
mchar_recv(internal)
Aug 22 10:37:27 fileserver postgres[56738]: [9-18] RETURNS mchar
Aug 22 10:37:27 fileserver postgres[56738]: [9-19] AS '$libdir/mchar'
Aug 22 10:37:27 fileserver postgres[56738]: [9-20] LANGUAGE C
IMMUTABLE RETURNS NULL ON NULL INPUT;
Aug 22 10:37:27 fileserver postgres[56738]: [9-21]
Aug 22 10:37:27 fileserver postgres[56738]: [9-22] CREATE TYPE mchar (
Aug 22 10:37:27 fileserver postgres[56738]: [9-23]
INTERNALLENGTH = -1,
Aug 22 10:37:27 fileserver postgres[56738]: [9-24] INPUT = mchar_in,
Aug 22 10:37:27 fileserver postgres[56738]: [9-25] OUTPUT =
mchar_out,
Aug 22 10:37:27 fileserver postgres[56738]: [9-26] RECEIVE =
mchar_recv,
Aug 22 10:37:27 fileserver postgres[56738]: [9-27] SEND = mchar_send,
Aug 22 10:37:27 fileserver postgres[56738]: [9-28] STORAGE = extended
Aug 22 10:37:27 fileserver postgres[56738]: [9-29] );
Aug 22 10:37:27 fileserver postgres[56738]: [9-30]
Aug 22 10:37:27 fileserver postgres[56738]: [9-31] CREATE FUNCTION
mchar(mchar, integer, boolean)
Aug 22 10:37:27 fileserver postgres[56738]: [9-32] RETURNS mchar
Aug 22 10:37:27 fileserver postgres[56738]: [9-33] AS '$libdir/mchar'
Aug 22 10:37:27 fileserver postgres[56738]: [9-34] LANGUAGE C
IMMUTABLE RETURNS NULL ON NULL INPUT;
Aug 22 10:37:27 fileserver postgres[56738]: [9-35]
Aug 22 10:37:27 fileserver postgres[56738]: [9-36] CREATE CAST
(mchar as mchar)
Aug 22 10:37:27 fileserver postgres[56738]: [9-37] WITH FUNCTION
mchar(mchar, integer, boolean) as IMPLICIT;
Aug 22 10:37:27 fileserver postgres[56738]: [9-38]
Aug 22 10:37:27 fileserver postgres[56738]: [9-39] CREATE FUNCTION
mvarchar_in(cstring)
Aug 22 10:37:27 fileserver postgres[56738]: [9-40] RETURNS mvarchar
Aug 22 10:37:27 fileserver postgres[56738]: [9-41] AS '$libdir/mchar'
Aug 22 10:37:27 fileserver postgres[56738]: [9-42] LANGUAGE C
IMMUTABLE RETURNS NULL ON NULL INPUT;
Aug 22 10:37:27 fileserver postgres[56738]: [9-43]
Aug 22 10:37:27 fileserver postgres[56738]: [9-44] CREATE FUNCTION
mvarchar_out(mvarchar)
Aug 22 10:37:27 fileserver postgres[56738]: [9-45] RETURNS cstring
Aug 22 10:37:27 fileserver postgres[56738]: [9-46] AS '$libdir/mchar'
Aug 22 10:37:27 fileserver postgres[56738]: [9-47] LANGUAGE C
IMMUTABLE RETURNS NULL ON NULL INPUT;
Aug 22 10:37:27 fileserver postgres[56738]: [9-48]
Aug 22 10:37:27 fileserver postgres[56738]: [9-49] CREATE FUNCTION
mvarchar_send(mvarchar)
Aug 22 10:37:27 fileserver postgres[56738]: [9-50] RETURNS bytea
Aug 22 10:37:27 fileserver postgres[56738]: [9-51] AS '$libdir/mchar'
Aug 22 10:37:27 fileserver postgres[56738]: [9-52] LANGUAGE C
IMMUTABLE RETURNS NULL ON NULL INPUT;
Aug 22 10:37:27 fileserver postgres[56738]: [9-53]
Aug 22 10:37:27 fileserver postgres[56738]: [9-54] CREATE FUNCTION
mvarchar_recv(internal)
Aug 22 10:37:27 fileserver postgres[56738]: [9-55] RETURNS mvarchar
Aug 22 10:37:27 fileserver postgres[56738]: [9-56] AS '$libdir/mchar'
Aug 22 10:37:27 fileserver postgres[56738]: [9-57] LANGUAGE C
IMMUTABLE RETURNS NULL ON NULL INPUT;
Aug 22 10:37:27 fileserver postgres[56738]: [9-58]
Aug 22 10:37:27 fileserver postgres[56738]: [9-59] CREATE TYPE
mvarchar (
Aug 22 10:37:27 fileserver postgres[56738]: [9-60]
INTERNALLENGTH = -1,
Aug 22 10:37:27 fileserver postgres[56738]: [9-61] INPUT =
mvarchar_in,
Aug 22 10:37:27 fileserver postgres[56738]: [9-62] OUTPUT =
mvarchar_out,
Aug 22 10:37:27 fileserver postgres[56738]: [9-63] RECEIVE =
mvarchar_recv,
Aug 22 10:37:27 fileserver postgres[56738]: [9-64] SEND =
mvarchar_send,
Aug 22 10:37:27 fileserver postgres[56738]: [9-65] STORAGE = extended
Aug 22 10:37:27 fileserver postgres[56738]: [9-66] );
Aug 22 10:37:27 fileserver postgres[56738]: [9-67]
Aug 22 10:37:27 fileserver postgres[56738]: [9-68] CREATE FUNCTION
mvarchar(mvarchar, integer, boolean)
Aug 22 10:37:27 fileserver postgres[56738]: [9-69] RETURNS mvarchar
Aug 22 10:37:27 fileserver postgres[56738]: [9-70] AS '$libdir/mchar'
Aug 22 10:37:27 fileserver postgres[56738]: [9-71] LANGUAGE C
IMMUTABLE RETURNS NULL ON NULL INPUT;
Aug 22 10:37:27 fileserver postgres[56738]: [9-72]
Aug 22 10:37:27 fileserver postgres[56738]: [9-73] CREATE CAST
(mvarchar as mvarchar)
Aug 22 10:37:27 fileserver postgres[56738]: [9-74] WITH FUNCTION
mvarchar(mvarchar, integer, boolean) as IMPLICIT;
Aug 22 10:37:27 fileserver postgres[56738]: [9-75]
Aug 22 10:37:27 fileserver postgres[56738]: [9-76] --Operations and
functions
Aug 22 10:37:27 fileserver postgres[56738]: [9-77]
Aug 22 10:37:27 fileserver postgres[56738]: [9-78] CREATE FUNCTION
length(mchar)
Aug 22 10:37:27 fileserver postgres[56738]: [9-79] RETURNS int4
Aug 22 10:37:27 fileserver postgres[56738]: [9-80] AS
'$libdir/mchar', 'mchar_length'
Aug 22 10:37:27 fileserver postgres[56738]: [9-81] LANGUAGE C
IMMUTABLE RETURNS NULL ON NULL INPUT;
Aug 22 10:37:27 fileserver postgres[56738]: [9-82]
Aug 22 10:37:27 fileserver postgres[56738]: [9-83] CREATE FUNCTION
upper(mchar)
Aug 22 10:37:27 fileserver postgres[56738]: [9-84] RETURNS mchar
Aug 22 10:37:27 fileserver postgres[56738]: [9-85] AS
'$libdir/mchar', 'mchar_upper'
Aug 22 10:37:27 fileserver postgres[56738]: [9-86] LANGUAGE C
IMMUTABLE RETURNS NULL ON NULL INPUT;
Aug 22 10:37:27 fileserver postgres[56738]: [9-87]
Aug 22 10:37:27 fileserver postgres[56738]: [9-88] CREATE FUNCTION
lower(mchar)
Aug 22 10:37:27 fileserver postgres[56738]: [9-89] RETURNS mchar
Aug 22 10:37:27 fileserver postgres[56738]: [9-90] AS
'$libdir/mchar', 'mchar_lower'
Aug 22 10:37:27 fileserver postgres[56738]: [9-91] LANGUAGE C
IMMUTABLE RETURNS NULL ON NULL INPUT;
Aug 22 10:37:27 fileserver postgres[56738]: [9-92]
Aug 22 10:37:27 fileserver postgres[56738]: [9-93] CREATE FUNCTION
mchar_hash(mchar)
Aug 22 10:37:27 fileserver postgres[56738]: [9-94] RETURNS int4
Aug 22 10:37:27 fileserver postgres[56738]: [9-95] AS '$libdir/mchar'
Aug 22 10:37:27 fileserver postgres[56738]: [9-96] LANGUAGE C
IMMUTABLE RETURNS NULL ON NULL INPUT;
по поводу этой ошибки прочитал:
Ошибка "ERROR could not access file "$LIBDIR/MCHAR": No such file
or directory." и аналогичные, вызваны тем, что библиотеки для работы с
этими типами находятся в 'contrib-ах' постгреса. В поставке или при
сборке из srpm-cа собираются в отдельный rpm(например,
postgresql-contrib-8.2.4-1.1C.x86_64.rpm), который обязательно
установить. Кто собирает из сырцов - сам догадается, что делать 8).
Таким образом, должны быть установлены -
# rpm -qa | grep -i postgres
postgresql-server-8.2.4-1.1C
postgresql-8.2.4-1.1C
postgresql-contrib-8.2.4-1.1C
postgresql-libs-8.2.4-1.1C
где бы взять эти contrib, libs для freebsd?
нашел вот что:
[f0s@fileserver] /usr/ports/> make search name=contrib | grep postgre
Port: postgresql-contrib-8.2.9_1
Path: /usr/ports/databases/postgresql-contrib
B-deps: bison-2.3_4,1 gettext-0.17_1 gmake-3.81_3 libiconv-1.11_1
m4-1.4.11,1 postgresql-client-8.2.9
R-deps: gettext-0.17_1 libiconv-1.11_1 postgresql-client-8.2.9
WWW: http://www.postgresql.org/
установил.. не очень помогло :(
ну, сделай себе порт с такими настройками постгреса, которые тебе нужны.
если бы я знал какие настройки мне нужны.. 1с об этом умалчивает
хинт: посмотреть что есть в указанном выше rpm-е и сделать чтобы то же
самое было в твоем порте.