powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
25 сообщений из 64, страница 2 из 3
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
    #38535407
aquqrius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://www.postgresql.org/docs/9.3/static/pgupgrade.html

авторpg_upgrade does not support upgrading of databases containing these reg* OID-referencing system data types:
regproc, regprocedure, regoper, regoperator, regconfig, and regdictionary. (regtype can be upgraded.)
У меня два вопроса по этому:

1. как я могу узнать запросом, есть ли у меня в БД данные типы (regproc, regprocedure, regoper, regoperator, regconfig, and regdictionary)?

2. Если данные типы есть в БД, и pg_upgrade не сможет проапгрейдить такую БД, то как же произвести апгрейд?
...
Рейтинг: 0 / 0
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
    #38535414
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aquqrius http://www.postgresql.org/docs/9.3/static/pgupgrade.html

авторpg_upgrade does not support upgrading of databases containing these reg* OID-referencing system data types:
regproc, regprocedure, regoper, regoperator, regconfig, and regdictionary. (regtype can be upgraded.)
У меня два вопроса по этому:

1. как я могу узнать запросом, есть ли у меня в БД данные типы (regproc, regprocedure, regoper, regoperator, regconfig, and regdictionary)?

2. Если данные типы есть в БД, и pg_upgrade не сможет проапгрейдить такую БД, то как же произвести апгрейд?

1)99% что нету иначе бы вы этот вопрос не задавали... а так pg_upgrade выругается естественно

2)через pg_dump/pg_restore
...
Рейтинг: 0 / 0
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
    #38535422
aquqrius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim Boguk , подскажите, а как этот вопрос решать?

Код: plsql
1.
2.
waiting for server to start....2014-01-23 07:37:17 GMT FATAL:  database files are incompatible with server
he data directory was initialized by PostgreSQL version 9.1, which is not compatible with this version 9.3.2.
...
Рейтинг: 0 / 0
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
    #38535437
aquqrius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aquqrius1. как я могу узнать запросом, есть ли у меня в БД данные типы (regproc, regprocedure, regoper, regoperator, regconfig, and regdictionary)?

нашёл:
Код: plsql
1.
2.
3.
select table_catalog, table_schema, table_name, column_name, data_type 
from information_schema.columns
 where data_type like'%reg%';


у меня нашлись такие объекты, но table_schema - "pg_catalog". не обращать на это внимания?
...
Рейтинг: 0 / 0
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
    #38535516
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aquqriusaquqrius1. как я могу узнать запросом, есть ли у меня в БД данные типы (regproc, regprocedure, regoper, regoperator, regconfig, and regdictionary)?

нашёл:
Код: plsql
1.
2.
3.
select table_catalog, table_schema, table_name, column_name, data_type 
from information_schema.columns
 where data_type like'%reg%';


у меня нашлись такие объекты, но table_schema - "pg_catalog". не обращать на это внимания?

pg_catalog Это служебная схема
...
Рейтинг: 0 / 0
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
    #38535521
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aquqrius Maxim Boguk , подскажите, а как этот вопрос решать?

Код: plsql
1.
2.
waiting for server to start....2014-01-23 07:37:17 GMT FATAL:  database files are incompatible with server
he data directory was initialized by PostgreSQL version 9.1, which is not compatible with this version 9.3.2.



так директорию под будущий 9.3 надо Initdb 9.3 делать а не 9.1вым
о чем оно вам и пишет
...
Рейтинг: 0 / 0
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
    #38535785
aquqrius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim Bogukaquqrius Maxim Boguk , подскажите, а как этот вопрос решать?

Код: plsql
1.
2.
waiting for server to start....2014-01-23 07:37:17 GMT FATAL:  database files are incompatible with server
he data directory was initialized by PostgreSQL version 9.1, which is not compatible with this version 9.3.2.



так директорию под будущий 9.3 надо Initdb 9.3 делать а не 9.1вым
о чем оно вам и пишет
спасибо! а можно показать пример, как это делать? у postgresql очень скудная документация.

вот открыл я опять доку: http://www.postgresql.org/docs/9.3/static/pgupgrade.html
читаю, пункт 2:
авторFor source installs, build the new version
Build the new PostgreSQL source with configure flags that are compatible with the old cluster.
pg_upgrade will check pg_controldata to make sure all settings are compatible before starting the upgrade.
и где пример, как это сделать?

далее пункт 5:
авторInitialize the new PostgreSQL cluster
Initialize the new cluster using initdb. Again, use compatible initdb flags that match the old cluster.
Many prebuilt installers do this step automatically. There is no need to start the new cluster.
и опять никакого примера не вижу(

Типа установите и сконфигурируйте новый экземпляр с параметрами для обратной совместимости.
А вот как это сделать не написали (или я не вижу).
...
Рейтинг: 0 / 0
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
    #38535887
aquqrius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim Bogukaquqrius Maxim Boguk , подскажите, а как этот вопрос решать?

Код: plsql
1.
2.
waiting for server to start....2014-01-23 07:37:17 GMT FATAL:  database files are incompatible with server
he data directory was initialized by PostgreSQL version 9.1, which is not compatible with this version 9.3.2.



так директорию под будущий 9.3 надо Initdb 9.3 делать а не 9.1вым
о чем оно вам и пишет

что я сделал:

1. установил ( apt-get install postgres-9.3 ) на чистую машину postgresql 9.3 порт 5432.
в результате создались два каталога:
Код: plsql
1.
2.
/usr/lib/postgresql/9.3/bin/
/var/lib/postgresql/9.3/main/


2. далее установил ( apt-get install postgres-9.1 ) postgresql 9.1 порт 5433
создались два каталога:
Код: plsql
1.
2.
/usr/lib/postgresql/9.1/bin/
/var/lib/postgresql/9.1/main/





чтобы избежать ошибки
, я должен создать директорию под будущий 9.3:
имеется ввиду директория: /var/lib/postgresql/9.3/main/???



Код: plsql
1.
mv /var/lib/postgresql/9.3/main /var/lib/postgresql/9.3/old_main



Код: plsql
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.
$ /usr/lib/postgresql/9.3/bin/initdb -D /var/lib/postgresql/9.3/main/
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

creating directory /var/lib/postgresql/9.3/main ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
creating configuration files ... ok
creating template1 database in /var/lib/postgresql/9.3/main/base/1 ... ok
initializing pg_authid ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects' descriptions ... ok
creating collations ... ok
creating conversions ... ok
creating dictionaries ... ok
setting privileges on built-in objects ... ok
creating information schema ... ok
loading PL/pgSQL server-side language ... ok
vacuuming database template1 ... ok
copying template1 to template0 ... ok
copying template1 to postgres ... ok
syncing data to disk ... ok

WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.

Success. You can now start the database server using:

    /usr/lib/postgresql/9.3/bin/postgres -D /var/lib/postgresql/9.3/main/
or
    /usr/lib/postgresql/9.3/bin/pg_ctl -D /var/lib/postgresql/9.3/main/ -l logfile start



Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
$ /usr/lib/postgresql/9.3/bin/pg_upgrade 
-b /usr/lib/postgresql/9.1/bin -B /usr/lib/postgresql/9.3/bin 
-d  /var/lib/postgresql/9.1/main/ -D  /var/lib/postgresql/9.3/main/  -p 5433 –P 5432 -c
Performing Consistency Checks
-----------------------------
Checking cluster versions                                   ok
Checking database user is a superuser                       ok
Checking for prepared transactions                          ok
Checking for reg* system OID user data types                ok
Checking for contrib/isn with bigint-passing mismatch       ok
Checking for presence of required libraries                 fatal

Your installation references loadable libraries that are missing from the
new installation.  You can add these libraries to the new installation,
or remove the functions using them from the old installation.  A list of
problem libraries is in the file:
    loadable_libraries.txt

Failure, exiting



loadable_libraries.txt
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
Could not load library "$libdir/lo"
ERROR:  could not access file "$libdir/lo": No such file or directory

Could not load library "$libdir/pg_trgm"
ERROR:  could not access file "$libdir/pg_trgm": No such file or directory

Could not load library "$libdir/pg_repack"
ERROR:  could not access file "$libdir/pg_repack": No such file or directory



в старом кластере 9.1 я не вижу такие файлов или каталогов. Где мне их искать?
...
Рейтинг: 0 / 0
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
    #38535942
aquqrius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторCould not load library "$libdir/lo"
ERROR: could not access file "$libdir/lo": No such file or directory
Could not load library "$libdir/pg_trgm"
ERROR: could not access file "$libdir/pg_trgm": No such file or directory
Could not load library "$libdir/pg_repack"
ERROR: could not access file "$libdir/pg_repack": No such file or directory
насколько я понял, все библиотеки у Postgresql должны лежать в каталоге:
Код: plsql
1.
/usr/lib/postgresql/9.1/lib


но в этом каталоге, как и в /usr/lib/postgresql/9.3/lib я не вижу lo, pg_trgm, pg_repack
...
Рейтинг: 0 / 0
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
    #38536131
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
    #38536239
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aquqriusавторCould not load library "$libdir/lo"
ERROR: could not access file "$libdir/lo": No such file or directory
Could not load library "$libdir/pg_trgm"
ERROR: could not access file "$libdir/pg_trgm": No such file or directory
Could not load library "$libdir/pg_repack"
ERROR: could not access file "$libdir/pg_repack": No such file or directory
насколько я понял, все библиотеки у Postgresql должны лежать в каталоге:
Код: plsql
1.
/usr/lib/postgresql/9.1/lib


но в этом каталоге, как и в /usr/lib/postgresql/9.3/lib я не вижу lo, pg_trgm, pg_repack

а откуда у вас вообще взяты упомнинания "lo, pg_trgm, pg_repack"
для первых двух вам надо поставить contribs и для 9.3 и для 9.1
для последнего pg_repack отдельно...
или найти где они прописаны в конфигах базы и зачем и убрать оттуда...
99% что у вас в старом конфиге 9.1 они прописаны или установлены в старую базу 9.1

PS: вообще надо или учится и разбираться самому или обращаться к специалистам... у вас вопросы которые DBA задавать не должен вообще...
...
Рейтинг: 0 / 0
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
    #38537237
aquqrius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автордля первых двух вам надо поставить contribs и для 9.3 и для 9.1
для последнего pg_repack отдельно...
или найти где они прописаны в конфигах базы и зачем и убрать оттуда...
99% что у вас в старом конфиге 9.1 они прописаны или установлены в старую базу 9.1

да, вы правы, pg_admin показывает эти расширения в списке расширений в старой БД 9.1

установились расширения lo и pg_tgrm.

Код: plsql
1.
2.
apt-get install postgresql-contrib-9.1
apt-get install postgresql-contrib-9.3



авторAlternatively you can use the PGXN Client to download, compile and install the package; use:
не получается установить расширение pg_repack
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
$ pgxn install pg_repack
INFO: best version: pg_repack 1.1.8
INFO: saving /tmp/tmpI0bzki/pg_repack-1.1.8.zip
INFO: unpacking: /tmp/tmpI0bzki/pg_repack-1.1.8.zip
INFO: building extension
make[1]: Entering directory `/tmp/tmpI0bzki/pg_repack-1.1.8/bin'
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -fPIC -pie -I/usr/include/mit-krb5 -DLINUX_OOM_ADJ=0 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -I/usr/include/postgresql -I. -I./ -I/usr/include/postgresql/9.3/server -I/usr/include/postgresql/internal -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I/usr/include/libxml2  -I/usr/include/tcl8.5  -c -o pg_repack.o pg_repack.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -fPIC -pie -I/usr/include/mit-krb5 -DLINUX_OOM_ADJ=0 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -I/usr/include/postgresql -I. -I./ -I/usr/include/postgresql/9.3/server -I/usr/include/postgresql/internal -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I/usr/include/libxml2  -I/usr/include/tcl8.5  -c -o pgut/pgut.o pgut/pgut.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -fPIC -pie -I/usr/include/mit-krb5 -DLINUX_OOM_ADJ=0 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -I/usr/include/postgresql -I. -I./ -I/usr/include/postgresql/9.3/server -I/usr/include/postgresql/internal -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I/usr/include/libxml2  -I/usr/include/tcl8.5  -c -o pgut/pgut-fe.o pgut/pgut-fe.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -fPIC -pie -I/usr/include/mit-krb5 -DLINUX_OOM_ADJ=0 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g pg_repack.o pgut/pgut.o pgut/pgut-fe.o -L/usr/lib -lpq -L/usr/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -L/usr/lib/mit-krb5 -L/usr/lib/x86_64-linux-gnu/mit-krb5 -L/usr/lib/x86_64-linux-gnu  -Wl,--as-needed  -lpgport -lpgcommon -lpam -lssl -lcrypto -lkrb5 -lcom_err -lgssapi_krb5 -lz -ledit -lcrypt -ldl -lm -o pg_repack
/usr/bin/ld: cannot find -lpam
/usr/bin/ld: cannot find -ledit
collect2: ld returned 1 exit status
make[1]: *** [pg_repack] Error 1
make[1]: Leaving directory `/tmp/tmpI0bzki/pg_repack-1.1.8/bin'
make: *** [all] Error 2
ERROR: command returned 2: make PG_CONFIG=/usr/bin/pg_config all

# cd /tmp/tmpI0bzki/pg_repack-1.1.8/bin
root@test-pgrs:/tmp/tmpI0bzki/pg_repack-1.1.8/bin# pwd
/tmp/tmpI0bzki/pg_repack-1.1.8/bin



http://reorg.github.io/pg_repack/

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
# pwd
/home/pg_repack-1.1.8/bin
root@test-pgrs:/home/pg_repack-1.1.8/bin# make
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -fPIC -pie -I/usr/include/mit-krb5 -DLINUX_OOM_ADJ=0 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g pg_repack.o pgut/pgut.o pgut/pgut-fe.o -L/usr/lib -lpq -L/usr/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -L/usr/lib/mit-krb5 -L/usr/lib/x86_64-linux-gnu/mit-krb5 -L/usr/lib/x86_64-linux-gnu  -Wl,--as-needed  -lpgport -lpgcommon -lpam -lssl -lcrypto -lkrb5 -lcom_err -lgssapi_krb5 -lz -ledit -lcrypt -ldl -lm -o pg_repack
/usr/bin/ld: cannot find -lpam
/usr/bin/ld: cannot find -ledit
collect2: ld returned 1 exit status
make: *** [pg_repack] Error 1



не получается установить расширение pg_repack(((
...
Рейтинг: 0 / 0
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
    #38537368
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aquqrius, удалите extension pg_repack из 9.1, после обновления заново поставите в 9.3
...
Рейтинг: 0 / 0
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
    #38538744
aquqrius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ёшaquqrius, удалите extension pg_repack из 9.1, после обновления заново поставите в 9.3


могли бы объяснить причину ошибки ниже?
Код: plsql
1.
ERROR: command returned 2: make PG_CONFIG=/usr/bin/pg_config all



я подумал, что эта ошибка может быть связана с тем, что у меня на машине две версии Postgresql установлено.

я попробовал прописать:

Код: plsql
1.
2.
3.
$ export PATH="$PATH:/usr/lib/postgresql/9.3/bin"
postgres@test-pgrs:/usr/lib/postgresql/9.3/bin$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/lib/postgresql/9.3/bin



но мне это не помогло. Я не понимаю почему у меня ошибка:(
и почему
Код: plsql
1.
2.
/usr/bin/ld: cannot find -lpam
/usr/bin/ld: cannot find -ledit



подскажите пожалуйста.
...
Рейтинг: 0 / 0
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
    #38538769
aquqrius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
echo $PATH
Код: plsql
1.
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/lib/postgresql/9.3/bin




http://pqxx.org/boilerplate/frozen/126.html
пишут, что нужно путь к бинарникам postgresql в начале PATH указывать. указал.
авторAll you need to do is make sure that the pg_config that you want is the first in your path. So in a Unix-like environment, for example, you could say:

PATH="/path/to/my/favourite/postgres/bin:$PATH"
export PATH

postgres@test-pgrs:/usr/lib/postgresql/9.3/bin$
Код: plsql
1.
export PATH=/usr/lib/postgresql/9.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games


postgres@test-pgrs:/usr/lib/postgresql/9.3/bin$ echo $PATH
/usr/lib/postgresql/9.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
postgres@test-pgrs:/usr/lib/postgresql/9.3/bin$ pgxn install pg_repack
INFO: best version: pg_repack 1.1.8
INFO: saving /tmp/tmp7WmUAO/pg_repack-1.1.8.zip
INFO: unpacking: /tmp/tmp7WmUAO/pg_repack-1.1.8.zip
INFO: building extension
make[1]: Entering directory `/tmp/tmp7WmUAO/pg_repack-1.1.8/bin'
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -fPIC -pie -I/usr/include/mit-krb5 -DLINUX_OOM_ADJ=0 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -I/usr/include/postgresql -I. -I./ -I/usr/include/postgresql/9.3/server -I/usr/include/postgresql/internal -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I/usr/include/libxml2 -I/usr/include/tcl8.5 -c -o pg_repack.o pg_repack.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -fPIC -pie -I/usr/include/mit-krb5 -DLINUX_OOM_ADJ=0 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -I/usr/include/postgresql -I. -I./ -I/usr/include/postgresql/9.3/server -I/usr/include/postgresql/internal -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I/usr/include/libxml2 -I/usr/include/tcl8.5 -c -o pgut/pgut.o pgut/pgut.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -fPIC -pie -I/usr/include/mit-krb5 -DLINUX_OOM_ADJ=0 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -I/usr/include/postgresql -I. -I./ -I/usr/include/postgresql/9.3/server -I/usr/include/postgresql/internal -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I/usr/include/libxml2 -I/usr/include/tcl8.5 -c -o pgut/pgut-fe.o pgut/pgut-fe.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -fPIC -pie -I/usr/include/mit-krb5 -DLINUX_OOM_ADJ=0 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g pg_repack.o pgut/pgut.o pgut/pgut-fe.o -L/usr/lib -lpq -L/usr/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -L/usr/lib/mit-krb5 -L/usr/lib/x86_64-linux-gnu/mit-krb5 -L/usr/lib/x86_64-linux-gnu -Wl,--as-needed -lpgport -lpgcommon -lpam -lssl -lcrypto -lkrb5 -lcom_err -lgssapi_krb5 -lz -ledit -lcrypt -ldl -lm -o pg_repack
/usr/bin/ld: cannot find -lpam
/usr/bin/ld: cannot find -ledit
collect2: ld returned 1 exit status
make[1]: *** [pg_repack] Error 1
make[1]: Leaving directory `/tmp/tmp7WmUAO/pg_repack-1.1.8/bin'
make: *** [all] Error 2
ERROR: command returned 2: make PG_CONFIG=/usr/lib/postgresql/9.3/bin/pg_config all
...
Рейтинг: 0 / 0
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
    #38538822
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aquqrius, вот ошибка связывания:
/usr/bin/ld: cannot find -lpam
/usr/bin/ld: cannot find -ledit

дальше — это её следствия. Для сборки программы Вам нужно поставить сборочные пакеты этих библиотек:
sudo aptitude install libedit-dev
sudo aptitude install libpam-dev
...
Рейтинг: 0 / 0
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
    #38538901
aquqrius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ёшaquqrius, вот ошибка связывания:
/usr/bin/ld: cannot find -lpam
/usr/bin/ld: cannot find -ledit

дальше — это её следствия. Для сборки программы Вам нужно поставить сборочные пакеты этих библиотек:
sudo aptitude install libedit-dev
sudo aptitude install libpam-dev

спасибо большое!!! я бы не догадался, что нужно именно эти библиотеки установить, потому что в инструкции написано:
авторBefore building, you might need to install the PostgreSQL development packages (postgresql-devel, etc.)

следующие грабли:

Код: plsql
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.
~$ pgxn install pg_repack
INFO: best version: pg_repack 1.1.8
INFO: saving /tmp/tmp5Fkdza/pg_repack-1.1.8.zip
INFO: unpacking: /tmp/tmp5Fkdza/pg_repack-1.1.8.zip
INFO: building extension
make[1]: Entering directory `/tmp/tmp5Fkdza/pg_repack-1.1.8/bin'
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -fPIC -pie -I/usr/include/mit-krb5 -DLINUX_OOM_ADJ=0 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -I/usr/include/postgresql -I. -I./ -I/usr/include/postgresql/9.3/server -I/usr/include/postgresql/internal -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I/usr/include/libxml2  -I/usr/include/tcl8.5  -c -o pg_repack.o pg_repack.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -fPIC -pie -I/usr/include/mit-krb5 -DLINUX_OOM_ADJ=0 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -I/usr/include/postgresql -I. -I./ -I/usr/include/postgresql/9.3/server -I/usr/include/postgresql/internal -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I/usr/include/libxml2  -I/usr/include/tcl8.5  -c -o pgut/pgut.o pgut/pgut.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -fPIC -pie -I/usr/include/mit-krb5 -DLINUX_OOM_ADJ=0 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -I/usr/include/postgresql -I. -I./ -I/usr/include/postgresql/9.3/server -I/usr/include/postgresql/internal -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I/usr/include/libxml2  -I/usr/include/tcl8.5  -c -o pgut/pgut-fe.o pgut/pgut-fe.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -fPIC -pie -I/usr/include/mit-krb5 -DLINUX_OOM_ADJ=0 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g pg_repack.o pgut/pgut.o pgut/pgut-fe.o -L/usr/lib -lpq -L/usr/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -L/usr/lib/mit-krb5 -L/usr/lib/x86_64-linux-gnu/mit-krb5 -L/usr/lib/x86_64-linux-gnu  -Wl,--as-needed  -lpgport -lpgcommon -lpam -lssl -lcrypto -lkrb5 -lcom_err -lgssapi_krb5 -lz -ledit -lcrypt -ldl -lm -o pg_repack
make[1]: Leaving directory `/tmp/tmp5Fkdza/pg_repack-1.1.8/bin'
make[1]: Entering directory `/tmp/tmp5Fkdza/pg_repack-1.1.8/lib'
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -fPIC -pie -I/usr/include/mit-krb5 -DLINUX_OOM_ADJ=0 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -fpic -I. -I./ -I/usr/include/postgresql/9.3/server -I/usr/include/postgresql/internal -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I/usr/include/libxml2  -I/usr/include/tcl8.5  -c -o repack.o repack.c
repack.c: In function ‘repack_swap’:
repack.c:742:3: error: too few arguments to function ‘RenameRelationInternal’
/usr/include/postgresql/9.3/server/commands/tablecmds.h:60:13: note: declared here
repack.c:744:3: error: too few arguments to function ‘RenameRelationInternal’
/usr/include/postgresql/9.3/server/commands/tablecmds.h:60:13: note: declared here
repack.c:754:3: error: too few arguments to function ‘RenameRelationInternal’
/usr/include/postgresql/9.3/server/commands/tablecmds.h:60:13: note: declared here
repack.c:756:3: error: too few arguments to function ‘RenameRelationInternal’
/usr/include/postgresql/9.3/server/commands/tablecmds.h:60:13: note: declared here
repack.c:761:3: error: too few arguments to function ‘RenameRelationInternal’
/usr/include/postgresql/9.3/server/commands/tablecmds.h:60:13: note: declared here
repack.c:763:3: error: too few arguments to function ‘RenameRelationInternal’
/usr/include/postgresql/9.3/server/commands/tablecmds.h:60:13: note: declared here
repack.c:768:3: error: too few arguments to function ‘RenameRelationInternal’
/usr/include/postgresql/9.3/server/commands/tablecmds.h:60:13: note: declared here
repack.c:770:3: error: too few arguments to function ‘RenameRelationInternal’
/usr/include/postgresql/9.3/server/commands/tablecmds.h:60:13: note: declared here
make[1]: *** [repack.o] Error 1
make[1]: Leaving directory `/tmp/tmp5Fkdza/pg_repack-1.1.8/lib'
make: *** [all] Error 2
ERROR: command returned 2: make PG_CONFIG=/usr/lib/postgresql/9.3/bin/pg_config all



https://github.com/reorg/pg_repack/issues/17

правильно ли я понимаю из ссылки, что pg_repack 1.8 не поддерживает Postgresql 9.3.2 (Т.е. последнюю версию Postgresql,
где исправлены все баги с репликацией)?
...
Рейтинг: 0 / 0
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
    #38539017
aquqrius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если ставить pg_repack 1.2, то смущает, что он beta.
или это нормально?

и ещё вопрос: не получается удалить расширение (вернее расширение у меня отсутствует и в 9.1 и в 9.3,
но в БД 9.1 есть ссылки/упоминания на это расширение, как их убрать?)

Код: plsql
1.
2.
3.
4.
5.
6.
$ pgxn unload pg_repack
INFO: best version: pg_repack 1.1.8
The extension 'pg_repack' doesn't contain a control file:
will look for an SQL script to unload the objects.
Do you want to continue? [y/N] y
ERROR: cannot find sql file for extension 'pg_repack': 'uninstall_pg_repack.sql'



где же взять этот файл uninstall_pg_repack.sql? разве что с рабочей БД взять, с которой бэкап делался....
...
Рейтинг: 0 / 0
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
    #38539039
aquqrius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вопрос в том, как удалить ссылки в БД на расширение, которого на самом деле нет.
есть только ссылки в БД.

подскажите пожалуйста.
...
Рейтинг: 0 / 0
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
    #38539114
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aquqrius
Код: plsql
1.
2.
3.
4.
5.
6.
$ pgxn unload pg_repack
INFO: best version: pg_repack 1.1.8
The extension 'pg_repack' doesn't contain a control file:
will look for an SQL script to unload the objects.
Do you want to continue? [y/N] y
ERROR: cannot find sql file for extension 'pg_repack': 'uninstall_pg_repack.sql'



где же взять этот файл uninstall_pg_repack.sql? разве что с рабочей БД взять, с которой бэкап делался....Раз pgxn пытается ставить pg_repack в 9.3, то думаю что и удалять его он пытается из 9.3, а для миграции Вам нужно удалить его из 9.2. Нужно посмотреть что он в 9.2 устанавливает при установке.
...
Рейтинг: 0 / 0
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
    #38539553
aquqrius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ёшaquqrius
Код: plsql
1.
2.
3.
4.
5.
6.
$ pgxn unload pg_repack
INFO: best version: pg_repack 1.1.8
The extension 'pg_repack' doesn't contain a control file:
will look for an SQL script to unload the objects.
Do you want to continue? [y/N] y
ERROR: cannot find sql file for extension 'pg_repack': 'uninstall_pg_repack.sql'



где же взять этот файл uninstall_pg_repack.sql? разве что с рабочей БД взять, с которой бэкап делался....Раз pgxn пытается ставить pg_repack в 9.3, то думаю что и удалять его он пытается из 9.3, а для миграции Вам нужно удалить его из 9.2. Нужно посмотреть что он в 9.2 устанавливает при установке.
у меня 9.2 нет на машине.

я хочу сделать переход с 9.1.9 на 9.3.2

и у меня на тестовой машине pg_repack ни в 9.3, ни в 9.1 не ставится.

при попытке установить pg_repack в 9.1 ошибка:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
$ echo $PATH
/usr/lib/postgresql/9.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
postgres@test-pgrs:~$ pgxn install pg_repack
INFO: best version: pg_repack 1.1.8
INFO: saving /tmp/tmpRRx1Sw/pg_repack-1.1.8.zip
INFO: unpacking: /tmp/tmpRRx1Sw/pg_repack-1.1.8.zip
INFO: building extension
make[1]: Entering directory `/tmp/tmpRRx1Sw/pg_repack-1.1.8/bin'
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -fPIC -pie -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -I/usr/include/postgresql -I. -I./ -I/usr/include/postgresql/9.1/server -I/usr/include/postgresql/internal -D_FORTIFY_SOURCE=2 -DLINUX_OOM_ADJ=0 -D_GNU_SOURCE -I/usr/include/libxml2  -I/usr/include/tcl8.5  -c -o pg_repack.o pg_repack.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -fPIC -pie -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -I/usr/include/postgresql -I. -I./ -I/usr/include/postgresql/9.1/server -I/usr/include/postgresql/internal -D_FORTIFY_SOURCE=2 -DLINUX_OOM_ADJ=0 -D_GNU_SOURCE -I/usr/include/libxml2  -I/usr/include/tcl8.5  -c -o pgut/pgut.o pgut/pgut.c
In file included from pgut/pgut.c:10:0:
/usr/include/postgresql/postgres_fe.h:27:32: fatal error: common/fe_memutils.h: No such file or directory
compilation terminated.
make[1]: *** [pgut/pgut.o] Error 1
make[1]: Leaving directory `/tmp/tmpRRx1Sw/pg_repack-1.1.8/bin'
make: *** [all] Error 2


ERROR: command returned 2: make PG_CONFIG=/usr/lib/postgresql/9.1/bin/pg_config all

в чём ошибка на сей раз?

pgxn не обращает внимание на PATH?
если у меня в Path указан путь к 9.1, значит pgxn install Должен устанавливать в ту версию,
которая указана в PATH. Или не факт?
...
Рейтинг: 0 / 0
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
    #38539602
aquqrius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня есть два каталога на машине:
Код: plsql
1.
2.
 /usr/lib/postgresql/9.1
 /usr/lib/postgresql/9.3



удалить из 9.1 pg_repack я не могу:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
 pgxn unload pg_repack
INFO: best version: pg_repack 1.1.8
The extension 'pg_repack' doesn't contain a control file:
will look for an SQL script to unload the objects.
Do you want to continue? [y/N] y
ERROR: cannot find sql file for extension 'pg_repack': 'uninstall_pg_repack.sql'
postgres@test-pgrs:/usr/include/postgresql/9.1/server$ pwd



установить в 9.1 pg_repack я тоже не могу:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
In file included from pgut/pgut.c:10:0:
/usr/include/postgresql/postgres_fe.h:27:32: fatal error: common/fe_memutils.h: No such file or directory
compilation terminated.
make[1]: *** [pgut/pgut.o] Error 1
make[1]: Leaving directory `/tmp/tmppWR_Z8/pg_repack-1.1.8/bin'
make: *** [all] Error 2
ERROR: command returned 2: make PG_CONFIG=/usr/lib/postgresql/9.1/bin/pg_config all



хотя мне достаточно удалить ссылки в БД на Pg_repack, но я не знаю как это сделать и прошу вашей помощи
...
Рейтинг: 0 / 0
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
    #38539675
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aquqrius,

https://github.com/reorg/pg_repack/blob/maint_1.1/lib/uninstall_pg_repack.sql

вот так вроде он чистится
...
Рейтинг: 0 / 0
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
    #38540560
aquqrius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ёшaquqrius,

https://github.com/reorg/pg_repack/blob/maint_1.1/lib/uninstall_pg_repack.sql

вот так вроде он чистится

спасибо.
меня только смущает, что когда я выполняю скрипт:
Код: plsql
1.
2.
3.
$ psql -f /tmp/tmppWR_Z8/pg_repack-1.1.8/lib/uninstall_pg_repack.sql
psql:/tmp/tmppWR_Z8/pg_repack-1.1.8/lib/uninstall_pg_repack.sql:9: NOTICE:  schema "repack" does not exist, skipping
DROP SCHEMA



а при попытке апгрейда:
Код: plsql
1.
2.
Could not load library "$libdir/pg_repack"
ERROR:  could not access file "$libdir/pg_repack": No such file or directory



если схема repack не существует, почему же при апгрейде ругается на это расширение?
...
Рейтинг: 0 / 0
Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
    #38540574
aquqrius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
2.
3.
4.
5.
6.
7.
~$ psql --version
psql (PostgreSQL) 9.1.11
contains support for command-line editing

postgres@test-pgrs:~$ psql
psql (9.1.11)
Type "help" for help.


проверил запросом, что схема repack отсутствует в БД:

Код: plsql
1.
2.
3.
4.
postgres=# select * from pg_catalog.pg_namespace where nspname='repack';
 nspname | nspowner | nspacl
---------+----------+--------
(0 rows)



Я уже совсем не понимаю, почему если схема re_pack отсутствует, почему ругается на эту библиотеку при pg_upgrade?
в 9.3 этого расширения точно нет, и для меня был вариант удалить его из 9.1, но я не смог(((
...
Рейтинг: 0 / 0
25 сообщений из 64, страница 2 из 3
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как провести Upgrade PostgreSQL с 9.1 до 9.3 с минимальным downtime? (pg_upgrade)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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