Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Postgres support status #3226

Open
mediaformat opened this issue May 4, 2024 · 3 comments · May be fixed by #3227
Open

Postgres support status #3226

mediaformat opened this issue May 4, 2024 · 3 comments · May be fixed by #3227

Comments

@mediaformat
Copy link
Contributor

mediaformat commented May 4, 2024

While trying to do this:

Trying Known out with Postgres
I created a config.ini with the following:

database = 'Postgres'
dbname = 'known_pg'
dbpass = '***'
dbuser = 'known'
dbhost = '127.0.0.1'
dbport = '5432'

filesystem = 'local'
uploadpath = '~/known/Uploads/'

I encountered this error:

From my error_log file

MySQL server has gone away

Connection tested and working via other means such as pg_isready

@mediaformat
Copy link
Contributor Author

mediaformat commented May 4, 2024

Adding the postgres export

postgres.sql
--
-- Base Known schema
--

--
-- Table structure for table `config`
--

CREATE TABLE IF NOT EXISTS public.config
(
    uuid character varying(255) COLLATE pg_catalog."default" NOT NULL,
    _id character varying(36) COLLATE pg_catalog."default" NOT NULL,
    siteid character varying(36) COLLATE pg_catalog."default",
    owner character varying(255) COLLATE pg_catalog."default" NOT NULL,
    entity_subtype character varying(64) COLLATE pg_catalog."default" NOT NULL,
    created timestamp without time zone NOT NULL DEFAULT CURRENT_TIMESTAMP,
    contents bytea NOT NULL,
    publish_status character varying(255) COLLATE pg_catalog."default" NOT NULL DEFAULT 'published'::character varying,
    CONSTRAINT config_pkey PRIMARY KEY (uuid)
);

CREATE TABLE IF NOT EXISTS public.config_metadata
(
    _id character varying(36) COLLATE pg_catalog."default" NOT NULL,
    name character varying(64) COLLATE pg_catalog."default" NOT NULL,
    value text COLLATE pg_catalog."default" NOT NULL
);

CREATE TABLE IF NOT EXISTS public.config_search
(
    _id character varying(36) COLLATE pg_catalog."default" NOT NULL,
    search text COLLATE pg_catalog."default" NOT NULL,
    CONSTRAINT config_search_pkey PRIMARY KEY (_id)
);

CREATE TABLE IF NOT EXISTS public.site
(
    uuid character varying(255) COLLATE pg_catalog."default" NOT NULL,
    _id character varying(36) COLLATE pg_catalog."default" NOT NULL,
    siteid character varying(36) COLLATE pg_catalog."default",
    owner character varying(255) COLLATE pg_catalog."default" NOT NULL,
    entity_subtype character varying(64) COLLATE pg_catalog."default" NOT NULL,
    created timestamp without time zone NOT NULL DEFAULT CURRENT_TIMESTAMP,
    contents bytea NOT NULL,
    publish_status character varying(255) COLLATE pg_catalog."default" NOT NULL DEFAULT 'published'::character varying,
    CONSTRAINT site_pkey PRIMARY KEY (uuid)
);

CREATE TABLE IF NOT EXISTS public.site_metadata
(
    _id character varying(36) COLLATE pg_catalog."default" NOT NULL,
    name character varying(64) COLLATE pg_catalog."default" NOT NULL,
    value text COLLATE pg_catalog."default" NOT NULL
);

CREATE TABLE IF NOT EXISTS public.site_search
(
    _id character varying(36) COLLATE pg_catalog."default" NOT NULL,
    search text COLLATE pg_catalog."default" NOT NULL,
    CONSTRAINT site_search_pkey PRIMARY KEY (_id)
);

-- --------------------------------------------------------

--
-- Table structure for table `entities`
--

CREATE TABLE IF NOT EXISTS public.entities
(
    uuid character varying(255) COLLATE pg_catalog."default" NOT NULL,
    _id character varying(36) COLLATE pg_catalog."default" NOT NULL,
    siteid character varying(36) COLLATE pg_catalog."default",
    owner character varying(255) COLLATE pg_catalog."default" NOT NULL,
    entity_subtype character varying(64) COLLATE pg_catalog."default" NOT NULL,
    created timestamp without time zone NOT NULL DEFAULT CURRENT_TIMESTAMP,
    contents bytea NOT NULL,
    publish_status character varying(255) COLLATE pg_catalog."default" NOT NULL DEFAULT 'published'::character varying,
    CONSTRAINT entities_pkey PRIMARY KEY (uuid)
);

CREATE TABLE IF NOT EXISTS public.entities_metadata
(
    _id character varying(36) COLLATE pg_catalog."default" NOT NULL,
    name character varying(64) COLLATE pg_catalog."default" NOT NULL,
    value text COLLATE pg_catalog."default" NOT NULL
);

CREATE TABLE IF NOT EXISTS public.entities_search
(
    _id character varying(36) COLLATE pg_catalog."default" NOT NULL,
    search text COLLATE pg_catalog."default" NOT NULL,
    CONSTRAINT entities_search_pkey PRIMARY KEY (_id)
);

-- --------------------------------------------------------

--
-- Table structure for table `reader`
--

CREATE TABLE IF NOT EXISTS public.reader
(
    uuid character varying(255) COLLATE pg_catalog."default" NOT NULL,
    _id character varying(36) COLLATE pg_catalog."default" NOT NULL,
    siteid character varying(36) COLLATE pg_catalog."default",
    owner character varying(255) COLLATE pg_catalog."default" NOT NULL,
    entity_subtype character varying(64) COLLATE pg_catalog."default" NOT NULL,
    created timestamp without time zone NOT NULL DEFAULT CURRENT_TIMESTAMP,
    contents bytea NOT NULL,
    publish_status character varying(255) COLLATE pg_catalog."default" NOT NULL DEFAULT 'published'::character varying,
    CONSTRAINT reader_pkey PRIMARY KEY (uuid)
);

CREATE TABLE IF NOT EXISTS public.reader_metadata
(
    _id character varying(36) COLLATE pg_catalog."default" NOT NULL,
    name character varying(64) COLLATE pg_catalog."default" NOT NULL,
    value text COLLATE pg_catalog."default" NOT NULL
);

CREATE TABLE IF NOT EXISTS public.reader_search
(
    _id character varying(36) COLLATE pg_catalog."default" NOT NULL,
    search text COLLATE pg_catalog."default" NOT NULL,
    CONSTRAINT reader_search_pkey PRIMARY KEY (_id)
);

--
-- Session handling table
--

CREATE TABLE IF NOT EXISTS public.session
(
    session_id character varying(255) COLLATE pg_catalog."default" NOT NULL,
    session_value bytea NOT NULL,
    session_lifetime integer NOT NULL,
    session_time integer NOT NULL,
    CONSTRAINT session_pkey PRIMARY KEY (session_id)
);

-- --------------------------------------------------------

--
-- Table structure for table `versions`
--

CREATE TABLE IF NOT EXISTS public.versions
(
    label character varying(32) COLLATE pg_catalog."default" NOT NULL,
    value character varying(10) COLLATE pg_catalog."default" NOT NULL,
    CONSTRAINT versions_pkey PRIMARY KEY (label)
);

ALTER TABLE IF EXISTS public.entities_metadata
    ADD CONSTRAINT entities_metadata__id_fkey FOREIGN KEY (_id)
    REFERENCES public.entities (_id) MATCH SIMPLE
    ON UPDATE CASCADE
    ON DELETE CASCADE;
CREATE INDEX IF NOT EXISTS entities_metadata__id_idx
    ON public.entities_metadata(_id);


ALTER TABLE IF EXISTS public.entities_search
    ADD CONSTRAINT entities_search__id_fkey FOREIGN KEY (_id)
    REFERENCES public.entities (_id) MATCH SIMPLE
    ON UPDATE CASCADE
    ON DELETE CASCADE;
CREATE INDEX IF NOT EXISTS entities_search_pkey
    ON public.entities_search(_id);


ALTER TABLE IF EXISTS public.reader_metadata
    ADD CONSTRAINT reader_metadata__id_fkey FOREIGN KEY (_id)
    REFERENCES public.reader (_id) MATCH SIMPLE
    ON UPDATE CASCADE
    ON DELETE CASCADE;
CREATE INDEX IF NOT EXISTS reader_metadata__id_idx
    ON public.reader_metadata(_id);


ALTER TABLE IF EXISTS public.reader_search
    ADD CONSTRAINT reader_search__id_fkey FOREIGN KEY (_id)
    REFERENCES public.reader (_id) MATCH SIMPLE
    ON UPDATE CASCADE
    ON DELETE CASCADE;
CREATE INDEX IF NOT EXISTS reader_search_pkey
    ON public.reader_search(_id);

@mediaformat
Copy link
Contributor Author

In the following switch statement, postgres falls into default, which eventually falls back to mysql

$this->db = $this->componentFactory($this->config->database, "Idno\\Core\\DataConcierge", "Idno\\Data\\", "Idno\\Data\\MySQL");
https://github.com/idno/known/blob/dev/Idno/Core/Idno.php#L66-L87

@mediaformat mediaformat changed the title Error trying to run with Postgres Postgres support May 5, 2024
@mediaformat
Copy link
Contributor Author

Postgres removed from core 737502f

@mediaformat mediaformat changed the title Postgres support Update docs to reflect Postgres support removal May 5, 2024
@mediaformat mediaformat reopened this May 5, 2024
@mediaformat mediaformat linked a pull request May 5, 2024 that will close this issue
2 tasks
@mediaformat mediaformat changed the title Update docs to reflect Postgres support removal Postgres support status May 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant