On Saturday 21 November 2009 16:08:11 Dan Langille wrote: > I recently set up a new system for regression testing with PostgreSQL. > I have a suggested change to how we create PostgreSQL databases. > > Background: The Bacula project recommends an SQL_ASCII encoding for > Bacula because not all file pathnames can be guaranteed to be UTF-8 > compliant. UTF-8 is referenced in the previous statement, but the > statement applies equally well to any non SQL-ASCII encoding. > > The problem I encountered during regression testing: > > psql:<stdin>:1: ERROR: new encoding (SQL_ASCII) is incompatible with > the encoding of the template database (UTF8) > HINT: Use the same encoding as in the template database, or use > template0 as template. > psql:<stdin>:2: ERROR: database "regress" does not exist > Creation of regress database succeeded. > psql: FATAL: database "regress" does not exist > > The default encoding of PostgreSQL is UTF-8: > > $ psql -l > List of databases > Name | Owner | Encoding | Collation | Ctype | Access privileges > -----------+-------+-----------+-----------+-------+------------------- > postgres | pgsql | UTF8 | C | C | > template0 | pgsql | UTF8 | C | C | =c/pgsql > > : pgsql=CTc/pgsql > > template1 | pgsql | UTF8 | C | C | =c/pgsql > > : pgsql=CTc/pgsql > > From the createdb documentation at > http://www.postgresql.org/docs/current/static/sql-createdatabase.html : > > ### > encoding > > Character set encoding to use in the new database. Specify a string > constant (e.g., 'SQL_ASCII'), or an integer encoding number, or DEFAULT > to use the default encoding (namely, the encoding of the template > database). The character sets supported by the PostgreSQL server are > described in Section 22.2.1. See below for additional restrictions. > > The encoding and locale settings must match those of the template > database, except when template0 is used as template. This is because > other databases might contain data that does not match the specified > encoding, or might contain indexes whose sort ordering is affected by > LC_COLLATE and LC_CTYPE. Copying such data would result in a database > that is corrupt according to the new settings. template0, however, is > known to not contain any data or indexes that would be affected. > ### > > Thus, the following fails: > > $ createdb -E SQL_ASCII testing > createdb: database creation failed: ERROR: new encoding (SQL_ASCII) is > incompatible with the encoding of the template database (UTF8) > HINT: Use the same encoding as in the template database, or use > template0 as template. > > > But the following does not: > > $ createdb -T template0 -E SQL_ASCII testing
Yes, that sounds quite reasonable to me. > > I will submit patches later after I've tested them. Thanks. Kern ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Bacula-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/bacula-devel
