Netezza

58
Netezza Corporation Corporate Headquarters 26 Forest St., Marlborough, Massachusetts 01752 tel 508.382.8200 fax 508.382.8300 www.netezza.com Netezza Performance Server Release Notes Document Number: 20283-15 Rev. 3 Software Release: 4.6.5 Revised: September 8, 2009

description

sdf

Transcript of Netezza

  • Netezza Performance Server Release Notes Document Number: 20283-15 Rev. 3Software Release: 4.6.5Revised: September 8, 2009Netezza Corporation

    Corporate Headquarters26 Forest St., Marlborough, Massachusetts 01752tel 508.382.8200 fax 508.382.8300 www.netezza.com

  • The specifications and information regarding the products described in this manual are subject to change without notice. All statements, information, and recommendations in this manual are believed to be accurate.

    Netezza makes no representations or warranties of any kind, express or implied, including, without limitation, those of merchantability, fitness for a partic-ular purpose, and noninfringement, regarding this manual or the products' use or performance. In no event will Netezza be liable for indirect, incidental, consequential, special, or economic damages (including lost business profits, business interruption, loss or damage of data, and the like) arising out of the use or inability to use this manual or the products, regardless of the form of action, whether in contract, tort (including negligence), breach of warranty, or otherwise, even if Netezza has been advised of the possibility of such damages.

    Portions of this publication were derived from PostgreSQL documentation. For those portions of the documentation that were derived originally from Postgr-eSQL documentation, and only for those portions, the following applies:

    PostgreSQL is copyright 1996-2001 by the PostgreSQL global development group and is distributed under the terms of the license of the university of california below.

    Postgres95 is copyright 1994-5 by the Regents of the University of California.

    Permission to use, copy, modify, and distribute this documentation for any purpose, without fee, and without a written agreement is hereby granted, pro-vided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies.

    In no event shall the University of California be liable to any party for direct, indirect, special, incidental, or consequential damages, including lost profits, arising out of the use of this documentation, even if the University of California has been advised of the possibility of such damage.

    The University of California specifically disclaims any warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The documentation provided hereunder is on an "as-is" basis, and the University of California has no obligations to provide maintenance, support, updates, enhancements, or modifications.

    Netezza, the Netezza logo, NPS, Snippet, Snippet Processing Unit, SPU, Snippet Processing Array, SPA, Performance Server, Netezza Performance Server, Asymmetric Massively Parallel Processing, AMPP, Intelligent Query Streaming, SQL-Blast and other marks are trademarks or registered trademarks of Netezza Corporation in the United States and/or other countries. All rights reserved.

    The Netezza implementation of the ODBC driver is an adaptation of an open source driver, Copyright 2000, 2001, Great Bridge LLC. The source code for this driver and the object code of any Netezza software that links with it are available upon request to [email protected]

    Red Hat is a trademark or registered trademark of Red Hat, Inc. in the United States and/or other countries.

    Linux is a trademark or registered trademark of Linus Torvalds in the United States and/or other countries.

    D-CC, D-C++, Diab+, FastJ, pSOS+, SingleStep, Tornado, VxWorks, Wind River, and the Wind River logo are trademarks, registered trademarks, or service marks of Wind River Systems, Inc. Tornado patent pending.

    APC and the APC logo are trademarks or registered trademarks of American Power Conversion Corporation.

    All document files and software of the above named third-party suppliers are provided "as is" and may contain deficiencies. Netezza and its suppliers dis-claim all warranties of any kind, express or implied, including, without limitation, those of merchantability, fitness for a particular purpose, and noninfringement.

    In no event will Netezza or its suppliers be liable for indirect, incidental, consequential, special, or economic damages (including lost business profits, busi-ness interruption, loss or damage of data, and the like), or the use or inability to use the above-named third-party products, even if Netezza or its suppliers have been advised of the possibility of such damages.

    All other trademarks mentioned in this document are the property of their respective owners.

    Document Number: 20283-15

    Software Release Number: 4.6.5

    Netezza Performance Server Release Notes

    Copyright 2008-2009 Netezza Corporation.

    All rights reserved.

    Regulatory Notices

    Install the NPS 8000 Series in a restricted-access location. Ensure that only those trained to operate or service the equipment have physical access to it.

    Install each AC power outlet near the NPS rack that plugs into it, and keep it freely accessible.

    You must provide all disconnect devices and over-current protection devices.

    Product may be powered by redundant power sources. Disconnect ALL power sources before servicing.

    FCC Statement

    This equipment has been tested and found to comply with the limits for a Class A digital device, pursuant to part 15 of the FCC rules. These limits are designed to provide reasonable protection against harmful interference when the equipment is operated in a commercial environment. This equipment gen-erates, uses, and can radiate radio-frequency energy and, if not installed and used in accordance with the instruction manual, may cause harmful interference to radio communications. Operation of this equipment in a residential area is likely to cause harmful interference, in which case users will be required to correct the interference at their own expense.

    CSA Statement

    This Class A digital apparatus meets all requirements of the Canadian Interference-Causing Equipment Regulations (ICES-003).

    Cet appareil numrique de la classe A est conforme la norme NMB-003 du Canada.

    CE Statement (Europe)

    This product complies with the European Low Voltage Directive 73/23/EEC and EMC Directive 89/336/EEC as amended by European Directive 93/68/EEC/.

    Warning: This is a class A product. In a domestic environment this product may cause radio interference in which case the user may be required to take adequate measures.

  • Contents

    1 Netezza Performance Server Release 4.6.xNew in This Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1

    Supported Upgrade Paths. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2

    Query History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2

    Stored Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2

    IBM Tivoli Storage Manager Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3

    SPU Regeneration Improvements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3

    Unicode Object Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4

    Windowed Aggregates Improvements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4

    JDBC Java 1.5 Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4

    Optimizer Changes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5

    New Features in Release 4.6.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5

    Advanced Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5

    Fixed-Length Loading Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6

    Changes in This Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6

    System Configuration and Settings Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7

    System Default for Table Distributions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7

    Command and CLI Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8

    ODBC, JDBC, OLE-DB Changes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10

    Database and SQL Language Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10

    Changes in Release 4.6.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11

    Changes in Release 4.6.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12

    New and Modified System Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15

    Known Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-18

    Customer Bugs Fixed in This Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-31iii

  • iv

  • List of Tables

    Table 1-1: Modified System Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-16

    Table 1-2: Known Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-19

    Table 1-3: Customer-Reported Bugs Fixed in Release 4.6 . . . . . . . . . . . . . . . . 1-31

    Table 1-4: Customer-Reported Bugs Fixed in Release 4.6.2 . . . . . . . . . . . . . . 1-42

    Table 1-5: Customer-Reported Bugs Fixed in Release 4.6.5 . . . . . . . . . . . . . . 1-45v

  • vi

  • C H A P T E R 1Netezza Performance Server Release 4.6.x

    Whats in this chapterX New in This ReleaseX Changes in This ReleaseX Known IssuesX Customer Bugs Fixed in This Release

    This document provides special information about NPS Release 4.6.x, including a summary of new features and changes, known issues, and customer bugs fixed in the release. Review this document prior to installing or upgrading to Release 4.6.x.

    This document uses the term 4.6.x to refer to NPS Release 4.6 or any of the service packs for that release such as 4.6.2. If a description or detail in this guide is for a specific release, the guide uses the full release number.

    New in This Release

    Release 4.6.x offers several new features and changes to improve the performance and capabilities of the NPS data warehouse appliance. This section describes the following software features and important information:

    X Supported Upgrade PathsX Query HistoryX Stored ProceduresX IBM Tivoli Storage Manager IntegrationX SPU Regeneration ImprovementsX Unicode Object NamesX Windowed Aggregates Improvements1-1

    X JDBC Java 1.5 SupportX Optimizer ChangesNote: If you are upgrading to Release 4.6.x from a release prior to Release 4.5, you should review the NPS Software Release Notes for Release 4.5.x to learn about the new features and changes in Release 4.5.

  • Netezza Performance Server Release NotesSupported Upgrade Paths Release 4.6.x supports upgrades from NPS Release 4.0.x and later releases that run on the 8x50z- and 10000-series hardware models with the Rev 7 SPU hardware.

    Note: Direct upgrades from Release 2.5.x, 3.0.x, 3.1.x, or earlier releases are not sup-ported. Also, any NPS models that use Rev 5 and Rev 6 SPUs are not supported. If you would like to move to Release 4.6 but your current NPS system is using one of the older releases or hardware models, contact Netezza Support or your Sales representative.

    Release 4.6 requires Red Hat Enterprise Linux (RHEL) 4.0, and supports any of the Netezza-supplied Update versions such as 1, 4, or 6. (Update 6 is supported on Release 4.5 patch 3 and later, and Release 4.5.2 and later.) This release also supports Red Hat 5.2, which is available on new 10000-series SL/XL models. For more information about the Red Hat kernel updates, contact Netezza Support.

    You can downgrade from Release 4.6.x to the version from which you upgraded. Note that if you downgrade from 4.6.x to a release prior to Release 4.5, some additional steps may be required to unset some of the features before you can downgrade. For a description of the upgrade and downgrade steps, refer to the NPS Software Upgrade Guide for Release 4.6.x.

    Query History Release 4.6 introduces a new feature for query history support. Query history captures details about the user activity on the NPS system, such as the queries that are run, query plans, table access, column access, session creation, and failed authentication requests. The history information is saved in a history database. Permitted users can review the query history information to obtain details about the users and activity on the NPS system.

    Note: The query history feature provided in NPS Release 4.6 replaces any previous query history tools for the NPS. Note that the older query history views _v_qryhist and _v_qrystat provided in previous NPS releases are still supported in this release, but they will be depre-cated in a future release. The query history displayed by the NzAdmin interface uses the information in the old _v_qryhist view, not the new Query History capability.

    The query history database is a special user database which is designed to hold query his-tory information. You create the database using the nzhistcreatedb command. You can create one or more query history databases, but the active query history loading process writes to only one database. As with any user table, you can back up and restore history databases and tables using the standard NPS database utilities.

    Details about the query history support, how to configure it, and the new views that you can use for reporting purposes are available in the NPS System Administrators Guide.

    Stored ProceduresRelease 4.6 introduces support for stored procedures. Stored procedures combine the ben-efits of SQL to query and manipulate database information with the benefits of a procedural programming language to handle data processing, transaction logic, and appli-cation branching behaviors.

    You implement stored procedures on the NPS host by creating applications using the NZPLSQL language. NZPLSQL is an interpreted language which is based on Postgres PL/pgSQL language and which is designed for the NPS host environment. NZPLSQL is a scripting language embedded in SQL. As a procedural language, it has branch, loop, and 1-2 20283-15 Rev.3

  • New in This Releasesubprogram structures while SQL provides the main program. The subprograms, known as procedures, can take arguments and declare internal variables. Once stored in a database, these procedures can be called from within other databases on the same NPS host.

    Because the stored procedure resides on the NPS host, it benefits from its location onsite by avoiding the network time between an application client system and the NPS host. The application itself also becomes easier to maintain, as it resides in only one loca-tion (the NPS host) and thus versioning and updates need only be made in one place to keep the application up-to-date for all users. For more information, see the NPS Stored Procedures Developers Guide.

    IBM Tivoli Storage Manager Integration If you have an IBM Tivoli Storage Manager (TSM) solution in your environment, Release 4.6 now offers an TSM integration that allows you to coordinate NPS data backup and restore operations with that solution. By defining the NPS host as a client of the TSM server, you can use the standard NPS backup solutions or the TSM utilities to create backups on media devices that are managed by the TSM server. Similarly, you can use NPS restore util-ities or TSM utilities to retrieve and load data from the TSM-managed backup locations. The NPS solution has been tested with TSM version 5.5 and 5.4.

    The NPS system currently offers support for the following backup and recovery solutions:

    X Veritas NetBackupX IBM Tivoli Storage Manager To use these solutions, you install client software for the solution onto the NPS host, and then configure files and settings to create a connection to the third-party server. You may also need to perform some configuration steps on the third-party server to identify and define the NPS host as a client to that server. The installation and configuration steps vary for each solution. For more information about the backup and restore solutions, see the NPS System Administrators Guide.

    SPU Regeneration ImprovementsWhen an SPU fails, the NPS system regenerates the SPU by copying the primary and mirror dataslice information onto a spare SPU. This regeneration process happens in the background while queries and work continue on the NPS. In some cases, the SPU regener-ation process could be delayed because the NPS waits for any existing active jobs to complete before it performs the necessary state changes to complete the regeneration pro-cess. As it waits for the active jobs to finish, the NPS does not allow new jobs to start. Sometimes the active jobs can take a very long time to complete.

    Release 4.6 adds the ability for the NPS administrator to force the synchronization pro-cess to continue by using the nzsystem synchronize -now command option. This command operates similarly to the nzsystem pause -now command in that it stops any active jobs in order to allow the system state transition to continue. To list the active transactions that are blocking a state change transition, you can use the nzsession command with the new -activeTxn switch.

    Following the state change and the return to normal service, the NPS system attempts to restart any jobs that it can, although users may need to manually restart some jobs. For more information about the synchronize -now | -nowAfter options, see the NPS System Administrators Guide. 20283-15 Rev.3 1-3

  • Netezza Performance Server Release NotesUnicode Object Names Release 4.6 adds support for the SQL 1999 definition for naming identifiers. Users can now specify local language names for objects such as tables, columns, users, groups, user-defined functions, user-defined aggregates, stored procedures, and databases. Note that this support does not include information which is not considered a SQL identifier, such as passwords or the pathnames of files.

    With this change, regular identifiers and delimited identifiers can contain letters from any alphabet not just the Latin alphabet as well as syllables (as in the Japanese Hiragana syllabary), ideographs, decimal digits, and underscores. Regular identifiers must begin with a letter; they cannot begin with a digit or an underscore. Regular identifiers also cannot be a SQL reserved word.

    A delimited identifier is enclosed in double-quotation marks and has special consider-ations. A delimited identifier is case-sensitive. Within the double quotation marks, a delimited identifier can include the same letters, syllables, ideographs, decimal digits, and underscores as a regular identifier, but it can also include spaces, special characters such as hyphens and percent signs, and SQL reserved keywords. A delimited identifier can begin with any of these letters, digits, or symbols.

    Windowed Aggregates ImprovementsRelease 4.6 introduces several changes and improvements in the support for windowed aggregate functions in Netezza SQL:

    X Adds support for DISTINCT window aggregatesX Adds support for NULLS FIRST or NULLS LAST specification in an ORDER BY clauseX Improvements in the support for and handling of large frame queries which previously

    failed with an error message similar to Frame pinned record block limit exceeded.

    X Improved performance for aggregates with a running frame which previously may have taken a long time to complete.

    For more information about the support for windowed aggregate functions, see the NPS Database Users Guide.

    JDBC Java 1.5 SupportWith Release 4.6, the Netezza JDBC driver now supports Java release 1.5 and later. Java release 1.4 is no longer supported.

    Note: For the 4.5 and 4.5.x JDBC driver implementations, the PSQLException error could be issued by the driver. In Release 4.6, this exception is deprecated. This exception will be removed in the next major release. If any of your applications/scripts use the Netezza cus-tomized PSQLException, change it to standard SQLException which is the recommended practice. 1-4 20283-15 Rev.3

  • New Features in Release 4.6.5Optimizer Changes This release introduces several changes to the optimizer and planner features to improve query and system performance.

    Dispersion calculations (dispersion measures the number of unique or distinct values in a column) have been improved to increase the efficiency of the query plan estimates during join processing. The Just In Time (JIT) statistics process now calculates dispersion values for join columns at query time, so that the planner uses estimates reflect the query's restrictions.

    The NPS system runs JIT statistics automatically to estimate dispersion for join or group by columns in the following conditions:

    X Large tables that contain more than five hundred million recordsX Tables that participate in a join or have group by aggregate processingYou can identify whether JIT statistics were run to estimate dispersion in the EXPLAIN VERBOSE output; look for cardinality estimations flagged with the label JIT.

    This change also streamlines GENERATE STATISTICS processing because the command no longer calculates dispersion on large tables, which improves the performance of the com-mand and reduces the need for you to run the command manually. As a result, the GENERATE EXPRESS STATISTICS command has been deprecated in this release. Any calls to this command will run the GENERATE STATISTICS command instead.

    The GENERATE STATISTICS processing now decides whether to estimate or count disper-sion based upon the table size. Prior issues with dispersion estimation have been addressed.

    With zone-map-aware join planning, the optimizer obtains row count estimates after join operations using JIT statistics sample joins. Large fact tables joined with small dimensions will now use JIT join sampling estimates instead of dispersion and catalog statistics. These changes help to improve query performance and planner estimations of join relation sizes between dimensions and fact tables. Zone maps also help to reduce scan times during query processing.

    This release also improves zone map join planning by removing several internal limitations on the process and by reducing memory consumption for zone map analysis during planning.

    New Features in Release 4.6.5

    Release 4.6.5 offers several new features for the Netezza data warehouse appliance. This section describes the following software features and important information:

    X Advanced SecurityX Fixed-Length Loading Format

    Advanced Security The advanced security feature provides additional layers of security controls for user access, auditing, and access to data in tables such as the following:

    X User Login Control Controls the number of concurrent sessions that a user may have, as well as the hours and days when a user can connect to Netezza databases. 20283-15 Rev.3 1-5

  • Netezza Performance Server Release NotesX Masquerading Allows a user to operate as another user, with all the permissions of that user.

    X Advanced Query History Extends the Netezza query history feature by enabling the following additional capabilities:

    S Guaranteed audit capture of all operationsS Digital signing of audit dataS Storage of audit data in row-secure tablesS The ability to transfer audit data to a remote Netezza system for storage, lowering

    the impact on a production system and improving the security of the audit data

    S Capture of state changes and CLI operations in the audit dataX Multi-Level Security (MLS) A security model that allows database administrators to

    define access privileges to individual rows of tables using security labels; user security profiles define the rows that users are permitted to see.

    Important CaveatsWhen using the advanced security features, note the following operational considerations:

    X Never change the letter case of a database containing row-secure tables. Using nzcon-vert -syscase on row-secure tables can cause serious problems and possible data loss.

    X You cannot change the name of a database that has row-secure tables defined within it. You must drop all row secure tables from the database before you can rename it. You can then recreate the tables in the newly renamed database.

    X You cannot restore a Release 4.6.5 database backup that includes a row-secure table to a prior release.

    X Apart from renaming a row-secure table, you cannot change its structure, which includes adding, modifying, or deleting columns.

    For more information about using these features, refer to the Netezza Advanced Security Administrators Guide.

    Fixed-Length Loading Format Release 4.6.5 introduces support for loading fixed-length format files into the Netezza sys-tem. Previously, the loader could read files only in Netezza compressed binary format or in text-delimited format. This change now allows the loader to read in files in a fixed-length format, such as those output in text format from another database. For details on the best practices and supported loading formats, refer to the Netezza Data Loading Guide.

    Changes in This Release

    The following sections describe the changes in behavior for the release. Review these changes as they may require some planning time for the upgrade.1-6 20283-15 Rev.3

  • Changes in This ReleaseSystem Configuration and Settings ChangesThis release includes the following changes to system configuration settings:

    X The NPS now offers a configuration switch that allows you to disable cross-join queries on a per-user or per-group basis. Contact Netezza Support for more information.

    X You can use a new configuration setting, enable_random_table_distribute, to control the default distribution behavior when tables are created. For more information, see System Default for Table Distributions on page 1-7.

    X The new limits for socket buffer size for external tables have been changed. The new lower limit is 64KB and the new upper limit is 800MB. During the creation of an exter-nal table, if the socket buffer size is less than 64KB, the socket buffer size will be corrected to 64KB. Otherwise, if the socket buffer size is greater than max socket buffer size, the socket buffer size will be corrected to the upper limit of the socket buffer size. During a database restore, if the backed-up external table has a socket buffer size less than 64KB, the socket buffer size will be corrected and a notice will be logged in Postgres logs.

    X The default value of startup.queryHistTblSize has changed to 2000 (from 5000) to match the default value of startup.planHistFiles. These settings should have similar values for best performance.

    X If you create a table which reached 64GB in size and you do not have large table sup-port enabled, the system now displays the error Large table size limit on table SPU num. Please refer NPS administrator guide. You may want to consider enabling large table support if you have tables that could be larger than 64GB.

    X The default serialization_queue_timeout is now 60 minutes instead of 5 minutes. The NPS system now saves and queues implicit transactions for up to 60 minutes before failing the queued transactions with ERROR: Too many concurrent transactions.

    X The default begin_queue_if_full is now true instead of false. If there are 31 or more concurrent updaters in progress, the next explicit transaction that performs update actions will queue (instead of fail immediately) until the number of concurrent transac-tions drops below 31.

    X SPU temperature thresholds have been changed in this release. A warning event is trig-gered if the SPU temperature exceeds 45C, and a critical event is triggered if the SPU temperature exceeds 55C.

    System Default for Table DistributionsRelease 4.6 introduces a new postgresql.conf setting, enable_random_table_distribute, which controls the default distribution behavior when tables are created. The default value 0 (disabled) specifies the following behavior, which is the default behavior for tables cre-ated in prior releases:

    X For a CREATE TABLE operation: S If DISTRIBUTE ON is specified, use the specified distribution mechanism.S If DISTRIBUTE ON is not specified, use the first column as the default distribution

    key. 20283-15 Rev.3 1-7

  • Netezza Performance Server Release NotesX For a CREATE TABLE AS (CTAS) operation:S If DISTRIBUTE ON is specified, use the specified distribution mechanism.S If DISTRIBUTE ON is not specified, inherit the distribution keys from the plan. If

    the planner cannot determine a distribution from the plan, use the first column as the default key.

    If you specify enable_random_table_distribute=1 (enabled), the system behavior changes to the following:

    X For a CREATE TABLE operation: S If DISTRIBUTE ON is specified, use the specified distribution mechanism.S If DISTRIBUTE ON is not specified, use random as the distribution method.

    X For a CREATE TABLE AS (CTAS) operation:S If DISTRIBUTE ON is specified, use the specified distribution mechanism.S If DISTRIBUTE ON is not specified, inherit the distribution keys from the plan. If

    the planner cannot determine a distribution from the plan, use random as the dis-tribution method.

    In some cases, the planner may not be able to determine a distribution from the plan. For example:

    X If a final join happens on the host, then the distribution of the result of that join is non-deterministic.

    X If the distribution column is missing from the , then distribution is non-deterministic.

    X If the distribution of the final result node is random, then distribution is considered non-deterministic.

    X If the final join is a full-outer-join, then also distribution is non-deterministic.Note: This change obsoletes the NZ_DISABLE_SKEW_DEFENSE environment variable which controlled this behavior in earlier releases. The upgrade to Release 4.6 checks for the presence of the variable, and if it is set, uses its value to set enable_random_table_distribute to its corresponding value.

    Command and CLI Changes This release includes the following changes to command line utilities:

    X Although it was not documented, many nz commands allowed the user to omit the space between a switch and a value. For example you could specify -d dev or -ddev as a possible database name value. In Release 4.6, be sure to specify spaces between switches and values to ensure correct command line processing.

    X There is also a new nzsession command to manage sessions. X The nzrestore command has new switches, -noAcl and -noUsers, which disable the res-

    toration of permissions and users/groups, respectively. Also, the nzrestore -history report column header "Tbl locked" has changed to "Db locked".

    X The nzsystem stop command has been deprecated in this release. Use nzstop instead.1-8 20283-15 Rev.3

  • Changes in This ReleaseX The -id option for nzevent commands is deprecated and will be removed in the next major release.

    X During a load process, the nzlog error file is generated only for a load failure due to a bad row count that exceeds the maximum errors threshold. The command now displays the nzlog file path when this error occurs.

    X For nzevent definitions, users cannot add an event and specify the destination as '[email protected]' or '[email protected]'. These email addresses are invalid. An error message instructs the user to use '[email protected]' or contact Support for the correct configuration.

    X There are new SQL commands SHOW FUNCTION and SHOW AGGREGATE to display information about functions and aggregates defined on the NPS system.

    X The nzstats show -type spunet command has been removed from this release. X The nztopology command now checks to confirm that there are spare SPUs available in

    the system. If no spares are available, the command returns an error.

    X For the nz commands, options such as -u, -pw, -host,-timeout, -rev, and -Rev are now case-insensitive. The -h (help) and -v (verbose) options are case-sensitive and must be entered using lowercase letters.

    X The PartitionId column has been removed from the nzstats -type spuPartition com-mand output, as it is no longer used.

    X The scan options used by nzreclaim (-scanBlocks and -scanRecords) no longer lock the target table during the table scan.

    X The nzsqa workRank command output now includes the resource sharing group (RSG) OID associated with each job.

    X The nzdbg internal support command now accepts -id as an argument for the SPU ID. The -hwid is supported (but no longer documented) for backward compatibility.

    X In the nzinventory command, note that the output states for SFIs, fans, and power sup-plies now use words with the first letter uppercased. Previously, some of these terms were in lowercase, which caused some alignment issues in the output.

    X When the system is transitioning to the pausing state, if the user attempts to resume the system using nzsystem resume, the command now outputs the message: "System is in user-requested transition state. Wait for the transition to finish before you resume the system."

    X The nzstats -type spuPartition command output no longer includes the partitionId col-umn, which displayed only blank lines.

    X The nzstats -type dataSlice command will be removed in a future release. X The nzsession priority command now has a new error message for timeout conditions.

    In previous releases, the command displayed Error: no reply received from DBOS after 30 seconds and the new message is Error: No response from NPS.20283-15 Rev.3 1-9

  • Netezza Performance Server Release NotesX The nzsession command has a new option -activeTxn which shows the sessions that are associated with active transactions. This switch can help you to identify the active ses-sions that the NPS system will stop during commands such as nzsystem synchronize -now or nzsystem pause -now, for example.

    X The nzconvertdbcase command has been removed from the documentation and prod-uct. If you want to convert the identifier case within a database to the opposite of the default system case, contact Netezza Support.

    X The nzudxcompile command now includes an option --type to specify the aggregate type of a UDA, which controls whether a UDA can be invoked in a window aggregate (ANY or ANALYTIC) or in a grouped or grand aggregate (ANY or GROUPED). The com-mand also now includes the --spufile and --hostfile options which allow users to register a UDX and its compiled object files without performing the compile step.

    ODBC, JDBC, OLE-DB ChangesThis release includes the following changes to these client interfaces:

    X The OLE DB Provider now supports named parameter markers (@name) in parame-terized queries. You cannot use the same @ parameter more than once in a single query. For example, the following is not supported:

    select emp_name from employee where emp_id = @eid and @eid != 0 X This release adds support for installing the 32-bit ODBC driver on 64-bit Windows plat-

    forms. In addition, the driver uninstall on Windows has been enhanced to perform additional cleanup from the Windows Registry.

    Note: As of Release 4.6.2, the ODBC and JDBC clients support Red Hat Linux 3.0 and greater. Earlier releases such as Red Hat 7.3 and Red Hat Enterprise 2.1 are no longer supported.

    Database and SQL Language ChangesThis release includes the following changes to the database and SQL language syntax and commands:

    X Release 4.6 introduces improvements to the compression algorithm used by external tables, which are used by the backup process. As a result, these improvements could reduce the size of the resulting data files and also shorten the overall backup time.

    X This release extends zone map support for the special columns (createxid and rowid) to improve the performance of incremental backup and restore operations. Customers who schedule frequent incremental backups for large tables that typically change very little may notice that the backups complete faster than in previous releases. Similarly, customers who use incremental restore operations to load data for tables that generally have few deletions may also notice that the restores are faster. The performance improvements will vary based on the size of the tables and their content.

    X Session SQL commands have been added to allow users to alter, drop, and show one or more sessions on the NPS system. 1-10 20283-15 Rev.3

  • Changes in This ReleaseX During database restore operations, you can now disable the restoration of permissions and users/groups, respectively, using the new nzrestore command switches, -noAcl and -noUsers.

    X Incremental restore operations have been enhanced to improve behavior when restoring systems which are being accessed and used in read-only query operations. Previously, incremental restore performed drops and recreates of many objects to update them. Now, restore uses ALTER and CREATE OR REPLACE operations to update objects such as views, materialized views, external tables, sequences, synonyms, and so on. This allows read-only queries to continue and succeed during the restore.

    X Support for a new date format DMONY (for example, 21-Nov-08) has been added to the nzload and external table support.

    X When you time format data from the NPS using external tables, the default time format is now 00:00:00 with the time delimiter ':' and 000000 without the time delimiter. So, for a time value such as 12:34:00 or 12:34, the external file will have the value 12:34:00 in both cases. There is a new option added to the CREATE EXTERNAL TABLE command called INCLUDEZEROSECONDS. This option controls whether the time format should include the 00 option for seconds.

    X During a data unload, a case-insensitive comparison is now performed between the data and the null value string to ensure that the null value string is correctly prefixed and escaped.

    X SQL commands for managing various security controls appear in the SQL command help but are disabled in this release. If you run these commands, the system displays an error that the feature is not supported. The feature will be enabled in a future release.

    Changes in Release 4.6.2Release 4.6.2 introduces the following changes and capabilities:

    X The dollar sign character ($) is now supported in non-delimited identifiers as a subse-quent character. It is not supported as the first character of a non-delimited identifier.

    X The format dd-mon-yy is now supported as a valid date type when creating external tables.

    X When you create history configuration of type NONE or you alter the configuration to one that disabled history collection, the default value of the CONFIG_LEVEL, CONFIG_TARGETTYPE, and CONFIG_COLLECTFILTER parameters are set to "HIST_LEVEL_NONE", "HIST_TARGET_LOCAL" and "COLLECT_ALL" respectively.

    X If you downgrade a NPS system, you cannot continue adding to a backup set that con-tains a backup increment for a later NPS release. For example, if you created a backup set on a system running NPS Release 4.5.x, then you upgraded the system to Release 4.6.x, you can append the backup set with increments from the 4.6.x system. If you subsequently downgrade the system to Release 4.5.x, you cannot add backup incre-ments to any backup set that contains 4.6.x increments.20283-15 Rev.3 1-11

  • Netezza Performance Server Release NotesX As of Release 4.6.2, you cannot create a Query History configuration and specify the admin user as the user for the history database. The NPS System Administrators Guide has been updated to reflect these changes.

    X OLE-DB now supports the ability for the user to select whether they want to display the objects using their schema owner or the object owner. By default, OLE-DB shows the object owner.

    X The nzsystem set command no longer supports the ability to set multiple registry keys in one command. The command now allows users to specify only one key. The value for the key can be a single argument or multiple arguments specified in comma-separated string.

    X The sendmail.cfg file now includes three fields (login.username, login.password, and login.method) that allow users to specify a sendmail authentication method and a user name and password. By default the fields are commented out (no authentication is used). The verified authentication method is AUTH LOGIN.

    Changes in Release 4.6.5Release 4.6.5 introduces the following changes:

    X Netezza now applies a more fair distribution of resources between load operations and user queries. This change helps to improve query performance during loads, but can increase load times as a result. There is a configuration registry setting, host.schedGRALoadEnabled, that controls the feature. You can set the value to no to restore the bias for load operations. Consult with Netezza Support before changing the setting.

    X In some customer environments where users connect over VPNs to the Netezza appli-ance, users may encounter issues where active SQL sessions time out due to VPN/TCP connection settings in the customer environment. For these environments, Netezza has added TCP KEEPALIVE packet support with the following new settings in the /nz/data/postgresql.conf file:

    S tcp_keepidle: The number of seconds between keepalive messages sent on an oth-erwise idle connection. A value of 0 uses the system default (7200 seconds). If users report SQL client session disconnects, set this parameter to the recom-mended value of 900.

    S tcp_keepinterval: The number of seconds to wait for a keepalive response before retransmitting the message. A value of 0 uses the system default (75 seconds).

    S tcp_keepcount: The number of retransmission attempts that must occur before the connection is considered dead. A value of 0 uses the system default (9 attempts).

    After you define (or modify) these settings in the postgresql.conf file, you must restart the Netezza software to apply the changes.

    X The Hardware Failed event now includes the following text, which you can customize to specify your storage location for any spare parts for the system:

    NPS spare SPU cabinet is located at : th Floor, Room , Closet / Cage

    X Netezza has added support for logging the Netezza database user name in the event 1-12 20283-15 Rev.3

    manager log when stopping and starting the Netezza server.

  • Changes in This ReleaseX There is a new event, TransactionLimitEvent, that you can use to obtain an email noti-fication when the number of outstanding transaction objects exceeds 90% of the available objects. There is a limit of approximately 65,000 transaction objects. While existing sessions remain open and active, it is possible to reach a point where there are no more available objects. New transactions are blocked with an error message that there is no space for the transactions array.

    This event notifies you when 90% (approximately 59,000) of the transaction objects are in use. When you receive the notification, you can take steps to either abort the transactions for one or more sessions, or stop/restart the NPS software. The new event is not available as an event template in Release 4.6.5. You must add the event using the following command:

    nzevent add -name TransactionLimitEvent -eventType TransactionLimitEvent -on yes -notifyType email -dst -msg 'Transaction Limit Event from $HOST' -bodyText 'NPS system $HOST - current number ($CurNumTX) of transactions exceeded 90% of total limit at $eventTimestamp.' -callHome yes -eventAggrCount 0

    Note: The notification repeats every three hours if the object count remains above 90%, or when the object count drops below 85% but later reaches 59,000 again.

    X The STORAGELIMIT control that disables query history when the storage/log areas reach a certain size now also includes the audit history log directory as part of its calculations.

    X The Query History Configuration dialog of the NzAdmin interface now includes AUDIT as a configuration type available in the drop-down list.

    X The existing nzstats -type table command shows the table disk space usage in terms of used bytes for tables. The command now displays the disk space usage for tables in three different units:

    S extents Allocated extents per tableS usedblocks Used blocks per tableS usedbytes Used bytes per table

    X In previous releases, there was a restriction that the dateDelim and timeDelim values could not be the same value. You can now specify the same value as the delimiter char-acter in both text-delimited and fixed-format external tables.

    X The nzreclaim logging has been improved with the following changes:S The reclaimsvr log now captures the nzreclaim command options and also a sum-

    mary of each stage of the reclaim. For example:

    2009-06-05 02:44:47.966158 EDT Info: NZ-00022: program 'reclaimsvr' (15149) starting on host 'swdev21' ... 2009-06-05 02:44:48.016164 EDT Info: Starting nzreclaim with options db:dev tbl:all with option -records2009-06-05 02:44:48.064405 EDT Info: Reclaim Started for db:DEV, tbl:NATION2009-06-05 02:44:48.064452 EDT Info: Current reclaim stage: Connect2009-06-05 02:44:48.094430 EDT Info: Current reclaim stage: 20283-15 Rev.3 1-13

    Checking available prepend space

  • Netezza Performance Server Release Notes2009-06-05 02:44:48.096800 EDT Info: Current reclaim stage: Begin Local Txn...2009-06-05 02:44:51.180363 EDT Info: Current reclaim stage: Done2009-06-05 02:44:51.212195 EDT Info: Completed reclaim for db:DEV, tbl:NATION

    S The reclaimmgr log now records information for abort operations and improves the messages for cases where the reclaim was aborted by a user rather than system-aborted, for example:

    2009-06-05 06:30:24.114578 EDT Info: session started: pid = 22348 user = admin2009-06-05 06:30:42.967634 EDT Info: session ended: pid = 22348, killed by state changeOr: 2009-06-05 06:25:14.122864 EDT Info: NZ-00022: program 'reclaimmgr' (22139) starting on host 'swdev21' ... 2009-06-05 06:27:01.216090 EDT Info: session started: pid = 22234 user = admin2009-06-05 06:27:32.782795 EDT Info: User initiated session abort: id = 16025, pid = 222342009-06-05 06:27:33.094001 EDT Info: session ended: pid = 22234, status = 237

    S The name of the reclaimsvr log file now includes a date and time stamp, as follows: reclaimsvr..-..log

    An example file name would be: reclaimsvr.16608.10-32.2009-06-11.log

    S The location of the reclaim log file has been changed to ensure capture during local and remote client operations, as follows:

    X When reclaim runs locally, the nzreclaim.nzlog file is saved in the /nz/kit/log/nzreclaim directory.

    X When reclaim runs remotely, the log file is saved in /nz/reclaim, otherwise ~/nzreclaim.

    X The nzsession show command now has a new switch -activeTxn to display the sessions associated with active transactions, such as those that might be blocking a state change. Note that CLI client users cannot use the Release 4.6.5 nzsession command against prior release NPS servers; this operation results in an error.

    X The to_timestamp() and to_char() functions now support millisecond (MS) and micro-second (US) values.

    X The nzhistcleanupdb command now includes a -force option that deletes entries with-out waiting for user response.

    X There is a new event, SpuCore, that you can use to receive notifications when a process has cored on a SPU. The event includes the timestamp and the details of the core file and the details of the error thrown by the SPU (if any). The new event is not available as an event template in Release 4.6.5. You must add the event using the following command:1-14 20283-15 Rev.3

  • Changes in This Releasenzevent add -name SpuCore -eventType spuCore -on yes -notifyType email -dst '' -msg 'NPS system $HOST - Process Cored on SPU $hwId at $eventTimestamp' -bodyText '$notifyMsg\n\nhwId:$hwId\nspaId:$spaId\nspaSlot:$spaSlot\nerror string:$errString\n\nevent source:$eventSource\n' -callHome yes -eventAggrCount 0

    X The nzsystem set command has a new option -arg which replaces the previous -args option. The -args option is still supported for backward compatibility, but you should change to use the new -arg option to ensure support going forward.

    X The following four logging parameters are no longer used as of Release 4.6 and later and have been removed from the Netezza System Administrators Guide.

    S startup.logToFileS startup.logToStdOutS startup.logToSysLogS startup.stdErrToSysLog

    X There is a new Netezza Data Loading Guide which describes how to load data into a Netezza system. As a result of this new guide, the loading information and create exter-nal table information has been removed from the NPS System Administrators Guide and the NPS Database Users Guide, respectively. The latest information and examples are in the Netezza Data Loading Guide.

    New and Modified System Views Release 4.6.x introduces several new and modified system views. For a description of the more common user views, see the Netezza Performance Server System Administrators Guide. For a description of the view changes from 4.0.x to 4.5.x, refer to the NPS Release Notes for 4.5.x.

    The new system views are the following:

    X _v_backup_group_historyX _v_backup_group_memberX _v_backup_table_groupX _v_backup_table_historyX _v_depend X _v_extzonesX _v_odbc_procedurecolumns1X _v_odbc_procedures1X _v_odbc_procedures2X _v_odbc_procedures3X _v_oledb_catalogs2X _v_oledb_columns220283-15 Rev.3 1-15

    X _v_oledb_procedure_parameters2

  • Netezza Performance Server Release NotesX _v_oledb_procedure_columns2 X _v_oledb_procedures2X _v_oledb_schemas2X _v_oledb_tables2X _v_oledb_views2X _v_procedure X _v_relation_keydata_xdbX _v_session_brief X _v_session_detailX _v_vector_idxX $v_table_access_statsX $v_column_access_statsX $v_hist_incomplete_queriesX $v_hist_log_eventsX $v_hist_queriesX $v_hist_succesful_queriesX $v_hist_unsuccessful_queriesTable 1-1 lists the modified system views since Release 4.5. In general, system views change to improve the performance of queries that use them, or to add columns, or to ensure correct view behavior. In most cases, the view changes do not impact the results of existing queries that use these views. It is a good practice to test any queries on these mod-ified system tables to confirm that your query results have not changed from the desired results.

    Table 1-1: Modified System Views

    View Name Change

    _v_aggregate Updated to add user-defined aggregates (UDAs) and type-specific aggregates

    _v_authentication Updated to add LDAP authentication.

    _v_authentication_settings

    Updated to add LDAP authentication.

    _v_database Changes to the view definition to improve query performance.

    _v_datatype Changes to the view definition to improve query performance.

    _v_external Changes to the view definition to improve query performance.1-16 20283-15 Rev.3

  • Changes in This Release_v_external_xdb Changes to the view definition to improve query performance.

    _v_function Updated to add user-defined functions (UDFs).

    _v_group Changes to the view definition to improve query performance.

    _v_obj_database Changes to the view definition to improve query performance.

    _v_obj_relation_xdb Changes to the view definition to improve query performance.

    _v_object_cast Changes to the view definition to improve query performance.

    _v_odbc_catalog1 Changes to the view definition to improve query performance.

    _v_odbc_catalog2 Changes to the view definition to improve query performance.

    _v_odbc_catalog3 Changes to the view definition to improve query performance.

    _v_odbc_foreignkeys1 Changes to the view definition to improve query performance.

    _v_odbc_foreignkeys2 Changes to the view definition to improve query performance.

    _v_odbc_foreignkeys3 Changes to the view definition to improve query performance.

    _v_odbc_primarykeys2 Changes to the view definition to improve query performance.

    _v_odbc_primarykeys3 Changes to the view definition to improve query performance.

    _v_odbc_schema1 Changes to the view definition to improve query performance.

    _v_odbc_schema2 Changes to the view definition to improve query performance.

    _v_odbc_schema3 Changes to the view definition to improve query performance.

    _v_odbc_specialcolumns1

    Changes to the view definition to improve query performance.

    _v_odbc_specialcolumns2

    Changes to the view definition to improve query performance.

    _v_odbc_specialcolumns3

    Changes to the view definition to improve query performance.

    _v_odbc_statistics1 Changes to the view definition to improve query performance.

    _v_odbc_statistics2 Changes to the view definition to improve query performance.

    _v_odbc_statistics3 Changes to the view definition to improve query performance.

    _v_odbc_tabletypes1 Changes to the view definition to improve query performance.

    _v_odbc_tabletypes2 Changes to the view definition to improve query performance.

    Table 1-1: Modified System Views (continued)

    View Name Change 20283-15 Rev.3 1-17

  • Netezza Performance Server Release NotesKnown Issues

    This section of the release notes identifies known issues in the NPS software.

    Do not update, patch, or otherwise alter the Linux kernel or other Linux binaries on your system unless Netezza directs you to do so. Netezza does not support unauthorized updates or custom modifications of the kernel.

    _v_odbc_tabletypes3 Changes to the view definition to improve query performance.

    _v_qrystat Changes to the view definition to improve query performance. This view is maintained for backward compatibility; use the view _v_query_status.

    _v_relation_column Changes to the view definition to improve query performance.

    _v_relation_column_def Changes to the view definition to improve query performance.

    _v_relation_column_def_xdb

    Changes to the view definition to improve query performance.

    _v_relation_keydata Changes to the view definition to improve query performance.

    _v_session Changes to the view to correct the type of some of the fields. For example, status changed from name to integer type. This view is maintained for backward compatibility; use the views _v_session_brief and _v_session_detail.

    _v_spmview Changes to the view definition to improve query performance.

    _v_sys_columns Changes to the view definition to improve query performance.

    _v_sys_columns_xdb Changes to the view definition to improve query performance.

    _v_sys_database Changes to the view definition to improve query performance.

    _v_sys_miscobjs Changes to the view definition to improve query performance.

    _v_sys_relation_xdb Changes to the view definition to improve query performance.

    _v_systemdef Changes to the view definition to improve query performance.

    _v_table Changes to the view definition to improve query performance.

    _v_user Changes to the view definition to improve query performance.

    Table 1-1: Modified System Views (continued)

    View Name Change 1-18 20283-15 Rev.3

  • Known IssuesTable 1-2 describes the known issues for this release.

    Table 1-2: Known Issues

    Reference Issue/Description

    4062 The NPS does not support abort privileges for the group public.

    6328 Creating a database while the system is starting can result in a hang or a failure to create the database. Wait for the NPS system to be online before you create a database. Note that you can use the nzstate com-mand to determine the system state.

    6514 Running two reclaim operations simultaneously from the same directory can cause the nzreclaim logfile to be overwritten. To ensure that output log files for reclaim operations are valid, do not run more than one reclaim from the same directory.

    6699 Comparing numbers with string data types can produce unpredictable results. Use the to_number function to convert the string to a number, for example: where to_number(, '9999') > 20283-15 Rev.3 1-19

  • Netezza Performance Server Release Notes6734 Scalar expressions involving integer arithmetic may generate an unde-tected overflow. You can avoid this by using the cast function to cast one of the arguments to a larger-sized integer.Integer overflows are possible with the addition, subtraction, multiplica-tion, and division operators. When the NPS system performs one of these operations, the result is returned in an integer of the same size as the wider of the operator's two arguments.For example, when you add arguments of the type byteint and smallint, the result will be delivered in a smallint, the wider of those two types. If the data values being operated on might result in an overflow smallint, then casting one of the two arguments to the next larger-sized integer type will avoid the overflow.As background, the NPS system supports integer datatypes of four dif-ferent widths:

    byteint (or int1), an 8-bit integer

    smallint (or int2), a 16-bit integer

    integer (or int4), a 32-bit integer

    bigint (or int8), a 64-bit integer

    A sample scenario follows.

    A table named my_tbl contains column BI, which is a byteint. It also contains a column SI, which is a smallint. The following statement might result in integer overflow:select BI + SI from my_tbl;

    Avoid an overflow by casting either of the two arguments:select BI + cast ( SI as integer ) from my_tbl;

    Note: It is always sufficient to cast an argument to the next larger sized integer. You could choose to always cast to the widest integer size. In this example, you could cast SI to a bigint:

    select BI + cast ( SI as bigint ) from my_tbl;Excessive widening such as this is not necessary and could have an adverse affect on performance.

    8456 If a query is running concurrently with a reclaim, an nzstats show -type query command does not display the query. To display queries running concurrently with a reclaim operation, run the nzsession command.

    8842 When using the nzreclaim command with the -showSpuInfo and -scanOnly options, the resulting output includes a column labelled Reclaimed Size which should have been labelled Reclaimable Size. Because the -scanOnly option was selected, no space has been reclaimed. Statistics show only reclaimable space.

    Table 1-2: Known Issues (continued)

    Reference Issue/Description1-20 20283-15 Rev.3

  • Known Issues9323 When using the to_timestamp conversion function, which takes an input and a template string, the number of spaces in both strings must match. The following example uses the character ^ to represent a space.to_timestamp('2002-09-26^15:00:00','YYYY-MMDD^HH24:MI:SS')In the above example, the conversion function works as expected. In the following example, there is an extra space in the template string:to_timestamp('2002-09-26^15:00:00','YYYY-MMDD^^HH24:MI:SS')In this case, the extra space before the HH causes the function to ignore the 1 in the 15 string, thus returning an incorrect result.

    10205 The following are restrictions on the simultaneous use of an external table:

    Only one session can write to an external table at a time.

    Simultaneous writing and reading of an external table is not supported.

    Any number of users can read an external table at the same time. In the absence of a session currently writing to the external table, any number of readers are permitted.

    Note: The NPS system does not enforce these restrictions. It is up to the user and application code to abide by them. If you do concurrent or multiple inserts into an external table, the content of the file that stores the external table may contain partial or incomplete records.

    11754 The nzhostbackup command pauses the system before starting the backup and the nzhostrestore command stops the system before start-ing the restore.

    12007 The nz CLI commands are unable to detect a missing value for the -u option, unless it is the last option or you pass it as a quoted empty value (as in -u '' ).

    12289 Do not quote numbers in lists. When you place numbers in lists without quotes, the parser is able to associate the number with the correct datatype.

    12506 After a system crash, reclaim sessions can appear as Active even though they have been terminated.

    Table 1-2: Known Issues (continued)

    Reference Issue/Description20283-15 Rev.3 1-21

  • Netezza Performance Server Release Notes12621 UTF8: exists clauses with nchar class columns and UTF8 encoding result in equality operator errors. For example:

    select col1_nchar3 from join_utf8_1 where exists(select col2_nchar10 from join_utf8_2 wherecol2_nchar20 = col2_nvarchar5 and col2_nchar20 =col2_nvarchar15 ) order by col1_nchar3 DESC limit 100;

    The workaround is to use the cast function. For example:

    select col1_nchar3 from join_utf8_1 where exists(select col2_nchar10 from join_utf8_2 whereCAST(col2_nchar20 as nvarchar(20)) = col2_nvarchar5 andCAST(col2_nchar20 as nvarchar(20)) = col2_nvarchar15 )order by col1_nchar3 DESC limit 100;

    12666 SQL operations on a float column can yield inconsistent results if not used properly. The hashing of floating point data can result in certain SQL operations returning inconsistent results if not used correctly. Inconsistent results can occur if floating point columns are used as the distribution key, as a join column, or in group by, order by, and distinct select operations.Floating point columns should not be used for such operations.

    Note: A floating point column is a column defined in the CREATE state-ment with a datatype of FLOAT, DOUBLE, FLOAT4, or FLOAT8.

    12895 You must explicitly specify the tab delimiter in the nzsql create external table command.

    12965 Update statements involving very wide tables (over 200 columns) may take an unexpectedly long time in a query processing phase, which can-not be terminated.A work-around is to disable optimization for large queries. To do this, set the host.gencDiabKillOptMask host process variable to -1. Note that the system must be paused or offline.

    15628 If you attempt to reclaim a table where transactions are being rolled back, you will see an error message similar to the following. Try the reclaim again after waiting a short time.table is currently being recovered in /production/overnight/05030300nzv2_2/src/nde/acid/TXMgr.cpp at line 782

    15690 If you resume a block-level reclaim, the system may report 0 bytes recovered even though the reclaim was successful.

    15917 Through NzAdmin or nzsql, if a user who has the ALTER USER privilege renames a user who is currently connected to the NPS, the renamed user may observe the following when attempting to access a table:

    The NPS may respond that the table cannot be found.

    The NPS may report that the connection to the server was lost.

    Table 1-2: Known Issues (continued)

    Reference Issue/Description1-22 20283-15 Rev.3

  • Known Issues17311 The system treats time values without timezones as GMT times. An example follows: create table ttz (ttz timetz); (a time with timezone column)insert into ttz values (1:00); (a time value without a timezone)select * from ttz; (shows the value having timezone offset 0 (GMT))

    17442 For system efficiency, avoid using joins with external tables.

    1844618447

    Certain operations do not work on synonyms. For example, you cannot generate statistics on synonyms, nor can you truncate a synonym.

    19250, 19251, 19252

    The intention of a hostrestore operation (nzhostrestore) is to restore the system to the state it was in when you backed it up. If you intend to do a software upgrade, or make a change in configurable IP, make those changes after you restore the system. Otherwise, you may experience system inconsistencies.

    19743 Avoid setting the nzload -maxErrors switch to a number higher than 100000. Although there is no restriction as to what you can set -maxErrors to, a -maxErrors switch set too high can cause the system to create very large .nzlog and .nzbad files, which are then not returned to the client. In this case, if you cannot find .nzlog and .nzbad files on your client, you can find the very large files on the server.

    19891 Some joins involving the use of an external table will cause the follow-ing error:

    Error: 1000000161: query does not support complex External Table scan

    Note: In the example, the number displayed after the word ERROR is the internal table ID.

    You can load the data from the external table into a user table first and modify the query to use the new user table for the join query.

    Table 1-2: Known Issues (continued)

    Reference Issue/Description20283-15 Rev.3 1-23

  • Netezza Performance Server Release Notes20265 When you change the default case of the system between the time a database backup is made and the time it is restored, during restoration the system does not recreate the database views. For example:

    You backup a database that has views.

    You change the default case on the system.

    You restore the database to the system (whose default case has changed).

    Note that view creation fails, but the restore completes.

    You can find failed create view statements in the log file restoresvr.log.

    To avoid this issue, recreate your backups after changing the default case on your system. As a work-around, you can manually recreate views using the view definitions you find in restoresvr.log.Besides views, this same situation exists for permission grants (users, groups, and target objects). You can find failed statements signifying permission grants in restoresvr.log.

    20405 If you customize the IP configuration on an NPS 5200, and then reini-tialize the system, the system will delete the modified network.cfg file that you placed in the /nz/data/config directory. This negates your cus-tomized IP configuration.As a work-around, before you reinitialize, copy /nz/data/config/net-work.cfg to a location off of the /nz partition (for example, /tmp).

    Note: You copy this file in order to preserve the config IP changes. If you prefer, you can simply reapply the IP changes to the new network.cfg file.

    After you reinitialize:

    1. Restore network.cfg to its pre-update state.

    2. Restore /etc/xinetd.d/tftp to its pre-update state (reset the ONLY_FROM parameter).

    3. Issue the command: service nzbootpd restart

    4. Issue the command: service xinetd restart

    Table 1-2: Known Issues (continued)

    Reference Issue/Description1-24 20283-15 Rev.3

  • Known Issues20426, 20512

    The system creates the default nzlog and nzbad filenames by taking the table name and the database name, and appending .nzlog or .nzbad. Here are the formats:

    tablename.databasename.nzlogtablename.databasename.nzbad

    Since there is a filename limit of 255 characters, if you use an extremely long table and database name, you could exceed the filename limit. If you exceed the limit, the system returns an error message stat-ing that the file name is too long.You can avoid this issue by specifying a shorter name for your nzlog and nzbad files. You can also use the -lf option for the nzlog file, and the -bf option for nzbad, in order to specify names.

    20561 Inserting a USB thumb drive into the front USB port on an NPS host may cause system to freeze. The problem is more likely to occur in NPS systems that run releases prior to 4.0. To correct the problem, edit the /etc/grub.conf file and remove the acpi=off setting from the file, then reboot the host. This will re-enable the hot-plug usage of the front USB port.

    21171 Correlated subqueries are not supported in a SELECT column list.

    21207 Do not use CREATE EXTERNAL TABLE with the SAMEAS option to cre-ate a table that duplicates a system catalog, where the system catalog includes text datatype columns.

    21439 When you use a LIMIT clause with an external table, and the load option remotesource is set to odbc or jdbc, the load will succeed but the client may receive a communication link failure.

    21441,21922

    There is new behavior with respect to implicit type casting in order to bring the NPS in line with the SQL Standard. In comparisons between disparate datatypes, earlier NPS versions would sometimes incorrectly cast non-string types to strings. For example, in a comparison between an integer column and a string column, NPS might convert the integer to a string type for the compari-son. This was incorrect. Now, the string column will always be converted to an integer for such a comparison (and runtime conversion errors will occur if the string data cannot be converted to an integer value). Another example is a comparison between an integer column and a timestamp column. In the past, NPS might have converted both to strings for the comparison. This was incorrect. Now, NPS will give a syn-tax error on such a comparison. If this new behavior is not what you desire, you need to use explicitly cast operations to force the datatype conversions you need.

    Table 1-2: Known Issues (continued)

    Reference Issue/Description20283-15 Rev.3 1-25

  • Netezza Performance Server Release Notes21454 The default timeout value for transactions is five minutes. Under heavy load, the system may display an error having to do with too many trans-actions. You can change the default timeout by adjusting the setting for the parameter, serialization_queue_timeout, which appears in postgresql.conf.

    21643 When you negate an integer of a given integer type, the result is an inte-ger of the same type. There is an issue with negating the most negative values that Netezza supports. When you negate the most negative value that Netezza sup-ports for a given integer type, the result is the same negative value. For example, if col1 is a byteint and contains -128, the statement select -col1 will return -128 (an incorrect result).This issue applies to all four integer types: byteint, smallint, integer, and bigint.

    21698 Netezza does not currently support the HP-UX Itanium 32 bit driver with DataDirect DM.

    21746 Before installing the CLI package on an HP-UX Itanium client, you may need to set your SHLIB_PATH to include the directory containing:

    //lib/libstdc++.so.6

    21782 For an nzevent sysStateChanged event type, you can use the previ-ousState and currentState argument tags with any of the following system states:

    initializing, initialized, offlining, offliningNow,offline, offlineNow, online, restrictedOnline,pausing, pausingNow, paused, pausedNow, preOnline,preOnlining, resuming, restrictedResuming, stopping,stoppingNow, stopped, stoppedNow, syncing, synced,syncingNow, syncedNow, failingBack, failedBack,maintaining, maintain, recovering, recovered, down,unreachable, badState

    Note: The system states are case sensitive.

    21519 If a load is aborted due to a shared memory allocation issue, check to see that the shmall and shmmax settings in /etc/sysctl.conf are set cor-rectly. (The settings can vary based upon your system configuration.)

    23737 Reproducible crash in glibc memory management on Red Hat 4.0 sys-tems. Problem has been reported to Red Hat (118388) and will be fixed in a future Red Hat release update.

    Table 1-2: Known Issues (continued)

    Reference Issue/Description1-26 20283-15 Rev.3

  • Known Issues24793 In rare cases, a large number of schema objects could cause a backup or restore to fail with memory limitation problems. In such cases, you may need to adjust how you backup or restore your database. An exam-ple follows:You attempt to backup or restore a database that includes a large num-ber of columns (such as more than 520,000). You receive an error message that indicates a memory limitation.To avoid this limitation:

    For a database backup, segment your database into multiple data-bases, each with fewer than 520,000 table columns.

    For a database restore, perform a schema-only restore followed by two or more table-level restore operations.

    26887 If you upgrade a system to Release 4.5.x, and subsequently downgrade to the previous release, there will be duplicate events configured for the NPS system. Because the NPS cannot detect if the events were modi-fied in Release 4.5.x, the events are added to the pre-4.5.x system. You can remove the duplicate or stale events using the nzevent delete command.

    26925 If you use LDAP user authentication, note that LDAP server timeouts can impact the admin user account. If a Windows Server running Active Directory is in an in-between state (that is, it is up but it is not respond-ing to ping or it is slow to respond to requests) the NPS server may become unresponsive while waiting for the request to be answered or to timeout. No users will be able to authenticate during this time, includ-ing the admin account. Also nz* commands such as nzstate and nzsession could hang during this time. Active sessions will not be impacted. Once the authentication request has completed or the timeout value has been reached, the NPS server will respond normally.

    27054 When the number of active connectionsboth user connections and process connectionsreaches the limit defined by the max_connections postgresql.conf configuration setting, some system components may be unable to connect to the system database. When this occurs, the affected component may terminate and cause the sys-tem to shut down. As a best practice, plan the maximum number of simultaneous user connections as follows: use the value of max_connections and subtract twice the total number of simultaneous reclaims, loads, and backups that could run on the system. The result is the approximate maximum number of user connections. The maximum can vary at times based on the number of connections in use by reclaims, loads, backups, and pro-cesses such as rollbacks and aborts.

    Table 1-2: Known Issues (continued)

    Reference Issue/Description20283-15 Rev.3 1-27

  • Netezza Performance Server Release Notes40667 If you are installing the NPS CLI on a 64-bit Linux client, note that the NPS Linux Clients CD has a linux directory (which contains the NPS CLI commands) and a linux64 directory (which contains only the 64-bit ODBC driver). The top-level setup command installs the NPS CLI from the linux directory on either 32-bit or 64-bit Linux clients. If you change to the linux64 directory and run unpack, you install only the ODBC driver.

    40686 The ODBC and new OLE DB Provider setting Optimize for ASCII char-acter set impacts situations when binary data is passed in fields such as CHAR and VARCHAR types. If you are using ODBC or OLE DB and have such fields, enable the Optimize for ASCII driver setting.

    Note: If you use binary data in CHAR/VARCHAR fields and you also have Unicode characters in CHAR/VARCHAR fields, the same client cannot support both of those conditions.

    If you use a JDBC driver, binary data in CHAR/VARCHAR fields is han-dled correctly if you use a byte stream to return results. If you are using a string to return results, Java also interprets the binary values which can impact the data.

    41311 The nzsql command with a query in the -c option returns an error when a defined variable is referenced in the query string. For example, the following command returns an error:

    nzsql -d mydb -v ON_ERROR_STOP=true -v TBLNAME=${tablename} -A -t -c "Select count(*) from :TBLNAME;"ERROR: 'Select count(*) from :TBLNAME;' error ^ found ":" (at char 22) expecting an identifier found a keyword

    41328 Following an upgrade, the NzAdmin Backup History dialogs cannot dis-play logs for backups that occurred prior to the upgrade. The upgrade process compressed the log files in the /nz/kitOld location in a .gz file. The upgrade and backup history documentation will be revised to note this behavior in a future release.

    41764 In Release 4.5, the SystemHeatThresholdExceeded event does not trig-ger the power-down script when it detects three or more boards in a SPA operating above the 70-degree centigrade range. The event definition will be corrected in an upcoming service pack. As a workaround, you can correct this problem by running the following command on the NPS system: nzevent modify -name SystemHeatThresholdExceeded -eventArgsExpr '' -dst '$NZ_BIN_DIR/adm/nzpwrdown'After you run the nzAddNewHwRules script to add events, you must run this command to update the SystemHeatThresholdExceeded event.

    Table 1-2: Known Issues (continued)

    Reference Issue/Description1-28 20283-15 Rev.3

  • Known Issues42202 If your NPS system uses HP hosts, note that after an upgrade to Release 4.5 P-3 or later from a prior 4.0.x release, the HP Health Driv-ers may require a restart to ensure correct operation. To check the Health Driver operation, log in to the NPS system as root and run the following command:

    [root@npshost ~]# hplog -vIf the command returns error messages similar to the following:

    hpGetSemID() semget failed: No such file or directory hplog: Cannot open /dev/cdt. Wellness driver may not be installed. hpGetSemID() semget failed: No such file or directory hplog: Unable to open the /dev/cpqhealth/cevt file.

    You should restart the HP Health Drivers, as follows:

    [root@npshost ~]# service hpasm restart 42522 If you have an NPS system with the Red Hat 5.2 operating system and

    you plan to use LDAP authentication, there is a known issue in the /etc/ldap.conf file. Before you use the SET AUTHENTICATION com-mand to change from local to LDAP authentication, edit the /etc/ldap.conf file and comment out the following line:

    uri ldap://127.0.0.1/ Then, save the file and proceed with the LDAP configuration instruc-tions as documented in the NPS System Administrators Guide.

    42651 The nzupgrade process may be left in an incomplete state if the user session terminates while the upgrade is in progress.

    42568 The nzconvertsyscase command does not change the case of unquoted objects in query history configurations. If you have created query history configurations, and you change the letter casing of the NPS system, you must recreate the query history configurations to use the correct casing for database and user names.

    42750 LDAP with SSL cannot be used on Red Hat 5.2 hosts. This support will be added in a future patch release.

    43084 For the new Linux-HA cluster solution, the crm commands could return this message when they are run on the last day of the month:

    ERROR: crm_abort: ha_set_tm_time: Triggered non-fatalassert at iso8601.c:879 : rhs->tm_mday < 0 || lhs->days== rhs->tm_mday

    resource nps is running on: hostnameThis message is a known issue for the Linux clustering software reported on the Linux software forums. The message is benign and can be ignored.

    Table 1-2: Known Issues (continued)

    Reference Issue/Description20283-15 Rev.3 1-29

  • Netezza Performance Server Release Notes44705 The nzupgrade check process does not check the flash revisions on the SPUs or SFIs, although the upgrade guide states otherwise.

    45097 If you run a REFTABLE stored procedure using nzsql and you use exec, call, execute, or execute procedure to call the procedure -- and it returns a large result -- the command could run out of memory and return a segmentation fault error. As a workaround, use select to exe-cute the procedure as follows: select my_proc();

    45183 Query history can sometimes cause the nzupgrade command to hang with the message Journal recovery in progress. This message indi-cates that data is being loaded into the history database, and the command is waiting for the load to complete. This problem usually occurs in testing environments where the load intervals and thresholds are set very low. These settings allow users to load the recent query history into the database on an almost continuous basis for immediate querying of the history data. Such low settings are not recommended for or used in production environments. If you encounter this upgrade problem, you can correct the problem by disabling history collection and then restarting the NPS software before you upgrade. For more information about disabling query history collec-tion, as well as for the recommended settings for the loading intervals, see the NPS System Administrators Guide.

    45302 Run GENERATE STATISTICS on your query history database periodi-cally to improve query performance for the database. You should run GENERATE STATISTICS on the history database if you notice that his-tory queries are running slower than expected or after the database contents change significantly.

    46373 In Release 4.6.x, a GENERATE [EXPRESS] STATISTICS operation can result in missing dispersion values and possibly a DBOS reset for large tables such as those that have more than 790 columns and more than JIT_DISP_MIN_ROWS, which defaults to 500 million rows. Before you generate statistics on such tables, set the following runtime parameter in your SQL session:

    SET ENABLE_JIT_DISPERSION = FALSE;This setting causes the command to use the Release 4.5.x behavior which limits the number of columns evaluated for statistics.

    49062 The nzload command does not display an error if an invalid value is specified for the securityLevel option; instead, it connects with the default value of preferredUnSecured and proceeds with the loading process.

    Table 1-2: Known Issues (continued)

    Reference Issue/Description1-30 20283-15 Rev.3

  • Customer Bugs Fixed in This ReleaseCustomer Bugs Fixed in This Release

    Table 1-3 lists the customer-reported bugs that were fixed or closed in Release 4.6.

    Table 1-3: Customer-Reported Bugs Fixed in Release 4.6

    Number Summary

    13795 Fixes an issue where nzreclaim shows incorrect reclaimable space for -scanBlocks option.

    13966 The NPS now supports DMONY format in loads and external tables.

    17564 Improves plans created for master-detail fact join with snowflake time-frame constraint.

    18047 Adds support for DISTINCT option on SQL window aggregate functions.

    19544 Adds support for access to the session_id of a user's session via NZSQL.

    19576, 24116

    Improves support for large range frame window aggregates.

    20420 Adds documentation that describes how to allow non-admin users to run GENERATE STATISTICS on a database.

    21059, 22765, 23011, 23430, 23582, 27060, 42895, 43026, 43615

    Improves the estimates for JIT statistics and zone map aware join planning.

    21504, 23624, 24706, 26075, 26482, 29104, 40872

    Improves the performance of UNION ALL queries by optimizing the select-list of an inner subquery.

    21569 Adds support for a switch to disable cross-join queries on a per-user or a per-group basis.

    21905 Adds integration support for backups and restores to IBM Tivoli Storage Manager.

    22420, 23864

    Improves performance for queries using join aware zone maps; removes the restriction of 1000 row limits and improves memory utilization for these queries. 20283-15 Rev.3 1-31

  • Netezza Performance Server Release Notes22839 Improves scan performance for large tables with cascading zone maps.

    24203 Fixes an issue where values in the _v_sched_gra table can sometimes be greater than 100%.

    24474 The scan options used by nzreclaim (-scanBlocks and -scanRecords) no longer lock the target table during the table scan.

    25017 For operations on groups such as drops and permission changes, the NPS now locks the group on the first command to ensure that later commands do not undo changes from the first.

    25064 Fixes an issue where date literals return an incorrect string datatype using ODBC.

    25076 Adds support for a fully qualified table name in the -t option of nzload.

    25539 Improves the error message for situations when users provide invalid pass-words to SQL Server using ODBC.

    25679 Fixes an issue with outer join processing in generated code.

    25953 Fixes an issue where host channels were not being released from pro-cessing, resulting in host channel limit errors.

    25974 An external table unload now includes the seconds component even if it is se to 00.

    26007 The client manger no longer uses a 20-second fixed timeout value for authentication. Instead the timeout value given by the user on the com-mand prompt (with the -timeout switch) is used.

    26513 Fixes a problem where cached username, database, and password resulted in inability to connect to database using nzsql. To fix this, the behavior of nzsql for "\c" is now modified as follows:

    If NZ_USER is the same as the current user, use the user and pass-word in the connection object.

    If a user enters a "\c" command and the NZ_USER is different than the current user, use NZ_PASSWORD if available, if not read the password from the encrypted file. If not found in the encrypted file, prompt for a password.

    26610 Improves error checking to ensure that if a user specifies the same char-acter for the delimiter, escape, and nullvalue options, the external table operation will return an error.

    26635 Improves the performance of incremental database backups by using zone maps to reduce scan times.

    Table 1-3: Customer-Reported Bugs Fixed in Release 4.6

    Number Summary1-32 20283-15 Rev.3

  • Customer Bugs Fixed in This Release26642 Adds support to nzsession and NzAdmin to show transactions that would block a synchronization state change, or that would be terminated by a synchronize now state change.

    26740 Adds blocking transaction to 'could not serialize error' for explicit transactions.

    26812 Fixes an issue where nztmpwatch deleted logfiles that were more than 30 days old but that were being accessed frequently.

    26870 Fixes an issue where the admin user and non-admin user received differ-ent error messages for the same SQL error. Errors are now identical.

    26911 The nzsql command now returns the error No such file or directory if the file specified by the -f option does not exist.

    26972 Fixes a problem where an insert fails with "ERROR: Function 'BPCHAR(UNKNOWN)' does not exist" message for string literals selected in subqueries and being inserted into char fields (not varchar).

    27012 Improves optimizer estimates and plans in cases where a restriction is an equality operator against a parameter.

    27013, 27015, 40291, 43017

    Improves the resulting plans for queries with improved dispersion calculations.

    27035 Fixes an issue where NPS returns wrong nullability constraints for outer joins having DISTINCT clause (group operation).

    27153 Fixes an issue where nzstats reported the wrong number of days of uptime following a system date change.

    27194 Improves top-n sorting algorithms to improve performance of external tables with LIMIT and ORDER BY.

    27269 Adds a configuration setting named enable_random_table_distribute which, if set, causes the NPS system to use a RANDOM (round robin) dis-tribution if the user does not specify a distribution for a table.

    27272 Sets the sort operator appropriately while casting constants to system table column type (that is, NAME, TEXT, OID & ABSTIME).

    27311 Adds the ability for users to abort sessions from within nzsql using SES-SION SQL commands.

    Table 1-3: Customer-Reported Bugs Fixed in Release 4.6

    Number Summary20283-15 Rev.3 1-33

  • Netezza Performance Server Release Notes27314 Fixes an issue where errors occurred when Embarcadero RapidSQL que-ries requested results as a NUMERIC data type, but the source was a BIGINT data type. This fix