This is an old revision of the document!
SQLines provides tools and services to help you transfer data, convert database schema (DDL), views, stored procedures, functions, triggers, queries and SQL scripts from Sybase Adaptive Server Enterprise (Sybase ASE) to PostgreSQL.
We also help convert embedded SQL statements in C/C++ (ODBC, ESQL/C, CTLIB), C#, Java, PowerBuilder, VB/VB.NET, ASP/ASP.NET and Perl/PHP applications.
SQLines tools to help you migrate from Sybase ASE to PostgreSQL:
SQLines SQL Converter tool allows you to convert database schema (DDL), queries and DML statements, views, stored procedures, functions and triggers from Sybase ASE to PostgreSQL.
SQLines tool converts SQL scripts and standalone SQL statements. To migrate data and database schema from a Sybase database use SQLines Data tool.
SQLines tool is available in Online and Desktop editions:
Online Edition | Desktop Edition | ||
Conversion Features | |||
DDL - Tables and Indexes | |||
Queries, Views and DML Statements | |||
Stored Procedures, Functions and Triggers | |||
Interfaces | |||
GUI | |||
Command Line | n/a | ||
API | n/a | ||
Platforms | |||
Windows 32-bit | Hosted | ||
Linux x86 32-bit | Hosted | ||
Licensing and Support | |||
Technical Support | |||
Price | Purchase |
Try SQLines Online or download a Trial Version.
Technical information on migration from Sybase ASE to PostgreSQL:
Last Update: Sybase Adaptive Server Enterprise 15.0 and PostgreSQL 9.4
Converting SQL language elements:
Sybase ASE | PostgreSQL | |||
1 | string1 + string2 | String concatenation | string1 || string2 |
Converting data types:
Converting built-in SQL functions from Sybase ASE to PostgreSQL:
Sybase ASE | PostgreSQL | ||
1 | CHAR_LENGTH(string) | Number of characters in string | CHAR_LENGTH(string) |
2 | CHARINDEX(substring, string) | Get substring position in string | POSITION(substring IN string) |
3 | CONVERT(CHAR | VARCHAR, exp) | Convert to string | TO_CHAR(exp) |
4 | DATEADD(dd, int, datetime) | Add days to datetime | datetime + INTERVAL 'int DAY' |
DATEADD(dd, exp, datetime) | datetime + exp * INTERVAL '1 DAY' | ||
5 | GETDATE() | Get the current date and time | NOW() |
6 | SUBSTRING(string, start, length) | Return substring | SUBSTRING(string, start, length) |
Converting stored procedures from Sybase ASE to PostgreSQL:
Sybase ASE | PostgreSQL | ||
1 | CREATE PROCEDURE name | CREATE OR REPLACE FUNCTION name | |
2 | If RETURN is not specified | RETURNS VOID is added | |
3 | AS | Changed AS $$ | |
4 | Declarations inside BEGIN block | DECLARE block is between AS and BEGIN clauses | |
5 | END | End of procedure block | END; $$ LANGUAGE plpgsql; |
Converting procedural Transact-SQL statements used in stored procedures, functions and triggers from Sybase ASE to PostgreSQL:
Variable declaration and assignment:
Sybase ASE | PostgreSQL | ||
1 | DECLARE @var [AS] datatype(len) [= default] | Variable declaration | var datatype(len) [:= default]; |
Flow-of-control statements:
Sybase ASE | PostgreSQL | ||
1 | IF condition BEGIN … END | IF statement | IF condition THEN … END IF; |
2 | WHILE condition BEGIN … END | WHILE loop | WHILE condition LOOP … END LOOP; |
Cursors operations and attributes:
Sybase ASE | PostgreSQL | ||
1 | CLOSE cur DEALLOCATE [CURSOR] cur | Close a cursor | CLOSE cur; |
2 | @@SQLSTATUS = 0 | Fetch was successful | FOUND |
Converting system stored procedures from Sybase ASE to PostgreSQL:
Sybase ASE | PostgreSQL | ||
1 | sp_addtype name, "basetype(len)", "not null" | Create a user-defined type | CREATE DOMAIN name AS basetype(len) NOT NULL |
2 | sp_bindrule name, "table.column" | Assign a rule to a table column | ALTER TABLE table ADD CHECK rule_condition |
Converting SQL statements from Sybase ASE to PostgreSQL:
Sybase ASE | PostgreSQL | ||
1 | CREATE RULE name AS condition | Create a domain of acceptable values | Converted to a CHECK constraint |