sql >> Database teknologi >  >> RDS >> PostgreSQL

Opret Postgres-database ved hjælp af batch-fil med [skabelon],[kodning],[ejer] og en .sql-fil

Klientprogrammet createdb understøtter ikke alle disse muligheder.
Opret en fil db_create.sql :

CREATE DATABASE MydatAbseName
   WITH OWNER myadmin 
   TEMPLATE template0
   ENCODING 'SQL_ASCII'
   TABLESPACE  pg_default
   LC_COLLATE  'C'
   LC_CTYPE  'C'
   CONNECTION LIMIT  -1;

Kald det:

psql -U postgres postgres -f C:/path/to/db_create.sql

Tricket her er at oprette forbindelse til standard vedligeholdelsesdb "postgres" og opret den nye database derfra. Jeg gør det med standard superbrugeren navngivet "postgres" i mit eksempel.
psql -f udfører SQL-kommandoerne i den givne fil.

Du kan også bare udføre en enkelt kommando med psql -c (ingen fil involveret):

psql -U postgres postgres -c "CREATE DATABASE MydatAbseName WITH OWNER Myadmin
EMPLATE template ENCODING 'SQL_ASCII' TABLESPACE  pg_default LC_COLLATE  'C'
LC_CTYPE  C' CONNECTION LIMIT  -1"

Mere om oprettelse af en database i den fine manual her og her .
Mere om psql .

På Windows ser det sådan ud:

"C:\Program Files\PostgreSQL\verson_number\bin\psql.exe" -U user -f C:/path/to/db_create.sql postgres

Det sidste "postgres" er navnet på standard vedligeholdelsesdb. Hvis du vil bruge det i en batch-fil, skal du svare på en adgangskodeprompt eller oprette forbindelse til en bruger, der har adgang uden at angive en adgangskode. Grundlæggende i kapitlerne Adgangskodefilen og pg_hba.conf-filen af manualen. Mere her:




  1. Hvordan kan jeg lave en accentufølsom søgning i Postgres 8.3.x med en DB i utf-8?

  2. Mysql:Hvordan kan jeg bruge RTRIM i min LOAD DATA INFILE-forespørgsel?

  3. Mysql vælg Forespørgsel med flere betingelser i samme kolonne

  4. SQL-udviklerfejl Kan ikke finde Java Virtual Machine