diff options
| author | Marc G. Fournier | 1998-07-24 03:32:46 +0000 |
|---|---|---|
| committer | Marc G. Fournier | 1998-07-24 03:32:46 +0000 |
| commit | bf00bbb0c4940b80b46b7e5b379cd64184f2262f (patch) | |
| tree | bf32bf3bafe6f367ee97249c83afb4c9e9a637af /src/bin | |
| parent | 6e66468f3a160878111578a93be2852635eb4f4d (diff) | |
I really hope that I haven't missed anything in this one...
From: t-ishii@sra.co.jp
Attached are patches to enhance the multi-byte support. (patches are
against 7/18 snapshot)
* determine encoding at initdb/createdb rather than compile time
Now initdb/createdb has an option to specify the encoding. Also, I
modified the syntax of CREATE DATABASE to accept encoding option. See
README.mb for more details.
For this purpose I have added new column "encoding" to pg_database.
Also pg_attribute and pg_class are changed to catch up the
modification to pg_database. Actually I haved added pg_database_mb.h,
pg_attribute_mb.h and pg_class_mb.h. These are used only when MB is
enabled. The reason having separate files is I couldn't find a way to
use ifdef or whatever in those files. I have to admit it looks
ugly. No way.
* support for PGCLIENTENCODING when issuing COPY command
commands/copy.c modified.
* support for SQL92 syntax "SET NAMES"
See gram.y.
* support for LATIN2-5
* add UNICODE regression test case
* new test suite for MB
New directory test/mb added.
* clean up source files
Basic idea is to have MB's own subdirectory for easier maintenance.
These are include/mb and backend/utils/mb.
Diffstat (limited to 'src/bin')
| -rw-r--r-- | src/bin/Makefile | 6 | ||||
| -rw-r--r-- | src/bin/createdb/Makefile | 4 | ||||
| -rw-r--r-- | src/bin/createdb/createdb.sh | 33 | ||||
| -rw-r--r-- | src/bin/initdb/Makefile | 6 | ||||
| -rw-r--r-- | src/bin/initdb/initdb | 383 | ||||
| -rw-r--r-- | src/bin/pg_encoding/Makefile | 36 | ||||
| -rw-r--r-- | src/bin/pg_encoding/pg_encoding.c | 49 | ||||
| -rw-r--r-- | src/bin/psql/psqlHelp.h | 4 |
8 files changed, 129 insertions, 392 deletions
diff --git a/src/bin/Makefile b/src/bin/Makefile index 4511dc9d16..ceb610359a 100644 --- a/src/bin/Makefile +++ b/src/bin/Makefile @@ -7,7 +7,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/bin/Makefile,v 1.13 1998/04/06 03:23:01 momjian Exp $ +# $Header: /cvsroot/pgsql/src/bin/Makefile,v 1.14 1998/07/24 03:32:02 scrappy Exp $ # #------------------------------------------------------------------------- @@ -17,6 +17,10 @@ include ../Makefile.global DIRS = pg_id pg_version psql pg_dump pg_passwd cleardbdir createdb \ createuser destroydb destroyuser initdb initlocation ipcclean +ifdef MB +DIRS += pg_encoding +endif + # # TCL/TK programs # diff --git a/src/bin/createdb/Makefile b/src/bin/createdb/Makefile index 5b5fa2dfdf..896fe33d92 100644 --- a/src/bin/createdb/Makefile +++ b/src/bin/createdb/Makefile @@ -7,7 +7,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/bin/createdb/Attic/Makefile,v 1.8 1998/04/06 16:49:28 momjian Exp $ +# $Header: /cvsroot/pgsql/src/bin/createdb/Attic/Makefile,v 1.9 1998/07/24 03:32:04 scrappy Exp $ # #------------------------------------------------------------------------- @@ -17,7 +17,7 @@ include ../../Makefile.global all: createdb createdb: createdb.sh - cp createdb.sh createdb + sed 's/__MB__/$(MB)/' createdb.sh > createdb install: createdb $(INSTALL) $(INSTL_EXE_OPTS) $< $(BINDIR)/$< diff --git a/src/bin/createdb/createdb.sh b/src/bin/createdb/createdb.sh index 6fee8f2839..2217f19714 100644 --- a/src/bin/createdb/createdb.sh +++ b/src/bin/createdb/createdb.sh @@ -11,12 +11,15 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/bin/createdb/Attic/createdb.sh,v 1.8 1998/01/29 02:26:21 scrappy Exp $ +# $Header: /cvsroot/pgsql/src/bin/createdb/Attic/createdb.sh,v 1.9 1998/07/24 03:32:06 scrappy Exp $ # #------------------------------------------------------------------------- CMDNAME=`basename $0` +MBENABLED=__MB__ +MB= + if [ -z "$USER" ]; then if [ -z "$LOGNAME" ]; then if [ -z "`whoami`" ]; then @@ -43,6 +46,18 @@ do -p) PGPORT=$2; shift;; -u) PASSWDOPT=$1;; -D) dbpath=$2; shift;; + -E) + if [ -z "$MBENABLED" ];then + echo "$CMDNAME: you need to turn on MB compile time option" + exit 1 + fi + MB=$2 + MBID=`pg_encoding $MB` + if [ -z "$MBID" ];then + echo "$CMDNAME: $MB is not a valid encoding name" + exit 1 + fi + shift;; -*) echo "$CMDNAME: unrecognized parameter $1"; usage=1;; *) dbname=$1;; esac @@ -50,8 +65,12 @@ do done if [ "$usage" ]; then - echo "Usage: $CMDNAME -a <authtype> -h <server> -p <portnumber> -D <location> [dbname]" + if [ -z "$MBENABLED" ];then + echo "Usage: $CMDNAME -a <authtype> -h <server> -p <portnumber> -D <location> [dbname]" + else + echo "Usage: $CMDNAME -a <authtype> -h <server> -p <portnumber> -D <location> -E <encoding> [dbname]" exit 1 + fi fi if [ -z "$AUTHSYS" ]; then @@ -82,8 +101,16 @@ else # fi location="with location = '$dbpath'" fi +if [ -z "$MBENABLED" -o -z "$MB" ]; then + encoding="" +else + encoding="encoding = '$MB'" + if [ -z "$location" ];then + encoding="with $encoding" + fi +fi -psql $PASSWDOPT -tq $AUTHOPT $PGHOSTOPT $PGPORTOPT -c "create database $dbname $location" template1 +psql $PASSWDOPT -tq $AUTHOPT $PGHOSTOPT $PGPORTOPT -c "create database $dbname $location $encoding" template1 if [ $? -ne 0 ]; then echo "$CMDNAME: database creation failed on $dbname." diff --git a/src/bin/initdb/Makefile b/src/bin/initdb/Makefile index 59000129c2..e46e3af841 100644 --- a/src/bin/initdb/Makefile +++ b/src/bin/initdb/Makefile @@ -7,7 +7,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/bin/initdb/Makefile,v 1.9 1998/04/06 16:50:22 momjian Exp $ +# $Header: /cvsroot/pgsql/src/bin/initdb/Makefile,v 1.10 1998/07/24 03:32:08 scrappy Exp $ # #------------------------------------------------------------------------- @@ -16,9 +16,13 @@ include ../../Makefile.global all: initdb +initdb: initdb.sh + sed 's/__MB__/$(MB)/' initdb.sh > initdb + install: initdb $(INSTALL) $(INSTL_EXE_OPTS) $< $(BINDIR)/$< clean: + rm -f initdb dep depend: diff --git a/src/bin/initdb/initdb b/src/bin/initdb/initdb deleted file mode 100644 index bec8f5ebec..0000000000 --- a/src/bin/initdb/initdb +++ /dev/null @@ -1,383 +0,0 @@ -#!/bin/sh -#------------------------------------------------------------------------- -# -# initdb.sh-- -# Create (initialize) a Postgres database system. -# -# A database system is a collection of Postgres databases all managed -# by the same postmaster. -# -# To create the database system, we create the directory that contains -# all its data, create the files that hold the global classes, create -# a few other control files for it, and create one database: the -# template database. -# -# The template database is an ordinary Postgres database. Its data -# never changes, though. It exists to make it easy for Postgres to -# create other databases -- it just copies. -# -# Optionally, we can skip creating the database system and just create -# (or replace) the template database. -# -# To create all those classes, we run the postgres (backend) program and -# feed it data from bki files that are in the Postgres library directory. -# -# Copyright (c) 1994, Regents of the University of California -# -# -# IDENTIFICATION -# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb,v 1.1 1998/04/06 01:05:52 momjian Exp $ -# -#------------------------------------------------------------------------- - -# ---------------- -# The _fUnKy_..._sTuFf_ gets set when the script is built (with make) -# from parameters set in the make file. -# -# ---------------- - -CMDNAME=`basename $0` - -# Find the default PGLIB directory (the directory that contains miscellaneous -# files that are part of Postgres). The user-written program postconfig -# outputs variable settings like "PGLIB=/usr/lib/whatever". If it doesn't -# output a PGLIB value, then there is no default and the user must -# specify the pglib option. Postconfig may validly not exist, in which case -# our invocation of it silently fails. - -# The 2>/dev/null is to swallow the "postconfig: not found" message if there -# is no postconfig. - -postconfig_result="`sh -c postconfig 2>/dev/null`" -if [ ! -z "$postconfig_result" ]; then - set -a # Make the following variable assignment exported to environment - eval "$postconfig_result" - set +a # back to normal -fi - -# Set defaults: -debug=0 -noclean=0 -template_only=0 -POSTGRES_SUPERUSERNAME=$USER - -while [ "$#" -gt 0 ] -do -# ${ARG#--username=} is not reliable or available on all platforms - - case "$1" in - --debug|-d) - debug=1 - echo "Running with debug mode on." - ;; - --noclean|-n) - noclean=1 - echo "Running with noclean mode on. " - "Mistakes will not be cleaned up." - ;; - --template|-t) - template_only=1 - echo "updating template1 database only." - ;; - --username=*) - POSTGRES_SUPERUSERNAME="`echo $1 | sed 's/^--username=//'`" - ;; - -u) - shift - POSTGRES_SUPERUSERNAME="$1" - ;; - -u*) - POSTGRES_SUPERUSERNAME="`echo $1 | sed 's/^-u//'`" - ;; - --pgdata=*) - PGDATA="`echo $1 | sed 's/^--pgdata=//'`" - ;; - -r) - shift - PGDATA="$1" - ;; - -r*) - PGDATA="`echo $1 | sed 's/^-r//'`" - ;; - --pglib=*) - PGLIB="`echo $1 | sed 's/^--pglib=//'`" - ;; - -l) - shift - PGLIB="$1" - ;; - -l*) - PGLIB="`echo $1 | sed 's/^-l//'`" - ;; - - *) - echo "Unrecognized option '$1'. Syntax is:" - echo "initdb [-t | --template] [-d | --debug]" \ - "[-n | --noclean]" \ - "[-u SUPERUSER | --username=SUPERUSER]" \ - "[-r DATADIR | --pgdata=DATADIR]" \ - "[-l LIBDIR | --pglib=LIBDIR]" - exit 100 - esac - shift -done - -#------------------------------------------------------------------------- -# Make sure he told us where to find the Postgres files. -#------------------------------------------------------------------------- -if [ -z "$PGLIB" ]; then - echo "$CMDNAME does not know where to find the files that make up " - echo "Postgres (the PGLIB directory). You must identify the PGLIB " - echo "directory either with a --pglib invocation option, or by " - echo "setting the PGLIB environment variable, or by having a program " - echo "called 'postconfig' in your search path that outputs an asignment " - echo "for PGLIB." - exit 20 -fi - -#------------------------------------------------------------------------- -# Make sure he told us where to build the database system -#------------------------------------------------------------------------- - -if [ -z "$PGDATA" ]; then - echo "$CMDNAME: You must identify the PGDATA directory, where the data" - echo "for this database system will reside. Do this with either a" - echo "--pgdata invocation option or a PGDATA environment variable." - echo - exit 20 -fi - -TEMPLATE=$PGLIB/local1_template1.bki.source -GLOBAL=$PGLIB/global1.bki.source -TEMPLATE_DESCR=$PGLIB/local1_template1.description -GLOBAL_DESCR=$PGLIB/global1.description -PG_HBA_SAMPLE=$PGLIB/pg_hba.conf.sample -PG_GEQO_SAMPLE=$PGLIB/pg_geqo.sample - - -#------------------------------------------------------------------------- -# Find the input files -#------------------------------------------------------------------------- - -for PREREQ_FILE in $TEMPLATE $GLOBAL $PG_HBA_SAMPLE; do - if [ ! -f $PREREQ_FILE ]; then - echo "$CMDNAME does not find the file '$PREREQ_FILE'." - echo "This means you have identified an invalid PGLIB directory." - echo "You specify a PGLIB directory with a --pglib invocation " - echo "option, a PGLIB environment variable, or a postconfig program." - exit 1 - fi -done - -echo "$CMDNAME: using $TEMPLATE as input to create the template database." -if [ $template_only -eq 0 ]; then - echo "$CMDNAME: using $GLOBAL as input to create the global classes." - echo "$CMDNAME: using $PG_HBA_SAMPLE as the host-based authentication" \ - "control file." - echo -fi - -#--------------------------------------------------------------------------- -# Figure out who the Postgres superuser for the new database system will be. -#--------------------------------------------------------------------------- - -if [ -z "$POSTGRES_SUPERUSERNAME" ]; then - echo "Can't tell what username to use. You don't have the USER" - echo "environment variable set to your username and didn't specify the " - echo "--username option" - exit 1 -fi - -POSTGRES_SUPERUID=`pg_id $POSTGRES_SUPERUSERNAME` - -if [ $POSTGRES_SUPERUID = NOUSER ]; then - echo "Valid username not given. You must specify the username for " - echo "the Postgres superuser for the database system you are " - echo "initializing, either with the --username option or by default " - echo "to the USER environment variable." - exit 10 -fi - -if [ $POSTGRES_SUPERUID -ne `pg_id` -a `pg_id` -ne 0 ]; then - echo "Only the unix superuser may initialize a database with a different" - echo "Postgres superuser. (You must be able to create files that belong" - echo "to the specified unix user)." - exit 2 -fi - -echo "We are initializing the database system with username" \ - "$POSTGRES_SUPERUSERNAME (uid=$POSTGRES_SUPERUID)." -echo "This user will own all the files and must also own the server process." -echo - -# ----------------------------------------------------------------------- -# Create the data directory if necessary -# ----------------------------------------------------------------------- - -# umask must disallow access to group, other for files and dirs -umask 077 - -if [ -f "$PGDATA/PG_VERSION" ]; then - if [ $template_only -eq 0 ]; then - echo "$CMDNAME: error: File $PGDATA/PG_VERSION already exists." - echo "This probably means initdb has already been run and the " - echo "database system already exists." - echo - echo "If you want to create a new database system, either remove " - echo "the $PGDATA directory or run initdb with a --pgdata option " - echo "other than $PGDATA." - exit 1 - fi -else - if [ ! -d $PGDATA ]; then - echo "Creating Postgres database system directory $PGDATA" - echo - mkdir $PGDATA - if [ $? -ne 0 ]; then exit 5; fi - fi - if [ ! -d $PGDATA/base ]; then - echo "Creating Postgres database system directory $PGDATA/base" - echo - mkdir $PGDATA/base - if [ $? -ne 0 ]; then exit 5; fi - fi -fi - -#---------------------------------------------------------------------------- -# Create the template1 database -#---------------------------------------------------------------------------- - -rm -rf $PGDATA/base/template1 -mkdir $PGDATA/base/template1 - -if [ "$debug" -eq 1 ]; then - BACKEND_TALK_ARG="-d" -else - BACKEND_TALK_ARG="-Q" -fi - -BACKENDARGS="-boot -C -F -D$PGDATA $BACKEND_TALK_ARG" - -echo "$CMDNAME: creating template database in $PGDATA/base/template1" -echo "Running: postgres $BACKENDARGS template1" - -cat $TEMPLATE \ -| sed -e "s/postgres PGUID/$POSTGRES_SUPERUSERNAME $POSTGRES_SUPERUID/" \ - -e "s/PGUID/$POSTGRES_SUPERUID/" \ -| postgres $BACKENDARGS template1 - -if [ $? -ne 0 ]; then - echo "$CMDNAME: could not create template database" - if [ $noclean -eq 0 ]; then - echo "$CMDNAME: cleaning up by wiping out $PGDATA/base/template1" - rm -rf $PGDATA/base/template1 - else - echo "$CMDNAME: cleanup not done because noclean options was used." - fi - exit 1; -fi - -echo - -pg_version $PGDATA/base/template1 - -#---------------------------------------------------------------------------- -# Create the global classes, if requested. -#---------------------------------------------------------------------------- - -if [ $template_only -eq 0 ]; then - echo "Creating global classes in $PG_DATA/base" - echo "Running: postgres $BACKENDARGS template1" - - cat $GLOBAL \ - | sed -e "s/postgres PGUID/$POSTGRES_SUPERUSERNAME $POSTGRES_SUPERUID/" \ - -e "s/PGUID/$POSTGRES_SUPERUID/" \ - | postgres $BACKENDARGS template1 - - if (test $? -ne 0) - then - echo "$CMDNAME: could not create global classes." - if (test $noclean -eq 0); then - echo "$CMDNAME: cleaning up." - rm -rf $PGDATA - else - echo "$CMDNAME: cleanup not done (noclean mode set)." - fi - exit 1; - fi - - echo - - pg_version $PGDATA - - cp $PG_HBA_SAMPLE $PGDATA/pg_hba.conf - cp $PG_GEQO_SAMPLE $PGDATA/pg_geqo.sample - - echo "Adding template1 database to pg_database..." - - echo "open pg_database" > /tmp/create.$$ - echo "insert (template1 $POSTGRES_SUPERUID template1)" >> /tmp/create.$$ - #echo "show" >> /tmp/create.$$ - echo "close pg_database" >> /tmp/create.$$ - - echo "Running: postgres $BACKENDARGS template1 < /tmp/create.$$" - - postgres $BACKENDARGS template1 < /tmp/create.$$ - - if [ $? -ne 0 ]; then - echo "$CMDNAME: could not log template database" - if [ $noclean -eq 0 ]; then - echo "$CMDNAME: cleaning up." - rm -rf $PGDATA - else - echo "$CMDNAME: cleanup not done (noclean mode set)." - fi - exit 1; - fi - rm -f /tmp/create.$$ -fi - -echo - -PGSQL_OPT="-o /dev/null -F -Q -D$PGDATA" - -# If the COPY is first, the VACUUM generates an error, so we vacuum first -echo "vacuuming template1" -echo "vacuum" | postgres $PGSQL_OPT template1 > /dev/null - -echo "COPY pg_shadow TO '$PGDATA/pg_pwd' USING DELIMITERS '\\t'" | \ - postgres $PGSQL_OPT template1 > /dev/null - -echo "creating public pg_user view" -echo "CREATE TABLE xpg_user ( \ - usename name, \ - usesysid int4, \ - usecreatedb bool, \ - usetrace bool, \ - usesuper bool, \ - usecatupd bool, \ - passwd text, \ - valuntil abstime);" | postgres $PGSQL_OPT template1 > /dev/null - -#move it into pg_user -echo "UPDATE pg_class SET relname = 'pg_user' WHERE relname = 'xpg_user';" |\ - postgres $PGSQL_OPT template1 > /dev/null -echo "UPDATE pg_type SET typname = 'pg_user' WHERE typname = 'xpg_user';" |\ - postgres $PGSQL_OPT template1 > /dev/null -mv $PGDATA/base/template1/xpg_user $PGDATA/base/template1/pg_user - -echo "CREATE RULE _RETpg_user AS ON SELECT TO pg_user DO INSTEAD \ - SELECT usename, usesysid, usecreatedb, usetrace, \ - usesuper, usecatupd, '********'::text as passwd, \ - valuntil FROM pg_shadow;" | \ - postgres $PGSQL_OPT template1 > /dev/null -echo "REVOKE ALL on pg_shadow FROM public" | \ - postgres $PGSQL_OPT template1 > /dev/null - -echo "loading pg_description" -echo "copy pg_description from '$TEMPLATE_DESCR'" | \ - postgres $PGSQL_OPT template1 > /dev/null -echo "copy pg_description from '$GLOBAL_DESCR'" | \ - postgres $PGSQL_OPT template1 > /dev/null -echo "vacuum analyze" | \ - postgres $PGSQL_OPT template1 > /dev/null diff --git a/src/bin/pg_encoding/Makefile b/src/bin/pg_encoding/Makefile new file mode 100644 index 0000000000..4830f0d053 --- /dev/null +++ b/src/bin/pg_encoding/Makefile @@ -0,0 +1,36 @@ +#------------------------------------------------------------------------- +# +# Makefile for bin/pg_encoding +# +# Copyright (c) 1998, PostgreSQL development group +# +# +# IDENTIFICATION +# $Header: /cvsroot/pgsql/src/bin/pg_encoding/Attic/Makefile,v 1.1 1998/07/24 03:32:10 scrappy Exp $ +# +#------------------------------------------------------------------------- + +SRCDIR= ../.. +include ../../Makefile.global + +OBJS= pg_encoding.o + +CFLAGS+= -DMB=$(MB) -I$(SRCDIR)/include + +all: pg_encoding + +pg_encoding: $(OBJS) $(LIBPQDIR)/libpq.a + $(CC) -o pg_encoding $(OBJS) -L$(LIBPQDIR) -lpq $(LDFLAGS) + +install: pg_encoding + $(INSTALL) $(INSTL_EXE_OPTS) pg_encoding $(BINDIR)/pg_encoding + +depend dep: + $(CC) -MM $(CFLAGS) *.c >depend + +clean: + rm -f pg_encoding pg_encoding.o + +ifeq (depend,$(wildcard depend)) +include depend +endif diff --git a/src/bin/pg_encoding/pg_encoding.c b/src/bin/pg_encoding/pg_encoding.c new file mode 100644 index 0000000000..38a87a4f39 --- /dev/null +++ b/src/bin/pg_encoding/pg_encoding.c @@ -0,0 +1,49 @@ +/*------------------------------------------------------------------------- + * + * pg_encoding.c-- + * + * + * Copyright (c) 1998, PostgreSQL development group + * + * + * IDENTIFICATION + * $Header: /cvsroot/pgsql/src/bin/pg_encoding/Attic/pg_encoding.c,v 1.1 1998/07/24 03:32:10 scrappy Exp $ + * + *------------------------------------------------------------------------- + */ +#include <stdlib.h> +#include <stdio.h> +#include "postgres.h" +#include "mb/pg_wchar.h" + +static void usage(void); + +int +main(int argc, char **argv) +{ + char c; + char *p; + int rtn; + + if (argc < 2) { + usage(); + exit(1); + } + p = argv[1]; + while((c = *p++)) { + if (c < '0' || c > '9') { + rtn = pg_char_to_encoding(argv[1]); + if (rtn >= 0) { + printf("%d\n",rtn); + } + exit(0); + } + } + printf("%s\n",pg_encoding_to_char(atoi(argv[1]))); + exit(0); +} + +static void usage() +{ + fprintf(stderr, "pg_encoding: encoding_name | encoding_number\n"); +} diff --git a/src/bin/psql/psqlHelp.h b/src/bin/psql/psqlHelp.h index faa5ed26cf..ed77b319c9 100644 --- a/src/bin/psql/psqlHelp.h +++ b/src/bin/psql/psqlHelp.h @@ -5,7 +5,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: psqlHelp.h,v 1.46 1998/07/18 18:34:16 momjian Exp $ + * $Id: psqlHelp.h,v 1.47 1998/07/24 03:32:12 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -292,7 +292,7 @@ static struct _helpStruct QL_HELP[] = { "set DateStyle to {'ISO' | 'SQL' | 'Postgres' | 'European' | 'US' | 'NonEuropean'}\n\ set GEQO to {'ON[=#]' | 'OFF'}\n\ set R_PLANS to {'ON' | 'OFF'}\n\ -set CLIENT_ENCODING to {'EUC_JP' | 'SJIS' | 'EUC_CN' | 'EUC_KR' | 'EUC_TW' | 'MULE_INTERNAL' | 'LATIN1'}"}, +set CLIENT_ENCODING to {'EUC_JP' | 'SJIS' | 'EUC_CN' | 'EUC_KR' | 'EUC_TW' | 'MULE_INTERNAL' | 'LATIN1' | 'LATIN2' | 'LATIN3' | 'LATIN4' | 'LATIN5'}"}, #else "set DateStyle to {'ISO' | 'SQL' | 'Postgres' | 'European' | 'US' | 'NonEuropean'}\n\ set GEQO to {'ON[=#]' | 'OFF'}\n\ |
