Problem Note 66466: Incorrect data might be inserted into a PostgreSQL table when you use the BULKLOAD option
A SAS data set that contains character data with one or more backslash (\) characters and 8-bit characters might be inserted incorrectly into a PostgreSQL table when you use bulk-load functionality. This issue happens when you run SAS with single-byte encoding such as Latin1.
For example, when you run the following code, a character variable that contains ÅBCDE\F\G is incorrectly inserted into the PostgreSQL table as ÅBCDEFFGG:
data test_bulkload;
length str $256 ;
str='ÅBCDE\F\G';
run;
libname pglib postgres server="mypg.server.com" user=myuser password=mypasswd database=db port=5432;
proc append force
base=PGLIB.test_bulkload (BULKLOAD=YES BL_DELIMITER=',' BL_ESCAPE=ON BL_PSQL_PATH='/sashome/SASWebInfrastructurePlatformDataServer/9.4/bin/psql')
data=test_bulkload;
run;
You can circumvent the problem by running SAS with UTF-8 encoding or setting BULKLOAD=NO.
Click the Hot Fix tab in this note to access the hot fix for this issue.
Operating System and Release Information
SAS System | SAS/ACCESS Interface to PostgreSQL | Microsoft® Windows® for x64 | 9.4 TS1M6 | 9.4 TS1M7 |
Microsoft Windows 8 Enterprise 32-bit | 9.4 TS1M6 | 9.4 TS1M7 |
Microsoft Windows 8 Enterprise x64 | 9.4 TS1M6 | 9.4 TS1M7 |
Microsoft Windows 8 Pro 32-bit | 9.4 TS1M6 | 9.4 TS1M7 |
Microsoft Windows 8 Pro x64 | 9.4 TS1M6 | 9.4 TS1M7 |
Microsoft Windows 8.1 Enterprise 32-bit | 9.4 TS1M6 | 9.4 TS1M7 |
Microsoft Windows 8.1 Enterprise x64 | 9.4 TS1M6 | 9.4 TS1M7 |
Microsoft Windows 8.1 Pro 32-bit | 9.4 TS1M6 | 9.4 TS1M7 |
Microsoft Windows 8.1 Pro x64 | 9.4 TS1M6 | 9.4 TS1M7 |
Microsoft Windows 10 | 9.4 TS1M6 | 9.4 TS1M7 |
Microsoft Windows Server 2012 Datacenter | 9.4 TS1M6 | 9.4 TS1M7 |
Microsoft Windows Server 2012 R2 Datacenter | 9.4 TS1M6 | 9.4 TS1M7 |
Microsoft Windows Server 2012 R2 Std | 9.4 TS1M6 | 9.4 TS1M7 |
Microsoft Windows Server 2012 Std | 9.4 TS1M6 | 9.4 TS1M7 |
Microsoft Windows Server 2016 | 9.4 TS1M6 | 9.4 TS1M7 |
Microsoft Windows Server 2019 | 9.4 TS1M6 | 9.4 TS1M7 |
Windows 7 Enterprise 32 bit | 9.4 TS1M6 | 9.4 TS1M7 |
Windows 7 Enterprise x64 | 9.4 TS1M6 | 9.4 TS1M7 |
Windows 7 Home Premium 32 bit | 9.4 TS1M6 | 9.4 TS1M7 |
Windows 7 Home Premium x64 | 9.4 TS1M6 | 9.4 TS1M7 |
Windows 7 Professional 32 bit | 9.4 TS1M6 | 9.4 TS1M7 |
Windows 7 Professional x64 | 9.4 TS1M6 | 9.4 TS1M7 |
Windows 7 Ultimate 32 bit | 9.4 TS1M6 | 9.4 TS1M7 |
Windows 7 Ultimate x64 | 9.4 TS1M6 | 9.4 TS1M7 |
64-bit Enabled AIX | 9.4 TS1M6 | 9.4 TS1M7 |
64-bit Enabled Solaris | 9.4 TS1M6 | 9.4 TS1M7 |
HP-UX IPF | 9.4 TS1M6 | 9.4 TS1M7 |
Linux for x64 | 9.4 TS1M6 | 9.4 TS1M7 |
Solaris for x64 | 9.4 TS1M6 | 9.4 TS1M7 |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
A SAS data set that contains string data with one or more backslash (\) characters and 8-bit characters might be inserted incorrectly into PostgreSQL when you use bulk-load functionality.
Type: | Problem Note |
Priority: | medium |
Date Modified: | 2020-09-17 10:36:46 |
Date Created: | 2020-08-12 10:24:34 |