Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PostgreSQL Новый топик    Ответить
 Использовать template по умолчанию или же нет?  [new]
Аналитик
Member

Откуда: Киев
Сообщений: 344
Добрый день. Подскажите при создании новой базы лучше использовать template0, template1 или же вообще их не использовать?
19 янв 06, 13:51    [2269509]     Ответить | Цитировать Сообщить модератору
 Re: Использовать template по умолчанию или же нет?  [new]
фффф
Guest
Смотря для каких целей.
Если нужна чистенькая основа для загрузки дампа - template0.
Если нужны какие-то свои настройки во всех создаваемых базах - делайте их один раз в template1 и создавайте базы на её основе.
Если же надо несколько типовых начальных конфигураций - никто не запрещает наделать template2, template3, ...
19 янв 06, 14:32    [2269723]     Ответить | Цитировать Сообщить модератору
 Re: Использовать template по умолчанию или же нет?  [new]
Аналитик
Member

Откуда: Киев
Сообщений: 344
Скажите, а можно ли из одной базы в другую(новую, чистую) перенести таблицы и ничего другого?
19 янв 06, 15:14    [2269927]     Ответить | Цитировать Сообщить модератору
 Re: Использовать template по умолчанию или же нет?  [new]
Opilki_Inside
Member

Откуда: Москва
Сообщений: 259
Аналитик
Скажите, а можно ли из одной базы в другую(новую, чистую) перенести таблицы и ничего другого?


пустые таблицы?
см. стандартную утилиту pg_dump
программа для создания Backup'ов, можно выгружать просто скрипт твой базы
19 янв 06, 15:16    [2269934]     Ответить | Цитировать Сообщить модератору
 Re: Использовать template по умолчанию или же нет?  [new]
Аналитик
Member

Откуда: Киев
Сообщений: 344
Спасибо. Буду пробывать.
19 янв 06, 16:15    [2270236]     Ответить | Цитировать Сообщить модератору
 Re: Использовать template по умолчанию или же нет?  [new]
Аналитик
Member

Откуда: Киев
Сообщений: 344
Пустые таблицы понятно - перенести можно. А с данными заниматься переносом можно?
19 янв 06, 16:18    [2270252]     Ответить | Цитировать Сообщить модератору
 Re: Использовать template по умолчанию или же нет?  [new]
4321
Member [заблокирован]

Откуда:
Сообщений: 3573
Аналитик
Пустые таблицы понятно - перенести можно. А с данными заниматься переносом можно?
указав в качестве темплейта живую базу с данными лехко получаем ее копию.
19 янв 06, 16:27    [2270286]     Ответить | Цитировать Сообщить модератору
 Re: Использовать template по умолчанию или же нет?  [new]
Opilki_Inside
Member

Откуда: Москва
Сообщений: 259
Аналитик
Пустые таблицы понятно - перенести можно. А с данными заниматься переносом можно?


ты скажи лучше чего у тебя за задача стоит? просто то ты про шаблоны баз спрашиваешь, то про перенос данных...
19 янв 06, 16:36    [2270323]     Ответить | Цитировать Сообщить модератору
 Re: Использовать template по умолчанию или же нет?  [new]
Opilki_Inside
Member

Откуда: Москва
Сообщений: 259
Аналитик
Пустые таблицы понятно - перенести можно. А с данными заниматься переносом можно?


кстати с помощью pg_dump можно и пустые и полные, и хранимые процедуры, даже BLOB'ы (pg_dumplo)... важно что в параметрах задаешь
19 янв 06, 16:37    [2270327]     Ответить | Цитировать Сообщить модератору
 Re: Использовать template по умолчанию или же нет?  [new]
фффф
Guest
4321
Аналитик
Пустые таблицы понятно - перенести можно. А с данными заниматься переносом можно?
указав в качестве темплейта живую базу с данными лехко получаем ее копию.

Ну не совсем легко - надо сперва всех юзеров из исходной базы выгнать.
20 янв 06, 03:17    [2271405]     Ответить | Цитировать Сообщить модератору
 Re: Использовать template по умолчанию или же нет?  [new]
Аналитик
Member

Откуда: Киев
Сообщений: 344
Вообще в PostgreSQL человек я новый. Вопрос задаю потому, что поставил себе версию PostgreSQL 8.... Создаю базу используя template1 у меня в созданной базе уже появилось дофига каких-то функций, операторов, доменов... Сейчас я задумался нужны ли они мне все? Или лучше бы я создал базу полностью чистенькую?
20 янв 06, 10:42    [2271982]     Ответить | Цитировать Сообщить модератору
 Re: Использовать template по умолчанию или же нет?  [new]
Аналитик
Member

Откуда: Киев
Сообщений: 344
Так все таки лучше мне использовать Template1, который к базе подвязывает кучу непонятных функций, операторов и т.д.? Или же перенести все мои таблички в чистенькую базу?
20 янв 06, 12:35    [2272658]     Ответить | Цитировать Сообщить модератору
 Re: Использовать template по умолчанию или же нет?  [new]
Кувалдин Роман
Member

Откуда: Московская область
Сообщений: 1296
Аналитик
Так все таки лучше мне использовать Template1, который к базе подвязывает кучу непонятных функций, операторов и т.д.? Или же перенести все мои таблички в чистенькую базу?


Template0 пустая. В Template1 внесены всякие contrib-ы, которые ты выбрал при инсталляции, типа полнотекстового поиска, географических координат, dblink-ов и т.д. Если тебе это все не нужно - тогда создавай из template0. Если не уверен, что это тебе не нужно - создавай из template1
20 янв 06, 12:57    [2272817]     Ответить | Цитировать Сообщить модератору
 Re: Использовать template по умолчанию или же нет?  [new]
Аналитик
Member

Откуда: Киев
Сообщений: 344
Спасибо
20 янв 06, 13:23    [2272977]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Использовать template по умолчанию или же нет?  [new]
ser_stiven
Member

Откуда:
Сообщений: 2
Кто подскажет, как в postgresql сделать по умолчанию template0 вместо template1?
21 ноя 21, 17:01    [22398696]     Ответить | Цитировать Сообщить модератору
 Re: Использовать template по умолчанию или же нет?  [new]
Melkij
Member

Откуда: Санкт-Петербург
Сообщений: 1391
ser_stiven,

hardcoded: https://github.com/postgres/postgres/blob/REL_14_STABLE/src/backend/commands/dbcommands.c#L347
21 ноя 21, 17:31    [22398711]     Ответить | Цитировать Сообщить модератору
 Re: Использовать template по умолчанию или же нет?  [new]
Maxim Boguk
Member

Откуда: По разному.
Сообщений: 5022
ser_stiven
Кто подскажет, как в postgresql сделать по умолчанию template0 вместо template1?


Но зачем???

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
21 ноя 21, 17:44    [22398713]     Ответить | Цитировать Сообщить модератору
 Re: Использовать template по умолчанию или же нет?  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 4449
Аналитик
Спасибо. Буду пробывать.


пробЫвайте и отпешытесь сьуда
21 ноя 21, 18:40    [22398750]     Ответить | Цитировать Сообщить модератору
 Re: Использовать template по умолчанию или же нет?  [new]
mefman
Member

Откуда:
Сообщений: 3664
Maxim Boguk
ser_stiven
Кто подскажет, как в postgresql сделать по умолчанию template0 вместо template1?


Но зачем???

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru

мьсе знает толк )))
21 ноя 21, 18:40    [22398751]     Ответить | Цитировать Сообщить модератору
 Re: Использовать template по умолчанию или же нет?  [new]
Guzya
Member

Откуда:
Сообщений: 818
Изначально они же вроде равны.
Если что, можете переименовать template1 во что-нибудь и создать template1 с нуля.


postgres=# alter database template1 rename to template2;
ALTER DATABASE
postgres=# \l
                                 List of databases
   Name    |  Owner   | Encoding |  Collate   |   Ctype    |   Access privileges   
-----------+----------+----------+------------+------------+-----------------------
 postgres  | postgres | UTF8     | en_US.utf8 | en_US.utf8 | 
 template0 | postgres | UTF8     | en_US.utf8 | en_US.utf8 | =c/postgres          +
           |          |          |            |            | postgres=CTc/postgres
 template2 | postgres | UTF8     | en_US.utf8 | en_US.utf8 | =c/postgres          +
           |          |          |            |            | postgres=CTc/postgres
(3 rows)

postgres=# create database template1 template template0 ;
CREATE DATABASE

postgres=# alter database template1 is_template=True;
ALTER DATABASE
postgres=# \l
                                 List of databases
   Name    |  Owner   | Encoding |  Collate   |   Ctype    |   Access privileges   
-----------+----------+----------+------------+------------+-----------------------
 postgres  | postgres | UTF8     | en_US.utf8 | en_US.utf8 | 
 template0 | postgres | UTF8     | en_US.utf8 | en_US.utf8 | =c/postgres          +
           |          |          |            |            | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.utf8 | en_US.utf8 | 
 template2 | postgres | UTF8     | en_US.utf8 | en_US.utf8 | =c/postgres          +
           |          |          |            |            | postgres=CTc/postgres

postgres=# select * from pg_database ;
  datname  | datdba | encoding | datcollate |  datctype  | datistemplate | datallowconn | datconnlimit | datlastsysoid | datfrozenxid | datminmxid | dattablespace |               datacl                
-----------+--------+----------+------------+------------+---------------+--------------+--------------+---------------+--------------+------------+---------------+-------------------------------------
 postgres  |     10 |        6 | en_US.utf8 | en_US.utf8 | f             | t            |           -1 |         13066 |          562 |          1 |          1663 | 
 template2 |     10 |        6 | en_US.utf8 | en_US.utf8 | t             | t            |           -1 |         13066 |          562 |          1 |          1663 | {=c/postgres,postgres=CTc/postgres}
 template0 |     10 |        6 | en_US.utf8 | en_US.utf8 | t             | f            |           -1 |         13066 |          562 |          1 |          1663 | {=c/postgres,postgres=CTc/postgres}
 template1 |     10 |        6 | en_US.utf8 | en_US.utf8 | t             | t            |           -1 |         13066 |          562 |          1 |          1663 | 
(4 rows)
21 ноя 21, 21:19    [22398792]     Ответить | Цитировать Сообщить модератору
Все форумы / PostgreSQL Ответить