Как то уже описывал в одном из постов, что в одной из инсталяций внедрял WordPress на основе БД PostreeSQL. И в принципе спустя год могу сказать что особых проблем пока не возникло. Кроме одного НО! Если требуется какой-то установить плагин, то чаще всего он просто так, без некоторой адаптации не заработает. Вот сейчас адаптирую плагин «WP Voting Contest Lite«, который можно использовать для «выбора лучшего фото» пользователями.
В данном случае столкнулся для начала с проблемой его установки. При активации он пытается создать, если отсутствуют таблицы:
- wp_votes_tbl
- wp_votes_post_contestant_track
- wp_votes_custom_registeration_contestant
- wp_votes_custom_field_contestant
В которых встречается имеющийся в MySQL, но отсутствующий в PostgreSQL тип ENUM. Ну чтож.. создадим эти типы «руками», благо такая возможность в PostgreSQL предусмотрена:
CREATE TYPE public.admin_only_enum AS ENUM ('Y','N');
CREATE TYPE public.grid_only_enum AS ENUM ('Y','N');
CREATE TYPE public.list_only_enum AS ENUM ('Y','N');
CREATE TYPE public.pretty_view_enum AS ENUM ('Y','N');
CREATE TYPE public.question_type_enum AS ENUM ('TEXT','TEXTAREA','MULTIPLE','SINGLE','DROPDOWN','FILE','DATE');
CREATE TYPE public.required_enum AS ENUM ('Y','N');
CREATE TYPE public.set_limit_enum AS ENUM ('Y','N');
CREATE TYPE public.show_labels_enum AS ENUM ('Y','N');
И далее создать таблицы по типу:
CREATE TABLE public.wp_votes_custom_registeration_contestant (
id bigserial NOT NULL,
"sequence" int4 NULL,
question_type public.question_type_enum NULL,
question text NULL,
system_name varchar(45) NULL,
response text NULL,
required public.required_enum NULL,
required_text text NULL,
admin_only public.admin_only_enum NULL,
delete_time varchar(45) NULL,
react_val text NULL,
wp_user int4 NULL,
CONSTRAINT wp_votes_custom_registeration_contestant_pk PRIMARY KEY (id)
);