Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
84 | Andrea | 1 | |
2 | #################### Ora2Pg Configuration file ##################### |
||
3 | |||
4 | # Support for including a common config file that may contain any |
||
5 | # of the following configuration directives. |
||
6 | #IMPORT common.conf |
||
7 | |||
8 | #------------------------------------------------------------------------------ |
||
9 | # INPUT SECTION (Oracle connection or input file) |
||
10 | #------------------------------------------------------------------------------ |
||
11 | |||
12 | # Set this directive to a file containing PL/SQL Oracle Code like function, |
||
13 | # procedure or a full package body to prevent Ora2Pg from connecting to an |
||
14 | # Oracle database end just apply his conversion tool to the content of the |
||
15 | # file. This can only be used with the following export type: PROCEDURE, |
||
16 | # FUNCTION or PACKAGE. If you don't know what you do don't use this directive. |
||
17 | #INPUT_FILE ora_plsql_src.sql |
||
18 | |||
19 | # Set the Oracle home directory |
||
20 | ORACLE_HOME /usr/lib/oracle/11.2/client64 |
||
21 | |||
22 | # Set Oracle database connection (datasource, user, password) |
||
23 | ORACLE_DSN dbi:Oracle:host=172.25.102.41;sid=sigmater |
||
24 | ORACLE_USER dbti313 |
||
25 | ORACLE_PWD sysdbti |
||
26 | |||
27 | # Set this to 1 if you connect as simple user and can not extract things |
||
28 | # from the DBA_... tables. It will use tables ALL_... This will not works |
||
29 | # with GRANT export, you should use an Oracle DBA username at ORACLE_USER |
||
30 | USER_GRANTS 0 |
||
31 | |||
32 | # Trace all to stderr |
||
33 | DEBUG 0 |
||
34 | |||
35 | # This directive can be used to send an initial command to Oracle, just after |
||
36 | # the connection. For example to unlock a policy before reading objects. |
||
37 | ORA_INITIAL_COMMAND |
||
38 | |||
39 | |||
40 | #------------------------------------------------------------------------------ |
||
41 | # SCHEMA SECTION (Oracle schema to export and use of schema in PostgreSQL) |
||
42 | #------------------------------------------------------------------------------ |
||
43 | |||
44 | # Export Oracle schema to PostgreSQL schema |
||
45 | EXPORT_SCHEMA 0 |
||
46 | |||
47 | # Oracle schema/owner to use |
||
48 | SCHEMA DBTI313 |
||
49 | |||
50 | # Enable/disable the CREATE SCHEMA SQL order at starting of the output file. |
||
51 | # It is enable by default and concern on TABLE export type. |
||
52 | CREATE_SCHEMA 0 |
||
53 | |||
54 | # Enable this directive to force Oracle to compile schema before exporting code. |
||
55 | # This will ask to Oracle to validate the PL/SQL that could have been invalidate |
||
56 | # after a export/import for example. If the value is 1 ora2pg will execute: |
||
57 | # DBMS_UTILITY.compile_schema(schema => sys_context('USERENV', 'SESSION_USER')); |
||
58 | # but if you provide the name of a particular schema it will use the following |
||
59 | # command: DBMS_UTILITY.compile_schema(schema => 'schemaname'); |
||
60 | COMPILE_SCHEMA 0 |
||
61 | |||
62 | # PostreSQL search path schema to use. Can be a comma delimited list, |
||
63 | # for example: users_schema,public will result in the following PostgreSQL |
||
64 | # schema path: SET search_path = users_schema,public; |
||
65 | # The default is the value defined for the connection user in PostgreSQL. |
||
66 | #PG_SCHEMA |
||
67 | PG_SCHEMA dbti |
||
68 | |||
69 | # Use this directive to add a specific schema to the search path to look |
||
70 | # for PostGis functions. |
||
71 | #POSTGIS_SCHEMA |
||
72 | |||
73 | # Allow to add a comma separated list of system user to exclude from |
||
74 | # from Oracle extraction. Oracle have many of them following the modules |
||
75 | # installed. By default it will suppress all object owned by the following |
||
76 | # system users: |
||
77 | # CTXSYS,DBSNMP,EXFSYS,LBACSYS,MDSYS,MGMT_VIEW,OLAPSYS,ORDDATA,OWBSYS, |
||
78 | # ORDPLUGINS,ORDSYS,OUTLN,SI_INFORMTN_SCHEMA,SYS,SYSMAN,SYSTEM,WK_TEST, |
||
79 | # WKSYS,WKPROXY,WMSYS,XDB,APEX_PUBLIC_USER,DIP,FLOWS_020100,FLOWS_030000, |
||
80 | # FLOWS_040100,FLOWS_FILES,MDDATA,ORACLE_OCM,SPATIAL_CSW_ADMIN_USR, |
||
81 | # SPATIAL_WFS_ADMIN_USR,XS$NULL,PERFSTAT,SQLTXPLAIN,DMSYS,TSMSYS,WKSYS, |
||
82 | # APEX_040200,DVSYS,OJVMSYS,GSMADMIN_INTERNAL,APPQOSSYS |
||
83 | # Other list of users set to this directive will be added to this list. |
||
84 | #SYSUSERS OE,HR |
||
85 | |||
86 | |||
87 | #------------------------------------------------------------------------------ |
||
88 | # ENCODING SECTION (Define client encoding at Oracle and PostgreSQL side) |
||
89 | #------------------------------------------------------------------------------ |
||
90 | |||
91 | # Enforce default language setting following the Oracle database encoding. This |
||
92 | # may be used with multibyte characters like UTF8. Here are the default values |
||
93 | # used by Ora2Pg, you may not change them unless you have problem with this |
||
94 | # encoding. This will set $ENV{NLS_LANG} to the given value. |
||
95 | #NLS_LANG AMERICAN_AMERICA.AL32UTF8 |
||
96 | # This will set $ENV{NLS_NCHAR} to the given value. |
||
97 | #NLS_NCHAR AL32UTF8 |
||
98 | |||
99 | # By default PostgreSQL client encoding is automatically set to UTF8 to avoid |
||
100 | # encoding issue. If you have changed the value of NLS_LANG you might have to |
||
101 | # change the encoding of the PostgreSQL client. |
||
102 | #CLIENT_ENCODING UTF8 |
||
103 | |||
104 | |||
105 | #------------------------------------------------------------------------------ |
||
106 | # EXPORT SECTION (Export type and filters) |
||
107 | #------------------------------------------------------------------------------ |
||
108 | |||
109 | # Type of export. Values can be the following keyword: |
||
110 | # TABLE Export tables, constraints, indexes, ... |
||
111 | # PACKAGE Export packages |
||
112 | # INSERT Export data from table as INSERT statement |
||
113 | # COPY Export data from table as COPY statement |
||
114 | # VIEW Export views |
||
115 | # GRANT Export grants |
||
116 | # SEQUENCE Export sequences |
||
117 | # TRIGGER Export triggers |
||
118 | # FUNCTION Export functions |
||
119 | # PROCEDURE Export procedures |
||
120 | # TABLESPACE Export tablespace (PostgreSQL >= 8 only) |
||
121 | # TYPE Export user defined Oracle types |
||
122 | # PARTITION Export range or list partition (PostgreSQL >= v8.4) |
||
123 | # FDW Export table as foreign data wrapper tables |
||
124 | # MVIEW Export materialized view as snapshot refresh view |
||
125 | # QUERY Convert Oracle SQL queries from a file. |
||
126 | # KETTLE Generate XML ktr template files to be used by Kettle. |
||
127 | |||
128 | #TYPE FUNCTION, PROCEDURE, TRIGGER, PACKAGE |
||
129 | TYPE COPY |
||
130 | |||
131 | # Set this to 1 if you don't want to export comments associated to tables and |
||
132 | # column definitions. Default is enabled. |
||
133 | DISABLE_COMMENT 0 |
||
134 | |||
135 | # Set which object to export from. By default Ora2Pg export all objects. |
||
136 | # Value must be a list of object name or regex separated by space. Note |
||
137 | # that regex will not works with 8i database, use % placeholder instead |
||
138 | # Ora2Pg will use the LIKE operator. There is also some extended use of |
||
139 | # this directive, see chapter "Limiting object to export" in documentation. |
||
140 | #ALLOW TABLE_TEST |
||
141 | ALLOW S3_CN06T_COD_TIPO_NOTA, S3_CN05T_COD_ESITO_NOTA_NONREG |
||
142 | |||
143 | # Set which object to exclude from export process. By default none. Value |
||
144 | # must be a list of object name or regexp separated by space. Note that regex |
||
145 | # will not works with 8i database, use % placeholder instead Ora2Pg will use |
||
146 | # the NOT LIKE operator. There is also some extended use of this directive, |
||
147 | # see chapter "Limiting object to export" in documentation. |
||
148 | #EXCLUDE OTHER_TABLES |
||
149 | |||
150 | # Set which view to export as table. By default none. Value must be a list of |
||
151 | # view name or regexp separated by space. If the object name is a view and the |
||
152 | # export type is TABLE, the view will be exported as a create table statement. |
||
153 | # If export type is COPY or INSERT, the corresponding data will be exported. |
||
154 | #VIEW_AS_TABLE VIEW_NAME |
||
155 | |||
156 | # When exporting GRANTs you can specify a comma separated list of objects |
||
157 | # for which privilege will be exported. Default is export for all objects. |
||
158 | # Here are the possibles values TABLE, VIEW, MATERIALIZED VIEW, SEQUENCE, |
||
159 | # PROCEDURE, FUNCTION, PACKAGE BODY, TYPE, SYNONYM, DIRECTORY. Only one object |
||
160 | # type is allowed at a time. For example set it to TABLE if you just want to |
||
161 | # export privilege on tables. You can use the -g option to overwrite it. |
||
162 | # When used this directive prevent the export of users unless it is set to |
||
163 | # USER. In this case only users definitions are exported. |
||
164 | #GRANT_OBJECT TABLE |
||
165 | |||
166 | # By default Ora2Pg will export your external table as file_fdw tables. If |
||
167 | # you don't want to export those tables at all, set the directive to 0. |
||
168 | EXTERNAL_TO_FDW 0 |
||
169 | |||
170 | # Add a TRUNCATE TABLE instruction before loading data on COPY and INSERT |
||
171 | # export. When activated, the instruction will be added only if there's no |
||
172 | # global DELETE clause or one specific to the current table (see bellow). |
||
173 | TRUNCATE_TABLE 0 |
||
174 | |||
175 | # Support for include a DELETE FROM ... WHERE clause filter before importing |
||
176 | # data and perform a delete of some lines instead of truncatinf tables. |
||
177 | # Value is construct as follow: TABLE_NAME[DELETE_WHERE_CLAUSE], or |
||
178 | # if you have only one where clause for all tables just put the delete |
||
179 | # clause as single value. Both are possible too. Here are some examples: |
||
180 | #DELETE 1=1 # Apply to all tables and delete all tuples |
||
181 | #DELETE TABLE_TEST[ID1='001'] # Apply only on table TABLE_TEST |
||
182 | #DELETE TABLE_TEST[ID1='001' OR ID1='002] DATE_CREATE > '2001-01-01' TABLE_INFO[NAME='test'] |
||
183 | # The last applies two different delete where clause on tables TABLE_TEST and |
||
184 | # TABLE_INFO and a generic delete where clause on DATE_CREATE to all other tables. |
||
185 | # If TRUNCATE_TABLE is enabled it will be applied to all tables not covered by |
||
186 | # the DELETE definition. |
||
187 | |||
188 | # When enabled this directive forces ora2pg to export all tables, index |
||
189 | # constraints, and indexes using the tablespace name defined in Oracle database. |
||
190 | # This works only with tablespaces that are not TEMP, USERS and SYSTEM. |
||
191 | USE_TABLESPACE 0 |
||
192 | |||
193 | # Enable this directive to reorder columns and minimized the footprint |
||
194 | # on disk, so that more rows fit on a data page, which is the most important |
||
195 | # factor for speed. Default is same order than in Oracle table definition, |
||
196 | # that should be enough for most usage. |
||
197 | REORDERING_COLUMNS 0 |
||
198 | |||
199 | # Support for include a WHERE clause filter when dumping the contents |
||
200 | # of tables. Value is construct as follow: TABLE_NAME[WHERE_CLAUSE], or |
||
201 | # if you have only one where clause for each table just put the where |
||
202 | # clause as value. Both are possible too. Here are some examples: |
||
203 | #WHERE 1=1 # Apply to all tables |
||
204 | #WHERE TABLE_TEST[ID1='001'] # Apply only on table TABLE_TEST |
||
205 | #WHERE TABLE_TEST[ID1='001' OR ID1='002] DATE_CREATE > '2001-01-01' TABLE_INFO[NAME='test'] |
||
206 | # The last applies two different where clause on tables TABLE_TEST and |
||
207 | # TABLE_INFO and a generic where clause on DATE_CREATE to all other tables |
||
208 | |||
209 | # Sometime you may want to extract data from an Oracle table but you need a |
||
210 | # a custom query for that. Not just a "SELECT * FROM table" like Ora2Pg does |
||
211 | # but a more complex query. This directive allows you to override the query |
||
212 | # used by Ora2Pg to extract data. The format is TABLENAME[SQL_QUERY]. |
||
213 | # If you have multiple tables to extract by replacing the Ora2Pg query, you can |
||
214 | # define multiple REPLACE_QUERY lines. |
||
215 | #REPLACE_QUERY EMPLOYEES[SELECT e.id,e.fisrtname,lastname FROM EMPLOYEES e JOIN EMP_UPDT u ON (e.id=u.id AND u.cdate>'2014-08-01 00:00:00')] |
||
216 | |||
217 | #------------------------------------------------------------------------------ |
||
218 | # FULL TEXT SEARCH SECTION (Control full text search export behaviors) |
||
219 | #------------------------------------------------------------------------------ |
||
220 | |||
221 | # Force Ora2Pg to translate Oracle Text indexes into PostgreSQL indexes using |
||
222 | # pg_trgm extension. Default is to translate CONTEXT indexes into FTS indexes |
||
223 | # and CTXCAT indexes using pg_trgm. Most of the time using pg_trgm is enough, |
||
224 | # this is why this directive stand for. |
||
225 | # |
||
226 | CONTEXT_AS_TRGM 0 |
||
227 | |||
228 | # By default Ora2Pg creates a function-based index to translate Oracle Text |
||
229 | # indexes. |
||
230 | # CREATE INDEX ON t_document |
||
231 | # USING gin(to_tsvector('french', title)); |
||
232 | # You will have to rewrite the CONTAIN() clause using to_tsvector(), example: |
||
233 | # SELECT id,title FROM t_document |
||
234 | # WHERE to_tsvector(title)) @@ to_tsquery('search_word'); |
||
235 | # |
||
236 | # To force Ora2Pg to create an extra tsvector column with a dedicated triggers |
||
237 | # for FTS indexes, disable this directive. In this case, Ora2Pg will add the |
||
238 | # column as follow: ALTER TABLE t_document ADD COLUMN tsv_title tsvector; |
||
239 | # Then update the column to compute FTS vectors if data have been loaded before |
||
240 | # UPDATE t_document SET tsv_title = |
||
241 | # to_tsvector('french', coalesce(title,'')); |
||
242 | # To automatically update the column when a modification in the title column |
||
243 | # appears, Ora2Pg adds the following trigger: |
||
244 | # |
||
245 | # CREATE FUNCTION tsv_t_document_title() RETURNS trigger AS $$ |
||
246 | # BEGIN |
||
247 | # IF TG_OP = 'INSERT' OR new.title != old.title THEN |
||
248 | # new.tsv_title := |
||
249 | # to_tsvector('french', coalesce(new.title,'')); |
||
250 | # END IF; |
||
251 | # return new; |
||
252 | # END |
||
253 | # $$ LANGUAGE plpgsql; |
||
254 | # CREATE TRIGGER trig_tsv_t_document_title BEFORE INSERT OR UPDATE |
||
255 | # ON t_document |
||
256 | # FOR EACH ROW EXECUTE PROCEDURE tsv_t_document_title(); |
||
257 | # |
||
258 | # When the Oracle text index is defined over multiple column, Ora2Pg will use |
||
259 | # setweight() to set a weight in the order of the column declaration. |
||
260 | # |
||
261 | FTS_INDEX_ONLY 1 |
||
262 | |||
263 | # Use this directive to force text search configuration to use. When it is not |
||
264 | # set, Ora2Pg will autodetect the stemmer used by Oracle for each index and |
||
265 | # pg_catalog.english if nothing is found. |
||
266 | # |
||
267 | #FTS_CONFIG pg_catalog.french |
||
268 | |||
269 | # If you want to perform your text search in an accent insensitive way, enable |
||
270 | # this directive. Ora2Pg will create an helper function over unaccent() and |
||
271 | # creates the pg_trgm indexes using this function. With FTS Ora2Pg will |
||
272 | # redefine your text search configuration, for example: |
||
273 | # |
||
274 | # CREATE TEXT SEARCH CONFIGURATION fr (COPY = pg_catalog.french); |
||
275 | # ALTER TEXT SEARCH CONFIGURATION fr |
||
276 | # ALTER MAPPING FOR hword, hword_part, word WITH unaccent, french_stem; |
||
277 | # |
||
278 | # When enabled, Ora2pg will create the wrapper function: |
||
279 | # |
||
280 | # CREATE OR REPLACE FUNCTION unaccent_immutable(text) |
||
281 | # RETURNS text AS |
||
282 | # $$ |
||
283 | # SELECT public.unaccent('public.unaccent', ) |
||
284 | # $$ LANGUAGE sql IMMUTABLE |
||
285 | # COST 1; |
||
286 | # |
||
287 | # indexes are exported as follow: |
||
288 | # |
||
289 | # CREATE INDEX t_document_title_unaccent_trgm_idx ON t_document |
||
290 | # USING gin (unaccent_immutable(title) gin_trgm_ops); |
||
291 | # |
||
292 | # In your queries you will need to use the same function in the search to |
||
293 | # be able to use the function-based index. Example: |
||
294 | # |
||
295 | # SELECT * FROM t_document |
||
296 | # WHERE unaccent_immutable(title) LIKE '%donnees%'; |
||
297 | # |
||
298 | USE_UNACCENT 0 |
||
299 | |||
300 | # Same as above but call lower() in the unaccent_immutable() function: |
||
301 | # |
||
302 | # CREATE OR REPLACE FUNCTION unaccent_immutable(text) |
||
303 | # RETURNS text AS |
||
304 | # $$ |
||
305 | # SELECT lower(public.unaccent('public.unaccent', )); |
||
306 | # $$ LANGUAGE sql IMMUTABLE; |
||
307 | # |
||
308 | USE_LOWER_UNACCENT 0 |
||
309 | |||
310 | #------------------------------------------------------------------------------ |
||
311 | # CONSTRAINT SECTION (Control constraints export and import behaviors) |
||
312 | #------------------------------------------------------------------------------ |
||
313 | |||
314 | # Support for turning off certain schema features in the postgres side |
||
315 | # during schema export. Values can be : fkeys, pkeys, ukeys, indexes, checks |
||
316 | # separated by a space character. |
||
317 | # fkeys : turn off foreign key constraints |
||
318 | # pkeys : turn off primary keys |
||
319 | # ukeys : turn off unique column constraints |
||
320 | # indexes : turn off all other index types |
||
321 | # checks : turn off check constraints |
||
322 | #SKIP fkeys pkeys ukeys indexes checks |
||
323 | |||
324 | # By default, primary key names in the source database are ignored, and |
||
325 | # default key names are created in the target database. If this is set to true, |
||
326 | # primary key names are kept. |
||
327 | KEEP_PKEY_NAMES 0 |
||
328 | |||
329 | # Enable this directive if you want to add primary key definitions inside the |
||
330 | # create table statements. If disabled (the default) primary key definition |
||
331 | # will be added with an alter table statement. Enable it if you are exporting |
||
332 | # to GreenPlum PostgreSQL database. |
||
333 | PKEY_IN_CREATE 0 |
||
334 | |||
335 | # This directive allow you to add an ON UPDATE CASCADE option to a foreign |
||
336 | # key when a ON DELETE CASCADE is defined or always. Oracle do not support |
||
337 | # this feature, you have to use trigger to operate the ON UPDATE CASCADE. |
||
338 | # As PostgreSQL has this feature, you can choose how to add the foreign |
||
339 | # key option. There is three value to this directive: never, the default |
||
340 | # that mean that foreign keys will be declared exactly like in Oracle. |
||
341 | # The second value is delete, that mean that the ON UPDATE CASCADE option |
||
342 | # will be added only if the ON DELETE CASCADE is already defined on the |
||
343 | # foreign Keys. The last value, always, will force all foreign keys to be |
||
344 | # defined using the update option. |
||
345 | FKEY_ADD_UPDATE never |
||
346 | |||
347 | # When exporting tables, Ora2Pg normally exports constraints as they are; |
||
348 | # if they are non-deferrable they are exported as non-deferrable. |
||
349 | # However, non-deferrable constraints will probably cause problems when |
||
350 | # attempting to import data to PostgreSQL. The following option set to 1 |
||
351 | # will cause all foreign key constraints to be exported as deferrable |
||
352 | FKEY_DEFERRABLE 0 |
||
353 | |||
354 | # In addition when exporting data the DEFER_FKEY option set to 1 will add |
||
355 | # a command to defer all foreign key constraints during data export and |
||
356 | # the import will be done in a single transaction. This will work only if |
||
357 | # foreign keys have been exported as deferrable and you are not using direct |
||
358 | # import to PostgreSQL (PG_DSN is not defined). Constraints will then be |
||
359 | # checked at the end of the transaction. This directive can also be enabled |
||
360 | # if you want to force all foreign keys to be created as deferrable and |
||
361 | # initially deferred during schema export (TABLE export type). |
||
362 | DEFER_FKEY 0 |
||
363 | |||
364 | # If deferring foreign keys is not possible du to the amount of data in a |
||
365 | # single transaction, you've not exported foreign keys as deferrable or you |
||
366 | # are using direct import to PostgreSQL, you can use the DROP_FKEY directive. |
||
367 | # It will drop all foreign keys before all data import and recreate them at |
||
368 | # the end of the import. |
||
369 | DROP_FKEY 0 |
||
370 | |||
371 | |||
372 | #------------------------------------------------------------------------------ |
||
373 | # TRIGGERS AND SEQUENCES SECTION (Control triggers and sequences behaviors) |
||
374 | #------------------------------------------------------------------------------ |
||
375 | |||
376 | # Disables alter of sequences on all tables in COPY or INSERT mode. |
||
377 | # Set to 1 if you want to disable update of sequence during data migration. |
||
378 | DISABLE_SEQUENCE 0 |
||
379 | |||
380 | # Disables triggers on all tables in COPY or INSERT mode. Available modes |
||
381 | # are USER (user defined triggers) and ALL (includes RI system |
||
382 | # triggers). Default is 0 do not add SQL statement to disable trigger. |
||
383 | # If you want to disable triggers during data migration, set the value to |
||
384 | # USER if your are connected as non superuser and ALL if you are connected |
||
385 | # as PostgreSQL superuser. A value of 1 is equal to USER. |
||
386 | DISABLE_TRIGGERS 0 |
||
387 | |||
388 | |||
389 | #------------------------------------------------------------------------------ |
||
390 | # OBJECT MODIFICATION SECTION (Control objects structure or name modifications) |
||
391 | #------------------------------------------------------------------------------ |
||
392 | |||
393 | # You may wish to just extract data from some fields, the following directives |
||
394 | # will help you to do that. Works only with export type INSERT or COPY |
||
395 | # Modify output from the following tables(fields separate by space or comma) |
||
396 | #MODIFY_STRUCT TABLE_TEST(dico,dossier) |
||
397 | |||
398 | # You may wish to change table names during data extraction, especally for |
||
399 | # replication use. Give a list of tables separate by space as follow. |
||
400 | #REPLACE_TABLES ORIG_TB_NAME1:NEW_TB_NAME1 ORIG_TB_NAME2:NEW_TB_NAME2 |
||
401 | |||
402 | # You may wish to change column names during data extraction, especially for |
||
403 | # replication use. Give a list of tables and columns separate by space as |
||
404 | # follow. |
||
405 | #REPLACE_COLS TB_NAME(ORIG_COLNAME1:NEW_COLNAME1,ORIG_COLNAME2:NEW_COLNAME2) |
||
406 | |||
407 | # By default all object names are converted to lower case, if you |
||
408 | # want to preserve Oracle object name as-is set this to 1. Not recommended |
||
409 | # unless you always quote all tables and columns on all your scripts. |
||
410 | PRESERVE_CASE 0 |
||
411 | |||
412 | # Add the given value as suffix to index names. Useful if you have indexes |
||
413 | # with same name as tables. Not so common but it can help. |
||
414 | #INDEXES_SUFFIX _idx |
||
415 | |||
416 | # Enable this directive to rename all indexes using tablename_columns_names. |
||
417 | # Could be very useful for database that have multiple time the same index name |
||
418 | # or that use the same name than a table, which is not allowed by PostgreSQL |
||
419 | # Disabled by default. |
||
420 | INDEXES_RENAMING 0 |
||
421 | |||
422 | # Operator classes text_pattern_ops, varchar_pattern_ops, and bpchar_pattern_ops |
||
423 | # support B-tree indexes on the corresponding types. The difference from the |
||
424 | # default operator classes is that the values are compared strictly character by |
||
425 | # character rather than according to the locale-specific collation rules. This |
||
426 | # makes these operator classes suitable for use by queries involving pattern |
||
427 | # matching expressions (LIKE or POSIX regular expressions) when the database |
||
428 | # does not use the standard "C" locale. If you enable, with value 1, this will |
||
429 | # force Ora2Pg to export all indexes defined on varchar2() and char() columns |
||
430 | # using those operators. If you set it to a value greater than 1 it will only |
||
431 | # change indexes on columns where the charactere limit is greater or equal than |
||
432 | # this value. For example, set it to 128 to create these kind of indexes on |
||
433 | # columns of type varchar2(N) where N >= 128. |
||
434 | USE_INDEX_OPCLASS 0 |
||
435 | |||
436 | # Enable this directive if you want that your partition table name will be |
||
437 | # exported using the parent table name. Disabled by default. If you have |
||
438 | # multiple partitioned table, when exported to PostgreSQL some partitions |
||
439 | # could have the same name but different parent tables. This is not allowed, |
||
440 | # table name must be unique. |
||
441 | PREFIX_PARTITION 0 |
||
442 | |||
443 | # If you don't want to reproduce the partitioning like in Oracle and want to |
||
444 | # export all partitionned Oracle data into the main single table in PostgreSQL |
||
445 | # enable this directive. Ora2Pg will export all data into the main table name. |
||
446 | # Default is to use partitionning, Ora2Pg will export data from each partition |
||
447 | # and import them into the PostgreSQL dedicated partition table. |
||
448 | DISABLE_PARTITION 0 |
||
449 | |||
450 | # Activating this directive will force Ora2Pg to add WITH (OIDS) when creating |
||
451 | # tables or views as tables. Default is same as PostgreSQL, disabled. |
||
452 | WITH_OID 0 |
||
453 | |||
454 | # Allow escaping of column name using Oracle reserved words. |
||
455 | ORA_RESERVED_WORDS audit,comment |
||
456 | |||
457 | # Enable this directive if you have tables or column names that are a reserved |
||
458 | # word for PostgreSQL. Ora2Pg will double quote the name of the object. |
||
459 | USE_RESERVED_WORDS 0 |
||
460 | |||
461 | #------------------------------------------------------------------------------ |
||
462 | # OUTPUT SECTION (Control output to file or PostgreSQL database) |
||
463 | #------------------------------------------------------------------------------ |
||
464 | |||
465 | # Define the following directive to send export directly to a PostgreSQL |
||
466 | # database. This will disable file output. |
||
467 | #PG_DSN dbi:Pg:dbname=test_db;host=localhost;port=5432 |
||
468 | #PG_USER test |
||
469 | #PG_PWD test |
||
470 | PG_DSN dbi:Pg:dbname=S3_vda;host=172.25.102.42;port=5432 |
||
471 | PG_USER s3_vda |
||
472 | PG_PWD s3 |
||
473 | |||
474 | # By default all output is dump to STDOUT if not send directly to postgresql |
||
475 | # database (see above). Give a filename to save export to it. If you want |
||
476 | # a Gzip'd compressed file just add the extension .gz to the filename (you |
||
477 | # need perl module Compress::Zlib from CPAN). Add extension .bz2 to use Bzip2 |
||
478 | # compression. |
||
479 | OUTPUT output_copy_dbti313_1c.sql |
||
480 | |||
481 | # Base directory where all dumped files must be written |
||
482 | #OUTPUT_DIR /var/tmp |
||
483 | |||
484 | # Path to the bzip2 program. See OUTPUT directive above. |
||
485 | BZIP2 |
||
486 | |||
487 | # Allow object constraints to be saved in a separate file during schema export. |
||
488 | # The file will be named CONSTRAINTS_OUTPUT. Where OUTPUT is the value of the |
||
489 | # corresponding configuration directive. You can use .gz xor .bz2 extension to |
||
490 | # enable compression. Default is to save all data in the OUTPUT file. This |
||
491 | # directive is usable only with TABLE export type. |
||
492 | FILE_PER_CONSTRAINT 0 |
||
493 | |||
494 | # Allow indexes to be saved in a separate file during schema export. The file |
||
495 | # will be named INDEXES_OUTPUT. Where OUTPUT is the value of the corresponding |
||
496 | # configuration directive. You can use the .gz, .xor, or .bz2 file extension to |
||
497 | # enable compression. Default is to save all data in the OUTPUT file. This |
||
498 | # directive is usable only with TABLE or TABLESPACE export type. With the |
||
499 | # TABLESPACE export, it is used to write "ALTER INDEX ... TABLESPACE ..." into |
||
500 | # a separate file named TBSP_INDEXES_OUTPUT that can be loaded at end of the |
||
501 | # migration after the indexes creation to move the indexes. |
||
502 | FILE_PER_INDEX 0 |
||
503 | |||
504 | # Allow data export to be saved in one file per table/view. The files |
||
505 | # will be named as tablename_OUTPUT. Where OUTPUT is the value of the |
||
506 | # corresponding configuration directive. You can use .gz xor .bz2 |
||
507 | # extension to enable compression. Default is to save all data in one |
||
508 | # file. This is usable only during INSERT or COPY export type. |
||
509 | FILE_PER_TABLE 0 |
||
510 | |||
511 | # Allow function export to be saved in one file per function/procedure. |
||
512 | # The files will be named as funcname_OUTPUT. Where OUTPUT is the value |
||
513 | # of the corresponding configuration directive. You can use .gz xor .bz2 |
||
514 | # extension to enable compression. Default is to save all data in one |
||
515 | # file. It is usable during FUNCTION, PROCEDURE, TRIGGER and PACKAGE |
||
516 | # export type. |
||
517 | FILE_PER_FUNCTION 0 |
||
518 | |||
519 | # By default Ora2Pg will force Perl to use utf8 I/O encoding. This is done through |
||
520 | # a call to the Perl pragma: |
||
521 | # |
||
522 | # use open ':utf8'; |
||
523 | # |
||
524 | # You can override this encoding by using the BINMODE directive, for example you |
||
525 | # can set it to :locale to use your locale or iso-8859-7, it will respectively use |
||
526 | # |
||
527 | # use open ':locale'; |
||
528 | # use open ':encoding(iso-8859-7)'; |
||
529 | # |
||
530 | # If you have change the NLS_LANG in non UTF8 encoding, you might want to set this |
||
531 | # directive. See http://perldoc.perl.org/5.14.2/open.html for more information. |
||
532 | # Most of the time, you might leave this directive commented. |
||
533 | #BINMODE utf8 |
||
534 | |||
535 | # Set it to 0 to not include the call to \set ON_ERROR_STOP ON in all SQL |
||
536 | # scripts. By default this order is always present. |
||
537 | STOP_ON_ERROR 1 |
||
538 | |||
539 | # Enable this directive to use COPY FREEZE instead of a simple COPY to |
||
540 | # export data with rows already frozen. This is intended as a performance |
||
541 | # option for initial data loading. Rows will be frozen only if the table |
||
542 | # being loaded has been created or truncated in the current subtransaction. |
||
543 | # This will only works with export to file and when -J or ORACLE_COPIES is |
||
544 | # not set or default to 1. It can be used with direct import into PostgreSQL |
||
545 | # under the same condition but -j or JOBS must also be unset or default to 1. |
||
546 | COPY_FREEZE 0 |
||
547 | |||
548 | #------------------------------------------------------------------------------ |
||
549 | # TYPE SECTION (Control type behaviors and redefinitions) |
||
550 | #------------------------------------------------------------------------------ |
||
551 | |||
552 | # If you're experiencing problems in data type export, the following directive |
||
553 | # will help you to redefine data type translation used in Ora2pg. The syntax is |
||
554 | # a comma separated list of "Oracle datatype:Postgresql data type". Here are the |
||
555 | # data type that can be redefined and their default value. If you want to |
||
556 | # replace a type with a precision and scale you need to escape the coma with |
||
557 | # a backslash. For example, if you want to replace all NUMBER(*,0) into bigint |
||
558 | # instead of numeric(38)add the following: |
||
559 | # DATA_TYPE NUMBER(*\,0):bigint |
||
560 | # Here is the default replacement for all Oracle's types. You don't have to |
||
561 | # recopy all type conversion but just the one you want to rewrite. |
||
562 | #DATA_TYPE DATE:timestamp,LONG:text,LONG RAW:bytea,CLOB:text,NCLOB:text,BLOB:bytea,BFILE:bytea,RAW:bytea,ROWID:oid,FLOAT:double precision,DEC:decimal,DECIMAL:decimal,DOUBLE PRECISION:double precision,INT:numeric,INTEGER:numeric,REAL:real,SMALLINT:smallint,BINARY_FLOAT:double precision,BINARY_DOUBLE:double precision,TIMESTAMP:timestamp,XMLTYPE:xml,BINARY_INTEGER:integer,PLS_INTEGER:integer,TIMESTAMP WITH TIME ZONE:timestamp with time zone,TIMESTAMP WITH LOCAL TIME ZONE:timestamp with time zone |
||
563 | |||
564 | # If set to 1 replace portable numeric type into PostgreSQL internal type. |
||
565 | # Oracle data type NUMBER(p,s) is approximatively converted to real and |
||
566 | # float PostgreSQL data type. If you have monetary fields or don't want |
||
567 | # rounding issues with the extra decimals you should preserve the same |
||
568 | # numeric(p,s) PostgreSQL data type. Do that only if you need very good |
||
569 | # precision because using numeric(p,s) is slower than using real or double. |
||
570 | PG_NUMERIC_TYPE 1 |
||
571 | |||
572 | # If set to 1 replace portable numeric type into PostgreSQL internal type. |
||
573 | # Oracle data type NUMBER(p) or NUMBER are converted to smallint, integer |
||
574 | # or bigint PostgreSQL data type following the length of the precision. If |
||
575 | # NUMBER without precision are set to DEFAULT_NUMERIC (see bellow). |
||
576 | PG_INTEGER_TYPE 1 |
||
577 | |||
578 | # NUMBER() without precision are converted by default to bigint only if |
||
579 | # PG_INTEGER_TYPE is true. You can overwrite this value to any PG type, |
||
580 | # like integer or float. |
||
581 | DEFAULT_NUMERIC bigint |
||
582 | |||
583 | # Set it to 0 if you don't want to export milliseconds from Oracle timestamp |
||
584 | # columns. Timestamp will be formated with to_char(..., 'YYYY-MM-DD HH24:MI:SS') |
||
585 | # Enabling this directive, the default, format is 'YYYY-MM-DD HH24:MI:SS.FF'. |
||
586 | ENABLE_MICROSECOND 1 |
||
587 | |||
588 | # If you want to replace some columns as PostgreSQL boolean define here a list |
||
589 | # of tables and column separated by space as follows. You can also give a type |
||
590 | # and a precision to automatically convert all fields of that type as a boolean. |
||
591 | # For example: NUMBER:1 or CHAR:1 will replace any field of type number(1) or |
||
592 | # char(1) as a boolean in all exported tables. |
||
593 | #REPLACE_AS_BOOLEAN TB_NAME1:COL_NAME1 TB_NAME1:COL_NAME2 TB_NAME2:COL_NAME2 |
||
594 | |||
595 | # Use this to add additional definitions of the possible boolean values in Oracle |
||
596 | # field. You must set a space separated list of TRUE:FALSE values. BY default: |
||
597 | #BOOLEAN_VALUES yes:no y:n 1:0 true:false enabled:disabled |
||
598 | |||
599 | # When Ora2Pg find a "zero" date: 0000-00-00 00:00:00 it is replaced by a NULL. |
||
600 | # This could be a problem if your column is defined with NOT NULL constraint. |
||
601 | # If you can not remove the constraint, use this directive to set an arbitral |
||
602 | # date that will be used instead. You can also use -INFINITY if you don't want |
||
603 | # to use a fake date. |
||
604 | #REPLACE_ZERO_DATE 1970-01-01 00:00:00 |
||
605 | |||
606 | # Some time you need to force the destination type, for example a column |
||
607 | # exported as timestamp by Ora2Pg can be forced into type date. Value is |
||
608 | # a comma-separated list of TABLE:COLUMN:TYPE structure. If you need to use |
||
609 | # comma or space inside type definition you will have to backslash them. |
||
610 | #MODIFY_TYPE TABLE1:COL3:varchar,TABLE1:COL4:decimal(9\,6) |
||
611 | |||
612 | #------------------------------------------------------------------------------ |
||
613 | # GRANT SECTION (Control priviledge and owner export) |
||
614 | #------------------------------------------------------------------------------ |
||
615 | |||
616 | # Set this to 1 to replace default password for all extracted user |
||
617 | # during GRANT export |
||
618 | GEN_USER_PWD 0 |
||
619 | |||
620 | # By default the owner of database objects is the one you're using to connect |
||
621 | # to PostgreSQL. If you use an other user (e.g. postgres) you can force |
||
622 | # Ora2Pg to set the object owner to be the one used in the Oracle database by |
||
623 | # setting the directive to 1, or to a completely different username by setting |
||
624 | # the directive value # to that username. |
||
625 | FORCE_OWNER 0 |
||
626 | |||
627 | |||
628 | #------------------------------------------------------------------------------ |
||
629 | # DATA SECTION (Control data export behaviors) |
||
630 | #------------------------------------------------------------------------------ |
||
631 | |||
632 | # Extract data by bulk of DATA_LIMIT tuples at once. Default 10000. If you set |
||
633 | # a high value be sure to have enough memory if you have million of rows. |
||
634 | #DATA_LIMIT 10000 |
||
635 | DATA_LIMIT 50000 |
||
636 | |||
637 | |||
638 | # When Ora2Pg detect a table with some BLOB it will automatically reduce the |
||
639 | # value of this directive by dividing it by 10 until his value is below 1000. |
||
640 | # You can control this value by setting BLOB_LIMIT. Exporting BLOB use lot of |
||
641 | # ressources, setting it to a too high value can produce OOM. |
||
642 | #BLOB_LIMIT 500 |
||
643 | |||
644 | # By default all data that are not of type date or time are escaped. If you |
||
645 | # experience any problem with that you can set it to 1 to disable it. This |
||
646 | # directive is only used during a COPY export type. |
||
647 | # See STANDARD_CONFORMING_STRINGS for enabling/disabling escape with INSERT |
||
648 | # statements. |
||
649 | NOESCAPE 0 |
||
650 | |||
651 | # This directive may be used if you want to change the default isolation |
||
652 | # level of the data export transaction. Default is now to set the level |
||
653 | # to a serializable transaction to ensure data consistency. Here are the |
||
654 | # allowed value of this directive: readonly, readwrite, serializable and |
||
655 | # committed (read committed). |
||
656 | TRANSACTION serializable |
||
657 | |||
658 | # This controls whether ordinary string literals ('...') treat backslashes |
||
659 | # literally, as specified in SQL standard. This was the default before Ora2Pg |
||
660 | # v8.5 so that all strings was escaped first, now this is currently on, causing |
||
661 | # Ora2Pg to use the escape string syntax (E'...') if this parameter is not |
||
662 | # set to 0. This is the exact behavior of the same option in PostgreSQL. |
||
663 | # This directive is only used during INSERT export to build INSERT statements. |
||
664 | # See NOESCAPE for enabling/disabling escape in COPY statements. |
||
665 | STANDARD_CONFORMING_STRINGS 1 |
||
666 | |||
667 | # Use this directive to set the database handle's 'LongReadLen' attribute to |
||
668 | # a value that will be the larger than the expected size of the LOB. The default |
||
669 | # is 1MB witch may not be enough to extract BLOB objects. If the size of the LOB |
||
670 | # exceeds the 'LongReadLen' DBD::Oracle will return a 'ORA-24345: A Truncation' |
||
671 | # error. Default: 1023*1024 bytes. Take a look at this page to learn more: |
||
672 | # http://search.cpan.org/~pythian/DBD-Oracle-1.22/Oracle.pm#Data_Interface_for_Persistent_LOBs |
||
673 | # |
||
674 | # Important note: If you increase the value of this directive take care that |
||
675 | # DATA_LIMIT will probably needs to be reduced. Even if you only have a 1MB blob |
||
676 | # trying to read 10000 of them (the default DATA_LIMIT) all at once will require |
||
677 | # 10GB of memory. You may extract data from those table separately and set a |
||
678 | # DATA_LIMIT to 500 or lower, otherwise you may experience some out of memory. |
||
679 | #LONGREADLEN 1047552 |
||
680 | |||
681 | # If you want to bypass the 'ORA-24345: A Truncation' error, set this directive |
||
682 | # to 1, it will truncate the data extracted to the LongReadLen value. |
||
683 | #LONGTRUNCOK 0 |
||
684 | |||
685 | # Disable this if you don't want to load full content of BLOB and CLOB and use |
||
686 | # LOB locators instead. This is usefull to not having to set LONGREADLEN. Note |
||
687 | # that this will not improve speed of BLOB export as most of the time is always |
||
688 | # consumed by the bytea escaping and in this case export is done line by line |
||
689 | # and not by chunk of DATA_LIMIT rows. For more information on how it works, see |
||
690 | # http://search.cpan.org/~pythian/DBD-Oracle-1.74/lib/DBD/Oracle.pm#Data_Interface_for_LOB_Locators |
||
691 | # Default is enabled, it will not use LOB locators for backward compatibility. |
||
692 | NO_LOB_LOCATOR 1 |
||
693 | |||
694 | # Use getStringVal() instead of getClobVal() for XML data export. Default is |
||
695 | # enabled for backward compatibility. |
||
696 | XML_PRETTY 0 |
||
697 | |||
698 | # Enable this directive if you want to continue direct data import on error. |
||
699 | # When Ora2Pg receives an error in the COPY or INSERT statement from PostgreSQL |
||
700 | # it will log the statement to a file called TABLENAME_error.log in the output |
||
701 | # directory and continue to next bulk of data. Like this you can try to fix the |
||
702 | # statement and manually reload the error log file. Default is disabled: abort |
||
703 | # import on error. |
||
704 | LOG_ON_ERROR 0 |
||
705 | |||
706 | # If you want to convert CHAR(n) from Oracle into varchar(n) or text under |
||
707 | # PostgreSQL, you might want to do some triming on the data. By default |
||
708 | # Ora2Pg will auto-detect this conversion and remove any withspace at both |
||
709 | # leading and trailing position. If you just want to remove the leadings |
||
710 | # character, set the value to LEADING. If you just want to remove the trailing |
||
711 | # character, set the value to TRAILING. Default value is BOTH. |
||
712 | TRIM_TYPE BOTH |
||
713 | |||
714 | # The default triming character is space, use the directive bellow if you need |
||
715 | # to change the character that will be removed. For example, set it to - if you |
||
716 | # have leading - in the char(n) field. To use space as triming charger, comment |
||
717 | # this directive, this is the default value. |
||
718 | #TRIM_CHAR - |
||
719 | |||
720 | # Internal timestamp retrieves from custom type are extracted in the following |
||
721 | # format: 01-JAN-77 12.00.00.000000 AM. It is impossible to know the exact century |
||
722 | # that must be used, so by default any year below 49 will be added to 2000 |
||
723 | # and others to 1900. You can use this directive to change this default value. |
||
724 | # this is only relevant if you have user defined type with a column timestamp. |
||
725 | INTERNAL_DATE_MAX 49 |
||
726 | |||
727 | #------------------------------------------------------------------------------ |
||
728 | # PERFORMANCES SECTION (Control export/import performances) |
||
729 | #------------------------------------------------------------------------------ |
||
730 | |||
731 | # Multiprocess support. This directive replace the obsolete THREAD_COUNT |
||
732 | # variable. Ora2Pg now use fork() to do parallel process instead of Perl |
||
733 | # threads. This directive should defined the number of parallel connection |
||
734 | # to PostgreSQL for direct data migration. The limit is the number of cores |
||
735 | # on your machine. This is useful if PostgreSQL is the bottleneck. COPIES |
||
736 | JOBS 1 |
||
737 | |||
738 | # Multiprocess support. This directive should defined the number of parallel |
||
739 | # connection to Oracle when extracting data. The limit is the number of cores |
||
740 | # on your machine. This is useful if Oracle is the bottleneck. Take care that |
||
741 | # this directive can only be used if there is a column defined in DEFINED_PK. |
||
742 | ORACLE_COPIES 1 |
||
743 | |||
744 | # Multiprocess support. This directive should defined the number of tables |
||
745 | # in parallel data extraction. The limit is the number of cores on your machine. |
||
746 | # Ora2Pg will open one database connection for each parallel table extraction. |
||
747 | # This directive, when upper than 1, will invalidate ORACLE_COPIES but not JOBS. |
||
748 | # Note that this directive when set upper that 1 will also automatically enable |
||
749 | # the FILE_PER_TABLE directive if your are exporting to files. |
||
750 | #PARALLEL_TABLES 1 |
||
751 | PARALLEL_TABLES 2 |
||
752 | |||
753 | # Multiprocess support. This directive is used to split the select queries |
||
754 | # between the different connections to Oracle if ORA_COPIES is used. Ora2Pg |
||
755 | # will extract data with the following prepare statement: |
||
756 | # SELECT * FROM TABLE WHERE MOD(COLUMN, $ORA_COPIES) = ? |
||
757 | # Where $ORA_COPIES is the total number of cores used to extract data and set |
||
758 | # with ORA_COPIES directive, and ? is the current core used at execution time. |
||
759 | # This means that Ora2Pg needs to know the numeric column to use in this query. |
||
760 | # If this column is a real, float, numeric or decimal, you must add the ROUND() |
||
761 | # function with the column to round the value to the nearest integer. |
||
762 | #DEFINED_PK TABLE:COLUMN TABLE:ROUND(COLUMN) |
||
763 | |||
764 | # Enabling this directive force Ora2Pg to drop all indexes on data import |
||
765 | # tables, except automatic index on primary key, and recreate them at end |
||
766 | # of data import. This may improve speed a lot during a fresh import. |
||
767 | DROP_INDEXES 0 |
||
768 | |||
769 | # Specifies whether transaction commit will wait for WAL records to be written |
||
770 | # to disk before the command returns a "success" indication to the client. This |
||
771 | # is the equivalent to set synchronous_commit directive of postgresql.conf file. |
||
772 | # This is only used when you load data directly to PostgreSQL, the default is |
||
773 | # off to disable synchronous commit to gain speed at writing data. Some modified |
||
774 | # versions of PostgreSQL, like Greenplum, do not have this setting, so in this |
||
775 | # case set this directive to 1, ora2pg will not try to change the setting. |
||
776 | SYNCHRONOUS_COMMIT 0 |
||
777 | |||
778 | |||
779 | #------------------------------------------------------------------------------ |
||
780 | # PLSQL SECTION (Control SQL and PL/SQL to PLPGSQL rewriting behaviors) |
||
781 | #------------------------------------------------------------------------------ |
||
782 | |||
783 | # If the above configuration directive is not enough to validate your PL/SQL code |
||
784 | # enable this configuration directive to allow export of all PL/SQL code even if |
||
785 | # it is marked as invalid. The 'VALID' or 'INVALID' status applies to functions, |
||
786 | # procedures, packages and user defined types. |
||
787 | EXPORT_INVALID 0 |
||
788 | |||
789 | # Enable PLSQL to PLPSQL conversion. This is a work in progress, feel |
||
790 | # free modify/add you own code and send me patches. The code is under |
||
791 | # function plsql_toplpgsql in Ora2PG/PLSQL.pm. Default enabled. |
||
792 | PLSQL_PGSQL 0 |
||
793 | |||
794 | # Ora2Pg can replace all conditions with a test on NULL by a call to the |
||
795 | # coalesce() function to mimic the Oracle behavior where empty field are |
||
796 | # considered equal to NULL. Ex: (field1 IS NULL) and (field2 IS NOT NULL) will |
||
797 | # be replaced by (coalesce(field1::text, '') = '') and (field2 IS NOT NULL AND |
||
798 | # field2::text <> ''). You might want this replacement to be sure that your |
||
799 | # application will have the same behavior but if you have control on you app |
||
800 | # a better way is to change it to transform empty string into NULL because |
||
801 | # PostgreSQL makes the difference. |
||
802 | NULL_EQUAL_EMPTY 0 |
||
803 | |||
804 | # Force empty_clob() and empty_blob() to be exported as NULL instead as empty |
||
805 | # string for the first one and \\x for the second. If NULL is allowed in your |
||
806 | # column this might improve data export speed if you have lot of empty lob. |
||
807 | EMPTY_LOB_NULL 0 |
||
808 | |||
809 | # If you don't want to export package as schema but as simple functions you |
||
810 | # might also want to replace all call to package_name.function_name. If you |
||
811 | # disable the PACKAGE_AS_SCHEMA directive then Ora2Pg will replace all call |
||
812 | # to package_name.function_name() by package_name_function_name(). Default |
||
813 | # is to use a schema to emulate package. |
||
814 | PACKAGE_AS_SCHEMA 0 |
||
815 | |||
816 | # Enable this directive if the rewrite of Oracle native syntax (+) of |
||
817 | # OUTER JOIN is broken. This will force Ora2Pg to not rewrite such code, |
||
818 | # default is to try to rewrite simple form of rigth outer join for the |
||
819 | # moment. |
||
820 | REWRITE_OUTER_JOIN 0 |
||
821 | |||
822 | # By default Ora2pg rewrite add_month(), add_year() and date_trunc() functions |
||
823 | # set it to 0 to not translate those functions if it breaks code. |
||
824 | DATE_FUNCTION_REWRITE 1 |
||
825 | |||
826 | #------------------------------------------------------------------------------ |
||
827 | # ASSESSMENT SECTION (Control migration assessment behaviors) |
||
828 | #------------------------------------------------------------------------------ |
||
829 | |||
830 | # Activate the migration cost evaluation. Must only be used with SHOW_REPORT, |
||
831 | # FUNCTION, PROCEDURE, PACKAGE and QUERY export type. Default is disabled. |
||
832 | # Note that enabling this directive will force PLSQL_PGSQL activation. |
||
833 | ESTIMATE_COST 0 |
||
834 | |||
835 | # Set the value in minutes of the migration cost evaluation unit. Default |
||
836 | # is five minutes per unit. |
||
837 | COST_UNIT_VALUE 5 |
||
838 | |||
839 | # By default when using SHOW_REPORT the migration report is generated as |
||
840 | # simple text, enabling this directive will force ora2pg to create a report |
||
841 | # in HTML format. |
||
842 | DUMP_AS_HTML 0 |
||
843 | |||
844 | # Set the total number of tables to display in the Top N per row and size |
||
845 | # list in the SHOW_TABLE and SHOW_REPORT output. Default 10. |
||
846 | TOP_MAX 10 |
||
847 | |||
848 | # Use this directive to redefined the number of human-days limit where the |
||
849 | # migration assessment level must switch from B to C. Default is set to 10 |
||
850 | # human-days. |
||
851 | HUMAN_DAYS_LIMIT 5 |
||
852 | |||
853 | # Set the comma separated list of username that must be used to filter |
||
854 | # queries from the DBA_AUDIT_TRAIL table. Default is to not scan this |
||
855 | # table and to never look for queries. This parameter is used only with |
||
856 | # SHOW_REPORT and QUERY export type with no input file for queries. |
||
857 | # Note that queries will be normalized before output unlike when a file |
||
858 | # is given at input using the -i option or INPUT directive. |
||
859 | #AUDIT_USER USERNAME1,USERNAME2 |
||
860 | |||
861 | # By default Ora2Pg will convert call to SYS_GUID() Oracle function |
||
862 | # with a call to uuid_generate_v4() from uuid-ossp extension. You can |
||
863 | # redefined it to use the gen_random_uuid() function from pgcrypto |
||
864 | # extension by changing the function name below. |
||
865 | #UUID_FUNCTION uuid_generate_v4 |
||
866 | |||
867 | #------------------------------------------------------------------------------ |
||
868 | # POSTGRESQL FEATURE SECTION (Control which PostgreSQL features are available) |
||
869 | #------------------------------------------------------------------------------ |
||
870 | |||
871 | # Allow support of WHEN clause in trigger definition PG>=9.0 |
||
872 | PG_SUPPORTS_WHEN 1 |
||
873 | |||
874 | # Allow support of INSTEAD OF in triggers definition PG>=9.1 |
||
875 | PG_SUPPORTS_INSTEADOF 1 |
||
876 | |||
877 | # Allow support of native MATERIALIZED VIEW PG>=9.3. If disable Ora2Pg |
||
878 | # will use old behavior, a normal table with a set of function to refresh |
||
879 | # the view. |
||
880 | PG_SUPPORTS_MVIEW 1 |
||
881 | |||
882 | # If enabled, export view with CHECK OPTION. Disable it if you have PostgreSQL |
||
883 | # version prior 9.4. Default, enabled |
||
884 | PG_SUPPORTS_CHECKOPTION 1 |
||
885 | |||
886 | # PostgreSQL versions below 9.x do not support IF EXISTS in DDL statements. |
||
887 | # Disabling the directive with value 0 will prevent Ora2Pg to add those |
||
888 | # keywords in all generated statements. |
||
889 | PG_SUPPORTS_IFEXISTS 1 |
||
890 | |||
891 | # Use btree_gin extenstion to create bitmap like index with pg >= 9.4 |
||
892 | # You will need to create the extension by yourself: |
||
893 | # create extension btree_gin; |
||
894 | # Default is to create GIN index, when disabled, a btree index will be created |
||
895 | BITMAP_AS_GIN 1 |
||
896 | |||
897 | # Use pg_background extension to create an autonomous transaction instead |
||
898 | # of using a dblink wrapper. With pg >= 9.5 only, default is to use dblink. |
||
899 | PG_BACKGROUND 0 |
||
900 | |||
901 | #------------------------------------------------------------------------------ |
||
902 | # SPATIAL SECTION (Control spatial geometry export) |
||
903 | #------------------------------------------------------------------------------ |
||
904 | |||
905 | # Enable this directive if you want Ora2Pg to detect the real spatial type and |
||
906 | # dimensions used in a spatial column. By default Ora2Pg will look at spatial |
||
907 | # indexes to see if the layer_gtype and sdo_indx_dims constraint parameters have |
||
908 | # been set, otherwise column will be created with the non-constrained "geometry" |
||
909 | # type. Enabling this feature will force Ora2Pg to scan a sample of 50000 lines |
||
910 | # to look at the GTYPE used. You can increase or reduce the sample by setting |
||
911 | # the value of AUTODETECT_SPATIAL_TYPE to the desired number of line. |
||
912 | AUTODETECT_SPATIAL_TYPE 1 |
||
913 | |||
914 | # Disable this directive if you don't want to automatically convert SRID to |
||
915 | # EPSG using the sdo_cs.map_oracle_srid_to_epsg() function. Default: enabled |
||
916 | # If the SDO_SRID returned by Oracle is NULL, it will be replaced by the |
||
917 | # default value 8307 converted to its EPSG value: 4326 (see DEFAULT_SRID) |
||
918 | # If the value is upper than 1, all SRID will be forced to this value, in |
||
919 | # this case DEFAULT_SRID will not be used when Oracle returns a null value |
||
920 | # and the value will be forced to CONVERT_SRID. |
||
921 | # Note that it is also possible to set the EPSG value on Oracle side when |
||
922 | # sdo_cs.map_oracle_srid_to_epsg() return NULL if your want to force the value: |
||
923 | # Ex: system> UPDATE sdo_coord_ref_sys SET legacy_code=41014 WHERE srid = 27572; |
||
924 | CONVERT_SRID 1 |
||
925 | |||
926 | # Use this directive to override the default EPSG SRID to used: 4326. |
||
927 | # Can be overwritten by CONVERT_SRID, see above. |
||
928 | DEFAULT_SRID 4326 |
||
929 | |||
930 | # This directive can take three values: WKT (default), WKB and INTERNAL. |
||
931 | # When it is set to WKT, Ora2Pg will use SDO_UTIL.TO_WKTGEOMETRY() to |
||
932 | # extract the geometry data. When it is set to WKB, Ora2Pg will use the |
||
933 | # binary output using SDO_UTIL.TO_WKBGEOMETRY(). If those two extract type |
||
934 | # are called at Oracle side, they are slow and you can easily reach Out Of |
||
935 | # Memory when you have lot of rows. Also WKB is not able to export 3D geometry |
||
936 | # and some geometries like CURVEPOLYGON. In this case you may use the INTERNAL |
||
937 | # extraction type. It will use a pure Perl library to convert the SDO_GEOMETRY |
||
938 | # data into a WKT representation, the translation is done on Ora2Pg side. |
||
939 | # This is a work in progress, please validate your exported data geometries |
||
940 | # before use. |
||
941 | GEOMETRY_EXTRACT_TYPE INTERNAL |
||
942 | |||
943 | |||
944 | #------------------------------------------------------------------------------ |
||
945 | # FDW SECTION (Control Foreign Data Wrapper export) |
||
946 | #------------------------------------------------------------------------------ |
||
947 | |||
948 | # This directive is used to set the name of the foreign data server that is used |
||
949 | # in the "CREATE SERVER name FOREIGN DATA WRAPPER oracle_fdw ..." command. This |
||
950 | # name will then be used in the "CREATE FOREIGN TABLE ..." SQL command. Default |
||
951 | # is arbitrary set to orcl. This only concerns export type FDW. |
||
952 | FDW_SERVER orcl |
||
953 | |||
954 | |||
955 | #------------------------------------------------------------------------------ |
||
956 | # MYSQL SECTION (Control MySQL export behavior) |
||
957 | #------------------------------------------------------------------------------ |
||
958 | |||
959 | # Enable this if double pipe and double ampersand (|| and &&) should not be |
||
960 | # taken as equivalent to OR and AND. It depend of the variable @sql_mode, |
||
961 | # Use it only if Ora2Pg fail on auto detecting this behavior. |
||
962 | MYSQL_PIPES_AS_CONCAT 0 |
||
963 | |||
964 | # Enable this directive if you want EXTRACT() replacement to use the internal |
||
965 | # format returned as an integer, for example DD HH24:MM:SS will be replaced |
||
966 | # with format; DDHH24MMSS::bigint, this depend of your apps usage. |
||
967 | MYSQL_INTERNAL_EXTRACT_FORMAT 0 |
||
968 |