On 3/4/20 5:42 AM, Олег Самойлов wrote:
Hi all. PostgresQL 12.1. Strange behaviour with pg_dump and absent public
schema.
I droped public schema and I work under "username" schema.
=> \dn
List of schemas
Name | Owner
-------+-------
olleg | olleg
(1 row)
Dump now
pg_dump -U postgres -C olleg >dump.sql
--
-- PostgreSQL database dump
--
-- Dumped from database version 12.1
-- Dumped by pg_dump version 12.1
SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
SET xmloption = content;
SET client_min_messages = warning;
SET row_security = off;
--
-- Name: olleg; Type: DATABASE; Schema: -; Owner: olleg
--
CREATE DATABASE olleg WITH TEMPLATE = template0 ENCODING = 'UTF8' LC_COLLATE =
'ru_RU.UTF-8' LC_CTYPE = 'ru_RU.UTF-8';
ALTER DATABASE olleg OWNER TO olleg;
\connect olleg
SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
SET xmloption = content;
SET client_min_messages = warning;
SET row_security = off;
--
-- Name: olleg; Type: SCHEMA; Schema: -; Owner: olleg
--
CREATE SCHEMA olleg;
ALTER SCHEMA olleg OWNER TO olleg;
--
-- PostgreSQL database dump complete
--
recreate DB from the dump:
psql postgres postgres -f dump.sql
And now I see public schema, which must be absent.
psql olleg olleg
=> \dn
List of schemas
Name | Owner
--------+----------
olleg | olleg
public | postgres
(2 rows)
I believe this is the latest information on public schema handling:
https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=5955d934194c3888f30318209ade71b53d29777f
--
Adrian Klaver
adrian.kla...@aklaver.com